Check It Again: Progressive Visual Question Answering via Visual Entailment 论文笔记
- 一、Abstract
- 二、引言
- 三、Related Work
-
- 3.1 Language-Priors Methods
- 3.2 Answer Re-ranking
- 四、方法
-
- 4.1 Candidate Answer Selecting
- 4.2 Answer Re-ranking
-
- 4.2.1 Visual Entailment
- 4.2.2 VQA As Visual Entailment
- 4.2.3 Re-Ranking based on VE
-
- Question-Answer Combination Strategy
-
- R:Replace question category prefix with answer
- C:Concatenate question and answer directly
- R→C:
- VE Scorer:
- Combination with Language-Priors Method:
- 4.3 Inference Process
-
- Question Type Discriminator
- Final Prediction
- 五、实验
-
- 5.1 设置
-
- 数据集
- Baselines
- 5.2 Implementation Details
- 5.3 Results and Analysis
-
- 5.3.1 Main Results
- 5.3.2 The Effect of N
- 5.3.3 The Effect of Different CAS
- 5.3.4 The Effect of Question-Answer Combination Strategies
- 5.3.5 Ablation Study
- 5.3.6 The Effect of N'
- 4.3.7 Qualitative Examples
- 六、结论
- 结语
写在前面
这是一篇关于VQAv2.0数据集的论文,方法也很清晰,英语表达上也可以借鉴一番,是篇好文章。
论文题目:Check It Again: Progressive Visual Question Answering via Visual Entailment
论文代码:Github
收录于ACL2021
一、Abstract
??之前解决VQA bias的方法根据最佳的输出概率而选择正确的答案但却并没有考虑答案的权威性,除此之外,仅仅探索了图像和问题之间的交互,但却忽略了候选答案的语义信息。因此,本文提出了一种基于Visual Entailment 的 select-and-rerank (SAR) 框架。
??具体来说,首先选择与图像或者问题相关的候选答案,然后利用visual Entailment tsak进行对齐,即检验图像是否在语义上包含了每个问题+候选答案的合成陈述(这里Visual Entailment任务是指判断所给句子和图像的相关程度)。
二、引言
??首先指出VQA模型中存在bias,然后回顾一下之前de-bias的方法,指出这些方法存在的问题:所有的模型只根据最佳的输出预测正确答案,并未利用答案的语义信息。接下来作者描述观察到的现象:所有的模型都会根据最后输出的答案词表概率选择最大的那个作为预测答案输出,但是却忽视了答案的权威性,换句话说,并未考虑答案的置信度。因此,当给定一组候选答案时,图像可以更好的根据答案和问题来核实视觉概念是否出现在图像中。但是,这种利用答案语义来减缓语言bias的方法仍未充分开发(也就是作者来写这篇文章来开发了)。
??接下来是作者对提出的SAR方法的简单说明:首先,在排除掉那些与问题+图像都不相干的答案后,候选的答案词表变少了。其次,利用问题与对应的答案构成了完整的陈述的条件下,此陈述的权威性可以通过图像的上下文推断。也就是利用Visual Entailment来断定那个答案更好。
??主要贡献如下:
1、提出了一个SAR的框架,实验发现在这个框架里面对于每一个module都有着多种选择,同时该框架还能很好的嵌入现有的VQA模型中来增强他们的推理能力。
2、将VQA任务视作视觉含义问题,能够充分利用图像,问题,候选答案之间的交互信息。
3、实验证明该框架效果很牛皮。
三、Related Work
3.1 Language-Priors Methods
??目前主流de-bias方法可大致分成两类:
1、Designing Specific Debiasing Models to Reduce Biases,这些方法大多都是基于ensemble的。
Sainandan Ramakrishnan, Aishwarya Agrawal, and Stefan Lee. 2018. Overcoming language priors in visual question answering with adversarial regularization. In NeurIPS.
Gabriel Grand and Yonatan Belinkov. 2019. Adversarial regularization for visual question answering: Strengths, shortcomings, and side effects. NAACL HLT 2019, page 1.
Yonatan Belinkov, Adam Poliak, Stuart M Shieber, Benjamin Van Durme, and AlexanderMRush. 2019.Don’t take the premise for granted: Mitigating artifacts in natural language inference. In ACL (1).
Remi Cadene, Corentin Dancette, Matthieu Cord, Devi Parikh, et al. 2019. Rubi: Reducing unimodal biases for visual question answering. Advances in Neural Information Processing Systems, 32:841–852.
Christopher Clark, Mark Yatskar, and Luke Zettlemoyer. 2019. Don’t take the easy way out: Ensemble based methods for avoiding known dataset
biases. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 4060–4073.
Rabeeh Karimi Mahabadi and James Henderson. 2019. Simple but effective techniques to reduce biases. arXiv preprint arXiv:1909.06321, 2(3):5.
提了一嘴LMH(上面倒数第二篇参考文献),通过惩罚那些仅仅通过图像就能回答出问题的样本。
2、Data Augmentation to Reduce Biases.
Peng Zhang, Yash Goyal, Douglas Summers-Stay, Dhruv Batra, and Devi Parikh. 2016. Yin and yang: Balancing and answering binary visual questions. In Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition, pages 5014–5022.
Yash Goyal, Tejas Khot, Douglas Summers-Stay, Dhruv Batra, and Devi Parikh. 2017. Making the v in vqa matter: Elevating the role of image understanding in visual question answering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 6904–6913.
Aishwarya Agrawal, Dhruv Batra, Devi Parikh, and Aniruddha Kembhavi. 2018. Don’t just assume; look and answer: Overcoming priors for visual question answering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4971–4980.
Xi Zhu, Zhendong Mao, Chunxiao Liu, Peng Zhang, Bin Wang, and Yongdong Zhang. 2020. Overcoming language priors with self-supervised learning for visual question answering. arXiv preprint arXiv:2012.11528.
Long Chen, Xin Yan, Jun Xiao, Hanwang Zhang, Shiliang Pu, and Yueting Zhuang. 2020a. Counterfactual samples synthesizing for robust visual question answering. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10800–10809.
Zujie Liang, Weitao Jiang, Haifeng Hu, and Jiaying Zhu. 2020. Learning to contrast the counterfactual samples for robust visual question answering. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 3285–3292.
Tejas Gokhale, Pratyay Banerjee, Chitta Baral, and Yezhou Yang. 2020. Mutant: A training paradigm for out-of-distribution generalization in visual question answering. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 878–892.
上面这些方法有些比较出名了,CSS,MUTANT,SSL。但是这些方法都是只考虑了问题和图像,并未把答案考虑进去(上一篇博文应该考虑进去了,用贪心算法的,也是设计的比较巧妙)。所以本文提出了一个SAR的框架来更好的整合问题、图像、答案。
3.2 Answer Re-ranking
??答案重排列仍然在处于萌芽阶段,与之相对应的任务为 open-domain question answering(注意这里并不是VQA,而是NLP领域的QA),解决方法:
Ramprasaath R Selvaraju, Stefan Lee, Yilin Shen, Hongxia Jin, Shalini Ghosh, Larry Heck, Dhruv Batra, and Devi Parikh. 2019. Taking a hint: Leveraging explanations to make vision and language models more grounded. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 2591–2600.
Bernhard Kratzwald, Anna Eigenmann, and Stefan Feuerriegel. 2019. Rankqa: Neural question answering with answer re-ranking. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 6076–6085.
这些方法都是先得到候选答案,然后对其重排列获得最终答案。
Yanyuan Qiao, Zheng Yu, and Jing Liu. 2020. Rankvqa: Answer re-ranking for visual question answering. In 2020 IEEE International Conference on Multimedia and Expo (ICME), pages 1–6. IEEE.
上面这篇参考文献将Rerank方法引入VQA中,但仍需要从巨大的预测空间中预测出最终的答案而非选择候选答案。
四、方法
上面这幅图就是本文提出的网络框架,可以看出有 两部分组成,Candidate Answer Selectiong & Answer Re-ranking。Candidate Answer Selectiong首先准备好预测的答案词表,接着在Answer Re-ranking模块中将VQA视作一个VE(Visual Entailment)任务,图像为数据集提供,Image Caption为答案和问题通过三种方式(下文)构成,然后利用预训练的LXMERT作为VE打分器来对答案构成的Caption进行打分,取构成最高得分Caption中对应的答案为最终的预测结果。
4.1 Candidate Answer Selecting
??首先,构建数据集:
D={Ii,Qi}i=1MD={\{}I_{i},Q_{i}{\}}_{i=1}^MD={
Ii?,Qi?}i=1M?
??其中,MMM 为样本个数。Ii∈II_{i}\in IIi?∈I 为第 iii 个样本图像,Qi∈QQ_{i}\in QQi?∈Q 为第 iii 个样本问题。AAA 为答案空间。从本质上来说,VQA 为 AAA 类别的分类器,即 P(A∣Qi,Ii)P(A\mid Q_{i},I_{i})P(A∣Qi?,Ii?)。之后,CAS 从答案空间 AAA 中选择出得分排名前 NNN 个答案集合作为候选答案集合 A?A^*A? :
Ai?=top?N(argsort?(P(A∣Qi,Ii)))A_{i}^{*}=\operatorname{top} N\left(\operatorname{argsort}\left(P\left(A \mid Q_{i}, I_{i}\right)\right)\right)Ai??=topN(argsort(P(A∣Qi?,Ii?)))
??其中,A?=[Ai1,Ai2,…,AiN]A^* =[A_{i}^{1},A_{i}^2,\dots,A_{i}^{N}]A?=[Ai1?,Ai2?,…,AiN?] 为 CAS 从每一个 (Qi,Ii)(Q_{i},I_{i})(Qi?,Ii?) 中选择出的 NNN 个答案。与此同时构成了一个新的数据集供给 VE 用:
D′={Ii,Qi,Ain}i=1,n=1M,ND'=\left\{I_{i}, Q_{i}, A_{i}^{n}\right\}_{i=1, n=1}^{M,N}D′={
Ii?,Qi?,Ain?}i=1,n=1M,N?
该数据集共有 M?NM * NM?N 个样本,Ain∈Ai?A_{i}^{n}\in A_{i}^{*}Ain?∈Ai?? 用于接下来的答案重排模块。其中 CAS 作者选用SSL,同时也尝试了不同的 CAS 以及不同的 N (不同数量的候选答案)。
4.2 Answer Re-ranking
4.2.1 Visual Entailment
Ning Xie, Farley Lai, Derek Doran, and Asim Kadav. 2019. Visual entailment: A novel task for fine-grained image understanding. arXiv preprint arXiv:1901.06706.
Visual Entailmen 是上面这篇参考文献中提出的,给定一组图文对 (Pimage,Htext)(P_{image},H_text)(Pimage?,Ht?ext),VE 的目的是判断句子 HtextH_{text}Htext? 中是否包含图像 PimageP_{image}Pimage? 中的信息。该任务对应的样本标签为:1、Entailment,即在图像 PimageP_{image}Pimage? 中有足够的证据表明 HtextH_{text}Htext? 是正确的;2、Contradiction,即在图像 PimageP_{image}Pimage? 中有足够的证据表明 HtextH_{text}Htext? 是错误的;3、Natural,即在图像 PimageP_{image}Pimage? 中没有有足够的证据得出关于 HtextH_{text}Htext? 正确与否的结论。
4.2.2 VQA As Visual Entailment
??将候选答案与问题描述相结合,从而构成了 Image Caption,而图像作为先决条件。如此,对于正样本 ,有:若 Ai?A_i^*Ai?? 中的 Ai+A_i^{+}Ai+? 为问题 QQQ 对应的正确答案,那么 IiI_{i}Ii? 中有足够的证据证明 (Ai,Ai+)(A_{i},A_i^+)(Ai?,Ai+?) 是正确的,反之 (Ai,Ai?)(A_{i},A_i^-)(Ai?,Ai??) 是错误的,矛盾的。这里要注意的是,在本文的 VE 任务中是不存在 Neural 标签的,也即只有两种标签:Entailment & Contradiction。
4.2.3 Re-Ranking based on VE
??(Ai,Ai+)(A_{i},A_i^+)(Ai?,Ai+?) 相对于 (Ai,Ai?)(A_{i},A_i^-)(Ai?,Ai??) 应该有更多的语义相似性。因此,相似度越高,那么visual entailment 的程度也就越高,然后根据得分来排列 Ai?A_i^*Ai??,排名第一的答案即为最终的输出。
Question-Answer Combination Strategy
设计出三种 question-answer 联合的策略来合成 caption CiC_{i}Ci?:
R:Replace question category prefix with answer
??将问题类型换成答案送入编码求得分。例如:“How many flowers in the vase?”, 用答案 “8” 来代替 “how many”, 即 dense caption为 “8 flowers in the vase”。问题类型的断定:在数据集中利用前向最大匹配算法来决定每个测试样本的问题类别。
C:Concatenate question and answer directly
??直接将问题和答案拼接在一起,为防止长度超出截断长度而利用不上,所以将答案拼接在前面。例如:“8 How many flowers in the vase?” 。
R→C:
??在训练过程中采用 R:Replace question category prefix with answer 策略,旨在阻止模型过度关注问题类型和答案之间的关联,然后在测试时使用 C:Concatenate question and answer directly 的策略来为推理引入更多的信息。再联合每个问题 QiQ_{i}Qi? 和每个答案 Ai?A_i^*Ai?? 来得出captions Ci?C_{i}^*Ci??,因此构建包含 M?NM * NM?N 个样本的数据集 D′′={Ii,Cin}i=1,n=1M,ND''={\{}I_{i},C_i^{n}{\}}_{i=1,n=1}^{M,N}D′′={ Ii?,Cin?}i=1,n=1M,N? 用于 VE 任务。(本文中一共出现了三个 D,D′,D′′D,D',D''D,D′,D′′,这个地方的 D′′D''D′′ 才是最终用到的数据集,其他两个都是举例)
VE Scorer:
??使用预训练的 LXMERT 作为 visual entailment 的打分器来为 (Ii,Ci?)(I_{i},C_i^*)(Ii?,Ci??) 打分。
采用多标签的 soft loss:
LVE=?1M?N∑i=1M∑n=1N[tinlog?(δ(Trm(Ii,Cin)))+(1?tin)log?(1?δ(Trm(Ii,Cin)))]\begin{aligned} L_{V E}=& \frac{-1}{M * N} \sum_{i=1}^{M} \sum_{n=1}^{N}\left[t_{i}^{n} \log \left(\delta\left(\textit{Trm}\left(I_{i}, C_{i}^{n}\right)\right)\right)\right.\\ &\left.+\left(1-t_{i}^{n}\right) \log \left(1-\delta\left(\textit{Trm}\left(I_{i}, C_{i}^{n}\right)\right)\right)\right] \end{aligned}LVE?=?M?N?1?i=1∑M?n=1∑N?[tin?log(δ(Trm(Ii?,Cin?)))+(1?tin?)log(1?δ(Trm(Ii?,Cin?)))]?
??其中 ,候选 caption 为 sigmoid(Trem(Ii,Cin))sigmoid(Trem(I_{i},C_i^{n}))sigmoid(Trem(Ii?,Cin?)),Trm()Trm()Trm()为 LXMERT dense layers的 1维输出向量。最高的得分表示最大的 entailment程度(证据程度),δ()\delta ()δ() 为sigmoid函数,tint_i^ntin? 为第 nthn_{th}nth? 个答案的 soft 目标得分。
Combination with Language-Priors Method:
??在 CAS 对答案进行过滤之后,对于所有可能的 NNN 个候选答案来说,还是存在 bias。因此采用其他现有的 de-bias 的方法进行叠加消偏。拿 SSL 举个?,应用 SSL 中的自监督损失函数到本文的框架中:
Lssl=αM?N∑i=1M∑n=1NP(Ii′,Cin)L_{s s l}=\frac{\alpha}{M * N} \sum_{i=1}^{M} \sum_{n=1}^{N} P\left(I_{i}^{\prime}, C_{i}^{n}\right)Lssl?=M?Nα?i=1∑M?n=1∑N?P(Ii′?,Cin?)
??其中,(Ii′,Cim)(I_i^{'},C_i^m)(Ii′?,Cim?) 表示不相关的 image-caption 对,α\alphaα 为超参数。概率 P(Ii′,Cim)P(I_{i}^{'},C_i^m)P(Ii′?,Cim?) 为 (Ii′,Cim)(I_{i}^{'},C_i^m)(Ii′?,Cim?) 的置信度。总损失为:
L=LVE+LsslL=L_{VE}+L_{ssl}L=LVE?+Lssl?
4.3 Inference Process
Question Type Discriminator
??由于问题类型中有一类特殊的存在,即 yes/no,因此没必要提供太多的候选答案。所以作者又提出了一种问题类型鉴别器:Question Type Discriminator(QTD) 根据问题类型来设置不同数量的候选答案 N′N'N′。
??具体来说,简单将问题类型分为三种: “Yes/No”, “Num”,“Other” 。然后采用一个 GRU 的双线性分类器进行输出。该分类器采用交叉熵损失进行训练,5折交叉验证来评估。之后,训练好的OTD模型有着 97%97\%97% 的精度作为离线模型在测试阶段进行使用。同时作者在下一个实验部分研究每个问题类型中候选答案数量 N′N'N′ 的影响。
Final Prediction
??在推理阶段,对第 ithi_{th}ith? 张图像在所有的候选 captions Ci?C_i^*Ci?? 中搜索最佳的 caption C^i\hat C_iC^i?:
C^i=argmaxn∈N′δ(Trm(Ii,Cin))\hat{C}_{i}=\underset{n \in N^{\prime}}{\textit~{argmax}} \delta\left(\textit{Trm}\left(I_{i}, C_{i}^{n}\right)\right)C^i?=n∈N′ argmax?δ(Trm(Ii?,Cin?))
??对应着 C^i\hat C_iC^i? 的答案 A^i\hat A_iA^i? 即为最终的预测。
五、实验
5.1 设置
数据集
??训练和评估在 VQA-CP v2 数据集上进行,该数据集包含三种类型 “Yes/No”,“Num” & “Other”。值得注意的是:VQA-CP v2 数据集中问题类型和问题类别是不同的(这个地方感觉作者没说清楚),例如 “what color”。除此之外,还在VQA V2 数据集上进行了评估。
Baselines
??本文的方法同其他方法进行比较,有:UpDn,Areg,RUBi,LMH,RankVQA,SSL,CSS,CL,LXMERT。由于 MUTANT 采用了外部的标签来建模图像中的文本概念,因此并未将其进行比较。
5.2 Implementation Details
??采用 SSL 作为 CAS,设置 N=12orN=20N=12 ~or~ N=20N=12 or N=20 用于训练,图像特征采用 Faster-RCNN 提出的每幅图像 36 个目标的 2048 维度特征向量。采用 LXMERT 来 tokenizer 每一个 caption 到词。问题单词的总个数在 RorCR ~or~ CR or C策略中分别为 15 or 18 。
??在答案重排列模块中,分别整合 SSL & LMH 到提出的 SAR 框架中,记作 SAR+SSL & SAR+LMH 。2 块 TITAN RTX(有钱),对于 SAR+SSL 来说,训练 20 个 epoch,batch=32;SAR & SAR+LMH,训练 10 个epoch,batch=64,Adam 优化器,lr=1e?5lr=1e-5lr=1e?5 。
??对于 Question Type Discriminator(QTD),采用 300 维的 Glove 词库来初始化词向量,然后将其喂给 hidden=128 维的 GRU 。当在 VQA-CP v2 上进行训练时,对于 yes/no 的问题, N′=1or2N'=1 ~or~ 2N′=1 or 2,对于非 yes/no 的问题,N′=5or15N'=5 ~or~ 15N′=5 or 15;当在 VQA v2上进行训练时,对于yes/no 的问题,N′=1or2N'=1 ~or~ 2N′=1 or 2,对于非 yes/no 的问题,N′=2or5N'=2 ~or~ 5N′=2 or 5;
5.3 Results and Analysis
5.3.1 Main Results
5.3.2 The Effect of N
5.3.3 The Effect of Different CAS
??从这个实验看出 CAS 的选取需要符合两个要求:
??1、应该召回更多的正确答案;
??2、在语言bias的存在情况下,CAS在训练时召回的错误答案应该与问题有尽可能强的表面关联性。
5.3.4 The Effect of Question-Answer Combination Strategies
5.3.5 Ablation Study
5.3.6 The Effect of N’
4.3.7 Qualitative Examples
六、结论
??提出了基于 Visual Entailment的 select-and-rerank (SAR),即先选择候选答案后排列得分,能够结合多种 VQA 模型,性能?。
结语
这是一篇关于关于 VQA-CP v2 数据集的文章,虽然从文章上看并未涉及减少 bias,但本质上利用到了答案,仍然属于 de-bias 方法,与上一篇博文:Greedy Gradient Ensemble for Robust Visual Question Answering 源码分析及文章加深理解 有异曲同工之妙,都是利用到了 VQA 中的 A 进行分析。另外,本文在英文写作上颇具功底,值得细细品味。