当前位置:网站首页>2020:MUTANT: A Training Paradigm for Out-of-Distribution Generalizationin Visual Question Answering
2020:MUTANT: A Training Paradigm for Out-of-Distribution Generalizationin Visual Question Answering
2022-06-27 03:05:00 【weixin_42653320】
摘要
对域外测试样本的评估已经成为泛化的一个重要指标,本文,我们提出MUTANT,一种训练范式,将模型暴露于感知上相似但语义不同的输入中,以改进泛化,如VQA-CP挑战。在这个范式下,模型利用一致性约束的训练目标来理解输入的语义变化对输出的影响。与现有VQA-CP方法不同,MUTANT并不依赖关于训练的性质和测试答案分布的知识。MUTANT在VQA-CP上实现了10.57%的提高,我们的工作为使用语义输入突变为OOD泛化开辟了途径。
一、介绍
每个数据集都包含偏见,归纳偏差是机器学习算法工作的必要条件。然而偏差有一个对于泛化有用(正偏见)的组件,和由于假相关性(负偏见)的一个组件。我们使用"positive bias"表示执行一项任务必要的相关性--如对于“What sports is”问题的答案与一个运动名相关。将"negative bias"用在可能从数据中学到的假相关性--如对于“What sports is”问题的答案是"tennis"。OOD泛化的目标是在学习执行任务的同时减轻负偏见。LMH通过惩罚不看图像而回答的例子移除所有的偏见。
我们提出一种注重增加正偏见和减轻负偏见的方法,以解决OOD的泛化问题。我们的方法使输入突变,以将VQA模型暴露在感知上相似但语义不同的样本中。直觉是隐式的允许模型理解输入中导致答案变化的关键变化。如图1所示,图像和问题上的突变都导致了答案的变化,这两种突变都没有很大改变输入,回答问题所需的推理类型也没有改变。

我们提出了一种问题类型的暴露框架,教模型,尽管这些语言先验可能存在于训练数据中,其它运动也可以回答这些问题,从而减轻负面偏见。这与专注于使用数据增强减轻语言偏见的方法(CSS)相反。我们的方法使用成对训练协议,以确保原始样本和突变样本的答案预测的一致性。我们的模型包括一个投影层,投影了跨模态特征和学习流形的真实答案,并使用噪声对比估计损失来最小化两个向量间的距离。
我们的贡献如下:(1)引入训练VQA模型的突变体范式和利用输入图像或问题的语义转换的样本生成机制,以实现OOD泛化。(2)除了传统的分类任务外,我们还制定了一个新的训练目标,使用跨模态特征的投影和答案嵌入在共享投影流形上的投影,以预测正确的答案。(3)我们的成对一致性损失作为一种正则化,试图使地面真实答案向量之间的距离更接近一对原始和突变输入的预测答案向量之间的距离。(4)大量的实验和分析表明了我们的方法在VQACP数据集上的优势,并建立了69.52%的新水平,提高了10.57%.
二、MUTANT
我们将开放域VQA问题作为一个多分类问题。
2.1 突变的概念
有三种转换创建突变输入,添加、删除、或替换。对于图像突变,对应于对象的添加或删除,改变对象的属性,如颜色、纹理、和照明条件。问题突变可以通过添加一个负面词(no,not等),掩盖关键词,用反义词代替目标词。因此,对于VQA数据集中的每个样本,我们可以获得一个突变样本并用于训练。
2.2 突变体的训练
我们的突变样本训练方法依赖于对传统VQA分类任务补充的三个关键概念。
(1)答案投影:传统VQA模型学习策略使用softmax交叉熵对标准分类任务进行优化:

QA作为一个分类任务是受欢迎的,因为答案词汇表遵循数据集中的长尾分布。但是在做决策时,它并没有考虑答案的含义,而是学习了答案类的单热向量和输入特征间的相关性。因此为了回答"What is the color of the banana",模型学习了问题特征和yellow的答案类间的强烈相关性,而没有编码香蕉的黄色或绿色的概念。这一关键缺点对这些模型在测试时对生绿色或过成熟黑香蕉的通用性产生了负面影响。
为减轻这种情况,除分类任务外,我们提出一种在答案嵌入空间中操作的训练目标。关键思想是将输入和输出映射到一个共享的流形上,以便在该流形上建立一个相似性度量。我们训练一个投影层,学习投影流形的特征和答案,图2所示。然后使用噪声对比估计作为损失函数来最小化交叉模态特征z的投影和ground-truth答案a的glove向量v的投影间的距离:

其中zfeat=fproj(z)和za=fproj(glove(a)),这种相似性度量不是在真实答案和预测间,而是在输入特征的投影和答案的投影间,以在回答任务中包含上下文。

(2)类型暴露:目的是移除负偏见,我们教模型来识别问题类型,并学习哪些答案对特定问题类型有效,而不管它们在数据集中的出现频率如何。如How many的答案可以是所有的数字,我们称之为类型暴露,因为它指示模型,尽管问题和答案间可能存在强的相关性,但也有其它的答案对特定类型的问题有效。我们的类型暴露使用一个前馈网络预测答案类型,并在此类型对应的候选答案上创建一个二进制掩码。
(3)两组一致性:突变体的最终组成部分是成对的一致性。我们对原始和突变样本对共同训练模型,使用一个损失函数确保两个预测答案向量之间的距离接近两个地面真实答案向量间的距离。成对的一致性损失如下:

这种成对的一致性被设计为一种正则化一致性,它包含了答案空间中由于突变而导致的语义转移的概念。例如,考虑图3中的图像突变,它将地面真实答案从“2”更改为“1”。答案空间的变化应该由预测器反映。

三、为VQA生成输入突变
突变是指作用于图像或问题中的语义实体的转换,可以可靠的产生新的答案。我们的突变过程是自动的,且不使用为创建新样本关于测试集的知识。
3.1 图像突变
首先识别导致答案更改的关键对象,然后删除这些对象的实例或修改它们的颜色。
(1)移除对象实例:如果问题中提到了一个对象(同义词),则认为对问题是重要的,否则是非关键的。对于每个图像,我们得到多个掩码图像,并删除实例边框内的像素。这些掩码图像被送入到基于GAN的内画网络,使得突变图像逼真,也防止模型从掩码形状获得线索。
(2)颜色转换:我们使用询问图像中对象颜色的样本,通过RGB空间中的像素级颜色反转来改变关键对象的颜色,真正的答案将被关键对象的新颜色所取代。要获得具有新颜色的对象,我们不使用关于世界上对象颜色的知识。在某些情况下,物体的新颜色可能与现实世界的场景不对应,因此迫使模型实际识别颜色,而不是语言先验的答案。
3.2 问题突变
使用三种问题突变,如表1.首先识别关键对象,然后应用基于模板的问题操作符。第一个操作符是对yes-no问题的否定,通过一个基于模板的过程来实现的,在动词、借此或名词短语前添加一个no或not。第二种是使用翻译词或敌对的对象词来代替关键词。第三种掩盖问题中的单词,从而引入问题中的歧义。不能确定的识别新答案的问题通过一个广泛的类标签注释(color,location,fruit而不是red,library,apple)。然而我们希望模型能够在部分封闭的输入下识别这个广泛的答案类别。对于具有非关键对象或单词的突变,答案保持不变。

3.3 突变统计
使用VQA-CP-v2的训练集生成突变样本。对于每个原始样本,我们平均生成1.5个突变样本,从而总共获得679k个样本。表2显示了我们生成的突变相对于突变类型的分布情况。添加突变体样本并不会改变每个问题类型的样本的分布。

四、实验
4.1 设置
(1)数据集:在VQA-CP-v2和VQA-v2验证集上训练和评估我们的模型。
4.2 基线模型
将我们的方法与GVQA、RUBI、SCR、LMH、CSS作为基线进行比较,因为这些方法大多以UpDn作为骨干。我们研究了UpDn在突变体范式下的表现,LXMERT作为一个强大的基于transformer的跨模态特征提取器,并在如掩码语言建模和交叉模态匹配的任务上预训练。LXMERT代表了最近使用类似bert的预训练模型的趋势,并对多个下游视觉和语言任务进行微调。
4.3 在VQA-CP-v2和VQA-v2上的结果

将我们的突变体方法加入到UpDn和LXMERT模型上,对于VQA-CP,我们的方法在LXMERT上提升了23.29%,超过以前最好结果10.57%,以及在所有类的提升。我们使用否定作为yes-no问题的问题突变操作,但这样的问题不存在于测试集中,我们的模型利用这种突变,在yes-no问题上大大改进。突变方法在UpDn方法上整体提高21.98%。AReG,RUBI,SCR,LMH,CSS都通过在UpDn上添加去偏技术。展示了我们的去偏方法在两个SOTA模型上的改进,且优于上述所有基线,以前的工作只修改UpDN。
在平衡的VQA-v2上训练和评估时,我们的方法在专为OOD泛化设计的方法中性能最好,这是基线中最接近LXMERT建立的SOTA,即针对特定平衡的设置。
(1)没有在训练的VQA-v2上的结果:此外,我们使用了在VQA-CP上训练的最佳模型,并在VQA测试标准集上进行评估,而没有对VQA-v2数据进行重新训练。这里的目的是评估在偏置数据(VQA-CP)和突变体数据上训练的模型是否能够推广到使用i.i.d训练测试分割的VQA-v2。我们的总体准确率为67.63%,其中是-无问题为88.56%,基于数字的问题为50.76%,其他问题为54.56%。这比所有现有的在VQA-v2上明确训练的VQA-CP模型都要好(见表3报告),因此证明了我们的方法的通用性。
4.4 分析
(1)使用突变体样本进行训练的影响:我们衡量了用突变样本增加训练数据对UpDn和LXMERT的影响,结果如表4,总体性能均有改善,对于yes-no和计数类的模型表现有显著的跳跃,UpDn在数字问题上尤其受益于突变体样本(提高了23.94%)。
还比较了只有图像和只有问题突变训练时的最终模型。这比两种突变的训练都差,但问题突变比图像突变更好,而图像突变在数字问题上更好。

(2)消融研究:评估每个组成的影响:Answer Projection,Type Exposure 和Pairxise Consistency,如图5。答案投影的引入显著提高了yes-no的性能,而类型暴露提高了其它问题的性能。成对一致性损失显著提高了数字问题和yes-no问题的性能。
原始和突变样本间存在一个微小差异,模型需要理解这种差异,这反过来可以使模型能够对问题进行推理并预测新的答案。例如,成对的一致性损失允许模型学习一个缺失的对象和答案的改变间的相关性,从而提高我们的VQA模型的计数能力。类似地,成对一致性允许模型在删除关键对象时答案会发生变化的yes-no问题上进行改进。

(3)LMH去偏对突变体的影响:我们比较了我们的模型在有无显式的去偏方法LMH训练时的结果。LMH实现了一种学习的混合策略,通过使用主模型结合只由问题训练的只偏模型。在表6中,当LMH与突变体联合使用会导致性能下降。可能因为在去偏过程中,LMH减弱突变体介绍有用的正偏见。

六、讨论和总结
本文中,我们提出一种方法使用输入变体来训练VQA模型的方法,目标是对分布外的数据泛化 。我们的新答案投影模块训练以最小化答案和输入投影之间的距离,补充了典型的VQA分类任务。我们的类型暴露模型允许我们的网络将每个问题类型的所有有效答案作为同等可能的候选答案,从而远离消极的回答语言先验。再加上成对的一致性,这些模块在VQA-CP-v2数据集上实现了最先进的精度,并减少了VQA-v2数据上模型性能之间的差距。
我们将我们的工作与使用随机对抗性扰动的鲁棒学习方法区分开来,相反,我们将输入突变视为结构化扰动,从而导致输入空间的语义变化和输出空间的结构性变化。我们设想,输入突变的概念可以扩展到其他视觉和语言任务,以获得稳健性。在图像分类领域的同时工作表明,精心设计的输入扰动或操作输入可以有利于泛化,并导致性能提高。
边栏推荐
- [array] sword finger offer II 012 The sum of left and right subarrays is equal | sword finger offer II 013 Sum of two dimensional submatrix
- 平均风向风速计算(单位矢量法)
- Mmdetection valueerror: need at least one array to concatenate solution
- Uninstallation of Dameng database
- Microsoft365 developer request
- Detailed explanation of ThreadLocal
- How does the C # TCP server limit the number of connections to the same IP?
- 【一起上水硕系列】Day 6
- 455. distribute biscuits [distribution questions]
- Geometric distribution (a discrete distribution)
猜你喜欢

Pat grade a 1023 have fun with numbers

mmdetection ValueError: need at least one array to concatenate解决方案

【一起上水硕系列】Day 6

C language -- Design of employee information management system

Quicksand painting simulator source code

P5.js death planet

Canvas particles: mouse following JS effect

Flink学习3:数据处理模式(流批处理)

Constraintlayout Development Guide

栈溢出漏洞
随机推荐
Lodash get JS code implementation
Brief introduction of 228 dropout methods of pytorch and fast implementation of dropblock with 4 lines of code based on dropout
Web development framework - Express (installation and use, static hosting, routing processing, use of Middleware)
"All majors are persuading them to quit." is it actually the most friendly to college students?
ORM cache package for laravel
STM32入门介绍
mmdetection ValueError: need at least one array to concatenate解决方案
Record the method of reading excel provided by unity and the solution to some pits encountered
Test the respective roles of nohup and &
2022 operation of simulated examination platform for tea artist (Senior) work license question bank
Learn Tai Chi maker mqtt (IX) esp8266 subscribe to and publish mqtt messages at the same time
Introduction to stm32
Career outlook, money outlook and happiness outlook
PAT甲级 1025 PAT Ranking
JWT certification process and use cases
three. JS domino JS special effect
平均风向风速计算(单位矢量法)
Getting started with Scala_ Immutable list and variable list
Detailed explanation of ThreadLocal
QIngScan使用