neural Turing machine
{{Short description|Type of recurrent neural network}}
{{turing}}
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.{{cite web |url=https://www.linkedin.com/pulse/deep-minds-interview-googles-alex-graves-koray-sophie-curtis |title=Deep Minds: An Interview with Google's Alex Graves & Koray Kavukcuoglu |access-date= May 17, 2016}} 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.{{cite arXiv |eprint=1410.5401|title= Neural Turing Machines |last1= Graves |first1= Alex |last2= Wayne |first2= Greg |last3= Danihelka |first3= Ivo |class= cs.NE |year= 2014 }}
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.{{Citation|last1=Collier|first1=Mark|title=Implementing Neural Turing Machines|date=2018|work=Artificial Neural Networks and Machine Learning – ICANN 2018|pages=94–104|publisher=Springer International Publishing|language=en|doi=10.1007/978-3-030-01424-7_10|isbn=9783030014230|last2=Beel|first2=Joeran|arxiv=1807.08518|bibcode=2018arXiv180708518C|s2cid=49908746}}{{Cite web|url=https://github.com/MarkPKCollier/NeuralTuringMachine|title=MarkPKCollier/NeuralTuringMachine|website=GitHub|language=en|access-date=2018-10-20}}{{Cite news|url=https://www.scss.tcd.ie/joeran.beel/blog/2018/10/20/best-paper-award-for-our-publication-implementing-neural-turing-machines-at-icann-conference/|title=Best-Paper Award for our Publication "Implementing Neural Turing Machines" at the 27th International Conference on Artificial Neural Networks {{!}} Prof. Joeran Beel (TCD Dublin)|last=Beel|first=Joeran|date=2018-10-20|work=Trinity College Dublin, School of Computer Science and Statistics Blog|access-date=2018-10-20|language=en-GB}} Other open source implementations of NTMs exist but as of 2018 they are not sufficiently stable for production use.{{Cite web|url=https://github.com/snowkylin/ntm|title=snowkylin/ntm|website=GitHub|language=en|access-date=2018-10-20}}{{Cite web|url=https://github.com/chiggum/Neural-Turing-Machines|title=chiggum/Neural-Turing-Machines|website=GitHub|language=en|access-date=2018-10-20}}{{Cite web|url=https://github.com/yeoedward/Neural-Turing-Machine|title=yeoedward/Neural-Turing-Machine|website=GitHub|language=en|access-date=2018-10-20|date=2017-09-13}}{{Cite web|url=https://github.com/camigord/Neural-Turing-Machine|title=camigord/Neural-Turing-Machine|website=GitHub|language=en|access-date=2018-10-20}}{{Cite web|url=https://github.com/carpedm20/NTM-tensorflow|title=carpedm20/NTM-tensorflow|website=GitHub|language=en|access-date=2018-10-20}}{{Cite web|url=https://github.com/snipsco/ntm-lasagne|title=snipsco/ntm-lasagne|website=GitHub|language=en|access-date=2018-10-20}}{{Cite web|url=https://github.com/loudinthecloud/pytorch-ntm|title=loudinthecloud/pytorch-ntm|website=GitHub|language=en|access-date=2018-10-20}} 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.{{Cite web|url=http://www.i-programmer.info/news/105-artificial-intelligence/10174-deepminds-differential-nn-thinks-deeply.html|title=DeepMind's Differentiable Neural Network Thinks Deeply|last=Administrator|website=www.i-programmer.info|access-date=2016-10-20}}