每当DeepMind发表一篇新论文时,媒体都会狂热的跟踪报道,而且会使用很多误导人的短语。比如关于该关系推理网络的报道:
DeepMind开发了一种神经网络,能够感知其周围的物体。
实际上这种报导不仅仅是误导性的,而且使得很多不明真相的吃瓜群众感到恐慌:AI真的已经强到如此地步了吗?在这篇文章中,将介绍DeepMind论文:A simple neural network module for relational reasoning,试着通过最简单的方式介绍这个最新的架构。
什么是关系推理(Relational Reasoning)?
从最简单的角度来说,关系推理就是学着去理解不同物体之间的关系(思想)。这种能力被认为是智能的一个基本特征。作者使用了一个图来解释什么是关系推理:
图1,模型需要关注一个不同形状、大小、颜色的物体,并能够回答关于多个物体之间关系的问题
推理网络
作者提出了一种神经网络,其本质是为了捕捉关系(就像卷积神经网络是为了捕捉图像的特征)。他们提出了一个如下定义的架构:
等式1:推理网络的定义
解释:
对O的关系网络是函数fΦ,其中O是想要学习关系的一组物体。
gθ是关于两个物体:oi, oj的方程。输出为我们所关心的“关系”。
Σ表示计算所有可能的物体对,计算他们的关系并加和。
神经网络与函数
在学习神经网络,反向传播等的时候,我们很容易忘记这点,但实际上,神经网络就是一个数学函数!因此,上面等式1描述的就是一个神经网络,更准确的说是两个神经网络:
1. gθ,计算了一对物体之间的关系
2. fΦ,计算了所有g的加和,并计算了整个模型的最终输出
gθ和fΦ在最简单的情况下都是多层感知机。
关系神经网络的灵活性
作者提出了关系神经网络作为组件。他们可以接受编码过的物体作为输入,并从中学习关系,更重要的是,他们可以很容易的插入到卷积神经网络,以及长短期记忆网络(LSTM)中。
卷积网络可以通过图像学习到物体。这对于实际应用有很大帮助,因为从图像中推理远比用户手工定义物体数组更实用。
LSTM和单词嵌入何以用来理解问题的含义。这同样更有实际意义,目前模型已经可以接受英文句子作为输入,而不是编码的数组。
作者提出了一种方法将关系网络、卷积网络、LSTM网络结合到一起,构建了一种端到端的神经网络,以学习物体之间的关系。
图2:端到端关系推理神经网络
图2的解释
图像会通过一个标准卷积神经网络(CNN),在这个过程中卷积神经网络会通过k个滤波器提取图像特征。推理网络中的“物体”即是图中网格每点的特征向量。例如,途中黄色的向量就代表一个“物体”。
问题会通过一个LSTM网络,这会产生该问题的特征性向量。可以粗略地表示这个问题的“含义”。
对于等式1,这里有一个轻微的修正,加入了一个额外的项:
额外的一项q,表示LSTM的最终状态。
在这之后,从CNN网络中得到的“物体“以及从LSTM网络中得到的向量被用来训练关系网络。每个物体对,以及从LSTM中得到的问题向量都被用作gθ(一个神经网络)的输入。
将gθ的输出求和,作为fΦ(另一个神经网络)的输入。然后优化fΦ以回答问题。
Benchmarks
作者在几个数据集上展示了该模型的有效性。这里只介绍一个最重要的数据集中的结果—CLEVR数据集。
CLEVR数据集包括不同形状、大小和颜色的物体的图像。模型会被问到如下图的问题:
这个立方体的材质与这个圆柱体的材质一样吗?
图3:物体的类型(上),位置组合(中&下)
作者表示,在准确度方面,其他系统都远远落后于他们的模型。这是由于关系网络就是为捕捉关系而设计的。他们的模型达到了前所未有的96%+的准确度,相比之下,使用stacked attention模型的准确度只有75%。
图3.1 CLEVR数据集上不同方法的比较
结论
关系网络机器适合于学习关系。该方法可以高效地使用数据。同时该方法也足够灵活,可以与CNN,LSTM一起作为一个混合解决方案。
本文也想通过正确的解读,来打破许多大型媒体关于“AI将会接管一切”的宣传,让大家正确的了解目前最好的方法能够做到什么程度。