Embedding:从编号到向量
前两节完成了 Tokenizer:文本被切成 token,每个 token 分配了一个整数编号。但编号只是编号——7 和 3 之间没有大小关系,模型无法从编号判断两个词是否相似。
这一节引入 Embedding:把离散的 token ID 映射到一个连续的向量空间。我们从「为什么需要向量」出发,逐步建立对词向量的直觉,最后组装出训练中实际使用的 Embedding 层。
Embedding 的思路是把每个 token ID 映射到一个固定长度的实数向量。同一个向量里的不同维度可以表达不同的特征——有些维度可能捕捉了"是否是动物",有些可能捕捉了"大小",有些可能捕捉了"抽象程度"。这些特征不是人工挑选的,而是模型在训练中自己发现的。这样一来,cat 和 dog 在大部分维度上数值接近,而 algorithm 和它们在每个维度上都相差很远——两个向量的距离直接反映了语义的远近。