与CSS区别
CSST由两部分组成:反事实样本合成(CSS)和反事实样本训练(CST)。CST中包括了两个创新点:正面与负面样本选择策略、VQA对比损失的两种变体(全局和局部)。
上图是普通VQA、CSS、CST的简易框架对比,可见CST在CSS的基础上加上了一个对比损失模块,通过作者提出的正/负样本的选择策略来产生样本,再经由作者提出的对比损失函数变体来训练。
CST伪代码
整个CST分为三部分:XE训练、样本选择、对比训练。
XE训练
先将原始样本通过CSS产生反事实样本,让后将原始样本和反事实样本分别放入VQA模型中,并使用二元交叉熵损失作为训练目标。
样本选择
锚点:原始样本。
正样本:先创建一个由所有具有相同问题类型和ground-truth答案类别的样本作为候选正样本集合,然后从里面随机抽取一个作为正样本。
负样本:1、正样本通过V-CSS产生的反事实样本。2、正样本通过Q-CSS产生的反事实样本。3、从具有相同问题类型但不同的G-T答案的样本集中随机抽样。4、用随机抽样同一批次的图像替换原始图像。
对比训练
1、全局对比损失(CR-G):计算锚点和正/负样本之间在整个答案概率上的相似度。
其中,锚点、正样本和负样本的预测答案分布(sigmoid激活函数前,2274维)分别记为、
和{
},
表示答案分布
和
的余弦相似度。
2、局部对比损失(CR-L):仅基于ground-truth答案概率计算相似度。
其中,m为得分最高的G-T答案的答案指数, 为经过sigmoid激活函数后的答案分布 。作者又设置负样本
作为权重,当其值越小时(负样本预测为G-T的概率越小),整体损失也越小,这使模型能更多地关注具有较大的
的硬负样本。
区别:CR-L由于只关注G-T答案,所以它可以直接抑制在原始G-T答案上输出过高的负样本分数,这有利于普通模型(如UpDn)的优化,但对于基于集成的模型(如RUBi、LMH)就没有那么好的效果。甚至在LMH模型上效果远远不如CR-G。实验结果如下图所示。