  A key feature of intelligent behaviour is the ability to learn abstract
strategies that scale and transfer to unfamiliar problems. An abstract strategy
solves every sample from a problem class, no matter its representation or
complexity -- like algorithms in computer science. Neural networks are powerful
models for processing sensory data, discovering hidden patterns, and learning
complex functions, but they struggle to learn such iterative, sequential or
hierarchical algorithmic strategies. Extending neural networks with external
memories has increased their capacities in learning such strategies, but they
are still prone to data variations, struggle to learn scalable and transferable
solutions, and require massive training data. We present the Neural Harvard
Computer (NHC), a memory-augmented network based architecture, that employs
abstraction by decoupling algorithmic operations from data manipulations,
realized by splitting the information flow and separated modules. This
abstraction mechanism and evolutionary training enable the learning of robust
and scalable algorithmic solutions. On a diverse set of 11 algorithms with
varying complexities, we show that the NHC reliably learns algorithmic
solutions with strong generalization and abstraction: perfect generalization
and scaling to arbitrary task configurations and complexities far beyond seen
during training, and being independent of the data representation and the task
domain.
