about
Neural Arithmetic Logic Units – Learning Numbers & Arithmetic End-To-End (arxiv.org)
7 points by williamtrask on Aug 3, 2018 | hide | past | pdf | 2 comments on HN

In plain words: A building block stores numbers as simple values and combines them with arithmetic, with learned switches picking the operation — a calculator inside a network. Networks using it work on numbers outside their training range, often by orders of magnitude, far better than usual networks.

Abstract · Neural Arithmetic Logic Units

Neural networks can learn to represent and manipulate numerical information, but they seldom generalize well outside of the range of numerical values encountered during training. To encourage more systematic numerical extrapolation, we propose an architecture that represents numerical quantities as linear activations which are manipulated using primitive arithmetic operators, controlled by learned gates. We call this module a neural arithmetic logic unit (NALU), by analogy to the arithmetic logic unit in traditional processors. Experiments show that NALU-enhanced neural networks can learn to track time, perform arithmetic over images of numbers, translate numerical language into real-valued scalars, execute computer code, and count objects in images. In contrast to conventional architectures, we obtain substantially better generalization both inside and outside of the range of numerical values encountered during training, often extrapolating orders of magnitude beyond trained numerical ranges.

Andrew Trask, Felix Hill, Scott Reed, Jack Rae, Chris Dyer, Phil Blunsom
arXiv:1808.00508 · cs.NE · submitted Aug 1, 2018
abstract · pdf · html

add comment on HN

I just came here to submit this. Really cool paper! The counting thing has been devilishly hard for neural networks.
Thank you!