Balanced Multimodal Learning via On-the-fly Gradient Modulation(CVPR2022 oral)

paper: https://arxiv.org/pdf/2203.15332.pdf


一句话总结:解决多模态训练时主导模态训得太快导致辅助模态没训充分的问题
交叉熵损失函数:
在这里插入图片描述
其中,f(x)为
在这里插入图片描述
解耦一下:
在这里插入图片描述
其中,a表示audio模态,v表示visual模态,f(x)为softmax前的两个模态联合输出的logits。在这个任务中a为主导模态,即对于gt类别,a模态输出的logits更大
W a W^a Wa为例,L对 W a W^a Wa求导:
在这里插入图片描述
可以看到,根据链式求导法则, φ a \varphi^a φa是与a模态相关的输出, ∂ L ∂ f ( x i ) \frac{\partial{L}}{\partial{f(x_i)}} f(xi)L的值对于两个模态都相同,因此影响对不同模态梯度差异的就是后面这部分,也就是 φ \varphi φ的值。由于一般主导模态输出的logits较高,即 φ \varphi φ W W W的值较大,因此反传时的梯度也更大,收敛也更快。

因此可能会出现主导模态先训好了,loss降得比较低了,辅助模态还没训好的问题。具体为啥辅助模态不能接着训好,有待探究。

对于本文,为了减速主导模态训练,因此在求梯度时加个衰减系数,减少主导模态反传的梯度,相当于单独减小主导模态的学习率:
在这里插入图片描述
用两个模态各自输出logits的softmax后的score比值来确定
将比值大于1的(主导模态)设置衰减系数k(0~1),辅助模态为1(不变)
在这里插入图片描述
与学习率相乘,相当于减小学习率
在这里插入图片描述
此外,根据SGD的梯度反传过程,梯度可以推到为原梯度+高斯噪声:
在这里插入图片描述

学习率越大=>高斯噪声协方差越大=>泛化能力越强。这里减小学习率相当于削弱了主导模态的泛化能力。加了衰减系数后的梯度,方差缩小为原来的k^2倍:
在这里插入图片描述

因此,本文人为增加一个高斯噪声,方差=batch内样本的方差:
在这里插入图片描述

在这里插入图片描述
相当于噪声的协方差相比以前还变大了:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值