Embedding 词向量

AI 怎么把文字变成数字?从 one-hot 到语义空间

词向量 语义空间 降维
阅读时间约 8 分钟
Chapter 01

为什么需要把文字变成数字?

计算机只懂数字。对 GPU 来说,"猫"这个字毫无意义——它无法参与矩阵运算、梯度下降或任何数学操作。但如果我们把"猫"表示为 [0.23, -0.81, 0.45, ...] 这样的一组数字,一切就变得可以计算了。

这就是 Embedding(词向量)的核心任务:把离散的文字符号映射到连续的数字空间。有了数字表示,AI 才能计算词与词之间的距离、方向和关系。

// 互动演示:文字变向量

输入任意词语,看它被转换为一个假想的 embedding 向量(每个词生成固定的向量):

就像给每个人一个 GPS 坐标——有了坐标,才能计算距离和方向。

Chapter 02

One-Hot 编码的困境

最朴素的思路是 One-Hot 编码:假设词表有 N 个词,就用一个长度为 N 的向量来表示每个词,其中只有一个位置是 1,其余全是 0。

问题一:极度稀疏。现代模型的词表动辄 50,000 甚至 100,000 个 Token。一个 one-hot 向量中 99.99% 的元素都是 0,浪费大量内存和计算。

问题二:丢失语义。在 one-hot 空间里,"猫"和"狗"之间的距离等于"猫"和"石头"之间的距离——完全没有"更相似"的概念。

// 互动演示:One-Hot 向量

观察 5 个词的 one-hot 编码——点击任意一行高亮它:

One-hot 就像给学生编学号——1001 号和 1002 号之间没有"更相似"的概念。

Chapter 03

学会的向量 — Word2Vec 到现代 Embedding

2013 年,Word2Vec 提出了一个革命性的想法:出现在相似上下文中的词,应该有相似的向量表示。通过在海量文本上训练,模型自动学会了让语义相近的词在向量空间中"靠近"。

最著名的发现是向量算术

国王 男人 + 女人 女王

这意味着模型学到了"性别"这个概念在向量空间中的方向!现代 Transformer 模型更进一步——embedding 作为模型的第一层被端到端训练,每个 Token 获得一个稠密向量(如 768 或 4096 维)。

// 互动演示:语义空间中的向量关系

2D 投影展示词向量的平行关系。点击词对查看向量算术:

点击图中的词查看关系

Word2Vec 发现:意思相近的词,住在语义空间的"同一个小区"。

Chapter 04

高维空间的直觉

真实的 Embedding 向量生活在 768 到 4096 维的空间中——远超人类可以直接想象的范围。但核心原理不变:语义相似的词在空间中更近,语义不同的词更远

每一维捕捉某种抽象特征——没有人类可读的标签,但组合起来就能编码丰富的语义信息。你可以把它想象成一种超级坐标系统,每个维度记录了词的某个语义属性。

// 互动演示:语义聚类

2D 降维后的词向量散点图。悬停查看词的聚类和距离:

在真实模型中,这是 4096 维的空间,但聚类的原理完全一样——动物、交通工具和食物各自形成紧密的"小区"。

高维空间就像一个超级图书馆——每本书的位置编码了它的主题、语言、难度等数百个属性。

Chapter 05

总结

🔢

数字是 AI 的语言

计算机无法直接理解文字,Embedding 将离散符号映射为连续的数字向量。

💭

One-hot 太稀疏

One-hot 编码浪费空间且丢失语义,所有词之间的距离都一样。

📏

语义 = 空间距离

学习到的 embedding 让意思相近的词在向量空间中靠近。

🚀

Embedding 是 Transformer 的起点

每个 Token 通过 embedding 层获得稠密向量,是模型理解语言的第一步。

Embedding 是 AI 理解世界的第一步——把万物映射到数学空间,用距离衡量意义。

下一篇:MoE 混合专家 →