This repository contains an implementation of PBGNet (PAC-Bayesian Binary Gradient Network) and all related experiments presented in "Dichotomize and Generalize: PAC-Bayesian Binary Activated Deep Neural Networks" by Letarte, Germain, Guedj and Laviolette, accepted at NeurIPS 2019.
- Python 3.6
- Numpy 1.14.3
- Pytorch 1.2.0
- Poutyne 1.2
- Scikit-learn 0.20.3
- Pandas 0.23.0
- Click 6.7
To reproduce the experiment presented in Section 6 of the paper, run:
python launch.py
To launch a single learning experiment with custom options, use experiment.py
.
Here is an example:
python experiment.py -d mnist17 -n pbgnet --experiment-name my_exp --sample-size 50 --hidden-size 25
For all possible options and their description, see python experiment.py --help
.
@inproceedings{letarte2019dichotomize,
title={Dichotomize and generalize: Pac-bayesian binary activated deep neural networks},
author={Letarte, Ga{\"e}l and Germain, Pascal and Guedj, Benjamin and Laviolette, Fran{\c{c}}ois},
booktitle={Advances in Neural Information Processing Systems},
pages={6869--6879},
year={2019}
}