注意力学习笔记 | 豆包MarsCode AI刷题

60 阅读2分钟

注意力机制学习笔记

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. 主要优势

  1. 能够处理长距离依赖关系

    • 可以直接建立句子中任意位置 token 之间的关联
    • 克服了 RNN 只能处理相邻 token 的局限性
  2. 便于并行计算

    • 所有 token 的注意力权重可以同时计算
    • 提高了模型训练和推理效率
  3. 参数灵活性

    • 通过 WQ、WK、WV 矩阵可以灵活调整参数量
    • 有利于提升模型的拟合能力

4. 实现要点

  1. 归一化处理

    • 使用 √dq 对点积结果进行缩放,避免梯度消失
    • 采用 softmax 确保权重和为 1
  2. 多层堆叠

    • 可以叠加多个注意力层
    • 每一层都能学习不同层次的上下文关系

5. 应用价值

  • 是 Transformer 架构的核心组件
  • 广泛应用于 GPT、BERT 等主流语言模型
  • 在图像处理等其他领域也有重要应用

6. 注意事项

  1. 计算复杂度

    • 需要计算所有 token 对之间的关联,复杂度为 O(n²)
    • 对长序列处理有一定挑战
  2. 参数调优

    • Q、K、V 的维度设置需要合理
    • 注意力层数的选择要平衡效果和效率

这种注意力机制为深度学习模型提供了更好的特征提取能力,是现代 NLP 模型取得突破性进展的关键因素之一。