Transformer自注意力机制中Wq等权重矩阵的智能性
目录
1. 权重矩阵的起源与训练机制
1.1 矩阵的初始化与学习目标
-
初始状态:
( W^Q, W^K, W^V ) 在训练前为随机初始化的小数值矩阵(如高斯分布采样),相当于"未经训练的直觉"。 -
学习目标:
通过大量数据训练,使矩阵能够:- 将输入词向量投影到语义关联空间(如"it"的Query与"wolf"的Key方向一致)
- 捕捉语法(如主语-代词一致性)、语义(如"hungry"多描述捕食者)等特征。
1.2 训练过程:梯度下降的驱动
以句子 "The wolf chased the rabbit because it was hungry."
为例:
步骤 | 数学表达式 | 解释 |
---|---|---|
前向传播 | Score = Softmax( (Q_it · K_wolf^T) / sqrt(d_k ) | 计算"it"对"wolf"的注意力权重 |
损失计算 | L = -log(p_wolf) | 若模型预测"it→rabbit",交叉熵损失值升高 |
反向传播 | ∂L/∂W^Q = 链式法则计算梯度 | 通过反向传播计算权重矩阵的梯度方向 |
参数更新 | W^Q = W^Q - η·∂L/∂W^Q | 沿梯度方向更新参数(η为学习率) |
训练效果:经过数万次类似样本迭代后,矩阵逐渐具备以下能力:
- ( W^Q ) 学会生成指向"潜在指代对象"的Query(如要求主语、生物属性)
- ( W^K ) 学会生成包含"可被指代特征"的Key(如主语标志、生物语义)
2. 数学过程:矩阵如何编码语义关联
2.1 点积运算的几何意义
- 核心公式:
Score = Q ⋅ K = ∥ Q ∥ ∥ K ∥ cos θ \text{Score} = Q \cdot K = \|Q\| \|K\| \cos\theta Score=Q⋅K=∥Q∥∥K∥cosθ
若 Q it Q_{\text{it}} Qit 与 K wolf K_{\text{wolf}} Kwolf 夹角 θ \theta θ 小(方向接近),则得分高。
2.2 Softmax的竞争聚焦作用
假设未缩放得分:[wolf: 8.0, rabbit: 3.0, chased: 2.0, hungry: 1.0]
Softmax计算:
Weights
=
[
e
8.0
e
8.0
+
e
3.0
+
e
2.0
+
e
1.0
,
⋯
]
≈
[
0.97
,
0.02
,
0.007
,
0.003
]
\text{Weights} = \left[ \frac{e^{8.0}}{e^{8.0}+e^{3.0}+e^{2.0}+e^{1.0}}, \cdots \right] \approx [0.97, 0.02, 0.007, 0.003]
Weights=[e8.0+e3.0+e2.0+e1.0e8.0,⋯]≈[0.97,0.02,0.007,0.003]
指数运算放大显著差异,使模型聚焦关键关联(如"wolf"占97%权重)。
3. 关键问题解答:为什么矩阵相乘能精准得分?
3.1 矩阵的本质:特征过滤器
- ( W^Q ) 的作用:
# 伪代码:提取"我需要什么信息"的特征 Q_it = [ h_it[0] * WQ_主语权重 + h_it[1] * WQ_生物属性权重 + ... # 强化主语和生物特征提取 ]
- ( W^K ) 的作用:
# 伪代码:提取"我能提供什么信息"的特征 K_wolf = [ h_wolf[2] * WK_被捕者权重 + h_wolf[3] * WK_施动者权重 + ... # 强化可被指代特征 ]
3.2 动态匹配的数学实现
当以下条件满足时, Q i t ⋅ K w o l f Q_{it} \cdot K_{wolf} Qit⋅Kwolf 取得高分:
- 语法匹配:
- 通过位置编码捕获 wolf 的主语位置
- 示例计算:
PositionEncoding ( w o l f ) = [ sin ( 1 10000 ) , cos ( 1 10000 ) , … ] \text{PositionEncoding}(wolf) = [\sin(\frac{1}{10000}), \cos(\frac{1}{10000}), \ldots] PositionEncoding(wolf)=[sin(100001),cos(100001),…]
- 语义匹配:
- wolf 的词嵌入包含 [+生物, +食肉动物] 特征
- hungry 的 Value 向量强化与捕食者的关联
- 逻辑匹配:
- 动词 chased 的 Key 向量编码 [+主动行为] 特征
- 与 wolf 的施动者属性产生共振
4. 通俗类比
4.1 类比1:智能探照灯系统
初始状态:
探照灯随机扫描(未训练矩阵),可能照到不相关的“rabbit”。
训练过程:
-
每次照错目标时,系统记录误差(损失函数)
-
自动调整灯头旋转参数 ( W Q W K \frac{W^{Q}}{W^{K}} WKWQ更新)
-
最终学会将光束聚焦到“wolf”的特征区域
4.2 类比2:语义配对游戏
游戏规则:
- Query 是拼图缺口("it"需要的信息形状)
- Key 是拼图凸起(其他词能提供的信息形状)
训练目标:
- 通过反复试错(梯度下降)
- 最终使 “wolf” 的凸起完美匹配 “it” 的缺口