Skip to content

Beerkay/fooling

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fooling Code

This is the code base used to reproduce the "fooling" images in the paper:

Nguyen A, Yosinski J, Clune J. "Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images". In Computer Vision and Pattern Recognition (CVPR '15), IEEE, 2015.

If you use this software in an academic article, please cite:

@inproceedings{nguyen2015deep,
  title={Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images},
  author={Nguyen, Anh and Yosinski, Jason and Clune, Jeff},
  booktitle={Computer Vision and Pattern Recognition (CVPR), 2015 IEEE Conference on},
  year={2015},
  organization={IEEE}
}

For more information regarding the paper, please visit www.evolvingai.org/fooling

Requirements

This is an installation process that requires two main software packages (included in this package):

  1. Caffe: http://caffe.berkeleyvision.org
  • Our libraries installed to work with Caffe
    • Cuda 6.0
    • Boost 1.52
    • g++ 4.6
  1. Sferes: https://github.com/jbmouret/sferes2
  • Our libraries installed to work with Sferes
    • OpenCV 2.4.10
    • Boost 1.52
    • g++ 4.9 (a C++ compiler compatible with C++11 standard)

Note: These are specific versions of the two frameworks with our additional work necessary to produce the images as in the paper. They are not the same as their master branches.

Installation

Please see the Installation_Guide.pdf for more details.

Usage

  • An MNIST experiment (Fig. 4, 5 in the paper) can be run directly on a local machine (4-core) within a reasonable amount of time (around ~5 minutes or less for 200 generations).
  • An ImageNet experiment needs to be run on a cluster environment. It took us ~4 days x 128 cores to run 5000 generations and produce 1000 images (Fig. 8 in the paper).
  • How to configure an experiment to test the evolutionary framework quickly
  • To reproduce the gradient ascent fooling images (Figures 13, S3, S4, S5, S6, and S7 from the paper), see the documentation in the caffe/ascent directory. You'll need to use the ascent branch instead of master, because the two required versions of Caffe are different.

License

Please refer to the licenses of Sferes and Caffe projects.

About

Code base for "Deep Neural Networks are Easily Fooled" paper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 84.9%
  • Python 10.0%
  • Cuda 2.5%
  • Protocol Buffer 0.7%
  • Makefile 0.5%
  • Shell 0.4%
  • Other 1.0%