解释神经算术逻辑单元 (NALU)

NALU Deepmind 论文背后的内容

来源:AI夏令营

几天前,Deepmind 发布了一篇新论文,题为《神经算术逻辑单元(NALU)》。在 AlphaGo 战胜世界顶级围棋选手后,DeepMind 的每篇新论文都会让人工智能社区兴奋不已。但这一次,所有的兴奋都是值得的。好吧,那么什么是 NALU,它的用途是什么?

论文 AlphaGo 的胜利

我们为什么需要 NALU?

神经网络已被证明具有从任何类型的数据(无论是数字、图像还是声音)中学习复杂函数的超凡能力。但它们有一个重大缺陷:它们无法计数。我的意思是它们无法输出训练数据范围之外的值。

例如,如果我们有一个范围从 0 到 100 的训练集,则输出也将位于同一范围内。无论我们使用哪种激活函数或哪种优化技术,输出始终在该范围内。因此,如果我们想用神经网络构建一个计数器,我们不能向其传递以下数据 [0,1,2,3,4,5] 并期望输出 6。下面是一个有趣的图表,它准确地显示了这一点:

(神经算术逻辑单元)[https://arxiv.org/pdf/1808.00508.pdf]:MLP 仅针对它们训练的范围值学习身份函数。在训练期间看到的数字范围以下和以上,平均误差都会急剧上升。来源:Trask 等人。

(神经算术逻辑单元)[https://arxiv.org/pdf/1808.00508.pdf]:MLP 仅针对它们训练的范围值学习身份函数。平均误差在训练期间看到的数字范围以下和以上都急剧上升。来源:Trask 等人。

什么是 NALU?

您可能会认为这是深度学习的一个相当重要的限制,我同意您的观点。这就是 NALU 发挥作用的地方。NALU 使用精心组合的门并扩展神经累加器模型 (NAC)。NAC 实际上是一种线性变换,可以累加输入。

卷积网络 自动编码器

Python 中的实现

导入 (