发表于2020年的一篇文章

LRTA神经符号推理框架

视觉问答目前的主要方法依赖于“黑盒”神经编码器()对图像问题进行编码,难以为预测过程提供直观的、人类可读的证明形式,

本文提出了LRTA: Look Read Think Answer,  模型像人类一样一步一步地解决问题,并在每一步提供人类可读的证明形式。

过程:

1 学习首先将一幅图像转换成场景图

2 将一个问题解析成多条推理指令

3 使用循环的神经符号执行模块遍历场景图,一次执行一个推理指令。

4 最后生成带有自然语言理由的给定问题的完整答案

作者认为:不同于现有模型倾向于从训练数据中学习表面相关性,基于LRTA的框架,朝着真正理解问题迈出了一步。

Introduction

现有的VQA主要方法依赖于黑盒Transformer对图像和问题进行编码,这些工作在内部执行复杂的计算,但只产生单个标记作为预测输出( 比如 “是”或者“否”),因此他们努力想要提供与他们的预测一致的直观的、人类可读的证明形式。

最近研究证明了这些模型一些缺陷行为

1 倾向于忽略重要的问题术语

使用归因方法发现该系统只依赖于像 how 和bricks这样的几个词,因此事实上可以构建一个 让系统出错的对抗问题,比如“how spherical are the white bricks on either side of the building?”,系统会返回相同的答案“verys”,

文章中提出的工作的前提是,很多人擅长回答问题,即便不能检查数据集是否代表真实世界,也可以识别重要的问题词,并预期它们在问题回答中的作用。

两个步骤:

  1. 应用集成梯度IG将系统的预测归因于问题中的单词,提出了属性的可视化
  2. 找出归因暴露出的网络逻辑中的弱点,(例如依赖于不重要的词),并利用它们来制造对抗性问题。

文中工作的一个重要贡献是对问答网络进行了过稳定性测试, liang的文章表明,阅读理解网络对修改语义的文章过于稳定,本文发现这种过于稳定也使用于问题。

文中使用属性来定义用于测量过度稳定程度的通用测试,涉及到测量网络的准确度如何随着系统地从问题中删除单词而发生变化的。

2 看错误的图像区域

本文对VQA中的“人类注意力”进行了大规模研究,以了解人类选择在哪里回答有关图像的问题。

文章从定性(通过可视化)和定量(通过等级顺序相关)两个方面对最先进的VQA模型生成的注意力图与人类注意力进行了评估,实验表明,目前VQA中的注意力模型似乎并不像人类那样关注相同的区域

集中注意力是有帮助的。人类有能力通过有选择地关注图像的部分而不是处理整个场景来快速感知场景。这种智能选择查看位置的能力是特定于任务的,有助于降低问题的复杂性,因为注视可以集中在感兴趣的区域,忽略背景的杂乱。受人类注意力的启发,计算机视觉和深度学习的一个最新趋势是建立注意力的计算模型。

视觉问题有选择性地针对图像的不同区域,包括背景细节和底层上下文,这表明VQA模型可以从显性或隐性的注意机制中受益,从而正确地回答问题。本文设计并进行研究以收集 “人类注意力地图”,即显示人类为了回答有关图像的问题而选择看哪里的热图。这些图可以用于评估机器生成的注意图,也可以用于明确地训练基于注意的模型。

本文工作关注两个问题:

  1. 为了回答有关图像的问题,人类会选择看哪个图像区域
  2. 具有注意力机制的深度VQA模型是否像人类一样关注同样的区域

贡献

  1. 基于游戏启发设计的新界面,用于收集人类选择寻找关注于哪个部分来回答来自大规模VQA数据集中的问题,整理了VQA-HAT(人类注意力)数据集
  2. 将基于注意力的最新VQA模型和独立于任务的显著性基线生成的注意图与人类注意图进行了定性和定量的比较
  3. 训练了一个基于注意力的VQA模型,使用人类的注意力图作为基本事实,对注意力进行显式监督。

本文发现,来自最准确的VQA模型的机器生成的注意力图与人类注意力图的平均等级相关为0.26,这比与任务无关的显著图的平均等级相关为0.49要差。

众所周知,与任务无关的显著图有一个 "中心偏向"。在我们控制了这种中心偏向后,我们发现与任务无关的显著的相关性很差(如预期),而机器生成的VQA-注意力地图的趋势保持不变,这证实了我们的关键发现,即目前的VQA注意力模型似乎没有在寻找与人类一样的区域。

模型在数据集中收集统计数据的一个有趣的例子是“什么覆盖了窗口?”(第5行)。该模型预测了正确答案“blinds”,但将其注意力集中在床上,因为它已经记住了床和盲注一起出现在训练集中,因此其注意力与人类注意力呈负相关。

3 不合理的坚持表面关联的甚至误导的统计关联

最近许多基于深度学习的模型被提出用于视觉问题回答VQA任务。

本文提出系统的方法来分析这些模型的行为,作为认识他们的优点和缺点的第一步,并确定最有成效的发展方向。

本文分析了两个模型,分别来自两大类VQA,有注意和无注意,并展示了这些模型在行为上的相似性和差异性。本文对模型的行为分析表明,尽管却这些模型取得了不错的效果,但是这些模型目前还是“近视、缺乏远见”、急于下结论(听了一半的问题后,就看到了一个预测的答案),而且是“顽固的”(在不同的图像间不改变其答案)

分析表明基于注意力的模型比不基于注意力的模型不那么"stubborn",

ATT模式在“是、否”问题上更固执,而在数字问题上与CNN+LSTM相比,则不那么固执。

为了解决以上问题的不足,本文将VQA重新定义为一个完整的答案生成任务,而不是一个分类任务(一个单一的token),

。重新制定的VQA任务要求模型生成具有自然语言合理性的完整答案。我们发现,最先进的模型由于错误的原因正确回答了很大一部分问题。为了学习正确的问题解决过程,我们提出了LRTA(Look Read Think Answer),这是一个透明的神经-符号推理框架,它模仿人类一步一步地解决问题。

人类会首先(1)看图像,(2)阅读问题,(3)用多跳视觉推理进行思考,最后(4)回答问题。

根据这一直觉,LRTA部署了四个神经模块,每个模块模仿人类将采取的一个问题解决步骤:

  1. 场景图生成模块首先将图像转换为场景图;
  2. 语义解析模块将每个问题解析为多个推理指令;
  3. 神经执行模块通过递归遍历场景图一次一个地解释推理指令;
  4. 自然语言生成模块生成包含自然语言解释的完整答案。

这四个模块是通过隐藏的状态而不是明确的输出连接的。因此,整个框架可以进行端到端的训练,从像素到答案。此外,由于LRTA在测试过程中也会从各个模块产生人类可读的输出,我们可以通过检查模块的输出来轻松定位错误。我们在GQA数据集上的实验表明,LRTA在完整的答案生成任务上比最先进的模型有很大优势(43.1%对28.0%)。我们通过去除问题中的相关语言线索进行的扰动分析证实,LRTA在真正理解问题方面迈出了一步,而不是通过表面的数据关联进行智能猜测。我们在附录A中讨论了相关工作。总而言之,本文的主要贡献有三个方面:

  1. -我们将VQA表述为一个完整的答案生成问题(而不是简短的答案分类),以提高可解释性,并阻止对问题答案的肤浅猜测。
  2. - 我们提出了LRTA,一个端到端的可训练的、模块化的VQA框架,与当代的黑箱方法相比,它有利于解释能力和加强错误分析。
  3. - 我们创建了一个扰动的GQA测试集,提供了一个有效的方法来达到模型推理能力的峰值,并在扰动的数据集上验证了我们的方法。我们将发布

LRTA: Look, Read, Think and Answer

Look: 场景图生成

给定图像i, 将图像中的对象(例如:女孩、汉堡)表示为节点,将对象成对的关系表示为边

  1. 目标检测: 使用DETR模型作为目标检测主干(因为其不需要像non-maximum suppression的手工设计组件的需要),其将来自ResNet50的图像特征馈送到非自回归Transformer模型中,产生N个对象向量的无序集合[o1, o2,...,0N],然后,对于每个对象向量,DETR使用对象向量解码器(前馈网络)以多任务方式预测相应的对象类别(例如, 女孩)和边界框。DETR创建了一个特殊的类标签 “no object”无对象,以表示对象向量不代表图像中的任何对象。
  2. 用一个额外的对象属性预测器来扩充对象向量解码器,对于每个属性元概念(例如颜色)我们创建分类器来预测可能的属性值(例如 红色、粉色)
  3. 为了预测关系,考虑所有N(N-1)个可能的对象向量[ e1, e2, ..., ], 关系编码器通过前馈和归一化层将每个对象向量对转换为边向量,然后将每个边缘向量馈送给关系解码器,以对其关系标签进行分类。

对象属性和对象间关系都以多任务的方式进行监督,对于没有任何关系的对象或者向量对,使用“无关系”关系标签。构造N个对象和N(N-1)个边向量而不是符号输出表示的场景图,将其传递给下游模块。

Read:Semantic Parsing

阅读:语义解析语义解析器作为一个“编译器”来翻译问题标记(q1,q2,.。。,qQ)转换成一个神经可执行程序,它由多个指令向量组成。我们采用了分层序列生成设计:转换器模型[34]首先将问题解析成一个指令向量序列[i1,i2,.。。,iM]。ith指令向量将与神经执行引擎中的ith执行步骤完全对应。为了使人类能够理解指令向量的语义,我们进一步使用基于转换器的指令向量解码器将每个指令向量翻译成人类可读的文本。我们将M个指令向量而不是人类可读的文本传递给神经执行模块。

Think: Visual Reasoning with Neural Execution Engine

Think:带神经执行引擎的视觉推理

神经执行引擎以循环的方式工作:在第mth个时间步,神经执行引擎取第mth个指令向量(im)并输出场景图遍历结果。类似于递归神经网络,总结当前时间步中所有节点的图遍历状态的历史向量将被传递到下一个时间步。神经执行引擎使用图神经网络运行。图神经网络使用邻域聚合方案将卷积算子推广到图[5,37]。关键的直觉是,每个节点聚合其直接邻居的特征向量,以计算其新的特征向量作为后续神经层的输入。具体来说,在给定节点作为中心节点的第mth时间步,我们首先通过前馈网络获得每个邻居(fm k)的特征向量

其输入如下:

场景图中邻居(O[k])的对象向量、场景图中邻居节点和中心节点(ek,central)之间的边缘向量、第(m-1)个历史向量(hm-1)和第mth个指令向量(im)

然后我们平均每个邻居的特征向量作为中心节点(cm中心)的上下文向量

接下来,我们对中心节点执行节点分类,其中“1”表示对应的节点应该在第m个时间步长遍历,否则为“0”。节点分类器的输入是:场景图中中心节点的对象向量、中心节点的上下文向量和mth指令向量。

其中SM中心是在第M个时间步长的中心节点的分类置信度得分。所有节点的节点解密结果构成一个位图作为场景图遍历结果。我们计算所有对象向量的加权平均值作为历史向量(Hm),其中权重是每个节点的分类置信度得分

Answer: Full Answer Generation

VQA通常被表述为一个分类问题,其中模型学习仅用一个标记(例如,“是”或“否”)来回答。我们主张将VQA问题表述为一个自然语言生成问题,在这个问题中,模型学会用一个完整的句子来回答问题,并给出理由。为此,LRTA部署了一个转换器模型,该模型从所有时间步长中提取神经执行的历史向量,并生成完整的答案标记(a1,a2,.。。,aA)。

End-to-End Training: From Pixels to Answers

我们通过隐藏状态而不是符号输出来连接四个模块。因此,可以以端到端的方式训练整个框架,从像素到答案。培训损失只是所有四个模块损失的总和。每个神经模块不仅受到模块自身损耗的监控,还受到下游模块反向传播的梯度信号的监控。我们从对象检测主干的预先训练的DETR权重开始,所有其他神经模块被随机初始化。

接下来,我们对模型进行端到端的训练,从像素到答案。如表1所示,LRTA在完整答案生成方面明显优于LXMERT(43% vs . s . 28%),并在简短答案上实现了相当的准确性(54.48% vs . s . 56.2%)。接下来,我们进行了扰动研究,表明LXMERT的性能更多地来自于表面的数据相关性,而LRTA朝着真正理解这个问题迈出了一步。

我们使用由[8]获得的属性的综合列表,并使用预先定义的掩码标记对它们进行掩码。为了有效地屏蔽关系,我们使用Spacy POS-Tagger [13]并屏蔽问题中的动词(VB)和介词(PRPN)。结果见表3。我们评估LXMERT和LRTA在testdev上的简短回答准确性的一致性(公共有效集的分析结果在附录中报告)。从结果中我们可以推断,在两种掩蔽方案中,LRTA结果比LXMERT下降得更明显。对于关系,我们看到LRTA的表现下降了26.20%,而LXMERT下降了19.43%,而对于属性,利润率更显著,分别为21.03%和9.41%,从而为我们的假设提供了强有力的趋同证据,即LRTA在试图系统地理解问题及其组成部分而不是使用外围相关性时真正向前迈出了一大步。

Conclusion

我们介绍了LRTA,一个用于视觉问题回答的透明神经-符号推理框架,它通过看、读、想、答的步骤来解决问题,并在每一步之后提供人类可读的证明形式。我们的实验表明,LRTA在完整答案生成方面取得了很高的准确性,我们的扰动研究表明,LRTA朝着真正理解问题迈出了一步,而不是用表面的数据相关性进行聪明的猜测

Appendix

可解释的VQA

现有的黑盒可视化问题回答模型试图使用黑盒体系结构直接将输入映射到输出,而不需要显式地对底层推理过程建模。为了减轻这些模型的黑盒性质,已经开发了几种模型解释技术来提高模型的透明度和可解释性。最流行的方法之一是注意力图可视化,它突出了回答问题的重要图像区域。然而,最近的研究表明,可视化的注意区域与人类的相关性很差[9,10]。另一个研究方向是提出自然语言证明[26,25]以及简短的答案。与GQA数据集[18]类似,FSVQA数据集[30]为VQA提供了完整答案注释,但完整答案生成任务仍未探索。据我们所知,LRTA是GQA [18]的第一个完整答案生成框架,可能也是视觉问题回答任务的框架。然而,这种方法仍然没有揭示模型的逐步解决问题的过程。这种方法向更易于解释的VQA模型迈出了一步,但仍然没有揭示模型的内部问题解决过程。

神经模块网络

视觉问题回答的另一个活跃的研究方向是探索神经模块网络(NMN) [4,3,15,20,14,29,35],它基于给定的问题动态地构建模型的神经架构。他们没有用静态神经体系结构训练模型,而是手工定义了一组小型神经网络(即神经模块),每个网络都专用于一种特定的逻辑操作。给定一个问题,NMN首先使用语义解析器将问题解析成一系列逻辑操作(类似于我们的推理指令)。然后,给定一系列逻辑运算,NMN动态地布局小神经网络。比如回答“金属立方体是什么颜色?”,NMN动态地组成了四个模块:(1)发现金属制成的东西的模块,(2)定位立方体的模块,(3)确定物体颜色的模块。然而,NMN模型就其本质而言使其优化具有挑战性。因此,它的成功大多局限于合成的CLEVR数据集[20],如何将NMN扩展到真实世界的数据集仍然是一个开放的研究问题[8]。与NMNs不同,我们的框架在概念上很简单,可以很容易地以端到端的方式进行训练,从像素到答案。

我们的工作还涉及到基于场景图的VQA中的零星尝试。Hudson等人的研究成果。[19]提出了模拟步骤1的神经状态机:概率变换N个对象场景图上自动机的视景图生成计算。[16,24]对CNN编码器向量交互进行建模...。
对象之间使用图形注意机制。与他们的工作不同,我们的工作是解码每个对象向量:类、边界框、端到端可训练的属性、从像素到答案,并透明地提供每个步骤的执行结果对象向量女孩:小

场景图生成(SGG)[36]是旨在从图像中预测对象及其关系的视觉检测任务。近年来,它极大地促进了视觉和语言的交互,引起了人们越来越多的关注。通过从像素中提取概念和上下文关系,场景图提供了原始图像的直观的高级背景保持摘要,并促进了流推理任务,例如图像字幕[11,39,40]、VQA[33,18,19,42]或图像图检索[21]。以前的作品[36,19,41,38,7]。
主要依赖于更快的基于R-CNN的检测器,其通常生成潜在的大的包围盒提议集合,其上下文表示然后通过随后的序列到序列网络(例如,LSTM[41]或Transformers[23])馈送以预测对象标签及其关系。这些探测器的一个主要缺点是,它们通常需要许多手工设计的部件,如非最大抑制程序或锚生成

在这方面,我们采用了DETR [6],一种最近提出的方法,简化了检测过程,使我们的整个管道端到端可训练。尽管研究兴趣不断增长,但SGG仍然是一项具有挑战性的任务,这主要是由于训练偏见,例如<人类,躺在沙滩上>比<人类,躺在沙滩上>出现得更频繁。因此,仅基于频率预测的虚拟模型与[32,22]中报道的最先进的模型相差不远,这令人尴尬。最近有人提出了一种不偏不倚的SGG方法[32],为数据偏差问题提供了一些有希望的启示。由于LRTA的模块化设计,我们可以轻松地将这种不偏不倚的SGG纳入我们的管道

(VQA)LRTA: A Transparent Neural-Symbolic Reasoning Framework with Modular Supervision for Visual Que相关推荐

  1. 2020:可视化的视觉问答LRTA: A Transparent Neural-Symbolic Reasoning Framework with Modular Supervision

    摘要 为解决视觉问答中很难为预测过程提供直观.人类可读的形式的问题,我们将视觉问答重新表述为一个完整的答案生成任务,需要模型用自然语言证明其预测是合理的.本文提出了LRTA[Look, Read, T ...

  2. (SRNTT)Image Super-Resolution by Neural Texture Transfer

    总结一波: 与TTSR有很多相似之处,SRNTT可以看成是TTSR的前身,其中除了网络设计不同外,损失函数SRNTT比TTSR多了一个纹理损失(与以往的工作不同,我们添加了纹理损失来考虑文纹理上的一致 ...

  3. 论文解读(一)V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation

    发表:Computer Vision and Pattern Recognition 数据集: MRI volumes depicting prostate前列腺核磁共振成像 目标函数:基于Dice系 ...

  4. 机器学习实战(十一):Training Deep Neural Nets

    深层DNN可能出现的问题: 梯度消失.梯度爆炸问题,影响深度神经网络,导致底层训练困难 网络庞大,训练缓慢 容易overfitting 本章将会探讨梯度消失的流行解决方案,训练大模型明显提速的优化器( ...

  5. (推荐系统)Youtube:Deep Neural Networks for YouTube Recommendations

    摘要 该文首先从youtube推荐任务所面临的实际难题入手,提出了一种切合视频推荐需求的二阶网络推荐算法,具有很强的工程性意义. 1. 简介 YouTube的视频推荐任务目前面临以下三个问题: 规模( ...

  6. 论文阅读笔记(4)——《Language Generation with Multi-Hop Reasoning on Commonsense Knowledge Graph》

    基于常识知识图的多跳推理语言生成 1 Abstract & Introduction 2 Related Work 2.1 Commonsense-Aware Neural Text Gene ...

  7. 论文笔记(3):STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation

    论文题目是STC,即Simple to Complex的一个框架,使用弱标签(image label)来解决密集估计(语义分割)问题. 2014年末以来,半监督的语义分割层出不穷,究其原因还是因为pi ...

  8. 论文笔记(七):ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robot

    ROS Reality: A Virtual Reality Framework Using Consumer-Grade Hardware for ROS-Enabled Robots 文章概括 摘 ...

  9. 论文笔记30 -- (视频压缩)【CVPR2021】FVC: A New Framework towards Deep Video Compression in Feature Space

    <FVC: A New Framework towards Deep Video Compression in Feature Space> CVPR 2021 的一篇Oral 提出了特征 ...

最新文章

  1. 关于Titandb Ratelimiter 失效问题的一个bugfix
  2. [引]ASP.NET 中 事务处理(SqlTransaction)示例
  3. FPGA跨时钟域处理的三大方法
  4. Redis持久化和备份数据
  5. java 动态添加定时器_Spring整合Quartz实现动态定时器的示例代码
  6. lwip协议栈在linux运行,2.通过LWIP协议栈使用学习http,tcp,网卡之间的关系.
  7. 不仅性能秒杀Hadoop,现在连分布式集群功能也开源了
  8. java 某年某月中第几周 开始时间和结束时间_重磅!库里又要签下一超级大合同!4年2亿啊!退役时间也定了...
  9. MySQL sql trace的使用
  10. extract-text-webpack-plugin
  11. stm32读取驾驶模拟器数据 stm32F407读取joystick数据
  12. 计划了近半年的跳槽,最终是面试四家,过3家……
  13. linux无损分区调整,linux如何无损调整分区大小
  14. matlab中如何调用子函数
  15. View事件分发机制分析
  16. halcon算法库中各坐标系,位姿的解释及原理
  17. 嵌入式系统开发常用词汇
  18. IDEA项目中与Git仓库出现的常见问题_小结
  19. 五子连珠游戏使用手册
  20. 企微服务商平台收费接口对接教程

热门文章

  1. 一文带你轻松了解什么是 LSL, LSR, ASL, ASR, ROL, ROR?
  2. 如何在ant 的表单Form.Item下获取自定义表单元素的值
  3. blender使用stereoscopy渲染输出VR图片和视频
  4. 你真的会用苹果备忘录吗?iPhone用户必须学会的10个备忘录使用技巧
  5. 禅道 mysql 错误
  6. 一个曾讨厌英语的人是如何爱上英语学好英语的
  7. 短信验证码和语音验证码的对比
  8. 赵伟国回应华为“平衡者”标签:做个老二、老三也可以
  9. 清理注册表 php,如何彻底清理注册表?小编教你清理注册表操作方法
  10. 小米应用闪退解决方法