徐土豆
认证:优质创作者
所在专题目录 查看专题
Transformer代码随记
视频分析与多模态融合之一,为什么需要多模态融合
WenLan 2.0:一种不依赖Object Detection的大规模图文匹配预训练模型 & 数据+算力=大力出奇迹
图文多模态语义融合前的语义对齐——一种单双混合塔多模态模型
在多模态模型训练时,如何合适地融合单模态损失
FILIP: 一种基于交互的细粒度图文预训练模型
作者动态 更多
【论文极速看】ERNIE-VIL 一种基于场景图解析的多模态表征方法
1星期前
语义标签(Semantic label)与多模态模型的一些关系
2星期前
BLIP2——采用Q-Former融合视觉语义与LLM能力的方法
3星期前
【论文极速看】ERNIE 3.0 通过用知识图谱加强的语言模型
11-03 13:47
工作一年时期的土豆总结——复杂度和困难度
10-22 14:24

在多模态模型训练时,如何合适地融合单模态损失

假如一个多模态分类模型由M个模态信息组成(如RGB,光流,音频,深度信息等等),每一个模态的输入记为,每一个模态的特征提取网络记为,其中,那么对于一个后融合(Late-fusion)[2]的多模态分类模型来说,如Fig1.1©所示,其后融合的多模态特征由拼接(concatenate)操作构成,因此多模态特征表示为,其中⨁ \bigoplus⨁表示拼接操作。最后将会用f m f_mf m​ 进行训练和分类。假设训练集为,其中 为第i个训练样本而 为第i个训练样本的标签,那么对于多模态分类而言,其损失为:

容易知道对于单模态分类而言,其损失为:

Fig 1.1 多模态联合训练,采用后融合的方式进行不同模态的信息融合。

从理想情况看,由于多模态特征是由各个模态的特征拼接而成的,通过训练学习出合适的分类器参数 ,那么多模态损失(1-1)就可以崩塌到单模态损失(1-2),也就是说最坏情况下多模态训练得到的结果,都应该要比单模态训练的要好。然而结果并不是如此,如Fig 1.2(a)所示,以在Kinetics上的结果为例,最好的单模态结果总是要显著比多模态结果(Audio,RGB,Optical Flow三者的任意组合)要好。不仅如此,如Fig 1.2(b)所示,即便采用了一些流行的正则手段,也无法得到有效的效果提升。这不是偶然,[1]的作者认为这是由于不同模态的信息陷入过拟合的节奏是不同的,而通过相同的训练策略对多模态特征进行训练,可能对于整体而言并不能达到最优的状态。为此,对于多模态损失而言需要适当地进行加权,去适应不同模态学习的节奏,假设权系数满足,其中的k kk是第k kk个模态,那么最终的损失为:

其中的模态表示的是拼接起来后的多模态特征,也即是式子(1-1)所示的损失。关键问题有两个:

这些模态均衡系数应该怎么确定这些模态均衡系数是在线计算(动态更新)还是离线计算(静态计算后使用)显然,均衡系数是一个超参数,单纯靠网格搜索或人工调参肯定不显示,而且无法解决关键问题2,也即是动态更新。因此作者提出了一种确定多模态均衡系数的方法。

ig 1.2 (a)多模态训练得到的模型总是比最优的单模态训练模型更差;(b) 采用了一些常用的正则手段也无法获得有效的效果提升。

首先需要定义出一个度量以衡量该模态的过拟合与泛化情况,如Fig 1.3所示,作者定义了一种综合度量模型的过拟合与泛化情况的指标,其定义为过拟合程度与泛化程度的比值的绝对值,如式子(1-4)所示。其中 ,而 ,表示为训练损失和验证损失的差值,其可被认为是过拟合大小,显然该值越大,过拟合程度越大。而表示第N个epoch与第个epoch之间的过拟合程度差值。那怎么表示泛化能力呢?可以通过第N个epoch与第个epoch之间的验证损失的差值表示两个checkpoint之间的泛化能力差值。也就是说可以将式子(1-4)认为是两个epoch的checkpoint之间的过拟合程度与泛化程度比值的差分。显然我们希望OGR指标越小越好。注意此处的 表示理想中的真实验证损失,通常会用有限的验证集损失去近似,表示为。后续我们都用 代替

显然有

然而对于欠拟合的模型来说,可能​ 足够小也会导致OGR指标也很小,但是这并没有意义,因为模型仍然未学习好。因此此处用无穷小量进行衡量,也即是有:

当然,由于此处的n nn有实际的模型含义(一个step),也就是说其实应该是n → 1 n\rightarrow 1n→1,也就是只有1个step的参数更新。对此我们对损失进行一阶泰勒展开有:

结合(1-5)和(1-7)我们有:

因此有:

Fig 1.3 定义出OGR以描述该模态模型下的过拟合与泛化情况。

此时我们对每个模态的梯度​ 进行预估,这个预估通过各模态对应的分类器梯度反向求导得到,表示为​ ,当满足,其中时,并且给定约束,我们的对求最小值以求得最佳的模态均衡参数,表示为(1-10):

原文[1]中对其进行了解析解的证明,这里就不展开了,其解析解如(1-11):

其中 是标准化常数项。由此可计算出最佳的模态均衡系数,回答了我们之前提出的第一个问题。

在实践中,再强调下,正如一开始所说的,无法得到,因此通常会从训练集中划出一部分V作为子集去验证,得到 ,用此去近似。此时我们可以正式去描述Gradient-Blending(GB)算法了,我们的数据集包括训练集T TT,训练集中划出来的验证集V,k 个输入模态 以及一个多模态拼接得到的特征 。对于GB算法来说,有两种形式:

离线Gradient-Blending: 只计算一次模态均衡参数,并且在以后的训练中都一直固定。在线Gradient-Blending: 将会定期(比如每n个epoch-也称之为super epoch)更新,并且用新的模态均衡参数参与后续的训练。

Fig 1.4 Gradient-Blending用于模态均衡系数估计;离线与在线Gradient-Blending。

离在线GB算法和GB估计模态均衡参数的算法见Fig 1.4,作者发现采用了GB估计模态均衡参数后,无论是离线还是在线的G-Blend结合了多模态分类模型训练后,效果都比单模态模型有着显著的提升,并且离线效果仅仅比在线效果差一些,而在线G-Blend的计算代价远比离线高,因此后续的实验都是用离线G-Blend展开的。

Fig 1.8 (a)单模态之间有着更为细粒度的知识;(b)在多模态训练中容易被『遗忘』。

Reference

[1]. Wang, W., Tran, D., & Feiszli, M. (2020). What makes training multi-modal classification networks hard?. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 12695-12705).

[2]. https://blog.csdn.net/LoseInVain/article/details/105545703, 《万字长文漫谈视频理解》 by FesianXu

[3]. https://fesian.blog.csdn.net/article/details/120364242, 《图文搜索系统中的多模态模型:将MoCo应用在多模态对比学习上》 by FesianXu

[4]. https://fesian.blog.csdn.net/article/details/119516894, 《CLIP-对比图文多模态预训练的读后感》 by FesianXu

[5]. https://fesian.blog.csdn.net/article/details/121699533, 《WenLan 2.0:一种不依赖Object Detection的大规模图文匹配预训练模型 & 数据+算力=大力出奇迹》 by FesianXu 

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 51
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧