Skip to main content
QUICK REVIEW

[论文解读] Neural Arithmetic Logic Units

Andrew Trask, Felix Hill|arXiv (Cornell University)|Aug 1, 2018
Neural Networks and Applications被引用 80
一句话总结

本文介绍 Neural Accumulator (NAC) 和 Neural Arithmetic Logic Unit (NALU),可微分模块使神经网络偏向系统性的数值计算以改进外推,在合成、图像、语言、代码和强化学习任务中得到证明。

ABSTRACT

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.

研究动机与目标

  • 在神经网络中需要在超出训练范围的系统性数值外推。
  • 提出偏向算术运算表示的架构(NAC 和 NALU)。
  • 在多个领域(合成数据、视觉、语言、程序执行、强化学习)展示改进的外推泛化。
  • 证明用 NAC/NALU 替换标准线性层在数值推理任务中可带来显著提升。

提出的方法

  • 将 Neural Accumulator (NAC) 定义为一个受限线性层,权重 W = tanh(What) * sigma(Mhat),以鼓励输入通过加法/减法映射而不进行重新缩放。
  • 通过一个学习到的门控 g 将用于加法/减法的 NAC 与用于乘法/除法的 NAC 结合,扩展为 Neural Arithmetic Logic Unit (NALU),实现加减、乘除、幂等的算术运算。
  • 在需要数值操作的任务上端到端通过反向传播训练,结合监督信号和强化学习信号。
  • 在多种架构中应用 NAC/NALU(前馈、基于 LSTM 的,以及强化学习代理)以测试超出训练范围的外推和泛化。

实验结果

研究问题

  • RQ1NAC 和 NALU 是否能够使神经网络在数值上超出训练范围进行外推?
  • RQ2NAC/NALU 是否提供数值偏置,提升在多种模态(合成、视觉、语言、代码、强化学习)中的算术推理?
  • RQ3将最后一个线性层替换为 NAC/NALU 是否提升在涉及数字的任务(计数、数字词汇的翻译、程序求值)上的性能?
  • RQ4通过 NALU 的乘法能力与通过 NAC 的加法能力在各任务中的比较如何?
  • RQ5NAC/NALU 是否能支持端到端的反向传播学习,用于需要精确数值推理的任务?

主要发现

  • NAC 实现稳健的加法/减法运算,并在外推方面优于标准线性/MLP 基线。
  • NALU 通过受控门添加乘法/除法能力,也能对乘法函数进行外推。
  • 在各类任务(合成算术、MNIST 计数、语言到数字翻译、程序求值、网格世界时间跟踪)中,NAC/NALU 展示出优越的外推能力,通常远超训练范围的数量级。
  • 在 MNIST 奇偶性任务上,NAC/NALU 将误差显著降低,优于以往的线性层基线,且 NAC/NALU 也提供强大的插值表现。
  • 用 NAC/NALU 替换最后的线性层可以带来显著的性能提升,说明了数值偏置结构组件的好处。
  • 在强化学习中,启用 NAC 的控制可以改善时间跟踪任务的外推,表明数值偏置模块在有监督设置之外也有用处。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。