Skip to content

表示空间对齐 (Representation Space Alignment)

什么是表示空间对齐

表示空间对齐的核心思想是:将来自不同模态(如图像、文本、音频)的数据,通过各自的 Encoder 映射到同一个共享向量空间中,使得语义相近的不同模态样本在该空间中彼此靠近。

举例来说,一张猫的图片和"a photo of a cat"这句话,经过各自的 Encoder 编码后,应该被映射到向量空间中非常接近的位置。

这种对齐是多模态 AI 系统的基石。没有对齐,不同模态之间就无法进行有意义的比较和交互。

为什么需要对齐

  • 多模态学习的基础: 大量下游任务(图文生成、视觉问答、多模态对话)都依赖于一个统一的语义空间。对齐质量直接决定了下游任务的上限。
  • 跨模态检索: 对齐后可以用文本检索图像,或用图像检索文本(Text-to-Image / Image-to-Text Retrieval)。这在搜索引擎、电商推荐中有广泛应用。
  • Zero-shot 能力: 对齐后的模型无需针对特定任务微调,就能通过自然语言描述完成分类、检测等任务,大幅降低数据标注成本。
  • 数据工程价值: 对齐模型可以用于数据质量评估、自动标注、数据去重与清洗,是数据飞轮的关键组件。

CLIP (Contrastive Language-Image Pre-training)

CLIP 是 OpenAI 于 2021 年提出的里程碑式工作,奠定了图文对齐的范式。

架构:双塔结构

CLIP 采用经典的双塔架构 (Dual Encoder)

  • Image Encoder: 可以是 ResNet 或 Vision Transformer (ViT)。将图像编码为一个固定维度的向量 \(\mathbf{v}_i\)
  • Text Encoder: 基于 Transformer 架构。将文本编码为一个固定维度的向量 \(\mathbf{t}_i\)
  • 投影层 (Projection Head): 两个 Encoder 的输出分别经过线性投影,映射到同一维度的共享空间,并做 L2 归一化。

两个 Encoder 完全独立,各自编码各自的模态,仅在损失函数层面通过对比学习产生交互。这种设计使得推理时可以独立提取特征,非常适合大规模检索场景。

对比学习损失函数

CLIP 使用 InfoNCE Loss(也称 NT-Xent Loss)来训练。给定一个 batch 中的 \(N\) 个图文对 \(\{(\mathbf{v}_i, \mathbf{t}_i)\}_{i=1}^{N}\),损失函数定义如下:

Image-to-Text 方向:

\[ \mathcal{L}_{i \to t} = -\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp(\text{sim}(\mathbf{v}_i, \mathbf{t}_i) / \tau)}{\sum_{j=1}^{N} \exp(\text{sim}(\mathbf{v}_i, \mathbf{t}_j) / \tau)} \]

Text-to-Image 方向:

\[ \mathcal{L}_{t \to i} = -\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp(\text{sim}(\mathbf{t}_i, \mathbf{v}_i) / \tau)}{\sum_{j=1}^{N} \exp(\text{sim}(\mathbf{t}_i, \mathbf{v}_j) / \tau)} \]

总损失:

\[ \mathcal{L} = \frac{1}{2} (\mathcal{L}_{i \to t} + \mathcal{L}_{t \to i}) \]

其中 \(\text{sim}(\cdot, \cdot)\) 是余弦相似度,\(\tau\) 是可学习的温度参数 (temperature)。温度参数控制分布的尖锐程度:\(\tau\) 越小,分布越集中在最相似的样本上。

本质上,这个损失函数把 batch 中的 \(N\) 个正确配对当作正样本,把其余 \(N^2 - N\) 个错误配对当作负样本,构成一个 \(N \times N\) 的相似度矩阵,目标是让对角线上的值最大。因此,batch size 越大,负样本越多,对比学习效果越好。CLIP 的训练 batch size 达到了 32,768。

训练数据

CLIP 在 WIT (WebImageText) 数据集上训练,包含从互联网爬取的约 4 亿个图文对。这些数据未经人工标注,全部来自网页上图片与其对应的 alt-text 或标题。

这种大规模弱监督的数据策略是 CLIP 成功的关键因素之一:它避免了昂贵的人工标注,同时利用互联网的规模效应获得了足够丰富的语义覆盖。

Zero-shot 分类的工作原理

CLIP 的 zero-shot 分类流程非常直觉:

  1. 构造文本提示: 将每个类别名称填入模板,如 "a photo of a {class_name}",得到 \(K\) 个文本描述。
  2. 编码: 用 Text Encoder 编码这 \(K\) 个文本,用 Image Encoder 编码待分类的图片。
  3. 比较: 计算图片向量与 \(K\) 个文本向量的余弦相似度。
  4. 预测: 相似度最高的文本对应的类别即为预测结果。

这种方式不需要任何训练数据,只需要知道类别名称即可。在 ImageNet 上,CLIP 的 zero-shot 准确率达到了 76.2%,与有监督训练的 ResNet-50 相当。

CLIP 的变体与后续工作

OpenCLIP

由 LAION 社区开发的 CLIP 开源复现。在更大规模的开源数据集(如 LAION-5B,包含 50 亿图文对)上训练,某些配置下性能超越了原版 CLIP。OpenCLIP 是目前社区中使用最广泛的对齐模型。

SigLIP (Sigmoid Loss for Language-Image Pre-training)

Google 于 2023 年提出。将 InfoNCE 中的 Softmax 替换为逐对的 Sigmoid 损失,不再需要全局归一化。这样每个图文对独立计算损失,不依赖于 batch 内其他样本,从而可以使用更大的 batch size,训练效率更高。SigLIP 在同等计算预算下通常优于 CLIP。

ALIGN (Google)

Google 的 ALIGN 模型使用了超过 10 亿个带噪声的图文对进行训练,并采用 EfficientNet 作为 Image Encoder。ALIGN 证明了一个重要观点:数据规模可以弥补数据噪声。即使不做精细的数据清洗,只要数据量足够大,模型仍然能学到高质量的对齐。

EVA-CLIP

北京智源研究院的工作。通过改进的训练策略(如 Masked Image Modeling 预训练初始化)和更大规模的 ViT 架构,在多个 benchmark 上取得了当时的最佳表现。EVA-CLIP 强调了 Image Encoder 的预训练质量对对齐效果的重要性。

对齐在数据工程中的应用

数据质量过滤

CLIP Score 是衡量图文匹配程度的常用指标,定义为图像向量和文本向量的余弦相似度:

\[ \text{CLIP Score} = \cos(\mathbf{v}, \mathbf{t}) = \frac{\mathbf{v} \cdot \mathbf{t}}{||\mathbf{v}|| \cdot ||\mathbf{t}||} \]

在构建训练数据集时,可以用 CLIP Score 过滤低质量图文对。例如,LAION-5B 数据集就是通过设置 CLIP Score 阈值(通常 \(\geq 0.28\))从 Common Crawl 中筛选而来的。这种过滤能有效去除图文不匹配、文本无意义、图片损坏等噪声数据。

数据标注辅助

利用 CLIP 的 zero-shot 分类能力,可以对大规模未标注数据进行弱标注 (Weak Labeling)

  • 对图片进行粗粒度分类(如场景分类、内容分类)。
  • 为图片生成候选标签,再由人工审核,显著降低标注成本。
  • 检测数据集中的标注错误:如果 CLIP 预测与原始标签不一致,该样本值得人工复查。

跨模态数据检索

对齐模型使得跨模态检索成为可能:

  • Text-to-Image: 输入文本描述,检索语义最相关的图片。用于数据集构建时按需查找特定类型的图片。
  • Image-to-Text: 输入图片,检索最匹配的文本描述。用于验证图文对的匹配质量。
  • 去重: 在 Embedding 空间中做聚类或近邻搜索,可以高效发现语义重复的数据。

其他对齐方法

ImageBind (Meta)

Meta 于 2023 年提出的 ImageBind 将对齐扩展到了 6 种模态:图像、文本、音频、深度图、热力图、IMU 数据。

其核心洞察是:不需要所有模态之间都有配对数据。ImageBind 以图像为"锚点"模态,分别学习图像-文本、图像-音频、图像-深度等成对对齐,由于传递性,所有模态自然地被拉到了同一个空间中。这种设计极大降低了多模态对齐的数据需求。

知识蒸馏做对齐

当目标模态缺乏大规模配对数据时,可以通过知识蒸馏 (Knowledge Distillation) 将已有对齐模型的能力迁移到新模态:

  • Teacher: 已经对齐好的模型(如 CLIP 的 Image Encoder)。
  • Student: 新模态的 Encoder(如点云 Encoder、医学影像 Encoder)。
  • 目标: 让 Student 的输出向量尽可能接近 Teacher 的输出向量,从而继承 Teacher 的对齐特性。

这种方法在医疗影像、遥感图像、3D 点云等专业领域有广泛应用。

对齐质量的评估指标

Recall@K

Recall@K 是跨模态检索任务中最常用的指标。定义为:在 \(K\) 个最相似的候选中,包含正确匹配项的比例。

  • Recall@1: 最严格,要求排名第一的结果就是正确匹配。
  • Recall@5 / Recall@10: 更宽松,衡量正确结果是否出现在前 5 或前 10 个候选中。

通常在 COCO 和 Flickr30k 数据集上评估,同时报告 Image-to-Text 和 Text-to-Image 两个方向的 Recall。

CIDEr

CIDEr (Consensus-based Image Description Evaluation) 主要用于评估图像描述生成(Image Captioning)的质量,衡量生成文本与参考文本之间的相似度。它基于 TF-IDF 加权的 n-gram 匹配,对信息量大的词给予更高权重。虽然不直接评估对齐质量,但在涉及生成任务的对齐评估中经常使用。

其他常用指标

  • Zero-shot Classification Accuracy: 在 ImageNet 等分类数据集上的 zero-shot 准确率,直接反映对齐模型的语义理解能力。
  • Linear Probe Accuracy: 冻结 Encoder,只训练一个线性分类头,衡量特征表示的质量。
  • CLIP Score 分布: 统计数据集上 CLIP Score 的分布,可以整体评估数据集的图文匹配质量。

小结

表示空间对齐是连接不同模态的桥梁。CLIP 确立了对比学习 + 双塔结构的经典范式,后续的 SigLIP、ALIGN、EVA-CLIP 在损失函数、数据规模、训练策略上持续改进。在数据工程领域,对齐模型已经成为数据过滤、弱标注、跨模态检索的标准工具。随着 ImageBind 等工作将对齐扩展到更多模态,统一表示空间正在成为通用 AI 系统的基础设施。


评论 #