1. Transformer架构的起源与核心思想
2017年,Google Brain团队在论文《Attention is All You Need》中首次提出了Transformer架构,彻底改变了自然语言处理领域的格局。传统RNN和LSTM网络在处理长序列时存在梯度消失和并行计算困难的问题,而Transformer通过自注意力机制完美解决了这些痛点。
Transformer的核心创新在于完全摒弃了循环结构,转而采用注意力机制来建模序列中任意位置之间的关系。这种设计带来了三个关键优势:
- 并行计算能力:可以同时处理序列中的所有位置
- 长距离依赖建模:不受序列长度限制的全局上下文感知
- 可解释性:注意力权重直观展示模型关注的重点
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 自注意力机制深度解析
2.1 注意力计算的三元组
自注意力机制的核心是Q(Query)、K(Key)、V(Value)三元组。对于输入序列中的每个token,模型会生成这三组向量:
code复制q_i = x_i * W_Q # 查询向量
k_i = x_i * W_K # 键向量
v_i = x_i * W_V # 值向量
其中W_Q、W_K、W_V是可学习的参数矩阵。注意力得分的计算过程可以形象地理解为:
- 每个token通过q向量"询问"自己关心什么
- 用k向量"回答"自己包含什么信息
- 根据匹配程度(via点积)决定从各个v向量中获取多少信息
2.2 缩放点积注意力公式
标准注意力计算公式如下:
code复制Attention(Q,K,V) = softmax(QK^T/√d_k)V
这里有几个关键细节:
- 除以√d_k是为了防止点积结果过大导致softmax梯度消失
- softmax确保所有权重和为1,形成概率分布
- 计算复杂度为O(n²d),其中n是序列长度,d是向量维度
2.3 多头注意力机制
Transformer使用多头注意力来捕捉不同类型的依赖关系:
code复制MultiHead(Q,K,V) = Concat(head_1,...,head_h)W_O
head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)
实践中,GPT-3使用了96个注意力头,每个头的维度为64。多
