Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

神经算术逻辑单元

神经网络可以学习表示和操纵数字信息,但它们很少能在训练期间遇到的数值范围之外有很好的鲁棒性。神经算术逻辑单元(NALU)是一种模块,类似于传统处理器中的算术逻辑单元,它将数值表示为线性激活,使用由学习门(learned gates)控制的原始算术运算符进行操作。

简介

神经网络可以学习表示和操纵数字信息,但它们很少能在训练期间遇到的数值范围之外有很好的鲁棒性。神经算术逻辑单元(NALU)是一种模块,类似于传统处理器中的算术逻辑单元,它将数值表示为线性激活,使用由学习门(learned gates)控制的原始算术运算符进行操作。

要介绍NALU,我们必须首先解释神经累加器的概念(neural accumulator,NAC)。它是线性(仿射)层的一种特殊情况,其变换矩阵W仅由-1,0和1组成;也就是说,它的输出是输入向量中行的加法或减法,这可以防止图层在将输入映射到输出时更改数字表示的比例。这意味着无论将多少个操作链接在一起,它们在整个模型中都是一致的。NAC通过以下方式鼓励W内的0,1和-1来改善简单线性层的归纳偏置:

由于硬约束强制W的每个元素都是{-1, 0, 1}中的一个,学习会变得困难,因此W需要在无约束参数方面连续和可微分参数化:W = tanh(\har{W})σ(\hat{M})。这种形式便于学习梯度下降,并生成元素保证在[-1, 1]、偏置接近-1,0或1的矩阵。

虽然加法和减法使得许多有用的系统能够更好地泛化,我们仍然希望能够学习复杂的函数,如乘法,这即是为何我们需要神经算术逻辑单元(NALU)。它学习两个子单元之间的加权和,一个计算加法和减法,另一个能够计算乘法,除法和幂函数,如√x。更重要的是,NALU演示了NAC如何通过门控子操作进行扩展,从而促进了新类型数值函数的端到端学习。

NALU由两个NAC单元(紫色单元)组成,这两个单元由学习的S形门g(橙色单元)内插,这样如果加/减子单元的输出值应用权重为1(打开),则乘法/除法子单元格为0(关闭),反之亦然。第一个NAC(较小的紫色子单元)计算累加向量a,其存储NALU的加法/减法运算的结果;它与原始NAC的计算方式相同(即a = Wx)。第二个NAC(较大的紫色子单元)在对数空间中运行,因此能够学习乘法和除法,将结果存储在m:

Image.jpg

Image.jpg

其中\epsilon可以防止log 0带来的计算困难。这个单元可以学习由乘法,加法,减法,除法和幂函数组成的算术函数,其推断方法是在训练期间观察到的范围之外的数字。

上图给出了两者的图示。神经累加器(NAC)是其输入的线性变换。 变换矩阵是tanh(W)和σ(M)的元素乘积。 神经算术逻辑单元(NALU)使用两个具有绑定权重的NAC来启用加/减(较小的紫色单元)和乘法/除法(较大的紫色单元),由门(橙色单元)控制。

[图片及描述来源:Trask, A. et al. (2018). Neural Arithmetic Logic Units. arXiv:1808.00508.]

2. 发展历史

描述

数值推理是人工智能领域中许多问题的核心,因此也是深度学习中的一个重要课题。但早于1988年,Jerry A.Fodor 和 Zenon W. Pylyshyn 就指出虽然神经网络可以在给定适当的学习信号的情况下成功地表示和操纵数值量,但是他们学习的行为通常不会表现出系统的泛化。

数值推理中一项被广泛研究的任务是计算图像中的物体。 这些模型通常采用以下两种方法之一:1)使用深度神经网络分割特定对象的各个实例,并在后处理步骤中明确计算它们;或2)通过最小化回归损失,学习一个能够预测对象数的端到端模型。 NALU的提出与第二种思想有紧密的联系。

NALU的工作也可以被视为对深度学习中倡导线性激活的研究的支持,如ResNets、DenseNet等。它们也提倡线性连接以减少爆炸/消失的梯度并促进更好的学习偏置。这种连接改善了性能,尽管由于所得到的体系结构的深度增加而具有额外的计算开销。

主要事件

年份事件相关论文/Reference
1988Jerry A.Fodor和Zenon W.Pylyshyn就指出虽然神经网络可以在给定适当的学习信号的情况下成功地表示和操纵数值量,但是他们学习的行为通常不会表现出系统的泛化Fodor. J. A. and Pylyshyn, Z. W. (1988). Connectionism and cognitive architecture: a critical analysis. Cognition. 28(1–2):3–71.
2018Andrew Trask等人提出NALUTrask, A. et al. (2018). Neural Arithmetic Logic Units. arXiv:1808.00508.

3. 发展分析

瓶颈

NALU虽然是针对神经网络不能对其训练观察到的数值范围外对信息进行较好的概括这一问题而提出的,但其作者也表明其仍然不太可能完美的解决每一个任务,NALU目前仍然是一个尚在研究之中的思路。

未来发展方向

根据其提出者,NALU可以被作为解决创建模型时目标函数存在偏置项的一种通用策略——通过NALU可以添加任意可谓数值函数到模块中然后通过学习门进行控制。

Contributor: Yuanyuan Li

简介