嵌入空间:距离、维数和静态 Embedding
文章目录
- [嵌入空间:距离、维数和静态 Embedding](#嵌入空间:距离、维数和静态 Embedding)
-
- [1. 向量不只是一串数](#1. 向量不只是一串数)
- [2. 从一维到二维:多一个轴会改变远近](#2. 从一维到二维:多一个轴会改变远近)
- [3. 距离表示相对相似](#3. 距离表示相对相似)
- [4. 真实空间:d 更大,轴更难命名](#4. 真实空间:d 更大,轴更难命名)
- [5. 静态嵌入:一词一个向量](#5. 静态嵌入:一词一个向量)
- [6. 汽车流水线](#6. 汽车流水线)
- [7. 常见误区](#7. 常见误区)
- [8. 术语表](#8. 术语表)
- [9. 延伸阅读](#9. 延伸阅读)
- [10. 小结](#10. 小结)
摘要 :第 29 篇把 Embedding 说成「用短稠密向量代替超长 One-Hot」。向量落在哪里、彼此远近代表什么,需要放到嵌入空间里看。本文用低维示意图说明距离与相似性的关系、维数增加时信息如何变丰富,以及真实任务里轴往往不可直接命名;并介绍静态词嵌入(如 word2vec)在说明「上下文相近 → 向量靠近」时的作用与局限。贯穿示例仍是汽车品牌。
1. 向量不只是一串数
Embedding 输出的是 e ∈ R d \mathbf{e}\in\mathbb{R}^{d} e∈Rd。把每个品牌(或每个词、每个物品 ID)看成 d d d 维空间里的一个点,这些点所在的空间就是嵌入空间(embedding space)。
第 29 篇强调查表与参数量;本篇关心空间几何:谁靠近谁、维数 d d d 起什么作用、换任务后空间会不会变。

上图把若干品牌排在一条假想轴上,例如「越往右越偏轿车取向」。这只是为了建立直觉。真实训练得到的轴,很少能用一句话准确命名。
2. 从一维到二维:多一个轴会改变远近
一维上,「苹果派」类甜品若硬插在热狗和卷饼之间,看起来还算挨着。一旦加上「甜品程度」这类第二维,它会离开那两条咸食,距离关系更符合常识。
换成汽车品牌,可以假想两个轴:
- 横轴:更偏商用 / 皮卡,还是更偏轿车
- 纵轴:价位或定位高低

家用轿车品牌彼此可能较近;跑车向品牌与商用车向品牌可能较远。二维里某两点的距离,不必等于它们在一维投影上的距离------多一个维度,就可能把「表面上挨着、实际上不同」的点拉开。
每个点用 d d d 个实数表示。示意里坐标常取在大约 − 1 , 1 -1,1 −1,1 或 0 , 1 0,1 0,1 附近;实际框架里初始化与尺度会随实现变化,不必死记数值范围。
3. 距离表示相对相似
对空间中两点 u , v \mathbf{u},\mathbf{v} u,v,常用欧氏距离:
∥ u − v ∥ 2 = ∑ k = 1 d ( u k − v k ) 2 \|\mathbf{u}-\mathbf{v}\|2=\sqrt{\sum{k=1}^{d}(u_k-v_k)^2} ∥u−v∥2=k=1∑d(uk−vk)2
或看余弦相似度(更关注方向):
cos ( u , v ) = u ⋅ v ∥ u ∥ 2 ∥ v ∥ 2 \cos(\mathbf{u},\mathbf{v})=\frac{\mathbf{u}\cdot\mathbf{v}}{\|\mathbf{u}\|_2\|\mathbf{v}\|_2} cos(u,v)=∥u∥2∥v∥2u⋅v
在嵌入空间里,距离小 / 余弦大,通常解释为:在当前模型学到的表示下,这两个类别更相似。

| 现象 | 常见解释 |
|---|---|
| 两点靠近 | 任务相关行为更像(如油耗、定位接近) |
| 两点远离 | 在该表示下差异更大 |
| 近邻品牌 | 可作定性检查:嵌入是否学到合理结构 |
这是相对相似性:没有绝对的「距离小于 0.3 就算同类」的通用阈值。阈值若要用,也应在验证集上按业务定义。
计算时注意向量是否已归一化:有的实现会先把嵌入除以模长再比余弦;直接比欧氏距离时,整体尺度也会影响数值大小。分析近邻时,同一套预处理要前后一致。
汽车油耗任务里,若干小型车品牌的向量聚在一起、若干大排量取向品牌聚在另一侧,是一种合理现象。若完全随机散开,可能是 d d d、正则或数据有问题,需要结合验证指标排查。
4. 真实空间:d 更大,轴更难命名
教学图用 1~3 维是因为能画。词嵌入常见 d d d 为数十到数百;推荐里的物品嵌入也可能是 32 32 32、 64 64 64、 128 128 128 等。 d d d 仍远小于 One-Hot 的词表大小 V V V,但已经远高于 3,无法直接可视化全部维度。
实践中通常由人指定任务和 d d d(或在小范围内用验证集选 d d d),模型在训练里调整各点位置,使损失下降。个别维度偶尔能事后牵强解释,多数时候不能 指望第 k k k 维等于「甜度」「液体程度」这种清晰概念。

嵌入一般依赖任务:
- 以「是否高效」为训练目标时,省油取向品牌更容易靠近
- 以「是否偏家用代步」为目标时,家用与商用的分簇可能更突出,与油耗任务下的邻居不必一致
类比:麦片与早餐肠在「是否早餐相关」的空间里可能靠近,在「是否素食」的空间里可能远离。同一批离散 ID,换损失与标签,嵌入空间可以重排。
因此,不宜把某一任务训出的品牌向量当成与任务无关的「宇宙唯一品牌坐标」。迁移到新任务时,常常需要继续训练或重新学习嵌入。
5. 静态嵌入:一词一个向量
有一类任务对很多场景都有用:根据上下文预测词,或让「出现在相似上下文中的词」在空间中靠近。训练语料里若既有「他们骑着马走进峡谷」,也有「他们骑着驴走进峡谷」,模型有理由认为「马」与「驴」的用法相近,从而把二者的向量拉近。
静态嵌入(static embedding)指:每个词(或每个 ID)在全局共用一个 固定向量。经典例子是 word2vec:在大规模文本上训练后,得到词表里每个词一条向量。向量具体数值依赖语料;换语料,远近关系可能变化。

静态嵌入的价值在于:用无监督或自监督的上下文信号,先得到可迁移的语义几何,再接到分类、检索等任务。局限也很明确:多义词只有一个点。「行」在「银行」和「行走」里含义不同,静态向量无法随句子切换;「orange」既是颜色也是水果时,也会出现类似尴尬。
后来的上下文嵌入(contextual embedding)让同一词在不同句子里可以对应不同向量。那是后续主题;本篇只需知道静态嵌入的边界。
对汽车品牌而言,第 29 篇那种「跟油耗模型一起训」的 Embedding,通常也是每个品牌一个向量,形式上接近静态;若品牌名在不同地区含义不同,同样可能不够灵活。多数表格场景里,一品牌一向量仍然够用。
6. 汽车流水线

text
品牌 ID → Embedding 向量 → 嵌入空间中的点
↓
可查近邻 / 算距离(分析用)
↓
与重量、马力等拼接 → 下游预测
训练结束后,可以抽出嵌入表,做一些检查,例如:
- 给定某品牌,列出余弦相似度最高的若干邻居
- 看已知「相近定位」的品牌是否更常出现在彼此的近邻里
这些检查不能代替验证集指标,但有助于发现明显异常(例如所有点几乎重合、或近邻完全混乱)。若样本量很小、品牌极多,近邻本身也会不稳定,这时更应优先相信验证损失与业务指标,而不是过度解读二维投影图。
符号小结:
| 符号 | 含义 |
|---|---|
| V V V | 词表大小 |
| d d d | 嵌入维数 |
| e i \mathbf{e}_i ei | 第 i i i 个类别的嵌入向量 |
| ∣ u − v ∣ 2 |\mathbf{u}-\mathbf{v}|_2 ∣u−v∣2 | 欧氏距离 |
| cos ( u , v ) \cos(\mathbf{u},\mathbf{v}) cos(u,v) | 余弦相似度 |
7. 常见误区
| 情况 | 说明 |
|---|---|
| 把教学图里的轴名当成真实训练轴 | 假想维度只为直觉;真实轴通常不可命名 |
| 认为距离有跨任务通用阈值 | 相似性是相对的,且依赖任务与尺度 |
| 换了预测目标仍强行复用旧嵌入且不再训练 | 可能不匹配;至少应用验证集确认 |
| 静态词向量能解决一切多义词 | 一词一点,上下文变了含义可能对不上 |
| d d d 越大空间一定越好 | 过大易过拟合,应用验证集选择 |
| 只看近邻好看,不看业务指标 | 近邻是辅助分析,终仍看验证 / 测试表现 |
第 29 篇的词表、UNK、防泄漏要求仍然有效。空间再漂亮,若词表用全表统计建出来,评估仍可能偏乐观。
8. 术语表
| 术语 | 含义 |
|---|---|
| 嵌入空间 | 嵌入向量所在的 d d d 维空间 |
| 相似性(几何) | 常用距离或余弦衡量的相对远近 |
| 嵌入维 d d d | 每个点的坐标个数 |
| 静态嵌入 | 每个词 / ID 全局共用一个向量 |
| word2vec | 基于上下文学习词向量的经典方法之一 |
| 上下文嵌入 | 同一词随句子上下文可对应不同向量 |
| 近邻 | 空间中距离最近或余弦最大的若干项 |
9. 延伸阅读
| 资源 | 适合看什么 |
|---|---|
| 专栏第 29 篇 | Embedding 动机与查表 |
| 专栏第 17 篇 | 类别词表基础 |
| gensim Word2Vec | 静态词向量实验 |
| PyTorch Embedding | 任务内学习嵌入 |
| scikit-learn 余弦相似度 | 近邻分析 |
10. 小结
嵌入空间把每个类别变成 d d d 维中的点;点与点的距离(或余弦)刻画模型学到的相对相似性。维数升高能表达更丰富的差异,但真实轴很少能像「甜度」那样直接读出来。嵌入通常随任务变化;静态词嵌入用「上下文相似 → 向量靠近」提供可迁移的语义几何,却受「一词一点」限制。
汽车品牌嵌入同样如此:可在油耗等任务里学习空间结构,并用近邻做辅助检查,最终仍以验证指标为准。
下一篇会谈 如何得到 Embedding:降维思路、作为网络一层与任务联合训练,以及静态嵌入与上下文嵌入的差别会如何影响用法。
系列导航:
- 上一篇:【机器学习】(29)------ Embedding
- 下一篇(预告):如何得到 Embedding:降维、联合训练与上下文
如果本篇对你有帮助,欢迎点赞、收藏、关注博主,机器学习专栏持续更新中,下次更新不迷路。