RUBi:减少视觉问题回答的单模态偏差

文章提出了RUBi训练策略,旨在减少视觉问答(VQA)模型对语言先验的依赖。通过调整偏差大和小的样本权重,模型能更关注于难以仅凭问题正确分类的样本。RUBi包括仅问题分支和合并掩码产生新预测两部分,优化了VQA学习过程,提高了模型性能。
摘要由CSDN通过智能技术生成

 如上图所示,语言先验对于答案分布不同数据集会产生较大的影响。但是对于某些样本即使受语言先验也是可以正确分类的,本文称为偏差最大的样本,反之,称为较小偏差的样本。本文要做的就是如何提高模型对偏差较小样本的关注,降低对偏差最大样本的关注(因为其已经预测正确了),从而学习到偏差。

主要贡献

提出了一种RUBi训练策略,以减少VQA模型学习的偏差量。通过VQA模型反向传播的梯度减少偏差大的样本重要性,增加偏差小的样本重要性。

网络框架

左图为普通VQA学习策略,右图为RUBi学习策略。其中红色区域即为本文对模型的添加内容,其将在训练结束时删除,最后使用输出的作为预测值。 本文的RUBi策略可以分为两部分:仅问题分支、合并掩码产生新预测。

普通VQA模型产生预测值的形式函数为:m函数表示多模态融合,c函数表示分类器。

 仅问题分支

仅问题分支用于捕获问题偏差,使VQA模型专注于仅使用问题模态回答错误的样本。仅问题分支的形式化函数fQ()为:

其中为一个神经网络,用于根据问题模态来产生预测值向量,为分类器。最后该分支给出一个预测答案的概率分布,再经由交叉熵损失函数计算出损失。反向传播过程优化的参数,但不会传播到问题编码器中,以防止它直接学习问题偏差。

合并掩码产生新预测

在VQA模型的预测传递给损失函数之前,将它们与长度为|A|(2274)的掩码合并,以产生一个新的预测值。该掩码是将神经网络的输出通过sigmoid函数得到的,目的是修改VQA模型的预测值来改变损失值,即。如以下公式所定义。

该部分由交叉熵产生的主损失即为VQA模型损失,其反向传播优化VQA模型、编码器和的参数,同时,作者将VQA模块和仅问题分支的参数共享,其仅接受VQA模块的参数更新。

RUBi的最终损失为上述两个损失相加,即

 总结

我认为本文可以用一句话来总结:让VQA错的更错,对的更对。首先,仅问题分支是单模态预测,受语言先验影响,那么对于同一个问题,其答案遵循一个固定的(或变化不大)分布。然后,如果仅问题分支预测的答案是正确的,那么掩码合并后就会让VQA模型的新预测值中G-T答案所对应的预测概率更大,那么损失就会减小。反之,如果仅问题分支预测错误,由于其答案分布不变,这就使得掩码合并后的新预测值中,错误答案的总概率增大,损失就会增大。这样就可以做到降低了偏差较大(仅用问题即可正确分类)的样本的重要性,提高偏差较小样本的重要性。

下图第一行为预测正确,第二行为预测错误。其中target中1表示G-T答案。

实验结果

上图为在VQA-CP v2数据集测试的结果。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值