Balanced Multimodal Learning via On-the-fly Gradient Modulation

news2024/11/17 19:53:06

在这里插入图片描述

摘要

多模态学习通过整合不同的感官,有助于全面理解世界。因此,多种输入模式有望提高模型的性能,但我们实际上发现,即使多模态模型优于其单模态模型,它们也没有得到充分利用。具体地说,在本文中,我们指出现有的多模态鉴别模型,即为所有模态设计统一的目标,在某些情况下,可能保持欠优化的单模态表示,如吹风事件中的声音,绘画事件中的视觉等。为了缓解这种优化不平衡,我们提出了动态梯度调制,通过监测它们对学习目标的贡献的差异,自适应地控制每个模态的优化。此外,还引入了一个动态变化的额外高斯噪声,以避免梯度调制可能引起的泛化下降。因此,在不同的多模态任务上,我们比常见的融合方法取得了相当大的改进,这种简单的策略也可以提高现有的多模态方法,这说明了它的有效性和多功能性。

介绍

人们通过协同利用多种感官来感知世界:眼睛看,耳朵听,手触摸。这种多模式的方式可以从不同的方面提供更全面的信息。受人类的多感官整合能力的启发,从不同传感器收集的多模态数据在机器学习中更容易被考虑。近年来,多模态学习在提高以往单模态任务的性能以及解决动作识别、视听语音识别、视觉问答等新的挑战性问题方面表现出了明显的优势。与单模态数据相比,多模态数据通常提供更多的视图,因此使用多模态数据的学习应该匹配或优于单模态情况。然而,根据最近的研究,在某些情况下,优化所有联合训练策略的统一学习目标的多模态模型可能不如单峰模型。这种现象违反了通过整合来自多种模式的信息来提高模型性能的意图。以往的研究人员声称,不同的模式倾向于以不同的速度收敛,导致不协调收敛问题。为了解决这一问题,一些方法利用额外的单模态分类器或预先训练好的模型来帮助训练多模态模型。因此,它们不可避免地需要额外地训练额外的神经模块。

然而,我们进一步发现,即使多模态模型优于单模态模型,它们仍然不能充分利用多种模态的潜力。

如图1所示,联合多模态模型在VGGSsound上取得了最好的事件分类性能,但其视觉和音频模态的性能明显分别低于仅视觉模型和仅音频模型1。这一有趣的观察结果表明,这两种模式的表现都优化不足。我们认为原因可能是,在一些多模态场景中,主导的具有更好的性能(例如,风声,踢足球的视觉等)。会抑制另一个人的优化。

在这里插入图片描述

此外,如图1(a)和(b)所示,还有另一个明显的观察精度下降更明显的视觉模式与音频情况相比,这与VGGSound,作为一个策划声音数据集,更喜欢音频模式,甚至声源保证是可见的。一般来说,这样的数据集偏好会导致一种模态通常占主导地位,从而导致这种优化不平衡的现象。为了解决上述问题,我们首先从优化的角度分析了不平衡现象,发现性能较好的模态有助于降低联合鉴别损失,然后通过在其他模态上传播有限的梯度来主导优化过程,从而导致优化不足的情况。然后,为了缓解这种情况,我们提出通过动态梯度调制(OGM)策略来控制每个模态的优化过程。具体来说,在训练过程中,动态监测不同模态对学习目标的贡献差异,然后利用其自适应地调节梯度,为优化不足的模态提供更多的努力。然而,调制后的梯度可以降低随机梯度噪声的强度,这已被证明与泛化能力呈正相关。因此,我们进一步引入了动态变化的额外高斯噪声来实现泛化增强(GE)。将我们的OGM-GE方法应用于图1中VGGSsound的多模态学习任务后,我们得到了未充分优化的单模态表示的一致性能提升,即图1(a)和(b).中的蓝色曲线。更重要的是,视觉形态获得了更多的改进。因此,我们的方法在多模态学习设置中明显优于传统的方法,如图1©.所示。为了全面证明OGM-GE的有效性,我们在不同数据集上的各种多模态任务中测试了它,这带来了一致的改进,同时使用普通融合策略和现有的多模态方法。

综上所述,我们的贡献如下:

  • 我们发现联合多模态模型的性能限制了联合多模态模型的优化不平衡现象,然后从优化的角度对其进行了分析。
  • 提出了该方法,通过动态控制各模态的优化过程,提高泛化能力来解决优化不平衡问题。
  • 所提出的OGM-GE不仅可以插入普通的融合策略,还可以插入现有的多模态框架,并带来持续的改进,表明其很有前途的多功能性。

相关工作

Multimodal learning

Imbalanced multimodal learning

Stochastic gradient noise

认为SGD的梯度噪声与深度模型的泛化能力有重要的相关性。这种随机梯度噪声是通过随机小批量抽样引入的,被认为是一种正则化方法,帮助模型摆脱鞍点或局部最优。Zhou等人进一步提供了理论证明,证明随机梯度算法结合适当的高斯噪声,保证通过随机初始化在多项式时间内收敛到全局最优。在本工作中,为了提高多模态模型的生成能力,我们在梯度中引入了额外的高斯噪声,并取得了相当大的改进。

方法

Optimization imbalance analysis

通过对优化不平衡现象的分析,发现多模态模型的优化过程主要由性能较好的模态所主导,导致另一种模态的优化不足。这里我们以音频和视觉模式为例。为方便起见,我们表示训练数据集 D = { x i , y i } i = 1 , 2... N D = \{x_i,y_i\}_{i=1,2...N} D={xiyi}i=1,2...N。每个xi由两个来自不同模式的两个输入组成,如 x i = ( x i a , x i v ) x_i=(x^a_i,x^v_i) xi=(xiaxiv),其中a和v分别表示音频和视觉模式。 y i ∈ { 1 , 2 , ⋅ ⋅ ⋅ , M } y_i∈\{1,2,···,M\} yi{12⋅⋅⋅M},其中,M是类别的数量。我们使用两个编码器 φ a ( θ a , ⋅ ) φ^a(θ^a,·) φaθa φ v ( θ v , ⋅ ) φ^v(θ^v,·) φvθv来提取特征,其中 θ a θ^a θa θ v θ^v θv是编码器的参数。例如,我们以最广泛使用的普通融合方法,连接,作为例子2。设 W ∈ R M × ( d φ a + d φ v ) W∈R^{M×(d_{φa}+d_{φv})} WRM×(dφa+dφv) b ∈ R M b∈R^M bRM表示最后一个线性分类器的参数。然后,多模态模型的对数输出如下:

在这里插入图片描述

为了单独观察每个模态的优化过程,W可以表示为两个块的组合:$ [Wa,Wv ]$。方程1可以改写为:
在这里插入图片描述

我们将类c的logits输出表示为 f ( x i ) c f(x_i)_c f(xi)c,而判别模型的交叉熵损失变为在这里插入图片描述

使用梯度下降(GD)优化方法, W a W^a Wa和编码器 φ a ( θ a , ⋅ ) φ^a(θ^ a,·) φaθa的参数更新为(类似于 W v W^v Wv φ v ( θ v , ⋅ ) φ^ v(θ^ v,·) φvθv):

在这里插入图片描述

其中,η为学习率。根据公式3和公式4,我们可以发现 W a W^a Wa φ a φ^a φa的优化除了与训练损失 ∂ L / ∂ f ( x i ) ∂L/∂f(x_i) L/f(xi)相关的优化外,与其他模态的优化几乎没有相关性。因此,单模态编码器很难根据彼此之间的反馈进行调整。然后结合方程2,梯度 ∂ L / ∂ f ( x i ) ∂L/∂f(x_i) L/f(xi)可以重写为:

在这里插入图片描述

为了方便起见,我们将 φ a ( θ a , ⋅ ) φ^a(θ^ a,·) φaθa φ v ( θ v , ⋅ ) φ^ v(θ^ v,·) φvθv分别简化为 φ i a φ^a_i φia φ i v φ^v_ i φiv。然后,我们可以推断,对于属于 y i y_i yi类的样本 x i x_i xi,当一种模态,如视觉模态,具有更好的性能时,它通过 W v ⋅ φ i v W^v·φ^ v_ i Wvφiv ∂ L / ∂ f ( x i ) y i ∂L/∂f(x_i)_{y_i} L/f(xi)yi的贡献更大,从而降低全局损失。因此,音频模态对正确类别相对较低的可信度,可以获得有限的优化努力w.r.t.其在反向传播过程中的模态特定参数。这一现象表明,性能较好的模态在优化过程中占主导地位。因此,当多模态模型的训练即将收敛时,另一种模态仍可能出现表示优化不足的情况,需要进一步的训练。

On-the-fly gradient modulation

如前所述,多模态判别模型的优化过程通常以性能较好的模态为主导,导致表示优化不足,限制了模型的性能。为了解决这个问题,我们的目标是通过OGM策略来修改每个模态的优化过程,如图2所示。

在这里插入图片描述

在本节中,我们将遵循第3.1节中的符号。编码器 φ u φ^u φu的参数 θ u θ^u θu,其中 u ∈ { a , v } u∈\{a,v\} u{av},更新如下:

在这里插入图片描述

在实际应用中,我们采用了广泛使用的随机梯度下降(SGD)优化方法,并将参数更新为:

在这里插入图片描述

其中, g ˜( θ u t ) = 1 / m Σ x ∈ B t ∇ θ u ℓ ( x ; θ u t ) g˜(θ^t_ u)=1/mΣ_{x∈B_t}∇{θ^u}ℓ(x;θ^t_ u) g˜θut=1/mΣxBtθu(xθut)是对全梯度 ∇ θ u L ( θ t u ) ∇_{θ^u} L(θ^ u_ t) θuLθtu的无偏估计。 B t B_t Bt是一个随机的小批,在第t步中选择,大小为m, ∇ θ u ℓ ( θ t u ) ∇_{θ^u} ℓ(θ^ u_ t) θuθtu是梯度w.r.t. B t B_t Bt.

针对第3.1节中讨论的优化不平衡问题,我们建议通过监测每个模态对学习目标的贡献的差异,来自适应地调制每个模态的梯度。这里我们设计了差异比 ρ t u ρ ^u_ t ρtu

在这里插入图片描述

ρ t a ρ^ a_ t ρta因此被定义为 ρ t v ρ^ v_ t ρtv的倒数。这里我们使用 ( W i u ⋅ φ i ( θ u , x i u ) + b / 2 ) (W_i^ u·φ_i(θ^ u,x^u_ i)+ b/ 2) Wiuφiθuxiu+b/2作为模态u的近似预测,来估计多模态模型的单模态性能。通过 ρ t u ρ ^u_ t ρtu来动态监测音频和视觉模式之间的贡献差异,我们能够通过以下方式自适应地调节梯度:
在这里插入图片描述

其中,α是用来控制调制程度的一个超参数。我们将系数 k t u k_t^ u ktu整合到SGD优化方法中,迭代t中的 θ t u θ_t^ u θtu更新如下:

在这里插入图片描述

通过 k t u k_t^ u ktu,减轻了性能更好的模态( ρ t u ρ ^u_ t ρtu > 1)的优化,而另一种模态不受影响,能够摆脱有限的优化努力,获得足够的训练。采用带有OGM策略的SGD优化方法,分别控制了各模态的优化过程,缓解了不平衡问题。

Generalization enhancement

在SGD优化方法中,根据中心极限定理,当批大小m足够大时,式7中的梯度 g ˜( θ t u ) g˜(θ_t^ u) g˜θtu服从高斯分布,即
在这里插入图片描述

则方程7可以改写为,其中 ξ t ξ_t ξt为噪声项:

在这里插入图片描述

定理1 (SGD泛化能力)。SGD中的噪声与其泛化能力密切相关,较大的SGD噪声往往导致更好的泛化。SGD噪声的协方差与学习率与批处理大小的比值成正比。

根据定理1,梯度协方差(方程14中的 ξ t ξ_t ξt)值越高,往往会带来更好的泛化能力。当我们使用系数 k t u k_t^ u ktu来调节梯度时, θ u θ^u θu被更新为:

在这里插入图片描述

其中, η ∇ θ u L ′ ( θ t u ) = k t u ⋅ η ∇ θ u L ( θ t u ) η∇_{θ^u} L'(θ_t ^u)= k_t^ u·η∇_{θ^u} L(θ_t^ u) ηθuLθtu=ktuηθuLθtu。根据方程10, k t u k_t^ u ktu∈(0,1]。当然,当学习率和批量大小固定时, ξ ′ t ξ't ξt的协方差小于原始 ξ t ξ_t ξt。降低SGD优化方法的泛化能力。因此,需要开发一种控制SGD噪声的方法,恢复泛化能力。

为了增强SGD噪声,我们引入了一种简单但有效的推广增强(GE)方法,该方法将一个随机采样的高斯噪声 h ( θ t u ) ∼ N ( 0 , Σ s g d ( θ t u )) h(θ_t^ u)∼N(0,Σ^{sgd}(θ_t^ u)) hθtuN0Σsgdθtu))添加到梯度中,它具有与 g ˜( θ t u ) g˜(θ_t^ u) g˜θtu相同的协方差,并根据当前的迭代动态变化。然后,结合OGM方法,将 θ t u θ_t^ u θtu更新为:

在这里插入图片描述

其中, ϵ t ∼ N ( 0 , Σ s g d ( θ t u )) ϵ_t∼N(0,Σ^{sgd}(θ_t^ u)) ϵtN0Σsgdθtu))。由于 ϵ t ϵ_t ϵt ξ t ξ_t ξt是独立的,所以方程16可以重写为:

在这里插入图片描述

因此,SGD噪声的协方差被恢复,甚至增强。我们在算法1中提供了总体的OGM-GE策略,管道如图2所示。结合我们的策略,多模态模型的优化可以更加平衡,保证对各模态的泛化能力。

在这里插入图片描述

实验

作者实验部分表格分散,大家有需要可以去看论文。

在这里插入图片描述

消融

为了进一步分析OGM-GE,我们监测了训练过程中差异比的变化。如图1所示,经过调制后,多模态模型下的视听模态的性能都得到了改善。一个有趣的观察结果是,我们的方法一开始的表现不如其他方法,但最终的表现优于其他方法。这是因为我们以更好的性能调制梯度,减轻模态的优化,通过此我们的方法可以进一步利用其他模态的信息,最终获得改进。此外,从图3中可以看出,应用OGM-GE后,差异比ρa明显降低,这是我们的方法有效性的具体证据。然而,需要注意的是,这两种模式对学习目标的贡献通常不相同,因为在各种管理数据集中存在自然不平衡,因此这两种模式对学习目标的自然不平衡。表1和图1中的结果也可以说明这一点。

在这里插入图片描述

还有其他消融,具体看论文。

总结

在本文中,我们提出了一种简单而有效的多模态学习策略,即基于广义增强的动态梯度调制(OGM-GE),以缓解优化不平衡问题,促进这两种模式的利用。该方法在不同的设置下,在四个具有代表性的多模态数据集上获得了一致的性能增益,通常可以作为普通融合方法和专门设计的融合方法以及现有多模态模型的灵活插件策略。

  • 限制。然而,仍然存在一个未解决的问题,即使配备了OGM-GE,在多模态模型中的单模态性能仍然不能超过最佳的单模态模型。我们假设,仅仅利用面向优化的方法并不能彻底解决不平衡问题,因此必须研究不同的方法,如更先进的融合策略或网络架构。我们把这个有趣的挑战留给了未来的工作。此外,OGM-GE的多功能性表明,它在更多模态场景中具有巨大的潜力,可能包括深度、光流、语言等。

  • 更广泛的影响。所提出的方法是在可能包含偏差的管理数据集上进行训练的,导致模型不可避免地学习到这些信息。这个问题值得进一步考虑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/826923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xilinx noc路由 axi smartconnect

s00先看勾选了谁,可以勾选多个master 口,然后看address命中那个; 最终只能去其中一个 如果没有勾选,即使地址命中也不能过去; smartconnect 替换了interconnect了; 路由是看address editor中的addr去路由&…

v-for为什么要设置key值及为什么不建议使用index作为key

为什么要设置key值 提高diff算法的效率,可以更加快捷找出变化和新增的元素,更高效的更新虚拟DOM(key是给每一个vnode的唯一id,可以依靠key,更准确, 更快的拿到oldVnode中对应的vnode节点。) 为什么不建议使用index作为key 以下面代码为例&…

思维导图在问题解决中的应用:分析问题、找出解决方案的思维导图

思维导图是一种可视化思维工具,他结构化的的图形方式,可以帮助我们快速捕捉关键信息。避免信息的冗杂。 如今思维导图已经运用于生活以及我们工作的各个领域。不限于教育、项目管理、商业、金融、法律等行业。它分支结构的方式,将中心思想置于…

2023年华数杯数学建模

一、比赛背景 为了培养学生的创新意识及运用数学方法和计算机技术解决实际问题的能力,中国未来研究会大数据与数学模型专业委员会、天津市未来与预测科学研究会大数据分会决定举办华数杯全国大学生数学建模竞赛。竞赛的目标是为培养大学生的科学精神及运用数学解决实…

Java期末复习题库(刷题)

本学期讲java课,进程截止到IO流线程那部分 有题库当然用题库了 顺手自己写一下代码复习一下 关于内存那些事 Java 内存结构 一个知识点:java.lang包下的类都可以直接用不用导入(import)包 判断题 判断题凡是 x(√…

安全防护,保障企业图文档安全的有效方法

随着企业现在数据量的不断增加和数据泄露事件的频发,图文档的安全性成为了企业必须高度关注的问题。传统的纸质文件存储方式已不适应现代企业的需求,而在线图文档管理成为了更加安全可靠的数字化解决方案。那么在在线图文档管理中,如何采取有…

【JAVA】String ,StringBuffer 和 StringBuilder 三者有何联系?

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言StringBufferStringBuffer方法 StringBuilderStringBuilder方法 String ,StringBuffer 和 StringBuilder的区别String和StringBuffer互相转换 前言 在之前的文章…

【数据结构】实现单链表的增删查

目录 1.定义接口2.无头单链表实现接口2.1 头插addFirst2.2 尾插add2.3 删除元素remove2.4 修改元素set2.5 获取元素get 3.带头单链表实现接口3.1 头插addFirst3.2 尾插add3.3 删除元素remove3.4 判断是否包含元素element 1.定义接口 public interface SeqList<E>{//默认…

中兴服务器支持百度“文心一言”,助力AI产业发展

前段时间&#xff0c;中兴和百度正式对外宣布中兴服务器将会支持百度“文心一言”&#xff0c;为其提供更加强劲的算力支撑&#xff0c;从而加速“文心一言”的完事升级与更新迭代&#xff0c;助力AI产业化应用和生态的繁荣发展。   “文心一言”是百度基于文心大模型技术推出…

dubbo配置---重试与版本号

1、重试次数 失败自动切换&#xff0c;当出现失败&#xff0c;重试其它服务器&#xff0c;但重试会带来更长延迟。可通过 retries“2”{默认} 来设置重试次数(不含第一次)。 &#xff08;1&#xff09;在调用端&#xff0c;Reference注解添加属性 retries&#xff0c;设置重试…

P3372 【模板】线段树 1 常规做法

题目 思路 普普通通的线段树做法 代码 #include<bits/stdc.h> using namespace std; const int M1e55; #define lc(x) ((x)<<1) #define rc(x) ((x)<<1|1) #define int long long int n,m; int a[M],sm[M<<2],tag[M<<2]; void pushup(int x) …

Linux系统管理:虚拟机Alpine Linux安装

目录 一、理论 1.Alpine Linux 二、实验 1.Alpine Linux安装 三、问题 1.Alpine Linux 缺少VIM命令 2.Alpine Linux SSH连接不上 3.Alpine Linux IP配置 四、总结 一、理论 1.Alpine Linux &#xff08;1&#xff09;概念 Alpine 操作系统是一个面向安全的轻型 Lin…

Linux 第五章之软件包管理器 yum

一、什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的…

概率论与数理统计复习总结3

概率论与数理统计复习总结&#xff0c;仅供笔者复习使用&#xff0c;参考教材&#xff1a; 《概率论与数理统计》/ 荣腾中主编. — 第 2 版. 高等教育出版社《2024高途考研数学——概率基础精讲》王喆 概率论与数理统计实际上是两个互补的分支&#xff1a;概率论 在 已知随机…

【微服务】springboot整合redis哨兵集群使用详解

目录 一、前言 二、环境准备 三、安装redis 3.1 前置准备 3.1.1 下载安装包 3.1.2 准备依赖环境 3.1.3 上传并解压包 3.2 执行安装 四、搭建redis主从集群 4.1 环境准备 4.2 搭建过程 4.2.1 创建实例文件目录 4.2.2 修改redis.conf配置文件 4.2.3 拷贝配置文件 4…

设计模式之开闭原则

什么是开闭原则? 开放封闭原则称为OCP原则&#xff08;Open Closed Principle&#xff09;是所有面向对象原则的核心。 “开闭原则”是面向对象编程中最基础和最重要的设计原则之一。 软件设计本身所追求的目标就是封装变化、降低耦合&#xff0c;而开放封闭原则正是对这一…

GICI-LIB代码框架学习

一直想要学习多源融合&#xff0c;一直各种琐碎事情耽搁&#xff0c;没有进展。终于&#xff0c;今天以上海交大开源的GNSS/INS/Camera组合导航库为开始。 二话不说&#xff0c;github下载代码后&#xff0c;不编译&#xff0c;不运行&#xff0c;直接vs code打开工程&#xf…

【excel常用文本函数大全上】

目录索引 LEFT&#xff1a;公式&#xff1a;举例&#xff1a; RIGHT&#xff1a;公式&#xff1a;举例&#xff1a; MID&#xff1a;公式&#xff1a;举例&#xff1a; FIND&#xff1a;公式&#xff1a;举例&#xff1a; LEN&#xff1a;公式&#xff1a;举例&#xff1a; LEN…

base64编码转图片

String data"data:image/jpeg;base64,/9j/4T...."; // String data"null";String taskid"4028488c894831fd01894cbf0c6f0033";if(data.equals("")||data.equals("null")){System.out.println("无朝向照片可…

Java IO编程(一)

目录 1.File类 2.字节输入输出流(InputStream Outputstream) 3.Writer与Reader字符输入输出流 4.打印流 1.File类 file类专门用于管理file文件的&#xff0c;比如文件的创建&#xff0c;删除&#xff0c;修改名称等等 以下是File类的常用方法&#xff1a; 方法描述exists()…