Multimodal Representation Learning by Alternating Unimodal Adaptation
论文链接:
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包含三个关键阶段:交替单模态学习、学习跨模态信息而不遗忘模态以及测试时动态模态融合。
具体来说,在训练阶段(图 1(a)),该方法交替学习每种模态的编码器,同时使用共享头维护跨模态信息。然后,引入了一种梯度修改机制,以防止共享头忘记以前学习到的模态信息。在推理过程中,MLA方法通过评估每种模态预测的不确定性来动态融合多模态信息(图 1(b))。这种机制的动机是这样的假设:当一种模态在其预测中表现出更高的不确定性时,它更容易产生错误的预测。
交替单模态学习
交替单模态学习范式中每个模态都经历一个独立的优化过程,消除了模态之间的干扰,从而使每个模态都能充分发挥其潜力,而不会被信息量较大的模态所掩盖。
考虑用 M 个模态解决多模态学习问题,其中第 m 个模态的数据集表示为 。这里, 表示 m 中的示例数量,每个模态都与一个预测函数相关联,公式为 ◦,其中函数 用作模态特定编码器,函数 g 表示所有模态的共享头。给定 T 个总训练步骤,该模型仅从一种模态接收数据。时间步 t 处的输入模态 如下:
在每个训练步骤 t 中,通过最小化相应单模态数据 中训练示例的预测风险 来迭代优化多模态模型:
这使得 MLA 能够捕获所有可用模态的丰富表示,同时避免多模态模型仅学习主导模态信息(即模态惰性)。还值得注意的是,MLA 在训练阶段不需要配对多模态数据,这使得它非常适合模态极度惰性的场景,例如缺少模态的学习。
无需遗忘模态即可学习跨模态信息
受权重修改方法的启发,文中通过在每次迭代t引入梯度修改矩阵来解决模态遗忘问题,以在开始学习新模态之前纠正共享头g的参数的梯度。这种梯度修改确保参数更新方向与来自先前模态的编码特征所跨越的平面正交。因此,我们确保将梯度应用于一种模态对其先前模态的干扰最小。具体地,迭代t期间共享头g的参数的优化过程定义如下:
利用递归最小二乘算法获得梯度修正矩阵 。编码器的平均输出定义为:
假设 s 表示编码器输出的维度。在每次迭代 t 时,得到相应的修正矩阵 如下:
测试时动态模态融合
在训练过程中学习了特定于模态的编码器和共享头之后,我们关注如何有效地整合多模态信息以在推理时间进行预测。为了实现这种多模态融合,这里采用了每种模态预测的加权组合。具体来说,对于给定的测试示例 ,涉及 M 种模态,计算其预测如下:
其中 表示模态 m 在预测测试示例 r 的标签中的重要性。参数 θ 和 分别是与编码器 和共享头 g 相关的优化值。
实验结果
表 1.音频-视频 (AV)、图像-文本 (IT) 和音频-图像-文本 (AIT) 数据集上的结果。列出了仅使用单一模态的结果和结合所有模态(“多模态”)的结果。我们报告了三个随机种子的平均测试准确率 (%)。最佳结果和第二佳结果分别以粗体和下划线表示。
表 2.使用三种不同种子在 IEMOCAP 数据集上的测试准确率百分比 (%),同时将不同的模态缺失率应用于音频、图像和文本数据。
表 3.五个数据集上的消融研究结果。请注意,动态融合仅适用于多模态融合过程,不会影响使用单一模态的性能。HGM:头部梯度修正;DF:动态融合。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。