A simple neural network module for relational reasoning

Abstract

关系推理是智能行为中的核心,但是实验证明关系推理很难用神经网络来学习。

本文描述了如何使用Relation Networks 作为一种即插即用的Model从根本上解决关系推理问题。


Introduction

之前提到推理实体及实体见属性间的关系是智能行为中很重要的部分。

1107940-144010132df1be07.png

1514466203466_2.png

  • Relational question
    • requires explicit reasoning about the relations between the four objects in the image
  • Non-relational question
    • requires explicit reasoning about the relations between the four objects in the image

文章提出因为深度学习是以稀疏而复杂的关系映射作为基础,所以训练需要海量的数据。(However,a number of these approaches, such as deep learning, often struggle in data-poor problems where the underlying structure is characterized by sparse but complex relations)。

看似简单的推理问题对神经网络(CNNs MLPs)来说是非常困难的。

提出了一种专门做关系推理的Relation Network (RN)来解决神经网络中的关系推理问题。

之前提出的关系推理模型:

  • Graph Neural Networks
  • Gated Graph Sequence Neural Networks
  • Interaction Networks

RNs 更简单,即插即用,专注于灵活的关系推理(exclusively focused on flexible relational reasoning)
通过联合训练,RNs可以影响和修改CNNs的上游表征(upstream representations) 来产生可以做关系推理的隐式对象

扫描二维码关注公众号,回复: 2936477 查看本文章

Relation Networks

就像CNNs具有空间平移不变性一样,RN天生具有关系推理的能力。
设计思想:
通过约束神经网络的功能形式(constrain the functional form of a neural network)来使RN具有捕捉关系推理的核心共同属性(captures the core common properties of relational reasoning)

在最简单的形式中RN是一个复合函数:

1107940-6df0092c92933e66.png

1514468907402_3.png

输入是一组对象

1107940-ccd2a5b88cb9ba10.png

1514468969831_4.png

f和g是带参数的函数
本文中f和g是参数可学习的MLPs,使得RNs是端到端可微的。
把g的输出称为“关系”,即用g中的角色(role)来判断两个对象在哪方面是相关的,或者他们是否都有关系(therefore, the role of g θ is to infer the ways in which two objects are related, or if
they are even related at all)。

RN的三个强项:

  • 推断关系
  • 数据高效(data efficient)
  • 以顺序不变的方式处理一组通用输入格式的对象( they operate on a set of objects – a particularly general and versatile input format – in a manner that is order invariant)

RNs learn to infer relations

1107940-1c8c94de0b2a6a66.png

1514468907402_3.png

上述公式表明了,RN必须考虑所有对象对(object pair)隐含的关系。
这意味着RN不一定知道实际存在的对象关系,也不必知道任何特定关系的实际含义(This implies that an RN is not necessarily privy to which object relations actually exist, nor to the actual meaning of any particular relation)例如 球是否在圆柱体左边,某一个pair是否表示球是否在圆柱体左边
RN应学会推断对象关系的存在和含义。

在图论中,输入可以看做一个完全有向图,节点表示object边表示object间的关系。本文中的RN讨论的“all-to-all"的关系,也可以修改成只考虑一部分pair的关系。

RNs are data efficient

RN使用单个函数gθ来计算每个关系。 这可以被认为是对一批对象进行操作的单个函数,该批次中的每个成员都是来自同一对象集的特定对象对。 这种操作模式使这种计算关系的方式可以进行更广泛的推广,因为gθ不会过拟合任何特定对象的特征。
如果使用MLPs会怎么样?
MLPs接收所有的对象作为输入,然后它必须在其权重参数中学习和嵌入n平方个相同的函数来考虑所有可能的对象配对(n是对象数),随着n的增加会变得非常麻烦。
使用MLP对每个样本做前馈就需要n平方次关系推理运算。
而RNs对每个对象集做前馈只需要n平方次关系推理运算。

RNs operate on a set of objects

1107940-1d1f60558738ae88.png

1514468907402_3.png

上述公式中的求和,保证了RN的对象顺序不变性。
这种不变性确保RN的输入符合集合不变的属性,并确保输出是不变的。 最终,这种不变性确保RN的输出包含通常代表对象集合中存在的关系的信息。(This invariance ensures that the RN’s input respects the property
that sets are order invariant, and it ensures that the output is order invariant. Ultimately, this invariance ensures that the RN’s output contains information that is generally representative of the relations that exist in the object set)不是很懂


Tasks

CLEVR

1107940-34b7338f5535c413.png

1514466203466_2.png

这是一个比较具有挑战性的数据集,因为它需要高层的场景理解。
3D渲染的图片

1107940-6973864f94a95fa9.png

1514635215968_6.png

包括查询属性的问题
What is the color of the sphere?
比较属性的问题
Is the cube the same material as the cylinder?
这个模型比那些基于概率的模型效果好一点
在两个版本的CLEVR上做了测试(2D和3D)

Sort-of-CLEVR

为了证明RN比一般的神经网络更适合做一般的关系推理,他们构建了一个类似CLEVR的数据集“Sort-of-CLEVR”,这个数据集分离了关系和非关系的问题。

CLEVR分类包括二维彩色图形的图像以及关于图像的问题和答案。每个图像总共有6个对象,其中每个对象是一个随机选择的形状(正方形或圆形)。我们使用了6种颜色(红色,蓝色,绿色,橙色,黄色,灰色)明确标识每个对象。问题被硬编码为固定长度的二进制字符串,以减少与自然语言问题处理有关的难度,从而消除语言分析中的混淆困难。对于每个图像,我们生成了10个关系问题和10个非关系问题。关系问题的例子是:“离灰色物体最远的物体的形状是什么?”;和“有多少物体与绿色物体有相同的形状?”。非关系问题的例子是:“灰色物体的形状是什么?”;和“是场景顶部还是底部的蓝色物体?”。该数据集也很简单,减少了图像处理中涉及的复杂性。

bAbI

bAbI是一个纯文本QA数据集。
For example, the facts
“Sandra picked up the football”
“Sandra went to the office”
“Where is the football?”
(answer: “office”)

Dynamic physical systems

我们使用MuJoCo物理引擎开发了模拟物理质量弹簧系统的数据集
每个场景都有10个彩色的球在桌面的表面移动
一些球独立移动,可以自由地与其他球和障壁碰撞。 其他随机选择的球对由不可见的弹簧或刚性约束连接。 由于连接施加的力,这些连接防止球独立移动.
输入数据由状态描述矩阵组成,其中每个球被表示为矩阵中的行,其特征表示每个对象的RGB颜色值及其空间坐标(x,y)acros 16个连续的时间步长
我们定义了两个独立的任务:1)当只观察多个连续帧的颜色和坐标位置时,推断球之间存在或不存在连接; 2)计算桌面上的系统数量,再次只观察每个球的 颜色和坐标跨多个连续帧的位置。
这两项任务都涉及推理球的相对位置和速度,以推断它们是否独立移动,或者移动是否依赖于其他球通过不可见的连接移动。 例如,如果两个球之间的距离在帧之间保持相似,则可以推断它们之间存在连接。
第一个任务是明确的,而第二个任务要求这个推理是隐含的,这是非常困难的。 有关所有任务(包括动态系统的视频)的更多信息,请参阅补充信息。


Models

这项工作的核心贡献是证明相对非结构化输入(如CNN或LSTM嵌入)RN的输入是更灵活的一组对象。
尽管RN期望对象表示作为输入,但不需要指定对象的语义。 我们下面的结果表明,学习过程诱导上游处理,包括传统的神经网络模块,从分布式表示中产生一组有用的“对象”。

Dealing with pixels

用CNN提取特征,输入为128128,之后接4个卷积层,生成k个大小为dd的feature map
我们仍然不知道什么特定的图像特征应该构成一个对象
用指示相对空间位置的任意坐标标记d*d的feature map中的每个k纬的单元,这就被视为RN的对象
这意味着“对象”可以包括背景,特定的物理对象,纹理,
物理对象的连接

Conditioning RNs with question embeddings

对象 - 对象关系的存在和意义应该是依赖于问题的
于是调整了g 使得它能处理这个问题
为了能将q加入到其中,使用了专门处理疑问词的LSTM的最后一层的输出

1107940-ccf12dcdfd6a0cab.png

1514638563637_8.png

Dealing with state descriptions

我们可以直接向RN提供状态描述,因为状态描述是预先考虑的对象表示。 问题处理可以像以前一样进行:问题通过LSTM使用可学习的查找嵌入单个单词,并且LSTM的最终状态连接到每个对象对。

Dealing with natural language

在bAbI任务中需要将纯文本输入转换为对象,这和之前的图片是不同的
对象被定义为feature maps中空间上不同的区域
因此,我们首先选了二十个句子打上表示相对位置的标记,之后使用LSTM处理这些句子。相当于选了几个基准点,之后的那些句子就能根据这些先验信息计算出相对坐标了。
我们的模型在bAbI(全部20个任务同时)的联合版本上进行了训练,每个任务使用10K个例子的完整数据集。

Model configuration details

CLEVR-from-pixels

4个卷积层每层24个核,ReLU batch norm; 用于问题处理的128单位LSTM; 32个单位字查找嵌入; gθ 四层MLP,每层256个单元,relu; fφ和由256,256(50%dropout),29 relu 组成的三层MLP。 最后一层是一个线性层,在回答词汇表上产生softmax的logits。 使用Adam优化器,使用交叉熵损失函数对softmax输出进行优化,学习率为2.5 e-4。 我们使用batchsize 64 在10台机器上训练 其他任务的配置是相似的,可以在补充信息中找到。

1107940-29360400b8640ee6.png

1514641459632_9.png

Result

1107940-abdbb667c526eb66.png

1514642330079_10.png

3D 96.4

Sort-of-CLEVR

CNN+RN 94 relational and non-relational
CNN+MLP non-relational 94 relational 63 “closest-to” or “furthest-from” relation 问题只有 52.3

bAbI

succeeded on 18 / 20 tasks
在失败的两个任务上 “two supporting facts”, and “three supporting facts” 91.9 83.5

Dynamic physical systems

connection inference task 93
connection inference task 95

Discussion and Conclusions

我们推测,RN为灵活的关系推理提供了一个更强大的机制,释放了CNN,更加专注于处理当地的空间结构。 处理和推理之间的区别很重要。 像ResNet这样强大的深度学习架构是高度有能力的视觉处理器,但它们可能不是推理任意关系的最合适的选择。
这项工作的一个重要贡献是,RN能够通过学习过程诱导上游处理,以提供一组有用的对象表示。 请注意,输入数据和目标目标函数没有指定内部对象表示的任何特定形式或语义。 这表明即使在非结构化输入和输出的情况下,RN也具有丰富的结构化推理能力。
未来的工作应该将RN应用于各种可以从结构学习和开发中受益的问题,比如RL代理中丰富的场景理解,社交网络建模和抽象问题解决

猜你喜欢

转载自blog.csdn.net/sinat_29963957/article/details/81256147
今日推荐