/RBM-CS51

Neural Network Implementation

Primary LanguageTeX

Restricted Boltzmann Machine

A CS51 Spring 2015 Final Project.

Angela Fan, Andre Nguyen, Vincent Nguyen, George Zeng.

Instructions

Our code can be found in the cs51_rbm_final ipython notebook, which can be accessed from our git repository: https://github.com/huihuifan/RBM-CS51. We annotate the purposes of each file in our GitHub ReadMe, but the code and output is in the cs51_rbm_final notebook. Additional data files can be found the data folder and must be placed in the same directory as the code to be run. We have also included the code in our zip file, which we submitted with this report.

Video

Our video can be found \textbf{LINK HERE}.

Implementation List

We implemented the following:

  1. Restricted Boltzmann Machine

    a. Binary with Sigmoid Activation Function

    b. Continuous with Rectifier Linear Units

    c. Training with Contrastive-Divergence 1

    d. Training with Persistent Contrastive Divergence

  2. Deep Belief Network stacking binary and continuous RBMs

  3. Visualization Function to run, train, and plot the RBM and DBN

  4. Perceptron

  5. Eigenface transformation of Continuous Faces in the Wild dataset

  6. Datasets:

    a. Toy dataset of movie users

    b. MNIST handwriting dataset, binary and continuous

    c. Faces in the Wild dataset, binary and eigenfaces