Self-Attention 机制
Transformer 的核心是缩放点积注意力:
Multi-Head Attention
多头注意力将查询、键、值投影到 个子空间:
其中
import torch.nn as nn
class MultiHeadAttention(nn.Module):
def __init__(self, d_model, n_heads):
super().__init__()
self.d_k = d_model // n_heads
self.n_heads = n_heads
self.q_linear = nn.Linear(d_model, d_model)
self.k_linear = nn.Linear(d_model, d_model)
self.v_linear = nn.Linear(d_model, d_model)
self.out = nn.Linear(d_model, d_model)
位置编码
Transformer 使用正弦位置编码注入序列信息:
理解 Self-Attention 需要线性代数基础中的矩阵乘法知识。概率论基础支撑了 softmax 归一化的理论基础。
Transformer 是机器学习概述中深度学习范式的里程碑式架构。