CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法

本文《Cycle-Consistency for Robust Visual Question Answering》提出了一种利用循环一致性来增强视觉问答(Visual Question Answering, VQA)模型鲁棒性的方法,并基于标准数据集VQA 2.0,提出了用于量化表征模型鲁棒性的数据集VQA-Rephrasings。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第1张图片

论文地址:

https://arxiv.org/pdf/1812.05252.pdf

引言

目前的VQA模型对于问题的理解都不够充分,面对同一问题的多种表述时,模型多数情况下会给出不同的预测答案。因此本文提出了一种利用循环一致性的训练策略,用以提升模型对于输入问题语言变异的鲁棒性,并提供了量化表征模型鲁棒性的数据集VQA-Rephrasings及评价指标Consensus Score。

数据集

VQA任务中主要使用VQA 2.0数据集来进行训练、验证和测试,数据集包含的数据量如下表所示。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第2张图片

VQA 2.0数据集

循环一致性

循环一致性体现在问题一致性和答案一致性这两方面,基于循环一致性的训练策略如下图为所示。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第3张图片

利用循环一致性的训练策略

其中问题一致性是通过在基础之上添加一个VQG模块,该模块利用图像和VQA模型所产生的预测答案,生成新的问题,并引入问题一致性损失,以约束生成的问题和原始问题之间的一致性。

答案一致性则是将VQG模型生成的问题输入至VQA模型中,生成针对该问题的预测答案,并引入答案一致性损失,以约束对生成问题的预测答案和原始问题的正确答案之间的一致性。

问题生成模块

问题生成模块主要包含两个线性编码器Answer Encoder和Image Encoder,以及一个解码器LSTM。将编码器的输出与随机噪声进行加和后输入到解码器中,生成问题。下图为问题生成模块结构图。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第4张图片

问题生成模块

其具体工作流程如下:

(1)Answer Encoder以VQA模型的预测答案作为输入,对其进行编码,其中为VQA模型对于问题在所有候选答案上的置信度分布,而不是预测答案的one-hot向量或者词嵌入表征。

(2)Image Encoder以图像作为输入,并利用VQA模型回答原始问题时生成的注意力引导图像特征的编码,以增强最终生成的问题与原始问题之间的相关性。

(3)将两个编码器的输出及引入的随机噪声进行加和,输入至解码器LSTM当中,生成问题。

门机制

VQG所生成的问题不一定都是语义和语法正确的,且并非生成的所有问题与图像、答案以及原始问题具有一致性,因此文中提出一种门机制,在将生成的问题输入到VQA模型中之前,对它们进行自动过滤。只有VQA模型对其原始问题预测正确或者其与原始问题的余弦相似度大于一定阈值,该问题才会被输入到VQA模型中用以计算答案一致性。

延后激活

设计循环一致性模型的关键之一是防止模型崩塌,如果联合训练VQA模型和VQG模型,并在训练初期就强制引入问题及答案的一致性,二者极有可能会产生预期之外的输出。文中利用延后激活的方式,在经过一定迭代次数,VQA和VQG已能产生合理输出之后,再引入相关的一致性。

VQA-Rephrasing数据集

为了对VQA模型关于问题语言变异的鲁棒性进行验证,本文从VQA 2.0的验证集中随机采样40504个问题,每个问题经过3个人工转述,形成用于验证模型鲁棒性的数据集VQA-Rephrasings,该数据集共计包含40504张图片,162016个问题。

对于包含了条问题转述的集合,以的采样大小对该集合进行随机采样,一致性得分(Consensus Score)表征的是子集内所有问题均回答正确的子集数占集合采样得到的所有子集的比例,具体定义如公式所示。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第5张图片

失败预测感知

一个VQA模型鲁棒性的另一个表征方法是该模型感知自身预测正确与否的能力。一种方案是设定一个特定的阈值,模型预测的答案置信度如果大于该阈值,则将其标记为正确预测,反之则为错误预测,随后统计其准确率和召回率,并计算F1得分。

另一种方案是设计一个失败预测的二分类模块,该模块以图像、问题以及VQA模型的预测答案作为输入,判定该预测答案是否为正确。训练该模块时基础VQA模型的参数保持不变。

实验结果

在VQA-Rephrasings数据集上,VQA模型对于转述后问题的预测准确度远低于原始问题(为原始问题,为转述后的问题),面对问题语言变异时模型鲁棒性较差。采用循环一致性的训练策略后,其一致性得分及预测准确度均得到提升,如下表所示。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第6张图片

各模型在VQA-Rephrasings上的性能

采用循环一致性的训练策略后,模型在VQA 2.0的val上最高得到了0.7的性能提升,test-dev上最大获得了1.3的性能提高。同时可看出,在引入门机制之前,答案一致性反而会降低模型性能,证明了门机制的有效性。具体参数如下表所示。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第7张图片

各模型在VQA 2.0数据集上的性能

无论采用哪种方案,在未引入循环一致性的训练策略之前,VQA模型对于自身预测结果正确与否的感知能力相对较弱。同时相比于简单的设置阈值,采用训练的方式得到的失败预测模块对于VQA模型鲁棒性的表征能力更强。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第8张图片

各模型采用循环一致性方法训练后的性能

结论

(1)本文提出了一种与模型无关的训练策略,在VQA模型中结合循环一致性,提高模型对于问题语言变异的鲁棒性,及对自身错误预测的感知能力。

(2)本文还提供了一个较大的数据集VQA-Rephrasings,并提出使用一致性得分对模型鲁棒程度进行评估。

(3)采用循环一致性的训练策略,VQA模型在提升自身鲁棒性的同时,在VQA 2.0数据集上也达到了当前最好水平。

CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法_第9张图片

扫码识别关注,获取更多新鲜论文解读

你可能感兴趣的:(CVPR2019 | 基于循环一致性增强视觉问答模型鲁棒性的方法)