Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 论文阅读笔记
写在前面
这是一篇关于VQA模型鲁棒性的文章,想法新颖,至少我之前还没有看到单独讨论VQA模型鲁棒性的文章,值得一读。
原文链接:Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions
代码链接: Github
一、Abstract
为了理解和更好地衡量 VQA 系统的泛化性,在反事实的增强数据上评估其鲁棒性。本文提出的增强方法用于对特征属性的问题进行有关注的干预,同时也使得答案发生了变化。采用这些增强方法,本文提出了一种新的鲁棒性策略:Robustness to Augmented Data (RAD),用于衡量模型预测结果和增强的样本之间的一致性。大量的实验表明 RAD 能够评估出最先进的模型对于反事实样本仍然不够稳定。最后,本文将鲁棒性和泛化性联系起来,表明了 RAD 对于未知增强上性能的预测能力?
二、引言
目前有一些方法针对 VQA 模型的泛化性进行了研究(VQA-CP),但是有论文表明对于这些数据集中的单一属性仍然是过拟合了。此外,并没有方法提出衡量模型对于分布变换(distribution shifts)的能力,因此本文就这样出来了。
本文提出了一种基于一致性的方法,该方法表明了模型在分布变换上的鲁棒性。提出的鲁棒性方法(这里鲁棒性方法就是基于一致性的方法)是基于反事实数据增强的,旨在对一个特定的类别进行操作但保留所有其他信息,从而可以评估模型对于该种属性变化的鲁棒性。举个🌰:
上图表明了一些模型对于增强的样本,不仅不能够识别出需要回答的是yes/no类型的问题,而且还根据问题中的 “color” 单词回答出了"green"。有点嘲讽的意味了。
本文提出的鲁棒性方法名为 RAD——Robustness to (counterfactually) Augmented Data,每一个增强的样本都是一种三元组的形式,其中的问题和答案是经手工操作组成的。本文表明了采用特定干预下的 RAD 能够发现模型对于具体现象的缺陷,即用户可以精确的定义这种干预来创造反事实增强样本。因此,每一对精确度-RAD 值都能对模型的行为给出更好的描述。
本文提出的方法仅仅利用了文本输入——问题 & 答案,因此RAD能够应用到任何可以进行增强的数据集中。同时,利用视觉增强的方法对于 VQA 系统来说仍然有效(当产生有意义的反事实文本比较困难时)。
本文提出的 CADs 增强方法利用半自动的方式通过简单的模板来直接干预数据集中的选择属性(e.g., “what color” & “yes/no” questions) 。
本文在三个数据集(VQA,VQA-CP,VisDial)上进行实验,发现如下:
1、精确度上差不多的方法,但鲁棒性灰常不同——采用带 CADs 的 RAD;
2、对于采用不同增强方法的 RAD 来说,优先考虑的是覆盖而不是有关注的干预,不能揭示鲁棒性的差异;
3、采用带有 CADs 的 RAD 来衡量模型在未知的增强数据上的鲁棒性,在控制增强方法的鲁棒性和泛化性间建立了联系。
三、Robustness to Counterfactuals
这一部分,首先介绍RAD——衡量模型对于问题-答案和增强的样本之间的一致性。然后描述基于模板的 CAD 产生方法,旨在对增强的过程提出控制。
3.1 Model Robustness
将 VQA 数据集表示为:
U
=
{
(
x
v
,
x
q
,
y
)
∈
V
×
Q
×
Y
}
\mathcal{U}=\left\{\left(x_{v}, x_{q}, y\right) \in \mathcal{V} \times \mathcal{Q} \times \mathcal{Y}\right\}
U={(xv,xq,y)∈V×Q×Y},
x
v
,
x
q
,
y
x_v,x_q,y
xv,xq,y 分别为图像、问题、答案。采用一个子集
D
⊆
U
\mathcal{D} \subseteq \mathcal{U}
D⊆U 用于产生增强的样本。对于每一个样本
(
x
v
,
x
q
,
y
)
∈
D
(x_v,x_q,y)\in \mathcal{D}
(xv,xq,y)∈D,其增强样本表示为
(
x
v
,
x
q
′
,
y
′
)
∈
D
′
(x_v,x_q',y')\in \mathcal{D'}
(xv,xq′,y′)∈D′ 。进一步定义
J
(
D
;
f
)
J(\mathcal{D};f)
J(D;f) 为样本集的索引,
f
f
f 为模型。RAD 表示为正确回答的修改问题在正确回答的原始问题中所占的比例。即
RAD
(
D
,
D
′
;
f
)
=
∣
J
(
D
;
f
)
∩
J
(
D
′
;
f
)
∣
∣
J
(
D
;
f
)
∣
\operatorname{RAD}\left(\mathcal{D}, \mathcal{D}^{\prime} ; f\right)=\frac{\left|J(\mathcal{D} ; f) \cap J\left(\mathcal{D}^{\prime} ; f\right)\right|}{|J(\mathcal{D} ; f)|}
RAD(D,D′;f)=∣J(D;f)∣∣J(D;f)∩J(D′;f)∣
RAD 值域为
[
0
,
1
]
[0,1]
[0,1],其值越大,模型越鲁棒。
对于模型来说,“yes/no” 的问题相比于 “what color” 容易回答,因此,如果采用 “yes/no” 的反事实增强放来来增强 “what color” 问题,那么模型就不需要额外的推理能力来泛化 “yes/no” 问题到 “what color” 问题上了。
3.2 Counterfactual Augmentations
增强方法:从 “number” or “other” 产生 “yes/no” 问题。举个🌰,“What color is the vehicle? Red” 改为 “Is the color of the vehicle red? Yes”。由于模型等同于同时回答 “what color” and “yes/no” 类型的问题,因此有理由相信在给出原始问题正确答案的情况下能够回答出增强的问题。所采用的模板举例如下:
这种增强的过程是半自动的,因为首先必须得产生特定的模板,然后产出增强的问题。为了达到该目的,采用两种标准:a模板必需要产生一个语法上的英语问题;b产出的问题类型必须要包含在数据库内,但并不是和原来问题具有相似语义的属性问题。对于 “yes/no” 这样频繁的问题,其中很少有涉及到颜色,数量和问题类型的。因此,当上面这些标准被完全执行时,有理想期待模型能够从训练集泛化到新的问题类型。
标准a需要关注于 “yes/no” 问题,因为对于输出语法规则来说其他的变换需要手动验证。总体上来说,模板覆盖率
11
%
11\%
11% 的 VQA 样本,因此这三种问题类型对于评估模型的鲁棒性来说够用了。
四、Robustness with RAD and CADs
用实验来评估 VQA 模型对于增强样本的鲁棒性,采用三个数据集:VQAv2,VQA-CPv2,VisDial。
4.1 实验步骤
Baseline Augmentations
将本文提出的增强方法与另外三种方法:VQA-Rephrasings,ConVQA、back-translation进行比较。VQA-Rephrasings 针对验证问题采用三种改述方法;ConVQA 分为 L-ConVQA & CS-ConVQA,在这两个子集中,原始的验证样本用于创造出新的问题-答案对,L-ConVQA 根据每幅图像附带的场景图生成;CSConVQA 用标注的数据手动生成;back-translation 将样本翻译为其他语言再翻译回来,这是一种对于文本增强质量很低但可以覆盖很广的方法,之前并未在VQA中考虑过,本文用 English-German 作为翻译器。
Models
VQA-CP 模型采用的有 RUBi,LMH,CSS,VQA 模型 采用的有 BUTD,BAN,Pythia,VISDal-BERT。
4.2 结果
五、Measuring Generalization with RAD
设计实验来演示 RAD 在未知的修改样本值上的预测精度,以此来建立 RAD 和泛化性之间的联系。具体来说,采用 45个 BUTD 和 LMH 不同于训练过程中问题类型分布的例子。
六、结论
本文提出了 RAD,用于惩罚那些在增强的数据上预测不一致的模型。此外,本文表明一些增强方法 CADs 的值不能有效地表明模型的鲁棒性差异。最后,本文表明 RAD 可以预测未知增强类型的泛化性?RAD能够应用到任何分类任务中,提供了有意义的鲁棒性研究。
七、附录
A、Dataset Statistics
B、Our Augmentations
C、URLs of Data and Code
Data、Models
D、Model Settings
E、Regression Experiments
总结
本文是一篇关于VQA鲁棒性的文章,估计这也是第一篇了,文章的意思说的比较清楚,设计了 RAD 和 CADS,但是说实话,本文句子表达的句意我感觉有点难理解,就是理解起来较困难。但不管写的咋样,还是值得一看的。