论文链接:
https://papers.neurips.cc/paper_files/paper/2023/file/c89f09849eb5af489abb122394ff0f0b-Paper-Conference.pdf
代码链接:
https://github.com/haihuangcode/CMG
简介
多模态表示学习中的现有方法更多地关注粗粒度对齐或依赖于来自不同模态的信息完全对齐的假设,然而,在现实场景中很难实现完全一致的信息对齐。 因此,作者提出一种称为跨模态泛化(CMG)的新任务,解决在预训练期间从成对多模态数据中学习统一离散表示的挑战。在下游任务中,当仅标记一种模态时,模型可以在其他模态中实现零样本泛化能力。 该模型称为Uni-Code,其中包含两个关键贡献:对偶跨模态信息解偶(DCID)模块和多模态指数移动平均(MM-EMA),以实现模态之间的双向监督,并在共享的离散潜在空间中对齐语义等有效信息,从而实现多模态序列的细粒度统一表示。在预训练过程中,文中研究了各种模态组合,包括视听、音频-文本以及视听-文本的三模态组合。在各种下游任务(即跨模态事件分类、定位、跨模态检索、基于查询的视频分割和跨数据集事件定位)的广泛实验证明了提出的方法的有效性。
研究动机
如图1所示,无约束视频中的视觉信息包括喵叫和狗吠事件,而音频信息包括女人说话和狗吠事件。直接应用以前的方法会导致缺乏共享语义的多模态信息的不准确映射。为了解决这一局限性,文中主要关注多模态序列的细粒度、统一表示的实现。从两个关键方面解决这个新问题:
1)跨不同模态提取具有相同语义的信息,同时减轻模态特定细节的影响;
2)使用统一的码本以共享语义表示这些不同的模态。之前的大多数工作主要关注第二个方面,而忽略了第一个方面的重要性,文中认为这对于实现跨模态泛化至关重要。
问题定义——跨模态泛化任务
给定一组成对的多模态数据 ,大小为 N,其中 A、B、C 等代表不同的模态,模态泛化(CMG)任务旨在在预训练阶段将这些不同的模态映射到统一的离散空间中,使离散的潜在代码能够在具有相同语义的不同模态之间共享。随后,在下游任务中,当只有一种模态(例如模态 A)有注释信息时,模型可以基于预训练过程中获得的共享离散空间将从 A 模态学到的知识转移到其他模态(例如模态 B 和 C)。训练以实现零样本泛化能力
统一表示学习
与之前简单地从成对模态中提取信息然后直接映射的工作不同,作者认为统一表示的成功在于提取模态不可知的语义特征。因此,从两个角度实现这一目标:首先,引入一个 DCID 模块,旨在提取细粒度的语义信息并将其与每个模态内相应的模态特定信息分开。其次,通过VQ-VAE将提取的语义特征压缩为离散变量,通过重构损失确保压缩后的离散变量仍然可以包含原始语义信息。为了简单起见,文中以两种方式为例来说明该过程。图 2 给出了所提出方法的框架。
对偶跨模态信息解偶
DCID 模块包含两部分:每个模态中模态不可知的语义特征和模态特定特征之间的互信息(MI) 最小化(CLUB),以及跨不同模态的模态不可知的语义特征之间的 MI 最大化(Cross-CPC)。
基于CLUB的MI最小化: 与尝试优化MI下界的方法(例如InfoNCE和MINE)相比,CLUB可以有效优化MI上界,在信息解偶方面表现出优越的优势。给定两个变量 x 和 y,CLUB 的目标函数定义为:
其中 是给定 x 的 y 的真实后验的变分近似,并且可以通过网络 θ 进行参数化。我们使用 CLUB 来优化语义特征 和模态特定特征 , 之间的 MI 上界,将 修改为时间版本:
预训练时,近似网络和主网络交替优化。最后,可以减少每种模态中语义信息和模态特定信息之间的相关性。然而,仅仅使用 CLUB 最小化互信息对模型识别相关语义特征提出了挑战。鉴于配对的多模态信息可以提供相互指导并充当彼此的监督信号,作者设计了Cross-CPC 方法来缓解这个问题。
Corss-CPC 实现 MI 最大化: 对比预测编码(CPC)可以通过使用自回归模型预测未来样本来最大化序列中相邻项目之间的互信息,已广泛应用于自监督学习。而对于人类来说,我们不仅可以根据当前的模态预测后续场景,还能够关联其他模态中可能发生的潜在情况。例如,人们可以根据当前观看的视频片段或阅读文本推断即将到来的听觉信息,或者通过感知音频部分来想象后续场景。受此启发,文中将 CPC 扩展到跨模态压缩预测。给定语义特征,,K 个步骤的预测和随机时间矩 ,首先使用两个单层单向 LSTM 来总结所有 , 的信息并获得两个上下文表示为
对于模态 A,首先从模态 B 中选择一组 N-1 个随机负样本和一个正样本 的集合 ,然后使用 来预测模态 B 中的第 k 个未来步骤 ,并且模态 A 的 InfoNCE 损失可以优化为:
其中 是不同步骤 k 的线性投影矩阵。模态 B 的优化 反之亦然。在此基础上,可以通过细粒度的跨模态预测相互提取跨不同模态的具有相同语义的特征。
多模态指数移动平均
MM-EMA允许不同的模态迭代地充当师生并在量化过程中相互更新。首先,使用交叉注意力从相反模态中提取相关信息,以模态A为例:,其中是查询,是键和值。向量包含从 派生的语义信息,与 表现出很强的相关性,同时还保留了模态 B 的内在属性。因此,它可以作为 EMA 期间促进模态 A 与模态 B 对齐的中间程序。
给定一个码向量 ,可获得模态 的 个语义向量和模态 的 个语义向量,并量化为 :
承诺损失可以使用码向量(从 量化)作为教师,引导编码器不仅逼近 ,而且收敛到 与a一定的比例。在训练过程中,潜在空间中不同模态之间的距离逐渐减小。
训练和下游任务
预训练框架的全部目标是所有上述目标函数的组合:
其中是,促进模态之间的对齐。除 外,所有这些目标都整合了两种模态。经过训练,可以获得一个统一的离散潜在空间。
部分实验结果
该模型与最先进的方法在两个下游任务(跨模态事件分类和定位)上进行比较,所有这些模型都是使用视听模态在三种不同大小的数据集上进行预训练的。如表 1 所示,提出的方法在三种设置上可以优于所有以前的工作。基线结果表明,在没有任何约束的情况下,模型在预训练期间学习不同模态之间的对齐关系具有挑战性,导致下游任务的性能不佳。此外,实验结果还表明,在这种不受约束的视听对齐中仅采用这些最先进的方法具有相当大的局限性。然而,当与提出的 DCID 模块合并时,这些模型在下游任务中表现出显著的提升。这进一步表明文中提出的 DCID 可以有效地解耦不同模态的语义信息。
与之前只能将两种模态对齐在一起的工作相比,所提出方法可以解开并对齐三种模态的语义信息,如表3所示。从结果可以看出,删除这些模块将导致预训练模型在下游任务上的性能。但是,与两种模态的统一表示相比,去除这些模块导致模型性能的下降较小。文中认为原因是第三种模态的引入可以促进其他两种模态相互接近,并且在三种模态上预训练的模型的性能显著高于在两种模态上预训练的模型,这也说明这一点。
如何学习大模型 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 的正确特征了。