Skip to content

Lu, et al. (2018) Shared Representational Geometry Across Neural Networks. Workshop on Integration of Deep Learning Theories, NeurIPS.

License

Notifications You must be signed in to change notification settings

qihongl/nnsrm-neurips18

Repository files navigation

nnsrm-neurips18

This is the repo for ...

Lu, Q., Chen, P.H., Pillow, J. W., Ramadge, P. J., Norman, K. A., & Hasson, U. (2018). 
Shared Representational Geometry Across Neural Networks. arXiv [cs.LG]. 
Retrieved from http://arxiv.org/abs/1811.11684

What is this project about?

1 sentence summary: different neural networks with the same learning experience acquire representations of the same "shape"

  • Here's a short tutorial that describes the minimal analysis pipeline: Open in Colab

Here's a figure showing the activity trajectories from 5 resnets, when they are viewing the same sequence of images.

  • Fig left: before alignment; activity trajectories in native spaces
  • Fig right: after alignment; it is clear that the geometry of their representations are highly similar
  • Here're more animations.

Doc:

Files for the simulation (under simulation/):

  • run_sim.ipynb: run the simulation described in the paper
  • data_gen.py: make toy data set to train NNs
  • models.py: define a simple neural network

Files for the experiments (Files under the root dir):

*The notebooks are not runnable yet, since they depend on some pre-computed data. I'm working on an easy way of hosting the data publicly. Though re-running the whole analysis should be possible.

  • show_*.ipynb: load some pre-computed data (e.g. activity from some pre-trained neural networks), apply certain analyses (e.g. SRM), then plot the results
  • train_*.py: train some models (e.g. conv nets) on some dataset (e.g. cifar10)
  • save_acts_cifar.py: test and save neural network activity matrices
  • run_analyses.py: run SRM, RSA, etc.
  • models.py: some models (e.g. conv nets)
  • resnet.py: resnets from raghakot/keras-resnet [2]
  • config.py: define some constants, such as how to re-arrange the ordering of the images in cifar
  • data_loader.py: util for loading data

Other files:

  • qmvpa: contains some analyses util functions

Dependencies/References:

[1] philipperemy/keract
[2] raghakot/keras-resnet
[3] hypertools
[4] BrainIAK

About

Lu, et al. (2018) Shared Representational Geometry Across Neural Networks. Workshop on Integration of Deep Learning Theories, NeurIPS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published