CVPR2018 | CMU&谷歌Spotlight论文:超越卷积的视觉推理框架

选自arXiv

作者:陈鑫磊等

机器之心编译

参与:张倩、李泽南

人类在看到图像时可以进行合理的推理与预测,而目前的神经网络系统却还难以做到。近日,来自卡耐基梅隆大学(CMU)的陈鑫磊(现Facebook 研究科学家)、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 进行像素级推理。我们借助并行内存更新来大幅度提高效率。另一个是基于图结构的全局模块,用于在局部区域之外进行推理。

该模块由三个部分组成:

  1. 知识图,在该图中,我们将类表示为节点并建立边来编码它们之间不同类型的语义关系;
  2. 当前图像的区域图,在该图中,节点代表图像中的区域,边代表这些区域之间的空间关系;
  3. 将区域分配给类的分配图。

利用这种结构,我们开发了一个推理模块,专门用来传递该图中的信息。局部模块和全局模块两者迭代地转出并相互交叉馈送预测,以便细化预测。注意,局部推理和全局推理不是孤立的:良好的图像理解通常需要平衡先验学习的背景知识和图像特定观察之间的关系。因此,我们的完整管道通过「关注」[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 % 的绝对改进。分析还表明,该框架对缺失区域具有较强的推理能力。

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【干货】PyTorch实例:用ResNet进行交通标志分类

【导读】本文是机器学习工程师Pavel Surmenok撰写的一篇技术博客,用Pytorch实现ResNet网络,并用德国交通标志识别基准数据集进行实验。文中分...

98680
来自专栏机器之心

教程 | 从超参数到架构,一文简述模型优化策略

模型可以在训练过程中通过修正超参数而逐步建立。这在迁移学习中最为常见,在这种环境中,我们试图将现有模型的知识应用到新领域或新任务中。这是持续学习中更常见的问题,...

8930
来自专栏AI研习社

用 TensorFlow 让你的机器人唱首原创给你听

AI 研习社按:这篇文章会用一个简单的模型在 TensorFlow 上来实现一个音频生成器,GitHub 代码链接详见文末“阅读原文”。原文作者杨熹,载于作者的...

35290
来自专栏机器学习之旅

总结:常见算法工程师面试题目整理(一)

最近抽风,出去面试了不少公司,和不少算法工程师招聘的朋友有所交流,整理了相关比较有意思的题目,供大家参考:

14840
来自专栏目标检测和深度学习

CVPR2018 | CMU&谷歌Spotlight论文:超越卷积的视觉推理框架

选自arXiv 作者:陈鑫磊等 机器之心编译 参与:张倩、李泽南 人类在看到图像时可以进行合理的推理与预测,而目前的神经网络系统却还难以做到。近日,来自卡耐基梅...

30760
来自专栏杨熹的专栏

用 TensorFlow 让你的机器人唱首原创给你听

Siraj 的视频 源码 今天想来看看 AI 是怎样作曲的。 本文会用 TensorFlow 来写一个音乐生成器。 当你对一个机器人说:我想要一种能够表达出希...

35560
来自专栏PPV课数据科学社区

如何选择Microsoft Azure机器学习算法

编者按:机器学习的算法很多,如何选择一直是初学者的一个痛点。本文给出了机器学习算法选择的方法和实例,不仅适用于Microsoft Azure框架,同样可以应用于...

51260

使用重采样评估Python中机器学习算法的性能

你需要知道你的算法在看不见的数据上表现如何。

332110
来自专栏AI研习社

使用深度学习来理解道路场景

语义分割是深度学习的方法之一,通过语义分割,我们可以对图片中的每一个像素赋予含义,即将像素划分到一个预先设定的类中。从上边的 GIF 图可以看出,我们在语义切分...

13320
来自专栏机器之心

学界 | 为卷积模型执行加入循环和远程反馈,更完整地拟合生物视觉

大脑的感觉系统必须要在复杂的有噪声感觉数据中检测出有意义的模式 [James, 1890]。视觉环境可以揭示对象的积极或消极性质,包括食物种类、危险标志以及令人...

9220

扫码关注云+社区

领取腾讯云代金券