1. 自注意力机制的本质与工作原理
1.1 从语言理解到数学表达
当我们阅读"小明把苹果递给了小红,因为她饿了"这句话时,人类大脑会瞬间建立"她"与"小红"的关联。这种认知能力正是自注意力机制(Self-Attention)的数学建模对象。不同于传统序列模型的局部感知,自注意力让每个token都能直接"看到"序列中的所有其他token,通过量化关联度实现全局上下文建模。
具体实现涉及三个核心向量:
- Query(Q):当前token的"需求说明书",表示它想要寻找什么样的上下文信息
- Key(K):每个token的"能力说明书",描述它能提供什么样的特征
- Value(V):token的"实质内容",包含其真正的语义信息
计算流程分为四步:
- 关联度计算:Q与所有K做点积,得到原始注意力分数
- 缩放处理:除以√d_k(d_k是Key维度)防止梯度消失
- 权重归一化:Softmax转换为概率分布
- 信息聚合:用权重对V加权求和
关键细节:缩放因子√d_k的引入是因为点积结果会随维度增大而绝对值变大,导致Softmax进入饱和区。假设d_k=64,点积结果的标准差会扩大8倍,缩放后保持梯度稳定性。
1.2 多头注意力的设计哲学
原始Transformer采用8个并行的注意力头(Attention Head),其设计考量包括:
- 特征空间解耦:将768维嵌入拆分为8个64维子空间,每个头学习不同的关联模式
- 专业分工:实践中会发现某些头专注语法(如指代关系),某些头捕捉语义(如同义词),还有些头关注位置特征
- 模型容量:多头设计相当于增加了网络的宽度,提升了模型表达能力
多头注意力的输出需要经过:
- 各头结果拼接(Concat)
- 线性投影统一维度
- 残差连接(Add)和层归一化(Norm)
这种结构使得模型可以同时关注来自不同位置的不同特征子空间的信息,是Transformer成功的关键设计之一。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 自注意力与RNN的架构对比
2.1 长距离依赖处理能力
RNN类模型存在固有的信息衰减问题。以LSTM为例,其记忆细胞状态Ct的更新公式为:
Ct = ft ⊙ Ct-1 + it ⊙ C
