This project empirically shows neural network training molds feature maps to expand areas near decision boundaries. For details, see our preprint Neural networks learn to magnify areas near decision boundaries.
To setup the environment, at root, run
conda env create -f environment.yml
conda activate curvature
To run experiments, we first need to specify paths for data, model temp files, and visualizations in config.toml. Different experiments can have separate folders to store final results. One example is
['exp']
data_dir='data/'
result_dir='img/'
model_dir='model/'
Next specify the tag
argument in each bash script before running so that it reads the coresponding paths in config.toml. To run cifar, for instance, at root:
bash commands/train_cifar.sh
If you find this code useful, please consider citing our preprint:
@article{zv2023neural,
title={Neural networks learn to magnify areas near decision boundaries},
author={Zavatone-Veth, Jacob A. and Yang, Sheng and Rubinfien, Julian A. and Pehlevan, Cengiz},
year={2023},
journal={arXiv preprint},
eprint={2301.11375},
archivePrefix={arXiv},
primaryClass={cs.LG}
}