从零理解 Transformer 注意力机制
为什么需要注意力机制
在处理序列数据时,传统 RNN 存在两个核心问题:
- 长距离依赖衰减:信息在序列传递中逐渐丢失
- 无法并行计算:每一步依赖上一步的输出
注意力机制优雅地解决了这两个问题。
Scaled Dot-Product Attention
核心公式:
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) * V
其中:
- Q (Query):查询矩阵——「我想找什么」
- K (Key):键矩阵——「我有什么特征标签」
- V (Value):值矩阵——「我的实际内容是什么」
- sqrt(d_k):缩放因子,防止点积过大导致 softmax 梯度消失
直观理解
把注意力想象成在图书馆查资料:
- 你有一个问题(Query)
- 每本书有索引标签(Key)
- 书有实际内容(Value)
注意力机制做的事情就是:计算问题与每个标签的相似度,按相似度加权汇总所有书的内容。
下一步
理解了注意力机制,就可以进一步学习 Multi-Head Attention 和完整的 Transformer 架构。