1 什么是 Embedding?
如果要用一句话来解释:Embedding 就是把原本“看不懂”的符号,翻译成机器能理解的数字向量。
想象一下:
人类能理解“苹果”和“香蕉”相似,和“桌子”差得远,但在计算机眼里,词汇最初只是符号(例如 ID 编号),没有任何语义。于是我们需要一种方法,把这些符号变成“有意义的数字坐标”,这套坐标体系就是Embedding 空间,如图1所示。
图 1. Embedding空间2 Embedding 的作用
- 例如用 one-hot 表示一个词,假如有 10 万个词,每个词都是一个长度 100,000 的向量,大部分位置都是 0,非常低效。
- Embedding 可以把它压缩成 100~1,000 维的实数向量,既节省存储,又利于计算。
- “苹果”和“香蕉”在空间里距离很近,而“苹果”和“电脑”距离更远。
- Embedding 可以作为“底层语言”,被下游任务复用。
3 Embedding 用在哪些地方?
3.1 传统深度学习时代
- 最经典的就是Word2Vec、GloVe等词嵌入方法。
- 让“king - man + woman ≈ queen” 这样的语义关系能在向量空间中呈现出来。
图 2. 词向量- 用户 ID、商品 ID 没有数值意义,通过 Embedding 可以学到“用户偏好”和“商品特征”,再计算匹配度。
- 图像经过 CNN 提取后,也会变成一个向量(即图像的 embedding),用来做分类或检索。
3.2 大模型(LLM、扩散模型等)时代
- GPT、BERT 等模型在最开始都会把单词/子词转换成向量(token embedding)。
- 训练完成后,我们还可以直接取 embedding 用于语义搜索(找相似文本)。
- CLIP 模型会同时把图像和文本转成 embedding,放在同一个空间里。这样“猫的照片”和“a cat”文本在 embedding 空间中会很接近。
图 3. 多模态 Embedding- 在扩散模型或音乐生成模型中,embedding 也用于把输入条件(比如提示词)翻译成模型能理解的向量。
4 总结
Embedding 可以理解为一种“翻译器”,它把原本没有数值意义的离散符号(如词语、用户ID、商品、图片等)转化为低维、稠密的向量表示。这样做的好处是既能压缩数据、提升计算效率,又能在向量空间中保留语义或特征上的相似性,使得相似的对象更接近,不相似的对象更远。
在传统深度学习中,Embedding 常见于词向量和推荐系统;在大模型时代,它是语言模型、图文匹配、多模态对齐等任务的基础。可以说,Embedding 是机器理解世界的一种“坐标系”。