注意力机制学习笔记
1. 核心概念
注意力机制是当前 NLP 神经网络的核心机制,其本质是从大量信息中筛选出重要相关的信息,忽略无关信息。这种机制模仿了人类注意力集中的特点。
2. 注意力机制的数学建模
2.1 权重计算
- 使用权重向量 w 来表示不同信息的重要程度
- 通过加权求和: h = ∑(ei * wi) 来融合信息
- 使用 softmax 函数将权重转换为概率分布形式:
αi = exp(wi) / ∑exp(wi)
2.2 Self-Attention 机制
- 引入查询向量(Query)、键向量(Key)和值向量(Value)三个概念
- 通过矩阵运算表示:
Attention(Q,K,V) = softmax(QK^T/√dq)V
- Q、K、V 均由输入的 token embedding 经过线性变换得到:
Q = WQ * E
K = WK * E
V = WV * E
3. 主要优势
-
能够处理长距离依赖关系
- 可以直接建立句子中任意位置 token 之间的关联
- 克服了 RNN 只能处理相邻 token 的局限性
-
便于并行计算
- 所有 token 的注意力权重可以同时计算
- 提高了模型训练和推理效率
-
参数灵活性
- 通过 WQ、WK、WV 矩阵可以灵活调整参数量
- 有利于提升模型的拟合能力
4. 实现要点
-
归一化处理
- 使用 √dq 对点积结果进行缩放,避免梯度消失
- 采用 softmax 确保权重和为 1
-
多层堆叠
- 可以叠加多个注意力层
- 每一层都能学习不同层次的上下文关系
5. 应用价值
- 是 Transformer 架构的核心组件
- 广泛应用于 GPT、BERT 等主流语言模型
- 在图像处理等其他领域也有重要应用
6. 注意事项
-
计算复杂度
- 需要计算所有 token 对之间的关联,复杂度为 O(n²)
- 对长序列处理有一定挑战
-
参数调优
- Q、K、V 的维度设置需要合理
- 注意力层数的选择要平衡效果和效率
这种注意力机制为深度学习模型提供了更好的特征提取能力,是现代 NLP 模型取得突破性进展的关键因素之一。