A neural Turing machine (NTM) is a recurrent neural network model of a Turing machine. The approach was published by Alex Graves et al. in 2014. NTMs combine the fuzzy pattern matching capabilities of neural networks with the algorithmic power of programmable computers.
An NTM has a neural network controller coupled to external memory resources, which it interacts with through attentional mechanisms. The memory interactions are differentiable end-to-end, making it possible to optimize them using gradient descent. An NTM with a long short-term memory (LSTM) network controller can infer simple algorithms such as copying, sorting, and associative recall from examples alone.
The authors of the original NTM paper did not publish their source code. The first stable open-source implementation was published in 2018 at the 27th International Conference on Artificial Neural Networks, receiving a best-paper award. Other open source implementations of NTMs exist but as of 2018 they are not sufficiently stable for production use. The developers either report that the gradients of their implementation sometimes become NaN during training for unknown reasons and cause training to fail; report slow convergence; or do not report the speed of learning of their implementation.
Differentiable neural computers are an outgrowth of Neural Turing machines, with attention mechanisms that control where the memory is active, and improve performance.
References
Graves, Alex; Wayne, Greg; Danihelka, Ivo (2014). "Neural Turing Machines". arXiv:1410.5401 [cs.NE]. /wiki/ArXiv_(identifier) ↩
"Deep Minds: An Interview with Google's Alex Graves & Koray Kavukcuoglu". Retrieved May 17, 2016. https://www.linkedin.com/pulse/deep-minds-interview-googles-alex-graves-koray-sophie-curtis ↩
Graves, Alex; Wayne, Greg; Danihelka, Ivo (2014). "Neural Turing Machines". arXiv:1410.5401 [cs.NE]. /wiki/ArXiv_(identifier) ↩
Graves, Alex; Wayne, Greg; Danihelka, Ivo (2014). "Neural Turing Machines". arXiv:1410.5401 [cs.NE]. /wiki/ArXiv_(identifier) ↩
Collier, Mark; Beel, Joeran (2018), "Implementing Neural Turing Machines", Artificial Neural Networks and Machine Learning – ICANN 2018, Springer International Publishing, pp. 94–104, arXiv:1807.08518, Bibcode:2018arXiv180708518C, doi:10.1007/978-3-030-01424-7_10, ISBN 9783030014230, S2CID 49908746 9783030014230 ↩
"MarkPKCollier/NeuralTuringMachine". GitHub. Retrieved 2018-10-20. https://github.com/MarkPKCollier/NeuralTuringMachine ↩
Beel, Joeran (2018-10-20). "Best-Paper Award for our Publication "Implementing Neural Turing Machines" at the 27th International Conference on Artificial Neural Networks | Prof. Joeran Beel (TCD Dublin)". Trinity College Dublin, School of Computer Science and Statistics Blog. Retrieved 2018-10-20. https://www.scss.tcd.ie/joeran.beel/blog/2018/10/20/best-paper-award-for-our-publication-implementing-neural-turing-machines-at-icann-conference/ ↩
"snowkylin/ntm". GitHub. Retrieved 2018-10-20. https://github.com/snowkylin/ntm ↩
"chiggum/Neural-Turing-Machines". GitHub. Retrieved 2018-10-20. https://github.com/chiggum/Neural-Turing-Machines ↩
"yeoedward/Neural-Turing-Machine". GitHub. 2017-09-13. Retrieved 2018-10-20. https://github.com/yeoedward/Neural-Turing-Machine ↩
"camigord/Neural-Turing-Machine". GitHub. Retrieved 2018-10-20. https://github.com/camigord/Neural-Turing-Machine ↩
"carpedm20/NTM-tensorflow". GitHub. Retrieved 2018-10-20. https://github.com/carpedm20/NTM-tensorflow ↩
"snipsco/ntm-lasagne". GitHub. Retrieved 2018-10-20. https://github.com/snipsco/ntm-lasagne ↩
"loudinthecloud/pytorch-ntm". GitHub. Retrieved 2018-10-20. https://github.com/loudinthecloud/pytorch-ntm ↩
"carpedm20/NTM-tensorflow". GitHub. Retrieved 2018-10-20. https://github.com/carpedm20/NTM-tensorflow ↩
"snipsco/ntm-lasagne". GitHub. Retrieved 2018-10-20. https://github.com/snipsco/ntm-lasagne ↩
"camigord/Neural-Turing-Machine". GitHub. Retrieved 2018-10-20. https://github.com/camigord/Neural-Turing-Machine ↩
"chiggum/Neural-Turing-Machines". GitHub. Retrieved 2018-10-20. https://github.com/chiggum/Neural-Turing-Machines ↩
"snowkylin/ntm". GitHub. Retrieved 2018-10-20. https://github.com/snowkylin/ntm ↩
"loudinthecloud/pytorch-ntm". GitHub. Retrieved 2018-10-20. https://github.com/loudinthecloud/pytorch-ntm ↩
"yeoedward/Neural-Turing-Machine". GitHub. 2017-09-13. Retrieved 2018-10-20. https://github.com/yeoedward/Neural-Turing-Machine ↩
Administrator. "DeepMind's Differentiable Neural Network Thinks Deeply". www.i-programmer.info. Retrieved 2016-10-20. http://www.i-programmer.info/news/105-artificial-intelligence/10174-deepminds-differential-nn-thinks-deeply.html ↩