All Projects → facebookarchive → Learningsimplealgorithms

facebookarchive / Learningsimplealgorithms

Licence: other
We present an approach for learning simple algorithms such as copying, multi-digit addition and single digit multiplication directly from examples. Our framework consists of a set of interfaces, accessed by a controller. Typical interfaces are 1-D tapes or 2-D grids that hold the input and output data. For the controller, we explore a range of neural network-based models which vary in their ability to abstract the underlying algorithm from training instances and generalize to test examples with many thousands of digits. The controller is trained using Q-learning with several enhancements and we show that the bottleneck is in the capabilities of the controller rather than in the search incurred by Q-learning.

Programming Languages

lua
6591 projects

Learning Simple Algorithms from Examples

This is a framework to learn simple algorithms such as copying, multi-digit addition and single digit multiplication directly from examples. Our framework consists of a set of interfaces, accessed by a controller. Typical interfaces are 1-D tapes or 2-D grids that hold the input and output data. The paper can be found at: http://arxiv.org/abs/1511.07275 .
Moreover, the accompanying video https://www.youtube.com/watch?v=GVe6kfJnRAw gives a concise overview of our approach.

This software runs in Torch. Type

th main.lua

to train the model for the addition task.

The model generates traces of the intermediate solutions while training (in directory ./movie/). They can be displayed by calling:

python play.py

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].