标题:【Transformer 核心】自注意力机制(Self-Attention):原理、计算与作用
摘要:
自注意力是 Transformer 的灵魂:让序列中每个元素与所有元素"互相关注",直接建模全局依赖,解决 RNN 长依赖弱、无法并行的问题。
一、核心思想
对输入序列 XXX,每个词都生成:
- Q(Query,查询):我要找什么
- K(Key,键):我有什么
- V(Value,值):我携带什么信息
通过 Q 与所有 K 计算相似度,加权求和 V,得到融合全局信息的新表征。
二、计算公式
Attention(Q,K,V)=softmax(QKTdk)V \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V
- QKTQK^TQKT:计算每对元素相似度
- dk\sqrt{d_k}dk :缩放,防止点积过大导致 softmax 梯度消失
- softmax:归一化权重
- 乘 V:加权求和得到输出
三、作用
- 全局建模:直接捕捉长距离依赖(如句子首尾关系)
- 并行计算:不像 RNN 必须逐时间步计算
- 动态权重:根据输入内容自动决定关注谁
小结:
自注意力的本质是序列全局加权融合,用相似度动态聚合所有位置信息,是 Transformer 取代 RNN 的关键。