Skip to content

多模态①:连接与对齐

核心路径 — 现实世界的信息本质上是多模态的。理解不同模态之间的"连接"与"对齐"是实现通用人工智能的关键一步。

学习目标

完成本讲后,你应该能够:

  1. 解释 多模态学习的"异质性"问题——为什么不同模态的数据无法直接比较
  2. 列举 多模态机器学习的6大核心技术挑战
  3. 描述 对比学习(Contrastive Learning)的核心原理及其在多模态对齐中的应用
  4. 理解 CLIP 如何通过对比学习实现视觉-语言对齐
  5. 识别 跨模态注意力机制如何弥合模态间的语义鸿沟

一、多模态学习的起点:异质性

为什么多模态是困难的?

[[02-基础/02-01-数据与结构|数据与结构]] 告诉我们不同模态的数据具有本质不同的数学结构:

维度文本图像音频
基本单元离散符号(token)连续像素连续采样点
数据结构1D 序列2D 网格1D 波形
信息密度高(每词承载语义)低(大量冗余像素)
语义粒度词→句→段 → 清晰层次像素→边缘→物体→场景 → 模糊帧→音素→词 → 层次交错
变换敏感度排列破坏语义平移/旋转不变时序因果

这种**异质性(heterogeneity)**是多模态学习的根本挑战。不同模态的数据处于不同的向量空间中——文本的词嵌入和图像的像素值即使维度相同,其几何结构和统计性质也完全不可通约。

核心问题: 如何让来自不同模态的信息在同一个表示空间中"对话"?

模态间的连接方式

现实世界中不同模态并非独立存在,而是通过多种方式相互连接:

  1. 共生关系(Co-occurrence):同一场景/事件同时产生的多种模态信号。例如一张照片和它的文字描述、一段视频和它的字幕
  2. 互补关系(Complementarity):不同模态提供关于同一实体的不同侧面信息。例如语音识别中嘴唇动作(视觉)辅助音频信号
  3. 冗余关系(Redundancy):多种模态编码了相同的信息。例如"猫"这个词和一张猫的图像都指向"猫"这个概念
  4. 层次关系(Hierarchy):一种模态在语义上主导另一种。例如文本标签对图像的语义标注

多模态学习的核心任务就是发现和利用这些连接


二、多模态机器学习的6大技术挑战

Liang et al. (2022) 在 Foundations and Trends in Multimodal Machine Learning 中系统提出了多模态学习的6大技术挑战,构成了整个领域的蓝图:

挑战英文核心问题代表方法
① 表征Representation如何学习多种模态的共享表示,使其可比、可组合?CLIP、ALIGN、联合嵌入
② 对齐Alignment如何识别不同模态间元素的对应关系?对比学习、跨模态注意力、DTW
③ 推理Reasoning如何综合多模态信息进行逻辑推理和决策?多模态 Transformer、VL-T5
④ 生成Generation如何跨模态生成内容?DALL·E、Stable Diffusion、Whisper
⑤ 迁移Transference如何将一种模态学到的知识迁移到另一种?Zero-shot 跨模态、LLaVA-Med
⑥ 量化Quantification如何衡量多模态模型的性能和鲁棒性?模态重要性分析、信息分解

① 表征(Representation)

问题: 文本以离散符号表示,图像以连续像素表示。如何将它们映射到一个可比较的联合表示空间?

解决方案: 联合嵌入(Joint Embedding)——将不同模态的数据通过各自的编码器映射到同一向量空间,使得语义相似的跨模态数据在空间中的距离接近。

联合嵌入面临两个关键冲突:

  • 对齐性(Alignment) vs. 完整性(Integrity):对齐不同模态时可能会丢失每个模态独有的信息
  • 紧凑性(Compactness) vs. 表达力(Expressiveness):表示空间越小越容易对齐,但可能损失细节

② 对齐(Alignment)⭐ 本周核心

问题: 给定一张猫的图像和"一只橘猫坐在窗台上"的文字描述,如何建立"图像中的这只猫"和"文字中的'猫'"的对应关系?

对齐是多模态学习的核心纽带,也是本讲的主题。

对齐方法主要分为两类:

方法粒度典型算法优点局限
全局对齐整体CLIP 对比学习计算高效、可扩展丢失细粒度对应关系
局部对齐区域/词跨模态注意力、OT细粒度语义匹配计算成本高、需要监督

③ 推理(Reasoning)

问题: 模型不仅需要"看到"不同模态的信息,还需要组合推理。例如回答"图像中有什么东西可能会发出声音?"就需要理解视觉物体和它们的物理特性。

多模态推理远比单模态推理复杂,因为它需要在异质信息之间建立逻辑链条

④ 生成(Generation)

问题: 给定一种模态的输入,生成另一种模态的输出。例如文本到图像(DALL·E)、图像到文本(图像描述)、语音到文本(Whisper)。

跨模态生成面临的核心挑战是模态鸿沟——生成器的输出空间和输入的表示空间在结构上完全不同。

⑤ 迁移(Transference)

问题: 如何在数据稀缺的场景下,利用一种模态的丰富标注来帮助另一种模态的学习?例如用一个大规模图文预训练模型来帮助医学影像分析。

迁移的核心在于共享的语义空间——如果我们成功构建了跨模态的联合表示,迁移就自然发生。

⑥ 量化(Quantification)

问题: 如何评估多模态模型的性能?简单地在每个模态上单独评测是不够的——我们需要理解模型到底在多大程度上利用了多模态信息

Liang et al. (2023) 提出的多模态信息分解框架将模型的信息源分解为:

  • 唯一信息(Uniqueness):只来自单一模态的独特贡献
  • 冗余信息(Redundancy):多个模态共同提供的重叠信息
  • 协同信息(Synergy):多模态组合后产生的新信息(1+1>2)

三、对齐方法①:对比学习与 CLIP

直觉

对比学习的核心直觉非常直观:

对比学习的黄金法则:拉近相似的、推远不相似的。

形式化地说,给定一个正样本对(语义相关的两个数据点,如同一张图像和它的文字描述)和一批负样本对(不相关的数据点),对比学习的目标是学习一个嵌入函数 $f$,使得正样本对在嵌入空间中距离近、负样本对距离远。

InfoNCE 损失

CLIP 使用的核心损失函数是 InfoNCE(Noise Contrastive Estimation)损失。以视觉-语言为例:

给定一个 batch 的 N 个图像-文本对 ${(I_i, T_i)}$,计算所有 N×N 对之间的余弦相似度矩阵 $S_{ij} = \text{sim}(f(I_i), g(T_j))$,其中 $f$ 是图像编码器(如 ViT),$g$ 是文本编码器(如 Transformer)。

对于每个图像 $I_i$,正样本是其对应的文本 $T_i$,其他 N-1 个文本是负样本:

$$\mathcal{L}I = -\frac{1}{N} \sum^N \log \frac{\exp(S_{ii}/\tau)}{\sum_{j=1}^N \exp(S_{ij}/\tau)}$$

对称地,对每个文本也计算类似的损失 $\mathcal{L}_T$,总损失为 $\mathcal{L} = (\mathcal{L}_I + \mathcal{L}_T) / 2$。

关键设计: 温度参数 $\tau$ 控制对比的"锐利程度"——$\tau$ 越小,模型越聚焦于最难的负样本。

CLIP 架构

CLIP(Contrastive Language-Image Pre-training)由 OpenAI 于 2021 年发布,是对比学习在多模态对齐中的里程碑式工作:

┌──────────┐    ┌──────────┐
│ 图像编码器 │    │ 文本编码器 │
│  (ViT)    │    │ (Transformer) │
└────┬─────┘    └────┬─────┘
     │               │
     ▼               ▼
 图像嵌入向量     文本嵌入向量
     │               │
     └──────┬────────┘

    对比学习(InfoNCE Loss)

       联合表示空间

关键设计决策:

组件选择理由
图像编码器ViT(或 ResNet)对视觉信息进行高质量编码
文本编码器Transformer(仅编码器)捕捉文本的语义和上下文
输出层线性投影到 d 维空间将编码映射到可比较的嵌入空间
训练数据4 亿图文对(网络爬取)规模足够大以保证泛化性
损失函数对称 InfoNCE(Contrastive)同时优化图像→文本和文本→图像对齐
零样本迁移不需要微调,直接推理将迁移能力"内建"到预训练中

CLIP 的惊艳效果: 在 zero-shot 设定下,CLIP 在 ImageNet 上达到了 76.2% 的 Top-1 准确率(无需任何 ImageNet 训练数据),展示了大规模多模态对比预训练的惊人泛化能力。

对比学习的关键洞察

  1. 负样本的质量决定了对齐效果:batch size 越大,负样本越丰富,对齐效果越好。CLIP 使用 32768 的 batch size
  2. 数据增强就是自动构造正样本:同一图像的不同裁剪、颜色变换版本应被视为正样本
  3. InfoMin 原则 (Tian et al., 2020):好的正样本对应保留与下游任务相关的信息,丢弃不相关的信息

四、对齐方法②:跨模态注意力

对比学习做的是全局对齐——整个图像对应整段文本。但对于需要细粒度语义匹配的任务(如视觉问答、指代分割),需要局部对齐机制。

跨模态注意力(Cross-Modal Attention)

跨模态注意力机制允许一种模态中的每个元素去"关注"另一种模态中的相关元素:

$$\text{CrossAttn}(Q_{text}, K_{img}, V_{img}) = \text{softmax}\left(\frac{Q_{text} K_{img}^T}{\sqrt{d}}\right) V_{img}$$

  • Q(Query)来自文本编码器——"这个词要关注什么?"
  • K(Key)来自图像编码器——"图像各区域有什么特点?"
  • V(Value)来自图像编码器——"各区域提供什么信息?"

通过这种方式,模型的文本 token 可以有选择性地聚合图像中相关区域的视觉信息,实现细粒度的语义对齐

对比学习 vs. 跨模态注意力

维度对比学习(CLIP)跨模态注意力
对齐粒度全局(图像-文本整体)局部(区域-词)
计算成本相对较低高(O(n²))
训练范式对比式(push-pull)交互式(信息融合)
代表模型CLIP、ALIGN、SigLIPFlava、UNITER、VLMO
适用场景检索、零样本分类VQA、指代分割、Grounding

重要洞察: 两种方法并非对立。实际上,CLIP 可以作为跨模态注意力模型的视觉编码器(如 LLaVA 用 CLIP 的 ViT 提取图像特征),而跨模态注意力则用于下游任务的精细对齐


五、多模态对齐的开放问题

  1. 模态不平衡:在多模态学习中,某一种模态往往主导学习过程(通常是视觉-语言任务中语言主导)。如何让模型真正利用多种模态的信息仍是开放问题
  2. 细粒度对齐的弱监督:CLIP 只在图像-文本对层面做监督,没有显式地学习区域-词的对应关系。如何从弱信号中学习细粒度对齐仍是一个活跃研究方向
  3. 多模态 vs. 多语言对比学习:当模态扩展到 3+(如图像+文本+音频+触觉),对比学习的设计空间急剧增大——如何定义有效的正负样本对?

这些开放问题将通向 [[03-多模态/03-02-交互与融合|多模态②:交互与融合]] 和 [[03-多模态/03-03-跨模态迁移|多模态③:跨模态迁移]]。


关键概念

概念定义
异质性(Heterogeneity)不同模态的数据在数学结构、统计特性和语义粒度上的本质差异
对齐(Alignment)在不同模态之间建立语义对应关系的过程
对比学习(Contrastive Learning)通过拉近正样本对、推远负样本对来学习有效表示的自监督方法
InfoNCE Loss对比学习中最常用的损失函数,基于噪声对比估计原理
CLIPOpenAI 提出的多模态对比预训练模型,实现视觉-语言的 zero-shot 对齐
跨模态注意力(Cross-Modal Attention)一种模态的元素关注另一种模态中相关元素的注意力机制
联合嵌入(Joint Embedding)将不同模态的数据映射到同一个向量空间的表示学习方法
温度参数 $\tau$控制对比学习损失函数中 softmax 分布锐利程度的超参数

讨论问题

  1. CLIP 使用 4 亿图文对进行对比学习训练。如果要扩展到视频+音频+文本的三模态场景,对比学习的设计空间会发生什么变化?
  2. 对比学习的"负样本"定义对对齐质量至关重要。在哪些任务场景下,负样本的选择变得极其困难甚至存在陷阱?
  3. 跨模态注意力和对比学习各有优劣。有没有可能设计一种兼顾两种方法优势的统一框架?
  4. CLIP 在 zero-shot 分类上表现惊艳,但在细粒度任务(如计数、空间关系理解)上表现不佳。你认为原因是什么?
  5. 多模态对齐中"模态不平衡"问题——如何判断模型是真的在做跨模态理解,还是只是在利用某一种模态的捷径?

延伸阅读

相关笔记

  • [[02-基础/02-01-数据与结构|数据、结构与信息]] — 数据模态的本质差异
  • [[02-基础/02-03-模型架构|模型架构]] — 自注意力与Transformer
  • [[03-多模态/03-02-交互与融合|交互与融合]] — 多模态信息的深层交互
  • [[03-多模态/03-03-跨模态迁移|跨模态迁移]] — 跨模态知识的迁移与泛化
  • [[03-多模态/03-04-本周阅读|第5-7周阅读]]
  • [[04-大模型/04-02-多模态大模型|多模态大模型]] — CLIP下游应用
  • [[讨论课/讨论03-多模态对齐|讨论03:多模态对齐]]
  • [[MOC-如何AI一切|🗺️ 返回内容地图]]

基于 MIT MAS.S60 How to AI (Almost) Anything 翻译改编