A Neural Turing Machine (NTM) is a neural network architecture that augments a standard neural network controller with an external, differentiable memory matrix, enabling the network to learn algorithms for reading from and writing to that memory via attention-based mechanisms.
Introduced by DeepMind in 2014, the NTM's core innovation is its differentiable interface to memory. Unlike a traditional computer's memory, which is addressed by discrete locations, the NTM uses soft attention (a weighted combination) to read from and write to all memory locations simultaneously, with the weights determined by the controller network. This allows the entire system—controller, read/write heads, and memory—to be trained end-to-end with gradient descent. The controller, often a Long Short-Term Memory (LSTM) network, emits key vectors and interpolation gates that the memory system uses to perform content-based addressing (finding similar memory slots) and location-based addressing (shifting focus to adjacent slots), mimicking the operations of a Turing machine in a differentiable way.