什么是 Transformer

Transformer 是 Google 在 2017 年提出的神经网络架构,彻底改变了 NLP 领域。它完全基于注意力机制,摒弃了传统的 RNN 和 CNN 结构。

Self-Attention 机制

Self-Attention 的核心思想是让序列中的每个 token 都能够直接关注到序列中的所有其他 token:

def self_attention(Q, K, V):
    scores = Q @ K.T / math.sqrt(d_k)
    attention_weights = softmax(scores)
    return attention_weights @ V

Multi-Head Attention

多头注意力将 Q、K、V 投影到多个低维子空间,让模型能够同时关注来自不同位置的不同表示子空间的信息。

位置编码

由于 Transformer 没有递归结构,需要通过位置编码注入序列顺序信息。原始论文使用正弦位置编码。

注意力机制深入理解 对注意力的数学原理做了更深入的分析。