/pathnet-pytorch

PyTorch implementation of PathNet: Evolution Channels Gradient Descent in Super Neural Networks

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PyTorch implementation of PathNet: Evolution Channels Gradient Descent in Super Neural Networks. "It is a neural network algorithm that uses agents embedded in the neural network whose task is to discover which parts of the network to re-use for new tasks".

Currently implemented binary MNIST task and CIFAR & cropped SVHN classification task. Alt text

Requirements

Usage

Install prerequisites:

$ apt-get install python-numpy python-matplotlib

$ pip install python-mnist networkx

And install pytorch: See http://pytorch.org/.

Run with command:

$ python main.py

If you want to repeat experiment:

$ ./repeat_experiment.sh

To check the result:

$ python plotter.py

Modifications

  • Learning rate is changed from 0.0001(paper) to 0.01.

Result

Transfer learning of CIFAR10 -> cropped SVHN recorded higher accuracy than cropped SVHN classification accuracy solely (41.5% -> 51.8%, Second figure).

Alt text