Code to reproduce all the results in the paper: "Learning dynamics of linear denoising autoencoders." (ICML 2018)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
animations
data
src
Figure_1_learning_dynamics.ipynb
Figure_2_theoretical_dynamics_DAE_vs_WDAE.ipynb
Figure_3_dynamics_for_optimal_learning_rates.ipynb
Figure_4_effects_DAE_vs_WDAE_on_weight_norm.ipynb
Figure_5_mnist_cifar10_theory_vs_actual_dynamics.ipynb
Figure_6_nonlinear_dae_learning_dynamics.ipynb
LICENSE
README.md
research_up.sh

README.md

Code: Learning dynamics of linear denoising autoencoders

This repository provides the code to reproduce all the results in the paper: "Learning dynamics of linear denoising autoencoders." (ICML 2018)

Alt Text

Basic requirements for Figures 1-4

To reproduce Figures 1-4, all that is required is numpy and matplotlib.

Requirements for larger scale experiments for Figures 5-6:

To reproduce Figures 5 and 6, a docker image was created to provide an identical research environment to the one used to run the initial experiments. Below are the instructions to reproduce these plots using this docker image and the notebooks provided.

Quick Start (GPU required)

Installation

Step 1. Install Docker and nvidia-docker.

Step 2. Obtain the research environment image from Docker Hub.

docker pull arnu/research_env

Step 3. Clone the research code repository.

git clone https://github.com/arnupretorius/lindaedynamics_icml2018.git

Usage

Change directory to the cloned repository on your local machine and run the bash script.

research_up.sh

This should create a volume bind mount with the current directory for persistent data storage as well as launch a Jupyter notebook accessible at http://0.0.0.0:8888/. Now, you can simply run the notebook corresponding to the figure in the paper you wish to reproduce.

To stop the docker container from running simply shutdown the notebook by pressing ctrl+c (the container will automatically be removed once stopped).