Product: Python library Bensemble
Deadline: May 10
Resources: 4 developers
- Implement methods and algorithms
- Implement base library functionality including base interfaces, calibration, uncertainty estimation and metrics
- Create common interface for all ensembling methods
- Implement MC Dropout algorithm in corresponding class
- Implement Deep Neural Ensemble Search algorithm in corresponding class
- Implement Neural Ensemble Search via Bayesian Sampling algorithm in corresponding class
- Library deployment
- Write tests for all algorithms with >90% coverage
- Debug methods after running tests until tests are all passed
- Implement benchmark for methods to
- Write documentation
- Build library (write pyproject.toml)
- Deploy library to pypi
Create a unified interface for all methods and a naive wrapper for ensembles, implement algorithms to separate predictive uncertainty into aleatoric and epistemic implement ECE (Expected Calibration Error), Brier Score, and NLL to evaluate model trustworthiness and add post-hoc Temperature Scaling to fix overconfident predictions.
Implement Monte-Carlo Dropout algorithm in its own class as described in Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning, using the common bayesian ensembling method interface. Immediately do a sanity check for the code by performing basic tests.
Write two pool-construction strategies: random sampling (NES-RS) and regularized evolution (NES-RE). Architecture search be connected to the rest of library functionality.
| Task | Min Time | Median Time | Max Time |
|---|---|---|---|
| Implement base library functionality | 2 | 3 | 3 |
| Create method interface | 2 | 2 | 2 |
| Implement MC Dropout | 2 | 3 | 5 |
| Implement Deep Neural Ensemble Search | 3 | 4 | 8 |
| Implement Neural Ensemble Search via Bayesian Sampling | 3 | 4 | 5 |
| Write tests | 5 | 5 | 5 |
| Debug | 3 | 3 | 5 |
| Implement benchmark | 2 | 3 | 3 |
| Write documentation | 2 | 3 | 5 |
| Build library | 0.5 | 1 | 1 |
| Deploy to pypi | 0.5 | 0.5 | 0.5 |
Note: time is measured in students' evenings