# 嵌入：意思的几何

拉普拉斯的迷你世界 · 图版 F22 · 人工智能

> 模型读一个词、看一张图，交出来的是一串数，也就是一个方向。训练让意思相近的东西指向相近的方向，“像不像”于是变成了“夹角有多大”。这只球是一个真实的三维空间：上面每张小图、每块铭牌的位置，都是本页一个小模型算出来的。

- 可交互的模型：https://world.lapla.si/zh/embeddings/
- 嵌入页：https://world.lapla.si/embed/zh/embeddings/
- English：https://world.lapla.si/en/embeddings/
- 更新于：2026-10-19

## 01 一个方向，一个意思

球面上的每张小图，是一张 16×16 像素的图片；每块黄铜铭牌，是一句两个词的说明，比如“红色 圆”。一个小模型把它们各自换成三个数，再缩放到长度为 1，就成了球面上的一个点：一支从球心出发的箭头的尖。球上开了一扇窗，看得见这些箭头：每根细钢针都从球心伸向一个点。

这个模型在本页训练过。训练之后，图片和它自己的说明几乎指向同一处，细银丝把它们连在一起。CLIP 这样的模型做的是同一件事，只是每个点有几百个数，比如 512 或 768。

*16 张说明 · 32 张图 · 每个点 3 个数 · 长度都是 1*

## 02 夹角就是相似度

两支箭头之间的夹角，说明它们有多像。黄铜量角弧搭在两个点之间，读出的就是这个角。夹角的余弦等于两个单位向量的点积：三个数对应相乘，再相加。0° 的余弦是 1，90° 是 0，180° 是 −1。

这张红色方块的图，离它自己的说明 3.9°，离“红色圆” 56.7°，离“黄色三角” 109.6°：余弦分别约是 1.00、0.55 和 −0.34。

*余弦相似度 = cos θ = a · b（a、b 长度为 1）*

## 03 词也是方向

2013 年的 word2vec 让这个想法流行起来：让模型从一个词猜它旁边的词，或者反过来，用法相近的词会得到相近的向量。现在球上是 GloVe 的三个词向量，它们来自 60 亿个词的维基百科和新闻语料，每个有 100 个数。

100 维画不出来，可是任意三个方向张成的只是一个三维空间，它们正好落在那个空间的单位球上，彼此的夹角一点不变。cat 和 dog 相隔 28°，cat 和 car 相隔 72°。

*三个 100 维的词向量，在它们张成的三维空间里 · 夹角为实算*

## 04 国王 − 男人 + 女人

从 man 到 woman 的那一步，加到 king 上，落在哪里？球上的空心环就是 king − man + woman 的方向。离它最近的词，除了 king 本身，是 queen。word2vec 的作者在 2013 年用这个例子说明，词向量的差也带着意思。

它没有看起来那么可靠。按通常的算法，king、man、woman 三个词本身不算答案；如果算进去，离空心环最近的反而是 king。word2vec 的类比测试题里，有 3,859 道的词都在本页这批向量中：不算题目里的词，答对 77%；算进去，只答对 44%。

*空心环 = king − man + woman · 离它最近：king 0.84 · queen 0.77（余弦，实算）*

## 05 图和字，同一个空间

CLIP 由 OpenAI 在 2021 年发表。它有两个编码器：一个读图，一个读字，输出的向量在同一个空间里。训练用的是从网上收集的 4 亿对图片和配文。

本页的小模型也是两半。读图的一半只有一层：768 个像素值进去，3 个数出来；读字的一半给每个词一支箭头，一句说明就是它的词的箭头相加。训练开始前，图片大多挤在一片里：任意两张之间的夹角，中位数只有 39°，说明之间却是 97°。没学过的那一层看哪张图都差不多，满眼是纸色。

*读图：768 → 3 · 读字：每个词 3 个数，相加 · 共 2,331 个数*

## 06 对角线上是配对

训练每一步取一批配对：本页一批 12 对，CLIP 一批 32,768 对。每张图和每句说明都算一次余弦，排成一个方阵，图是行，说明是列。对角线上是本来的配对，其余都是错配。

每一行做一次 softmax，就是这张图在这批说明里选谁的概率；每一列也做一次。损失要求对角线的概率尽量接近 1。这就是 CLIP 的对称交叉熵；这类损失叫 InfoNCE，名字出自 2018 年的一篇论文。CLIP 的一批有 32,768² ≈ 10.7 亿个格子。

*每一格：图 i 选说明 j 的概率 · 对角线 = 配对 · 损失 = 两个方向交叉熵的平均*

## 07 拉近，推开

同一个损失，同时做两件事：把每张图拉向自己的说明，把它推离同一批里的其他说明。没有人告诉模型“红”和“圆”是什么，只给了配对。

1,500 步之后，每张图离它的说明平均 5.6°，开始时是 96°。训练过的 12 句说明，彼此至少隔开 53°。方阵对角线上的概率，平均从 0.03 升到 0.97。

*第 0 步 → 第 1,500 步 · 每步 12 对 · 温度 0.1*

## 08 温度

余弦在进 softmax 之前先除以一个数，叫温度 τ。温度低，最像的那一个几乎拿走全部概率；温度高，概率摊得很平。前面的旋钮只改温度，方阵里的概率跟着变，球上的点不动。

CLIP 的温度也是学出来的：从 0.07 开始，并且规定 1/τ 不超过 100，否则训练会不稳定。2022 年的一项研究发现，CLIP 训练完以后，图片和文字仍各占空间里分开的一片，叫“模态间隙”；原因之一是训练开始时它们就各挤在一小片里，温度低时这段距离会一直保留下来。

*p = softmax(cos / τ) · CLIP：τ 从 0.07 学起，1/τ ≤ 100*

## 09 没见过的组合

训练时，有四种组合一次也没出现过：红色十字、黄色圆、绿色方块、蓝色三角。问它其中一张图是什么，办法是把 16 句说明都写出来，看哪一句最近。这叫零样本分类。

在这只三维的球上，它答对 53%（瞎猜是 1/16，约 6%）；换不同的初始值训练二十次，平均 49.5%，最少的一次只有 4%。给同样的模型 8 个数，二十次平均答对 99.8%；还是 3 个数、把温度调到 1，平均 87.8%。空间有多大、训练得多“狠”，都会改变它能不能举一反三。CLIP 用同样的办法，不看 ImageNet 那 128 万张带标签的训练图，在 ImageNet 上答对 76.2%，和当年在这些图上训练的 ResNet-50 一样。

*零样本：把类别写成说明，选最近的一句 · 机会水平 1/16*

## 10 用字找图

反过来，给一句说明，找离它最近的图，就是搜索。图片库只需事先把每张图换成一个向量存好，查询时比的只是夹角。很多图片搜索和“相似推荐”就是这样做的。

球上升起来的，是离“蓝色圆”最近的几张图。CLIP 在 Flickr30k 上不经任何专门训练：用一句话找图，第一张就对的有 68.7%；用一张图找它的配文，88.0%。

*最近邻：按余弦从大到小排列*

## 11 它也会错

模型总会给出答案。一张紫色的方块，颜色它从没见过，它还是在 16 句说明里挑了一句：红色方块，概率 87%。softmax 加起来总是 1，里面没有“都不是”。CLIP 也会被字骗：一个青苹果，其中一个版本的 CLIP 认作 Granny Smith 苹果的概率是 85.6%；贴上一张写着 iPod 的纸条，它认作 iPod 的概率变成 99.7%。

向量学的是人写下的东西，连同其中的偏见。在本页的 GloVe 向量里，离 doctor − man + woman 最近的是 nurse；可如果允许原词作答，最近的是 doctor 本身。2020 年的一篇论文指出，有些著名的“偏见类比”正是因为原词不许作答才得出来的。偏见是真的，例子也可能被夸大。CLIP 的论文报告，在一组人脸照片上加入“大猩猩”等类别后，4.9% 的照片被分进了非人类的类别，黑人照片约 14%，其他人群都低于 8%。

*紫色方块：从没见过的颜色 · 答案仍然只在 16 句里挑*

## 12 实验台

可以调温度重新训练、拨动训练进度，拿一张图去问模型（包括它没见过的颜色），或者换几个词放上球。球上和方阵里的每个数都按你的选择实时重算。

**试一试**：在实验台上把温度调到 1，重新训练。没见过的四种组合，这次答对多少？再换几次初始化试试。

## 模型省略了什么

本页的模型很小：图片只有 16×16 像素，只有四种颜色、四种形状；读图的一半只有一层，读字的一半只是把词的箭头相加，不管词序；空间只有三维，好放进一只球。CLIP 读的是网上的真实照片和整句文字，图像编码器是 ResNet 或 Vision Transformer，文字编码器是一个 Transformer（基础大小 6300 万个参数）；它的一批 32,768 对，训练 32 遍、4 亿对数据。球上三个词的位置之所以是精确的，是因为任意三个方向本来就张成三维；空心环（king − man + woman）在这三个词张成的空间里，也是精确的；queen 不在那个空间里，球上只保证它到 king 和到空心环的夹角是真的。本页的 GloVe 向量是 40 万个词里最常见的 6,000 个左右，取 8 位整数存放；类比测试也只在这批词里做，词越少，题目越容易。

## 一个常见的误解

向量里的每个数并不各自对应一个意思，比如“第 37 个数表示性别”。有意思的是方向和夹角：换一个坐标系，把整个空间转一下，所有夹角都不变，模型的表现也不变。另外，“夹角小”只说明模型把两样东西放得近，不说明它理解它们：本页的小模型只见过颜色和形状，紫色它照样会硬塞进某一句说明里。

## 常见问题

### 余弦相似度是什么？

夹角的余弦等于两个单位向量的点积：三个数对应相乘，再相加。

见：[02 夹角就是相似度](https://world.lapla.si/zh/embeddings/#angle)

### 国王 − 男人 + 女人真的等于女王吗？

按通常的算法，king、man、woman 三个词本身不算答案；如果算进去，离空心环最近的反而是 king。

见：[04 国王 − 男人 + 女人](https://world.lapla.si/zh/embeddings/#analogy)

### CLIP 的训练在做什么？

同一个损失，同时做两件事：把每张图拉向自己的说明，把它推离同一批里的其他说明。

见：[07 拉近，推开](https://world.lapla.si/zh/embeddings/#pull)

### 对比学习里的温度是什么？

余弦在进 softmax 之前先除以一个数，叫温度 τ。温度低，最像的那一个几乎拿走全部概率；温度高，概率摊得很平。

见：[08 温度](https://world.lapla.si/zh/embeddings/#temperature)

## 资料来源

1. [Radford 等（2021）：Learning Transferable Visual Models From Natural Language Supervision（CLIP），arXiv:2103.00020（4 亿对、批量 32,768、温度、损失、零样本 76.2%、检索、偏见）](https://arxiv.org/abs/2103.00020)
2. [OpenAI：CLIP 代码与模型说明（MIT 许可）](https://github.com/openai/CLIP)
3. [van den Oord 等（2018）：Representation Learning with Contrastive Predictive Coding，arXiv:1807.03748（InfoNCE）](https://arxiv.org/abs/1807.03748)
4. [Mikolov 等（2013）：Efficient Estimation of Word Representations in Vector Space，arXiv:1301.3781（word2vec、类比测试）](https://arxiv.org/abs/1301.3781)
5. [Mikolov、Yih、Zweig（2013）：Linguistic Regularities in Continuous Space Word Representations，NAACL（king − man + woman）](https://aclanthology.org/N13-1090/)
6. [Mikolov 等（2013）：Distributed Representations of Words and Phrases and their Compositionality，arXiv:1310.4546](https://arxiv.org/abs/1310.4546)
7. [word2vec 代码与类比测试题（Apache 2.0 许可）](https://github.com/tmikolov/word2vec)
8. [Pennington、Socher、Manning（2014）：GloVe，EMNLP；词向量 glove.6B（PDDL 1.0）](https://nlp.stanford.edu/projects/glove/)
9. [Linzen（2016）：Issues in evaluating semantic spaces using word analogies，arXiv:1606.07736](https://arxiv.org/abs/1606.07736)
10. [Nissim、van Noord、van der Goot（2020）：Fair Is Better than Sensational: Man Is to Doctor as Woman Is to Doctor，Computational Linguistics 46(2)](https://aclanthology.org/2020.cl-2.7/)
11. [Liang 等（2022）：Mind the Gap: Understanding the Modality Gap in Multi-modal Contrastive Representation Learning，arXiv:2203.02053](https://arxiv.org/abs/2203.02053)
12. [Goh 等（2021）：Multimodal Neurons in Artificial Neural Networks，Distill（文字攻击：贴着 iPod 的苹果）](https://distill.pub/2021/multimodal-neurons/)
13. [Kingma、Ba（2014）：Adam，arXiv:1412.6980（本页模型的优化器）](https://arxiv.org/abs/1412.6980)

## 数据

Word vectors: GloVe (Jeffrey Pennington, Richard Socher and Christopher D. Manning, Stanford, 2014), glove.6B, 100 dimensions, trained on Wikipedia 2014 and Gigaword 5; a slice of 6,008 words, made available under the Public Domain Dedication and License v1.0. Analogy questions: the test set of the word2vec project (Tomas Mikolov et al., Google), Apache License 2.0; the 3,859 questions whose words are all in the slice. The small model on the globe, its pictures and its training are the site’s own: src/topics/embeddings/sim.js (one layer for pictures, one arrow per word, CLIP’s loss, Adam).

## 许可 CC BY-NC 4.0

本页的文字、图片和模型采用 CC BY-NC 4.0 许可：可以免费用于教学和其他非商业用途，可以修改，请注明出自 world.lapla.si。上面列出的第三方素材仍按各自的许可。

https://creativecommons.org/licenses/by-nc/4.0/deed.zh-hans

## 引用这幅图版

拉普拉斯的迷你世界，图版 F22《嵌入：意思的几何》，https://world.lapla.si/zh/embeddings/，CC BY-NC 4.0，2026-10-19 更新。
