简单解释 Embedding
计算机热爱数字,却厌恶意义。
对于计算机而言,“happy”和“joyful”这两个词仅仅是不同的字母组合。它们并不知道这两个词共享同一种情感。
Embedding 解决了这个问题。它们将单词转化为数字列表。这些数字就像是意义的 GPS 坐标。
当你将单词转化为数字时,含义相近的词会在数字地图中靠得很近。
- “Dog”和“puppy”的坐标很接近。
- “Dog”和“democracy”的坐标相距甚远。
向量(Vector)其实就是一个有序的数字列表。 “king” → [0.21, -0.44, 0.88] “queen” → [0.19, -0.41, 0.85]
真实的模型会为每个单词使用成千上万个这样的数字。你不需要看到所有的数字,你只需要知道两个点之间的距离有多近。
我们使用余弦相似度(cosine similarity)来衡量这种接近程度。
- 方向相同的点 = 高度相关。
- 垂直的点 = 不相关。
这会将意义转化为几何学。你甚至可以用单词进行数学运算。
如果你取“king”的向量,减去“man”,再加上“woman”,你就会落在“queen”附近。模型通过阅读数十亿个句子来学习这种模式。
这种数学原理驱动着你每天都在使用的 AI 工具:
- 语义搜索(Semantic search):通过含义而非精确关键词来查找结果。
- 推荐系统(Recommendations):基于相似的向量来推荐产品或歌曲。
- RAG:帮助 AI 在你的文档中查找事实以回答问题。
- 聚类(Clustering):自动将相似的项目归为一类。
你不需要自己计算这些数字。你只需将文本发送给模型,它就会返回向量。然后,你将这些向量存储在向量数据库中以便进行搜索。
Embedding 将语言的奥秘转化为了几何的逻辑。
尝试使用 Meaning Map 来查看单词是如何连接的:https://dev48v.infy.uk/ai/days/day3-embeddings.html
所有概念:https://dev48v.infy.uk/aifromzero.php
来源:https://dev.to/dev48v/embeddings-explained-simply-how-ai-turns-words-into-a-map-of-meaning-36f4