This repository consists of code primitives and Jupyter notebooks that can be used to replicate and extend the findings presented in the paper "The Pitfalls of Simplicity Bias in Neural Networks" (link). In addition to the code (in scripts/) to generate the proposed datasets, we provide six Jupyter notebooks:
01_extremeSB_slab_data.ipynbshows the simplicity bias of fully-connected networks trained on synthetic slab-structured datasets.02_extremeSB_mnistcifar_data.ipynbhighlights simplicity bias of commonly-used convolutional neural networks (CNNs) on the concatenated MNIST-CIFAR dataset,03_suboptimal_generalization.ipynbanalyzes the effect of extreme simplicity bias on standard generalization.04_effect_of_ensembles.ipynbstudies the effectiveness of ensembles of independently trained methods in mitigating simplicity bias and its pitfalls.05_effect_of_adversarial_training.ipynbevaluates the effectiveness of adversarial training in mitigating simplicity bias.06_uaps.ipynbdemonstrates how extreme simplicity bias can lead to small-norm and data-agnostic "universal" adversarial perturbations that nullify performance of SGD-trained neural networks.
Please check out our paper or poster for more details.
Our code uses Python 3.7.3, Torch 1.1.0, Torchvision 0.3.0, Ubuntu 18.04.2 LTS and the packages listed in requirements.txt.
If you find this project useful in your research, please consider citing the following publication:
@article{shah2020pitfalls,
title={The Pitfalls of Simplicity Bias in Neural Networks},
author={Shah, Harshay and Tamuly, Kaustav and Raghunathan, Aditi and Jain, Prateek and Netrapalli, Praneeth},
journal={Advances in Neural Information Processing Systems},
volume={33},
year={2020}
}