斯坦福大学教授提出全可微神经网络架构MAC:可用于机器推理
现今,神经网络已在图像识别、语音识别等感知层面取得巨大成功,但是在更进一步的推理层面仍有欠缺。为解决这一问题,本文提出了一种新的全可微神经网络架构 MAC,可使网络具有结构化推理和迭代思考的能力, 提升其推理的明确性和表现力;在通过 CLEVR 数据集解决视觉推理的任务中,MAC 实现了 98.9% 的当前最优准确率,同时所需数据量减少 5 倍。
推理,即通过先前已有知识,形成新推断或者解决新问题的能力,是智能体必不可少的基础模块之一。如今神经网络在感知层面已取得巨大成功,我们希望在此基础上更进一步,胜任一些需要更高级和更成熟思考的任务,因此让神经网络拥有可以从事实得出结论的能力显得非常重要。为了达到这一目的,我们思考如何最优地设计一个神经网络,使得它可以拥有结构化推理和迭代思考的能力,而这些能力,对于解决复杂问题必不可少。
具体而言,我们开发了一个全新的模型,并运用在视觉问答 (VQA) 的 CLEVR 项目中 (Johnson et al., 2017a)。VQA (Antol et al., 2015; Gupta, 2017) 是一个富有挑战性的多模式任务,要求回答关于图像的自然语言问题。但是,Agrawal et al. (2016) 表明,无论在图像还是问题上,第一代成功的 VQA 模型都仅仅倾向于挖掘数据集的偏差,获取浅层理解,而不是构建一个合理的感知和推导流程来得到正确答案 (Sturm, 2014)。CLEVR 的诞生就是为了解决这个问题。如图 1 所示,数据集的特征是无偏差、高度结构化的问题,解决这些问题需要一系列富有挑战性的推理能力,如传递关系、逻辑关系、计数和比较,而不允许在此类推理中采取捷径。
问:黄色小圆柱前面的那个小方块和绿色反光的物体右边的小物体颜色一样吗?答:不一样。
图 1:一个 CLEVR 实例。为了便于描述,加入了颜色。
但是,深度学习方法往往难以在具有组合性和结构性特点的任务中表现优秀 (Garnelo et al.,2016; Lake et al.,2017)。绝大多数的神经网络本质上都是巨大的关联引擎,为了提升在观测样本中的准确率,神经网络会拟合出任何的统计模式,即使它们可能是错误的。网络深度、规模和统计特性可以使其应对各种充满噪声的数据,往往也限制了模型的可解释性,并阻碍给出明确合理的推理过程,而这些推理过程在以解决问题为目的的任务中是必不可少的。为了缓解这个问题,最近一些方法采用类似编程语言中表达式树的符号结构,从一堆预定义的确定集合中组成神经网络的模块。但因此,它们需要依赖外部预先设定好的结构化表达、功能性程序、不可靠的人工分析或者专家说明,同时需要相当复杂的多阶段强化学习训练框架。这些模型结构上的严格要求,以及使用的一系列专门的指定操作模式,最终降低了模型的鲁棒性和泛化能力。
图 2:模型概述。MAC 网络由一个输入神经元,一个核心的循环神经网络以及一个输出神经元组成。(1)输入神经元将原始图像和问题转化为分布式向量表征。(2)核心的循环神经网络将问题分解为一系列运算(也叫控制),它们可以从图像(知识库)中检索信息,并将结果聚合为循环记忆。通过这些运算,网络按照序列推理问题。(3)输出分类器使用问题和最终记忆状态,计算得出最终答案。
平衡端到端神经网络方法的泛化性和鲁棒性的同时,也要满足更明确的结构化推理的要求,为此我们提出 MAC 网络:一种新的全可微神经网络结构,来完成推理任务。通过排序新的循环 MAC 神经元(记忆、注意力、组合神经元),我们的模型实现结构化的明确推理。MAC 神经元是受到计算机架构的设计原则启发而有的神经元,我们希望它可以捕获基本但通用的推理步骤中的内在原理。MAC 神经元可以明确的将记忆从控制中分离出来,这两种结构都是循环表征的,MAC 神经元由三个运算元串联运行组成,以展现推理步骤:控制元更新控制状态,以便在每次迭代中参与待解答问题的一些部分; 读取元在控制状态和记忆状态的引导下,从知识库中提取信息; 写入元将这些检索得到的信息整合进记忆状态,迭代计算答案。MAC 神经元的这个通用设计将作为结构先验,引导 MAC 网络将问题分解为一系列基于注意力的推理运算,并解决它们。在这个过程中,分解是直接基于数据的,而没有使用任何的强监督手段。通过神经元之间的自我注意力的联系,MAC 网络可以通过一种柔和的方法,表征任意复杂程度的无环推理图,同时依然突出物理结构顺序和端到端的可微性,以适应简单地通过反向传播算法进行模型训练。
我们展示模型在 CLEVR 任务及相关数据集上的定性和定量表现。在大量的推理任务和设定中——无论是原始数据集还是更复杂的人为问题——模型都达到了当前最佳的准确率。值得注意的是,在涉及到计数和加总能力的问题中,MAC 网络的表现格外优秀,而这些问题往往是其他 VQA 模型(Santoro et al.,2017; Hu et al.,2017; Johnson et al.,2017b)非常难以完成的挑战。同时,我们也表明 MAC 网络的学习速度非常快,另外,和其他方法相比,它有效泛化所需的数据量级也更小。最后,大量的简化测试和误差分析印证了 MAC 网络的鲁棒性、多样性和泛化能力。这些结果突出说明了在推动神经网络解决组合推理论证时,加入强结构先验的重要性和价值。根据 Bottou(2014)提出的设想实现,以及在模型中加入新结构,使它明确执行一系列互相实现的运算操作,让 MAC 网络可以从零开始,一步一步发展出推理能力。虽然每个神经元的功能都被限制在一个很小的可能的连续行为范围之内,也仅仅是为了实现一个简单的推理运算,当它们被连接在一起,组成 MAC 网络时,整个系统就变得富于表现力且强大。
图 3:MAC 神经元结构。MAC 循环神经元包含一个控制元、一个读取元和一个写出元,执行双重控制和记忆隐藏状态。控制元连续参与到任务描述(问题)的不同方面,更新控制状态,并在每一个时间步长中表征神经元实现的推理操作。在控制元的引导下,读取元从知识库(图像)中提取出信息。写出元整合检索得到的信息,并记入记忆状态,产生根据当前推理运算得出的新的中间结果。
MAC 网络
MAC 网络是一个端到端可微架构,旨在实现明确的多阶段推理论证过程。它连接了 p 个循环 MAC 神经元,其中每个负责一步推理步骤。给定知识库 K(在 VQA 场景中是一个图像)和任务描述 q(在 VQA 场景中是一个问题),模型得出一系列的 p 个和知识库相互作用的推理运算,并通过迭代整合,控制信息,来完成手中的任务。它有三个组成部分:(1)一个输入神经元,(2)核心的循环网络,由 p 个 MAC 神经元组成,以及(3)一个输出神经元。
表 1:CLEVR 和 CLEVR-Humans 准确率,分别通过基准方法、先前方法和我们的方法(MAC)得到。对于 CLEVR-Humans, 我们展示了微调前后的结果。(*)表示使用了项目标签作为额外监督信息。(†)表示使用了数据增强。(‡)表示在原始像素下训练模型。
论文:Compositional Attention Networks for Machine Reasoning
论文链接:https://arxiv.org/abs/1803.03067
摘要:我们提出了 MAC 网络:一种新的全可微神经网络架构,旨在提升推理的明确性和表现力。受到计算机架构第一原则的启发,MAC 不再使用统一的神经网络黑箱架构,转而采用了提倡透明性、多用途的设计。模型将问题分解为一系列基于注意力的推理步骤,然后处理它们,其中每一个步骤都由全新的记忆单元、注意力单元和结构性单元(合称 MAC 神经元)通过将控制和记忆进行分离来实现。通过将神经元连接到一起,并引入结构性约束来规范其互动,MAC 非常有效地学习并实现迭代推理过程,这种学习是通过端到端方法从数据中直接获取得到的。在模型通过 CLEVR 数据集解决视觉推理问题时,我们通过比较它和先前最优的模型的误差率,论述了 MAC 所表现出的优点、鲁棒性和可解释性——MAC 实现了当前最优的 98.9% 的准确率。更重要的是,我们说明了模型的计算和数据效率都非常高,尤其是,为了取得很好的结果,它所需要的数据量比其他现有模型所需要的数据量少 5 倍。