本文主要是介绍论文阅读《A simple neural network module for relational reasoning》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、重点单词理解
inherently 本质地
statistical 统计的
cylinder 圆柱体
generalize 概括、推广、笼统
sparse 稀疏
explicit 易于理解的
implicit 含蓄的
plug-and-play 即插即用
exploit 利用
state 情况,状态
versatility 用途广泛
substantial 非常,大量,总的来说
sustainable 可持续
composite 混合的
intractable 棘手
hinge on 依赖
simulate 模拟
comprise 构成,包括
omitted 删除
二.《A simple neural network module for relational reasoning》
关系推理(relation reasoning)是一般智能行为的核心组成部分,但已证明神经网络较难以学习。文章提出因为深度学习是以稀疏而复杂的关系映射作为基础,所以训练需要海量的数据,看似简单的推理问题对神经网络(CNNs MLPs)来说是非常困难的。
因此本文作者提出并设计了一个用于关系推理的RN模块,并描述了如何使用RN网络作为一种即插即用的Model,并从根本上解决关系推理问题,其可以嵌入到任何需要处理与关系推理有关系的任务的神经网络之中。在该文中,作者对于三项任务中测试了RN网络,分别是CLEVR数据集进行视觉问题回答(VQA),bAbI数据集进行基于文本的问题回答;以及关于动态物理系统的复杂推理。
(1)关系网络(Relation Networks)**
①RN网络的函数形式
RN是一种神经网络模块,具有为关系推理准备的结构。RNs背后的设计理念是约束神经网络的功能形式,以便捕捉关系推理的核心共同属性。RN最简单的形式是一个复合函数:
(公式一)
由论文中可以得知,该网络的输入是一组对象,oi 表示第i个对象,而和和分别是带有参数和的函数,这里的f和g都是MLP(多层感知机),作者把的输出作为关系,即用来推断两个对象之间是否相关。
②RN网络的优点
作者指出,RN网络的优点有三种,分别为RN能够推断出关系,RN的数据很高效以及RN是以一种独特不变的形式作为输入,即输入是对象的集合。
I. RN能够推断出关系,关系式1中的函数形式表明RN应该考虑所有对象之间的潜在关系。RN不一定知道实际存在哪些对象关系,也不一定知道任何特定关系的实际含义。因此RN必须学会推断对象关系的存在和含义。用图论的话来说,可以将输入视为一个完整的有向图,其节点是对象,并且其边表示应考虑其关系的对象对,并且RN可以将仅应考虑的那些对的列表作为输入。
II. RN处理数据很高效,RN使用单个函数来计算每个关系,对一批对象进行操作的单个函数。一个MLP将同时接收来自该对象集的所有对象作为其输入。n个对象,就要嵌入n2个参数来匹配所有的对象。但在RN中,由于有函数,将被每个对象集的n2前向学习所代替,并只学习一次关系函数。
III. RN是对对象的集合进行操作。公式1中的求和确保了RN对输入中对象的顺序不变,并确保RN输出是顺序不变的。最终,这种不变性确保RN的输出包含通常代表对象集中存在的关系的信息。
(3)任务
作者将RN增强网络应用于各种依赖于关系推理的任务。为了演示这些网络的多功能性,我们选择了来自许多不同领域的任务,包括视觉QA,基于文本的QA和动态物理系统。
①CLEVER数据集是在之前大多数视觉QA数据集都需要在没有完全指定的词汇词汇的情况下进行推理,含有含糊之处,并表现出强烈的语言偏见,而不需要推理关于视觉输入等条件上开发产生的。作者使用了CLEVER的两个版本像素版本和状态描述版本。
②Sort-of-CLEVR数据集,为论证RN架构更适合一般的关系推理,作者构建了一个类似于CLEVR的数据集,称之为“Sort-of-CLEVR”。这个数据集重点分离了关系问题和非关系问题。
③bAbI数据集,bAbI是一个纯粹的基于文本的QA数据集。
④动态物理系统(DHS数据集),作者和使用MuJoCo物理引擎开发了模拟物理质量弹簧系统的数据集。
(4)RN网络模型结构
如图2.3所示,与基本的VQA网络结构类似,图片采用CNN网络提取特征,
问题采用LSTM网络提取句子中的语义信息,并将二者的数据通过并求和,最后通过f函数输入结果。作者的主要贡献在于证明灵活性,可以将相对非结构化的输入(例如CNN或LSTM嵌入)视为RN的一组对象。 尽管RN希望将对象表示形式作为输入,但是无需指定对象的语义。
①对像素的处理,文中把 128128 的图像作为输入,通过4个卷积层卷积后得到 dd*k 的特征图,我们把每个 k 维的 d²的单元作为一个对象,(图上图所示的红,黄,蓝三种对象,k = 5)我们把所有通道上的像素值作为一个“对象”。这样处理意味着“对象”可以包括背景、纹理以及物理对象等,为模型的学习提供了极大的灵活性。
②带有问题嵌入条件的RN网络,对象关系的存在和含义应该与问题相关。因此作者调整了RN结构,公式为:
(公式二)
其中,q是新增加的参数,为了得到嵌入q的问题,作者使用了处理问题单词的LSTM的最终状态。向疑问词分配了唯一的整数,然后将其用于索引可学习的查找表,该表为LSTM提供了嵌入。在每个时间步长,LSTM都会根据英语编码问题的语法将单个单词嵌入作为输入,与之前的对象合并作为一个新的“对象”。
③状态描述的处理:是一个状态描述矩阵,矩阵中的每一行都包含单个对象的特征,三维坐标(x,y,z);颜色(r,g,b);形状(立方体,圆柱体等);材料(橡胶,金属等);大小(小,大等)。对于这种数据形式的处理和上面对问题嵌入的处理相似:问题通过 LSTM 使用单个单词的可学习查找嵌入进行,并且 LSTM 的最终状态连接到每个对象对。
④自然语言的处理:对于 bAbI 数据集,首先要指出的是与视觉QA不同的是,我认为不需要用到CNN层,即需要先把自然语言输入转化为一组对象。作者指出在用 LSTM 处理问题句子之前,需要先在支持集合中确定 20 个句子,然后,作者用指示它们在支持集中的相对位置的标签标记这些句子,并用 LSTM 逐字处理每个句子,这样设置的话调用了最少的先验知识,因为作者将对象描述为句子,将这些句子作为该任务的 中 RN 模块输入的“对象”,可以说句子处理-LSTM的最终状态被认为是一个对象。
(5)结论
关系网络是一种简单而强大的学习方法,可用于在复杂的现实世界中执行丰富的结构化推理。该文展示了如何将RN网络应用到更广泛的深度学习体系结构中,以显着提高需要丰富关系推理的任务的性能。RN为灵活的关系推理提供了一个更强大的机制,并且释放了CNN更专注于处理局部空间结构,输入数据和目标目标函数没有指定内部对象表示的任何特定形式或语义。这表明RN即使在非结构化输入和输出情况下也具有丰富的结构化推理能力。。并且作者指出未来的工作应该将RN应用于各种可以从结构学习和开发中受益的问题,如RL代理中丰富的场景理解,社交网络建模和抽象问题解决。
这篇关于论文阅读《A simple neural network module for relational reasoning》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!