词嵌入的核心是将离散词映射为连续、低维、可学习的实数向量,通过模型在大量文本中自动学习语义结构;数学上等价于查表(one-hot乘嵌入矩阵),反向传播直接更新词向量本身,使语义相似词在向量空间中距离更近。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Word Embedding 的核心,是把离散的词(比如 “king”“queen”)映射成连续、低维、可学习的实数向量。它不是预设规则,而是靠模型在大量文本中自动学出来的语义结构。数学上,本质是一次查表 + 矩阵乘法;反向传播时,更新的是嵌入矩阵本身——每个词向量就是可训练参数。
词向量怎么从 one-hot 变成稠密向量
假设词汇表大小为 V(比如 10 万),词向量维度为 M(比如 300)。Embedding 层就是一个 V × M 的可训练矩阵 Q,每一行 Qi 就是第 i 个词的初始向量。
输入一个词,先转成 one-hot 向量 w ∈ ℝ1×V(只有一处为 1,其余全 0)。那么它的 embedding 就是:
embedding = w · Q ∈ ℝ1×M
因为 w 只有一个位置是 1,所以结果其实就是 Q 中对应行的向量——等价于“查表”。这步没有激活函数,纯线性。
CBOW 模型中的前向过程(以预测中心词为例)
给定上下文词(如 [“the”, “cat”, “sat”]),CBOW 目标是预测中间词(如 “on”)。
- 每个上下文词 wi 转为 one-hot,再查表得词向量 ci = wiQ
- 对 k 个上下文向量取平均: h = (1/k) ∑ ci ∈ ℝ1×M
- 将 h 输入线性层(无激活): v = hW ∈ ℝ1×V,其中 W ∈ ℝM×V 是输出权重矩阵
- 对 v 做 softmax 得概率分布:pj = exp(vj) / ∑ exp(vi)
- 用真实中心词的 one-hot 标签 y 计算交叉熵损失:L = −y log(p)
Embedding 层如何反向传播
关键点:Embedding 层没有独立权重;它的“权重”就是矩阵 Q 本身。梯度不是传给某个隐藏层,而是直接更新 Q 的某一行。
以单个上下文词 wi 为例,它贡献了 ci 到 h,进而影响最终损失 L。链式推导如下:
∂L/∂ci = (∂L/∂v) · WT · (1/k)
而 ci = wiQ,且 wi 是 one-hot(仅第 i 位为 1),所以:
∂L/∂Qi = ∂L/∂ci
也就是说:损失对第 i 个词向量的梯度,就等于 ∂L/∂ci ——这个向量会直接用来更新 Qi(例如 SGD 更新:Qi ← Qi − η·∂L/∂ci)。
多个上下文词各自贡献自己的梯度,最终每行 Qi 只被自己对应的词触发更新。
为什么能学到语义关系
模型反复看到 “king” 出现在类似 “man”“queen”“royal” 的上下文中,“queen” 出现在 “woman”“king”“royal” 中……为了最小化预测误差,优化器会不断调整这些词的向量,让它们在空间中靠近或保持特定方向关系。
例如,实验发现:king − man + woman ≈ queen。这不是人为设计,而是梯度下降在高维空间中自然收敛出的几何结构——因为这种向量偏移恰好能提升上下文预测准确率。
换句话说,语义即共现模式的向量压缩表达;反向传播是驱动这种压缩发生的数学引擎。


















