CMU&谷歌Spotlight论文:超越卷积的视觉推理框架
人类在看到图像时可以进行合理的推理与预测,而目前的神经网络系统却还难以做到。近日,来自卡耐基梅隆大学(CMU)的陈鑫磊(现 Facbook 研究科学家)、Abhinav Gupta,谷歌的李佳、李飞飞等人提出了一种新型推理框架,其探索空间和语义关系的推理性能大大超过了普通卷积神经网络。目前该工作已被评为 CVPR 2018 大会 Spotlight 论文。
近年来,我们在图像分类 [ 16 ]、检测 [ 37 ] 或分割 [ 3 ] 等标准识别任务方面取得了显著进展,前馈端到端学习的 ConvNet 模型的使用在其中发挥了很大作用。空间和语义上的视觉推理对人类至关重要 [ 1 ],但我们目前的视觉系统与之不同,除了具有较大接受域的卷积之外,它们都缺乏语境推理。因此,当我们着眼于构建下一代视觉系统时,如何结合空间推理和语义推理就成为一个关键问题。
我们的目标是建立一个系统,该系统不仅可以提取、利用卷积特征的层次结构,还可以通过空间和语义关系来改进其判断。但什么是空间和语义关系?如何使用它们来提高识别能力?请看图 1。图 1 左上角是一个空间推理的实例:如果一行中四分之三的区域是「窗户」,那么第四个区域也可能是「窗户」。语义推理的一个实例(右下图)是识别「校车」,即使图中可见的校车很少或基本看不见——仅仅给出了「公交车」的实例及公交车与校车之间的联系。最后,空间-语义推理可以解释为:识别道路上的「汽车」应有助于识别「汽车」内的「人」。
图 1. 除了具有较大接受域的卷积之外,当前的识别系统缺乏推理能力,而人类可以通过探索空间、语义关系的丰富空间进行推理:例如,即使在有遮挡的情况下,人类也能推断出第四个「窗户」,或者驾驶「汽车」的「人」。为了弥补这一差距,我们提出了一个通用框架,该框架也使用上述关系进行迭代推理及预测。
利用关系进行推理的一个关键方法是迭代地进行预测。最近,已经有人尝试通过自顶向下的模块 [ 38,48 ] 或使用外显记忆 [ 51,32 ] 来整合这种推理。在使用自顶向下的模块时,具有基于类的信息的高层次特征可以与低层次特征结合使用,以提高识别性能。另一种架构是使用外显记忆。例如,Chen 和 Gupta [ 4 ] 展示了序贯对象检测,其中空间存储器用于存储先前检测到的对象,利用 ConvNets 的能力来提取有利于后续检测的密集语境模式。
然而,这些方法存在两个问题: a ) 两种方法都使用卷积堆栈来执行局部像素级推理 [ 11 ],该方式可能不具备允许更远区域直接传递信息的全局推理能力;b ) 更重要的是,这两种方法都假定训练数据中有足够的关系实例供模型从头开始学习,但是随着类数量的增加,关系呈指数级增长,数据可能出现短缺。许多语义推理需要从很少或近乎为零的实例中学习 [ 14 ]。因此,我们需要设法利用额外的结构化信息进行视觉推理。
本研究提出了一个空间推理和语义推理的通用框架。与目前仅依赖卷积的方法不同,我们的框架还可以从知识库 [ 5,56 ] 形式的结构化信息中学习视觉识别。我们算法的核心由两个模块组成,一个是基于空间记忆 [ 4 ] 的局部模块,利用 ConvNets 进行像素级推理。我们借助并行内存更新来大幅度提高效率。另一个是基于图结构的全局模块,用于在局部区域之外进行推理。
该模块由三个部分组成:
知识图,在该图中,我们将类表示为节点并建立边来编码它们之间不同类型的语义关系;
当前图像的区域图,在该图中,节点代表图像中的区域,边代表这些区域之间的空间关系;
将区域分配给类的分配图。
利用这种结构,我们开发了一个推理模块,专门用来传递该图中的信息。局部模块和全局模块两者迭代地转出并相互交叉馈送预测,以便细化预测。注意,局部推理和全局推理不是孤立的:良好的图像理解通常需要平衡先验学习的背景知识和图像特定观察之间的关系。因此,我们的完整管道通过「关注」[3] 机制连接了两个模块的力量,从而使模型在进行最终预测时能够依赖最相关的特征。
我们的框架展示了大大超越普通 ConvNets 的性能。例如,我们可以在 ADE [ 55 ] 上实现 8.4 % 的绝对提升,这是按每级平均精度衡量的,而通过加深网络仅可以提高约 1 %。
图 2. 推理框架示意图。
除了用于提供预测的普通 ConvNet 之外,该框架还有两个模块来执行推理:一个是使用空间存储器 Si 的局部模块 ( Sec. 3.1 ),该模块使用另一个 ConvNet C 进行推理;另一个是全局模块 (Sec. 3.2),该模块将区域和类视为图中的节点,通过在它们之间传递信息进行推理。这两个模块都接收组合的高级和中级特征,在交叉馈送信念的同时迭代地转出 ( Sec. 3.3 )。结合所有预测 fi 与注意 ai 产生最终预测 f(Sec. 3.4)。
图 3. 在具有多种类型的边的图形上直接传递信息的图示。图中的四个节点由两种类型的边进行连接。每个节点表示输入特征向量 mi (合称 M )。为边类型 j 学习加权矩阵 Wj 以变换输入。然后应用邻接矩阵 Aj 将信息传递给连接的节点。最后,通过累加所有边类型并应用激活函数来生成输出 G。
图 4. 在全局推理模块 R 中使用了两种推理路径。获得区域和类输入 M_r 和 M_c 之后,空间路径在区域图中直接传递信息,区域图含有区域到区域的边 E_r→r,而语义路径首先将区域分配给含有 E_r→c 的类,然后将信息传递给具有类到类边 E_c→c 的其他类,再传播回去。组合最终输出以生成输出区域特征 G_r。
表 1. 在 ADE test-1k 和 VG 测试中的主要结果。AP 是平均精度,AC 是分类精度。上标显示了高于基线的值。
图 5. 来自 ADE test-1k 的定性示例(最好放大来看)。
在突出显示的蓝色区域可以看出基线预测和我们的模型预测比较的结果。此外还列出了其他区域以提供语境。例如,经过推理后,「右腿」与「左腿」的混淆程度降低(左上图);尽管分辨率很低,但「桌面」上的「鼠标」被成功判断出来 (上面一行第三张图);「洗涤剂分配器」在「洗衣机」(右上图) 的语境中被识别出来。在右下角的图中,我们展示了一个失败案例,在该图中,语境没有帮助我们识别出「遥控器」,失败的原因可能是它以前从未出现在「床头柜」上,也没有语义关系可以提供帮助。
论文:Iterative Visual Reasoning Beyond Convolutions
论文连接:https://arxiv.org/abs/1803.11189
摘要:我们提出了一种新的迭代视觉推理框架。该框架超越了目前只具备卷积堆栈推理能力的识别系统。该框架由两个核心模块组成:一个是局部模块,使用空间记忆以并行更新的方式存储以前的信念;另一个是全局图形推理模块。我们的图模块由三个部分组成: a ) 知识图,在该图中,我们将类表示为节点并建立边来编码它们之间不同类型的语义关系;b ) 当前图像的区域图,在该图中,节点代表图像中的区域,边代表这些区域之间的空间关系;c ) 将区域分配给类的分配图。局部模块和全局模块迭代地转出并相互交叉馈送预测,以便细化预测。通过将两个模块中的最佳部分与注意机制相结合来进行最终预测。与普通 ConvNets 相比,我们的框架性能显著增强,例如,按每级平均精度衡量,我们可以在 ADE 上实现 8.4 % 的绝对改进。分析还表明,该框架对缺失区域具有较强的推理能力。