CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

Dr. Sun  2024年10月15日 10:00 英国

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

点击上方蓝字关注我们

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

Multimodal Representation Learning by Alternating Unimodal Adaptation

作者: Xiaohui Zhang, Jaehong Yoon, Mohit Bansal, Huaxiu Yao

作者单位:

UNC-Chapel Hill

论文链接:

https://arxiv.org/pdf/2311.10707

代码链接:

https://github.com/Cecile-hi/Multimodal-Learning-with-Alternating-Unimodal-Adaptation

简介

现有的多模态学习方法在学习过程中,某些模态似乎比其他模态更占主导地位,导致性能不佳。为了应对这一挑战,文中提出了 MLA(交替单模态适应的多模态学习)。MLA 通过将传统的联合多模态学习过程转变为交替单模态学习过程来重构传统联合多模态学习过程,从而最大限度地减少模态之间的干扰。同时,它通过共享头捕获跨模态交互,该共享头在不同模态之间进行持续优化。该优化过程由梯度修改机制控制,以防止共享头丢失先前获取的信息。在推理阶段,MLA 利用基于测试时间不确定性的模型融合机制来整合多模态信息。分别在模态完整场景和模态缺失场景证明了 MLA 优于之前的方法。

研究动机

(1)最近的多模态学习方法往往难以充分整合不同模态的丰富多模态知识,其中一个关键因素是模态惰性。在多模态表示学习中,某些模态比其他模态更占主导地位,因此模型将针对这些占主导地位的模态进行优化,而倾向于忽略其他模态,从而导致性能次优。这是因为收集到的多模态数据通常彼此之间没有很好地纠缠在一起,或者它们的数据大小各不相同。在更极端的情况下,根据数据收集阶段的条件,关键模态数据可能会丢失。

(2)已有研究试图在优化过程中平衡主导模态和从属模态的影响。然而,这些方法需要联合优化不同的模态来同时更新多个特定于模态的编码器,这在一定程度上降低了对从属模态的适应性,从而限制了整体的多模态性能。

因此,文中旨在以一种概念上不同的方式解决这个问题,将传统的多模态联合优化场景分解为交替单模态学习场景,从而提出一种交替单模态适应的多模态学习(MLA)方法。MLA 的关键思想是交替优化每种模态的编码器,同时整合跨模态信息

论文贡献

引入了一种创新的交替单模态优化方法 MLA,用于多模态学习。这种方法不仅能够实现每个模态内相对独立的优化,而且还保留了跨模态交互。

MLA 还适用于学习过程中涉及完整和缺失模态的场景。在这两种情况下,实验结果都表明,与最佳先前方法相比,MLA 在解决模态懒惰和提高多模态学习性能方面很有前景。此外,MLA 还可以扩大模态差距,从而进一步深入了解其实现的性能改进。

MLA方法

受不同模态信息不平衡的挑战的推动,MLA 旨在将传统的多模态数据联合训练方案重新构建到交替单模态学习框架的背景下,如图1所示。MLA包含三个关键阶段:交替单模态学习、学习跨模态信息而不遗忘模态以及测试时动态模态融合。

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

具体来说,在训练阶段(图 1(a)),该方法交替学习每种模态的编码器,同时使用共享头维护跨模态信息。然后,引入了一种梯度修改机制,以防止共享头忘记以前学习到的模态信息。在推理过程中,MLA方法通过评估每种模态预测的不确定性来动态融合多模态信息(图 1(b))。这种机制的动机是这样的假设:当一种模态在其预测中表现出更高的不确定性时,它更容易产生错误的预测

交替单模态学习

交替单模态学习范式中每个模态都经历一个独立的优化过程,消除了模态之间的干扰,从而使每个模态都能充分发挥其潜力,而不会被信息量较大的模态所掩盖。

考虑用 M 个模态解决多模态学习问题,其中第 m 个模态的数据集表示为 。这里, 表示 m 中的示例数量,每个模态都与一个预测函数相关联,公式为 ◦,其中函数  用作模态特定编码器,函数 g 表示所有模态的共享头。给定 T 个总训练步骤,该模型仅从一种模态接收数据。时间步 t 处的输入模态  如下:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

在每个训练步骤 t 中,通过最小化相应单模态数据  中训练示例的预测风险  来迭代优化多模态模型:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

这使得 MLA 能够捕获所有可用模态的丰富表示,同时避免多模态模型仅学习主导模态信息(即模态惰性)。还值得注意的是,MLA 在训练阶段不需要配对多模态数据,这使得它非常适合模态极度惰性的场景,例如缺少模态的学习。

无需遗忘模态即可学习跨模态信息

受权重修改方法的启发,文中通过在每次迭代t引入梯度修改矩阵来解决模态遗忘问题,以在开始学习新模态之前纠正共享头g的参数的梯度。这种梯度修改确保参数更新方向与来自先前模态的编码特征所跨越的平面正交。因此,我们确保将梯度应用于一种模态对其先前模态的干扰最小。具体地,迭代t期间共享头g的参数的优化过程定义如下:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

利用递归最小二乘算法获得梯度修正矩阵 。编码器的平均输出定义为:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

假设 s 表示编码器输出的维度。在每次迭代 t 时,得到相应的修正矩阵  如下:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

测试时动态模态融合

在训练过程中学习了特定于模态的编码器和共享头之后,我们关注如何有效地整合多模态信息以在推理时间进行预测。为了实现这种多模态融合,这里采用了每种模态预测的加权组合。具体来说,对于给定的测试示例 ,涉及 M 种模态,计算其预测如下:

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

其中  表示模态 m 在预测测试示例 r 的标签中的重要性。参数 θ 和  分别是与编码器  和共享头 g 相关的优化值。

实验结果

表 1.音频-视频 (AV)、图像-文本 (IT) 和音频-图像-文本 (AIT) 数据集上的结果。列出了仅使用单一模态的结果和结合所有模态(“多模态”)的结果。我们报告了三个随机种子的平均测试准确率 (%)。最佳结果和第二佳结果分别以粗体和下划线表示。

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

表 2.使用三种不同种子在 IEMOCAP 数据集上的测试准确率百分比 (%),同时将不同的模态缺失率应用于音频、图像和文本数据。

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

表 3.五个数据集上的消融研究结果。请注意,动态融合仅适用于多模态融合过程,不会影响使用单一模态的性能。HGM:头部梯度修正;DF:动态融合。

www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!
www.zeeklog.com  - CVPR 2024|突破模态瓶颈!交替单模态适应引领多模态表示学习,攻克模态惰性与遗忘难题!

致谢作者,关于论文的详细实施过程和具体解释请阅读论文原文哦~❤️❤️  转载请注明出处

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk