Multifaceted Feature Visualization
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
mean_images
README.md
act_max.tvd.center.py
act_max.tvd.mean.py
deploy_alexnet_updated.prototxt
opt_center_bias.sh
opt_from_mean.sh
settings.py
synset_words.txt

README.md

Multifaceted Feature Visualization

This is the code base used to reproduce the experiments in the paper:

Nguyen A, Yosinski J, Clune J. "Multifaceted Feature Visualization: Uncovering the different types of features learned by each neuron in deep neural networks". Visualization for Deep Learning workshop. ICML 2016 (Best Paper Award and Best Student Paper Award at the Visualization workshop at ICML 2016)

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

@article{nguyen2016multifaceted,
  title={Multifaceted Feature Visualization: Uncovering the Different Types of Features Learned By Each Neuron in Deep Neural Networks},
  author={Nguyen, Anh and Yosinski, Jason and Clune, Jeff},
  journal={Visualization for Deep Learning workshop, International Conference in Machine Learning},
  note={arXiv preprint arXiv:1602.03616},
  year={2016}
}

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

Installation

  • Install Caffe and its Python interface
  • Some Python libraries are required and can be installed quickly via e.g. Anaconda

Usage

  • Starting optimization from mean images. Here I provided 10 mean images for two example classes: "bell pepper" and "movie theater".
    ./opt_from_mean.sh 945  # bell pepper
    ./opt_from_mean.sh 498  # movie theater
  • Optimizing images with "center-bias regularization" (CBR)
   ./opt_center_bias.sh 945  

Notes

  • Examples are not provided, but with the code, you could also try other experiments like:

  • Running CBR from a mean image (Fig. S8 in the paper)

  • Starting from a real image (Fig. S1 in the paper)

  • In the paper, we show different ways to compute the mean image (e.g. from training or val set). The code for this is not provided here, but is straightforward to implement (see paper for more).

Feel free to create github issues. We will help you as we can.

License

MIT License.