解码视觉: 如何在图像嵌入中发现组合结构
人类天生善于组合。当你看到“红色汽车”时,你不仅将其视为一个独特的、原子的实体;你会本能地将其理解为一个对象 (“汽车”) 和一个属性 (“红色”) 的结合。这种将复杂的概念分解为更简单、可重用部分的能力被称为组合性 (Compositionality) 。 它使我们能够理解以前从未见过的东西。如果你知道“蓝色”是什么样子的,也知道“香蕉”是什么样子的,你就可以想象出一个“蓝色的香蕉”,即使你从未见过它。
在人工智能领域,像 CLIP 这样的视觉-语言模型 (VLMs) 通过将文本和视觉输入映射到一个共享的“嵌入空间”,彻底改变了计算机理解图像的方式。我们知道这些模型的文本侧是具有组合性的——你可以对单词向量进行算术运算 (例如: 国王 - 男人 + 女人 = 女王) 。但是视觉侧呢?VLM 是否也以类似的结构化、组合方式来组织图像?
最近的一篇研究论文*《Not Only Text: Exploring Compositionality of Visual Representations in Vision-Language Models》*深入探讨了这个问题。作者提出了一个数学上严谨的框架,称为测地线可分解嵌入 (Geodesically Decomposable Embeddings,简称 GDE) , 证明了视觉嵌入确实具有组合性——但要解锁这种结构,需要在潜在空间复杂、弯曲的几何形状中进行导航。
在这篇文章中,我们将详细剖析 GDE 的工作原理,为什么简单的线性数学在处理图像时会失效,以及如何使用这种方法来消除模型偏见,甚至生成奇异的新型混合动物。

问题所在: 为什么图像比文本更难
要理解这项研究的必要性,我们需要先看看潜在空间中文本和图像的区别。
先前的研究表明,CLIP 中的文本嵌入可以通过线性组合来近似。如果你想要一个“红色汽车”的向量,你可以大致将“红色”的向量和“汽车”的向量相加。这是可能的,因为语言是符号化且离散的。
然而,图像带来了两个巨大的挑战:
- 噪声与歧义 (Noise and Ambiguity) : 你无法简单地“写”出一个概念的纯粹图像。“红色汽车”的图像不可避免地包含额外信息: 道路、司机、背景、光照条件等。这种“噪声”混淆了嵌入。
- 稀疏性 (Sparsity) : 在语言中,我们可以轻松输入“蓝色苹果”。然而在图像数据集中,某些属性和对象的组合根本不存在。
此外,CLIP 嵌入是归一化 (normalized) 的。它们分布在一个超球体 (高维球体) 的表面,而不是在一个平面上。虽然线性算术 (\(A + B = C\)) 在小区域内对文本效果尚可,但在处理复杂的视觉数据时,它无法通过球体的内在曲率测试。
这篇论文的作者认为,要在图像中发现组合性,我们必须遵循嵌入空间的黎曼几何 (Riemannian geometry) 。
解决方案: 测地线可分解嵌入 (GDE)
这篇论文的核心贡献是一个框架,它在分解视觉概念的同时,尊重数据的球形几何特性。该方法被称为测地线可分解嵌入 (GDE) 。
1. 几何: 从线性到测地线
想象一下,你试图找到东京和纽约之间的平均位置。如果你在地图上画一条直线 (假设地球是平的) ,你会穿过地壳打一条隧道。为了得到一条有效的路径,你必须沿着表面画一条曲线。这条曲线被称为测地线 (geodesic) 。
同样的逻辑也适用于超球体上的嵌入。为了正确地分解嵌入,我们不能简单地将向量相加。我们需要:
- 投影 (Project) : 将弯曲流形 (\(\mathcal{M}\)) 上的点投影到特定参考点 (\(\mu\)) 处的平坦切空间 (tangent space) (\(T_\mu\mathcal{M}\)) 上。
- 执行算术 (Perform arithmetic) : 在这个平坦的切空间中进行加减运算。
- 投影回 (Project back) : 映射回流形上。
作者将一组嵌入定义为测地线可分解的,如果复合概念 (如“红色汽车”) 可以通过从中心上下文出发,沿着由原始部分 (“红色” + “汽车”) 确定的测地线移动而形成。

2. 数学原理: 对数与指数
我们如何在弯曲的球体和平坦的切空间之间移动?我们使用两个几何操作:
- 对数映射 (Logarithmic Map, \(\text{Log}_\mu\)) : 获取球体上的一个点,将其映射为切空间中的一个向量。这会“展平”局部几何。
- 指数映射 (Exponential Map, \(\text{Exp}_\mu\)) : 获取切空间中的一个向量,将其包裹回球体上。
从数学上讲,如果我们有一组原始概念 (如属性 \(z_1\) 和对象 \(z_2\)) ,我们希望使用切空间中的向量 \(\mathbf{v}\) 来近似一个复合嵌入 \(\mathbf{u}_z\):

在这里,\(\mu\) 是内蕴均值 (intrinsic mean) ——即数据集在球体上的“质心”。它充当了我们切空间的锚点。
3. 处理视觉噪声
这就是该框架在处理图像数据时的巧妙之处。因为“红色汽车”的单张图像是有噪声的 (它有背景) ,我们不能只依赖一个样本。
作者将每个概念 (例如“红色汽车”) 不视为单个点,而是视为许多图像的分布。通过平均代表同一概念的许多不同图像的切向量,每张图像独特的“噪声”会被相互抵消,只留下真正的语义方向。
原始概念 (如“红色”) 的最佳方向是通过平均包含该概念的所有对的切向量来计算的:

这意味着“红色”的向量是 (“红色汽车”、“红色苹果”、“红色裙子”等) 的平均值减去全局均值。汽车、苹果和裙子的背景噪声被平均化消除了,从而分离出了“红色”的概念。
可视化: 看见几何结构
这真的有效吗?如果视觉嵌入具有组合性,它们应该在嵌入空间中形成规则的几何形状。例如,“红色”和“蓝色”之间的关系,无论应用于“汽车”还是“鸟类”,都应该是一致的。
作者对这些嵌入的切向量进行了可视化。在理想情况下,由 2 个属性和 2 个对象形成的概念应该构成一个平行四边形 。 由 2 个属性和 3 个对象形成的概念应该构成一个三棱柱 。

如上图 3 所示,当我们增加 \(k\) (用于计算均值的图像数量) 时,噪声消失了,这些美丽、规则的几何结构便显现出来。这证实了 VLM 确实学会了视觉世界的结构化、组合式表示。
实验 1: 组合分类
GDE 的第一个主要测试是组合式零样本学习 (Compositional Zero-Shot Learning) 。
挑战: 模型在训练时只见过一组已知的配对 (例如“旧鞋子”、“新衬衫”) 。在测试时,它必须识别一个未见过的组合,比如“旧衬衫”。
作者将他们的 GDE (曲面几何) 方法与基线 LDE (线性可分解嵌入 - 平面几何) 进行了比较。他们在 UT-Zappos (鞋子) 和 MIT-States (具有状态的对象) 等数据集上进行了测试。
结果: GDE 显著优于线性基线,尤其是在图像数据上。
- 在 UT-Zappos 上,与标准 CLIP 基线相比,GDE 的相对性能实现了 317% 的提升 。
- 这证明了对空间曲率建模是必不可少的。将球体视为平面 (线性) 在组合视觉概念时会导致显著误差。
实验 2: 群体鲁棒性 (去偏见)
这可能是该框架最具影响力的应用。
问题: VLM 经常学习到“虚假相关性”。例如,在“水鸟 (Waterbirds) ”数据集中,模型可能会学到“水背景 = 水鸟”。如果你给它看一只在陆地上的水鸟,它通常会识别失败。
GDE 解决方案: 我们可以使用 GDE 将对象 (“鸟”) 从上下文 (“背景”) 中解耦出来。通过使用 GDE 计算“水鸟”的原始向量,我们可以有效地从训练数据中“平均掉”背景信息 (水/陆地) 。这留下了一个对背景变化具有鲁棒性的纯净“水鸟”向量。

结果 (论文中的表 3) 令人震惊。GDE 在最差组准确率 (Worst Group Accuracy) 上取得了最先进的结果,且无需任何模型微调。它仅仅通过理解嵌入空间的几何结构,就超越了像深度特征重加权 (Deep Feature Reweighting) 这样复杂的监督方法。
实验 3: 生成炼金术
最后,如果 GDE 真的捕捉到了“属性”和“对象”向量的本质,我们应该能够反转它们来生成图像。作者使用 Stable Diffusion (特别是 unCLIP 变体) 从他们分解的向量中生成图像。
他们通过数学混合概念来测试这一点。例如,如果将“老虎”和“马”的向量相加会发生什么?

结果是清晰的照片级混合生物。这不仅仅是风格迁移;模型生成了一种在语义上介于这两个概念之间的生物。
他们还尝试了属性缩放 。 在切空间中,向量是有大小 (magnitude) 的。通过在映射回流形之前将属性向量乘以标量 \(\alpha\),他们可以控制属性的强度。

随着 \(\alpha\) 的增加 (在图 8 中从左到右) ,披萨变得越来越焦,靴子的毛也越来越多。这表明 GDE 发现的“方向”在语义上是一致且可操控的。
结论: 意义的形状
论文 《Not Only Text》 提供了令人信服的证据,表明像 CLIP 这样的视觉-语言模型不仅仅是记忆图像;它们将图像组织成了复杂的、类似人类的组合结构。
然而,访问这种结构并不简单。我们不能将这些复杂的嵌入空间视为简单的平面。通过 GDE 框架应用黎曼几何 , 作者成功地:
- 对视觉表示进行了去噪 。
- 将图像分解为可重用的原始部分。
- 提高了分类和公平性任务的性能。
这项工作弥合了语言的符号组合性与视觉的连续、嘈杂本质之间的鸿沟。它表明,当我们构建更强大的人工智能时,理解它们思考方式的几何结构与我们喂给它们的数据同样重要。
对于学生和研究人员来说,这是一个宝贵的教训: 有时提高性能的关键不是更大的模型,而是更好的数学。
](https://deep-paper.org/en/paper/2503.17142/images/cover.png)