目录

摘要

一、介绍、

二、RELATED WORK

A. Visual Question Answering (VQA)

B. Few-shot Learning

C. Learning with attributes

三、METHODS

A. Bilinear Graph Network

B. Learning Compositional Representation

四、EXPERIMENTS

A、VQA v2.0 Datasets

B、Implementation Details

C、Evaluation Metrics

D、Ablation Study

E. Comparison with Other Models

F、Qualitative Analysis

五、结论


摘要

现有的视觉问答方法在数据量大的情况下表现良好,但在数据缺乏的情况下,对新的问题、对象、答案类别等准确度有限。然而,人类却可以快速适应这些新的类别,因为人们会组织以前见过的概念来描述新的类别,而深度学习方法几乎无法探索这些概念。在本文中,我们建议从有足够数据的答案中提取属性,然后将这些属性组合起来,以约束few-shot的学习。我们生成了few-shot VQA数据集,其中包含各种答案及其属性,无需人工操作。利用这个数据集,我们构建了属性网络,通过从图像的部分而不是整个图像中学习属性的特征来分离属性。VQA v2.0验证集证明了我们提出的属性网络的有效性,以及答案与相应属性之间的约束,以及我们的方法在很少训练数据的情况下预测答案的能力。

一、介绍、

与image caption相比,VQA需要复杂的推理过程来推断各种问题的正确答案。

VQA涉及来自输入图像的许多视觉任务,如图1所示,图像识别(“黑熊”,左上图)、对象检测(“儿童”,右上图)、场景识别和人类行为识别(“切割”,右下图)。

相比之下,VQA的答案是合成的,组合的,比如“切蛋糕”、“红黄相间”和“玩Wii游戏”,这些答案具有一些共同的属性。例如,在图2中,左上一行和右上一列中的所有答案都有相同的“骑行”动作,但对象不同,其中“骑摩托车”、“骑自行车”和“骑马”很容易被模型识别,因为有许多训练样本。尽管左下一行有很多“大象”的例子,但“骑大象”仍然很难正确分类,因为“骑大象”这样的样本很少。然而,当我们把这个新物体分成我们所知道的部分时,人类只需通过很少的示例来学习这个新的类别。如图2右栏所示,我们通过顶行图像中的大量示例以及底行中“大象”的含义了解了“骑行”的含义之后,我们可以通过组合这两个概念轻松识别“骑行大象”。

Learning Compositional Representations for Few-shot Recognition这篇论文学习了细粒度数据集中的属性,但它需要花费大量人力来标注每个图像的属性,并且没有明确地建模属性的表示。视觉问答作为一个元学习任务[17]是VQA中为数不多的few-shot研究之一,它从元学习的角度解决了这一问题,需要额外的记忆来存储支持集的权重,并且只针对答案仅在0到6之间变化的“数字”问题。在MAML[18]之后,Fast Parameter Adaptation[19]学习图像文本任务的适当初始权重,但其类别的数量多达20个,限制了其在现实中的使用。

在本文中,我们的目标是在few-shot设置下回答VQA的一般问题,这些问题更复杂,答案也多种多样。我们首先创建了学习网络主干的base set,以及用于few-shot答案的novel set。这两组都来自VQA v2的训练集,不需要额外的人力来标注答案的属性,然后我们重点学习属性的表示。视觉识别任务使用CNN的平均池化层,如ResNet[20]、GoogLeNet[21]和ResNext[22]进行分类,因为它描述了整个图像,但属性是来自图像的不同部分,例如,图2上部的“骑马”和下部的“大象”。因此,我们提出了属性网络,使图像的每个部分分别对属性进行评分。最后,我们对答案与其在base set中对应的属性之间的约束进行建模,然后将这些约束转移到novel set中学习few-shot答案的表示。

我们在VQA v2上进行了实验,在有1859个新答案的验证集上,我们的方法比直接在主干网络上分类获得了更高的准确率,在top-1和top-5的5-shot上分别接近2%和3%。此外,我们的模型在1-shot和5-shot上与[14]相当,在10-shot上更好,这表明了我们网络的有效性。

二、RELATED WORK

在本节中,我们将首先介绍VQA的相关研究,然后介绍少数镜头学习的方法。

A. Visual Question Answering (VQA)

VQA是基于输入图像回答给定问题的任务。问题通常用LSTM嵌入,图像由从预训练的模型中提取的固定大小网格特征表示,然后融合这两个特征,通过MLP进行答案预测。然而,并不是图像上的所有特征都与给定的问题相关,其中一些特征在融合之前应该被过滤掉,因此引入注意力机制来学习每个网格特征的权重,例如SAN[23]和DAN[24]。

由于问题和图像特征的分布不同,与线性方法相比,这两种特征的外积具有更好的解释性和性能。但由于其高维输出,很难进行优化。在Transformer模型[9]的推动下,DFAF的动态融合和MCAN涉及词和对象之间的所有关系,包括词和词、词和对象以及对象和对象。此外,Vilbert、VL bert、Structbert和LXMERT甚至直接微调了bert模型,而不考虑问题和图像特征的不同分布,并且该过程需要大量的域外数据,例如image caption数据集和基于文本的问答数据集。

B. Few-shot Learning

Few-shot learning旨在通过少量带标签的样本识别新的类别,这些few-shot算法中的第一类是元学习,它learns to learn。模型不可知元学习(MAML)[18]在各种任务上学习一个易于适应的模型,只需要几个梯度步骤就可以获得好的结果。优化模型[41]提出了一种基于LSTM的元学习器,用于更快地训练网络。元网络[42]和作为元学习任务的视觉问答[17]利用外部记忆来更新权重。另一类是metric learning,它学习对示例之间的相似度进行排序。Siamese neural networks[43]通过比较看不见的图像和标记的图像来对其进行分类。在计算查询特征和支持特征之间的距离时,匹配网络[44]用余弦相似度取代softmax,而原型网络[45]使用查询特征和支持特征平均值之间的欧氏距离。使用图神经网络的Few-shot learning[46]在标记和未标记的示例上构建图。除了这两类之外,数据增强方法,例如[47],[48]在基础数据中学习生成器,产生新数据。

C. Learning with attributes

学习组合属性是人类学习few-shot和zero-shot样本的自然方式。通过对这些组合属性的转换网络建模,从红酒到红番茄[50]可以对看不见的概念组合进行分类。表征学习中的组合性测量[51]建立了一个新的评估指标,以估算输入图像的属性之和(???)。基于密集属性的Attention[52]将图像中的区域特征分配给GloVe[53]中的语义向量。学习组合表示[14]将类别的特征空间分解为与其属性对应的子空间,这与我们的方法类似,但它忽略了编码特征的每个部分对属性的不同贡献。

三、METHODS

VQA任务的目标是基于图像回答问题。我们将图像转换为对象特征,其中是检测到的对象数量,是每个对象特征维度。问题由个单词组成,使用LSTM编码为。我们可以通过VQA模型,如MLB[25]、MFB[26]、BAN[27]和MCAN[5],得到的联合嵌入。然而,BGN[28]比它们有更好的解释性和性能,而且与需要微调的BERT模型(如Vilbert[29]、VL bert[30]和LXMERT[32])相比,它可以用更少的时间和更少的GPU资源轻松训练。因此,它被选为我们方法的backbone。

A. Bilinear Graph Network

上图为BGN模型结构图,图像用n个对象级特征表示,问题用m个单词嵌入表示,Image-Graph建模单词和对象的关系,输出表示单词和对象的联合嵌入,Question-Graph建模联合嵌入之间的关系,输出用以最终输出结果。

B. Learning Compositional Representation

根据训练集的答案集,我们将其分为两个集合,一个是训练样本数较多的base set ,另一个是训练样本数较少的novel one ,其中.

计算答案单词及对象的联合嵌入之间的分数的简单方法如下:

其中base set 的大小。此外,表示答案。此外,一对问题和图像可能存在多个正确答案,因此我们利用BCE作为损失函数:

其中是答案的分数,,参考VQA v2评估指标。

正如我们在第一节中提到的,答案由几个属性组成,表示为,其中, 是属性集,是答案中的属性数。

Attribute Network: 学习组合答案的关键是生成其属性的良好表示,我们也可以使用像公式6这样的图的统一向量来学习这些属性。但是正确答案中的属性可能来自给定图像的不同部分,应该分别处理,例如,在图4中,短语“what is”侧重于“horse”的对象(对象2),而“woman doing”则更关注“woman”的对象(对象16)。因此,我们建议使用属性网络来分别计算图的每个节点和属性之间的得分,而不是计算整个节点的得分(这里就是作者的方法部分,BGN模型就是直接计算所有节点的得分)

其中表示属性

由于多个属性构成了答案,因此我们还利用BCE作为其损失函数,计算如下:

其中是属性的标签。

此外,答案可以从其属性的表示中重建,因此我们最小化了它们之间的距离:

其中f是距离函数,例如余弦相似性和均方误差(MSE)。总的来说,我们在学习答案和属性向量的基础阶段,以及图3上半部分所示的框架的主干时,会有所有的损失:

其中λ是调整距离损失重要性的超参数。

Constrained by Attributes: 在新的数据集中,答案的表示很难学习,因为只有几个例子,这很容易导致过度拟合。然而,它们的属性是在我们的属性网络的基础阶段获得的,可以帮助学习这些答案的嵌入,如图3的下半部分所示:

其中是novel answer ,基于few-shot learning的设置,我们只从正确答案中抽取一个答案。请注意,我们只计算损失中的梯度来更新其权重,同时保持属性参数固定,以规范novel answers的学习。

四、EXPERIMENTS

在本节中,我们将在VQA v2上评估我们的方法。我们首先介绍了这个数据集,然后构建了few-shot数据集,然后描述了我们的实现细节和结果,最后进行了定性分析。

A、VQA v2.0 Datasets

该数据集基于MSCOCO图像构建,包含110万个问题,每个问题由10个人注释。

Constructing the few-shot dataset: VQA数据集的答案可以分为三种类型,即“yes\no”、“number”和“others”,我们重点关注“其他”的答案,因为它们比其他两类更复杂、更多样。我们首先收集base answer set,这些答案在训练数据集均中出现了40多次,结果是=2584。与[55]、[5]中使用的策略不同,我们收集了多个回答过的答案,而[55]、[5]中对每个问题只收集了一个正确答案。然后,我们使用spacy将这些答案分成tokens,这些token被视为它们的属性,并在删除一些无意义的单词('and'、'is'、'do'、'&'和'are')后组织到属性集中,从而得到=2108个属性。通过组合这些属性,我们得到了一个novel answer set,其中的答案不在中,并且出现了10次以上,共1859个答案,并且在验证数据集上也应用了类似的程序进行评估。表一显示了两个数据集的问题和答案数量。

B、Implementation Details

实验设置见原文。

BGN被选为我们的基准模型。在novel stage时,我们只需将base stage的FC层替换为novel stage的FC层,并学习它们在固定主干中的表示。由于在novel few-shot数据集上容易过度拟合,我们将1、5和10-shot learning的训练epoch分别缩短为40、20和14。

C、Evaluation Metrics

我们的目标是解决与其他类似模型[5]、[28]、[1]、[26]、[29]一样的一般VQA问题,因此我们使用[3]中的方法评估VQA v2验证数据集在1、5和10-shot设置下的top-1精度。此外,我们考虑了[14]之后的top-5表现。

D、Ablation Study

我们进行消融研究,以验证表2中属性网络的贡献。注意,当λ变为零时,我们的网络与BGN相同。对于top-1和top-5,性能随着λ的增加而增长,这表明了我们提出的网络的有效性。然而,当λ>0.2时,5-shot和10shot的性能会下降,可以解释的是,答案可以在一定程度上通过λ=0.1和λ=0.2的属性嵌入的总和来表示,但是像λ=0.5这样的更高值限制了它从few-shot数据集领域学习新信息的潜力。在最后一行中也发现了这种现象,它直接从属性初始化答案的嵌入,而不是初始化[21],在1-shot中,精确度提高了很多,但在其他两种设置中,精确度迅速下降。因此,我们选择λ=0.1作为参数,并将初始化作为初始化方法。

E. Comparison with Other Models

在表3中,我们将我们的方法与其他方法进行了比较:BGN从头开始训练新答案的权重;BGN+SUM直接利用联合嵌入z,利用答案与其属性之间的约束,学习新答案的权重;BGN+LCR与我们的类似,只是它使用距离函数f的余弦相似性,并且不涉及网络来建模属性和输入表示之间的损失(图[14]和图[VQA]的图和问题)。

表3的最后三行显示,与BGN相比,对类别及其相应属性之间的约束进行建模的额外模块可以提高few-shot学习的性能。此外,我们的BGN+AN模型在1-shot和5-shot激发学习中的性能与BGN+LCR[14]相当,并且比10-shot激发学习中的性能要好得多。因为LCR没有考虑关节嵌入和属性之间的关系,比如图3中的LA。在给定更多训练数据的情况下,我们的模型在基础阶段学习到了更好的属性表示,之后用于改进新阶段类别的训练。此外,在相同主干网的情况下,BGN+AN中提出的属性网络比BGN+sum中的sum方法工作得更好。因为这些属性来自给定图像的不同部分,如图2所示的下部的“大象”和上部的“骑行”。因此,问题图的每个输出节点O既有来自问题的文本信息,也有来自图像的相关视觉信息,因此可以用它来表示图像的关注部分中的属性,证明像其他一般识别任务[14]、[20]一样简单地汇总这些节点并不适合表示所有属性。

F、Qualitative Analysis

为了可视化我们的方法的效果,我们在图5中展示了BGN和我们的BGN+AN网络预测的答案。在最下面一行的第二张图片中,BGN无法正确回答问题。因为在base阶段,当它在正确答案中出现的图像中出现“pizza”时,它总是与问题中的“进食”相关,这是BGN模型学习到的一种强烈偏见,如表IV所示。相比之下,我们的模型从除“pizza”之外的其他示例中学习“切割”动作,如“蛋糕”、“苹果”和“纸”。在novel阶段,使用给定图像中检测到的“切割”和“披萨”属性来改进答案“切割披萨”的表示。类似的问题也出现在第一排的第三张图片(人们坐在长凳上)和第一张图片(猫坐在沙发上)中。此外,一个对象总是用多种颜色来描绘,例如顶行的第四个图像和底行的第三个图像。除了在novel阶段从零开始学习新组合颜色的矢量外,我们在base阶段利用训练有素的单一颜色表示来增强它,而无需额外的人工注释。这也适用于查找图像中的对象,例如顶行第二个图像中的花瓶和花,以及底行第四个图像中的勺子和叉子。

五、结论

在这项工作中,我们将few-shot设置应用于一般的VQA问题,然后我们提出了一个两阶段网络来克服它。我们提出VQA中的few-shot数据集,它有两个子集,即base set和novel set,我们不需要人工就能生成答案的属性。在给定大量的base数据集训练数据的情况下,我们利用BGN对问题中的单词和图像中的对象之间的关系进行建模,并在base阶段生成它们的联合嵌入。此外,我们还利用所设计的属性网络以及属性与其源答案之间的约束,得到了属性的表示。在经过良好训练的属性向量的帮助下,我们改进了在novel阶段只有几个样本的合成答案的表示。将我们的方法应用于VQA v2的验证集。我们的方法在top-1和top-5精度方面比基线方法和其他类似网络具有更好的性能。然而,与base set(BGN为61.18%)相比,结果(top-1名准确度中10-shot的15.46%)远不能令人满意,这一问题还需要进一步研究。

<<视觉问答>>2021:Learning Compositional Representation for Few-shot Visual Question Answering相关推荐

  1. 【论文】VQA:Learning Conditioned Graph Structures for Interpretable Visual Question Answering

    [论文]VQA:学习可解释的可视问题解答的条件图结构 目录 [论文]VQA:学习可解释的可视问题解答的条件图结构 摘 要 一.模型结构图 二.Computing model inputs 三.Grap ...

  2. <<视觉问答>>2021:Zero-shot Visual Question Answering usingKnowledge Graph

    目录 摘要: 一.介绍 二.相关工作 2.1.Visual Question Answering 2.2.Zero-shot VQA 三.Preliminaries 四.Methodology 4.1 ...

  3. 视觉问答(Visual Question Answering)论文初步整理

    刚找的综述性文章:这两篇我没怎么看不知道怎么样 Visual Question Answering: Datasets,Algorithms, and Future Challenges Visual ...

  4. 【自然语言处理】--视觉问答(Visual Question Answering,VQA)从初始到应用

    一.前述 视觉问答(Visual Question Answering,VQA),是一种涉及计算机视觉和自然语言处理的学习任务.这一任务的定义如下: A VQA system takes as inp ...

  5. 【NIPS2018】Reasoning with Graph Convolution Nets for Factual Visual Question Answering【事实视觉问答推理】

    "Out of the box:Reasoning with Graph Convolution Nets for Factual Visual Question Answering&quo ...

  6. R-VQA: Learning Visual Relation Facts with Semantic Attention for Visual Question Answering

    博主水平有限,大部分为机翻 摘要: 最近,视觉问答(VQA)已经成为多模式学习中最重要的任务之一,因为它需要理解视觉和文本模式.现有方法主要依靠提取图像和问题特征来通过多模态融合或注意机制来学习它们的 ...

  7. 《Generating Question Relevant Captions to Aid Visual Question Answering》(生成问题相关标题,以帮助视觉回答问题)论文解读

    下面是我对最近阅读的论文<Generating Question Relevant Captions to Aid Visual Question Answering>的一些简要理解 一. ...

  8. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task  ECCV 2018 2018-09-13 19:58:08 Paper: http://opena ...

  9. 2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答

    摘要 虽然复杂的视觉问答模型取得了显著的成功,但它们往往只根据问题和答案的表面关系回答问题.最近已经开发了几种方法来解决语言先验问题,但大多数根据一个最好的输出来预测正确答案,不考虑答案的真实性,此外 ...

最新文章

  1. 让程序主窗口不显示在任务栏中
  2. 计算机教室开放使用计划,计算机教室实施计划方案.pdf
  3. mysql远程连接设置_MySQL远程连接设置
  4. elasticsearch hbase
  5. 手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法
  6. 十三、CSS 3新特性详解(一)——属性、结构伪类、伪元素选择器,nth-child与nth-of-type区别,2D rotate,calc函数、滤镜filter、过渡transition
  7. 菜鸟linux的sed,Linux sed命令菜鸟入门
  8. hj212协议如何和php通讯,5G/4G边缘计算网关如何实现HJ212协议上报
  9. 东北大学计算机学院拟录取分数线,东北大学全国各省各专业录取分数线汇总!(含艺术类)...
  10. 小米商场html幻灯片代码,小米商城商品详情页布局(HTML代码太长贴不上去,只能贴jQuery代码)...
  11. TwinCAT 软件安装级别的简要介绍,倍福FTP
  12. Mybatis批量新增
  13. Unity3D纯白(Pure White)烘焙【2020】
  14. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!...
  15. 硬盘连接计算机后怎么使用,台式机硬盘如何接笔记本【方法步骤】
  16. idea easyYapi插件导入yapi接口使用及踩坑记录
  17. 读书 | 互联网思维到底是什么
  18. Linux下随机生成密码的命令总结
  19. Python学习——作图plt.cm.Set()用法
  20. 阿德莱德大学语言班成绩为C,阿德莱德大学语言要求(包括雅思、托福、GRE、GMAT)...

热门文章

  1. “我月薪3千,给猫看病花了一万二”
  2. 几种常见的数据同步方式
  3. 如何在电脑上完全卸载流氓软件 例如:补丁压缩
  4. uin-app 使用canvas画简易海报
  5. OSChina 周二乱弹 —— 只要心中有Bug,哪里都是工作室
  6. er图转关系模式规则_ER图转换成关系模式集的规则[图]
  7. C语言【递归与迭代】-- 附案例
  8. python dict items iteritems_python字典中的items和iteritems
  9. Squid代理服务器(传统/透明/反向代理、ACL访问控制、sarg日志分析)
  10. php请求api接口获取公众号基本信息,使用appid,appsecret获取微信公众号基本信息