aviveise / 2WayNet

16 stars 7 forks source link

Linking Image and Text with 2-Way Nets

2-Wat Net is a bi-directional neural network architecture for the task of matching vectors from two data sources. The model employs two tied neural network channels that project the two views into a common, maximally correlated space optimizing the Euclidean loss. The model contain: (i) a mid-way loss term that helps support the training of the hidden layers; (ii) a decorrelation regularization term that links the problem back to CCA; (iii) modified batch normalization layers; (iv) a regularization of the scale parameter that ensures that the variance does not diminish from one layer to the next; (v) a tied dropout method; and (vi) a method for dealing with high-dimensional data.

Installing

Prerequisites

See the requirements.txt file for required python modules

Running MNIST example

Credits

The 2-Way Net project was build upon the following projects:

And other wonderful python modules