☆ 保存 基于注意力的架构——一种动态衡量输入重要性的神经网络结构
04/07/2026
基于注意力的架构是一种不会把所有输入元素都同等处理的神经网络结构。它会根据当前任务或上下文的需要,对更相关的输入部分赋予更大的权重,从而构造表示。它的核心思想是:模型会针对每一次输入重新计算“该重点看哪里”。因此,即使在很长的句子或很长的序列中,只要关键信息与当前位置相关,模型也可以直接建立联系并把它纳入当前表示。
**通俗地说:**当我们阅读一篇长文章时,并不会对每一句话都投入完全相同的注意力,而是会先去看和当前问题最相关的部分。注意力机制也是类似的。比如在句子“Cheolsu gave a book to Yeonghui”中,如果问题是“Who received the book?”, 模型就会比起“Cheolsu”更关注“Yeonghui”。也就是说,它会看整个输入,但每次都会重新计算其中哪一部分对当前预测更重要。
模型先计算输入元素之间的相关性,再对更重要的信息赋予更大的权重,最终形成上下文化表示。
工作方式(机制、特点与核心思路)
-
提出背景
- 传统的 RNN 类模型按顺序逐步传递信息,因此序列前部的信息在传播到后面时容易逐渐减弱。
- 句子越长,距离较远的词之间的关系就越难被准确建模。
- 另外,由于它依赖顺序计算,并行化能力有限,训练效率也可能受到影响。
- 注意力机制让每个位置都可以直接参考其他所有位置,因此更适合处理长程依赖关系。
-
基本思想
- 注意力的核心问题很简单:“在表示当前位置时,输入中的哪些部分应该被更多参考?”
- 更重要的输入会被赋予更大的权重,不那么重要的输入则权重更小。
- 这个过程不是固定规则,而是会根据当前输入和上下文动态重新计算。
- 因此,即使是同一个词,在不同句子里也可能得到完全不同的表示。
-
Query-Key-Value 结构
- 注意力机制会先把输入映射成三种表示:Query、Key 和 Value。
- Query 表示当前位置“想找什么”。
- Key 表示各个输入位置携带的特征,用来和 Query 做匹配比较。
- Value 则表示真正被取出并融入输出的信息。
- 也就是说,先用 Query 和 Key 的关系决定重要性,再按照这个重要性对 Value 做加权组合,形成新的表示。
-
重要性计算与输出生成
- 每个 Query 都会和所有 Key 计算相似度分数。
- 这些分数经过 softmax 后,变成和为 1 的注意力权重。
- 某个位置的权重越大,该位置对应的 Value 对输出的贡献就越大。
- 最终输出就是多个 Value 的加权和,因此会突出当前上下文中最相关的信息。
-
\[ \mathrm{Attention}(Q·K·V)=\mathrm{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \]
\[ \alpha_{ij}=\frac{\exp(q_i \cdot k_j)}{\sum_{j’} \exp(q_i \cdot k_{j’})} \]
第一条公式给出了完整的注意力运算:先根据 Query 和 Key 的相似度得到权重,再用这些权重对 Value 做加权求和。第二条公式中的 αij 表示第 i 个位置对第 j 个输入的关注程度,也就是注意力权重。
-
公式的直觉理解
- 如果 q 和 k 的点积越大,就说明当前查询与该输入特征越匹配。
- softmax 会把这些分数转成比例,从而决定每个输入应该被参考多少。
- 除以 sqrt(dk) 的原因在于:维度变大时,点积容易过大,softmax 会过度集中到某一个位置,这样做可以缓解这种问题。
- 注意力权重并不是固定常数,而是基于学习到的 Query 和 Key 表示、针对每个输入动态计算出来的。
-
上下文化表示
- 经过注意力之后,一个词的表示就不再只是固定的词向量。
- 它会变成一种上下文化表示,也就是通过加权整合周围信息后形成的新表示。
- 例如,“love”在“I love dogs”和“I love programming”中会对应不同的向量。
- 所以,注意力机制并不是孤立地理解一个词,而是在上下文中重新定义它的表示。
-
简单数值例子
- 假设我们要为句子“I love dogs”中的“love”构造上下文化表示。
- 设 Query(“love”) 与各个 Key 的相似度分别是 I=1、love=2、dogs=3。
- 经过 softmax 后,大约得到 0.09、0.24 和 0.67。
- 这些值表示:在表示“love”时,模型分别会参考 I、love 和 dogs 到什么程度。
- 在这个例子里,“dogs”的信息贡献最大。
-
\[ \mathrm{Output}=0.09\cdot V(I)+0.24\cdot V(love)+0.67\cdot V(dogs) \]
\[ \mathrm{Output}=\sum_j \alpha_{ij} V_j \]
此时,“love”的表示已经不再是一个固定 embedding,而是通过对周围词的信息做加权求和后得到的新向量。在这里,“dogs”的信息被反映得最强。
-
训练过程
- 理解注意力时最关键的一点是:模型并不是把注意力权重当成固定值存起来,然后直接拿来用。
- 模型首先会通过线性变换把输入映射成 Query、Key 和 Value,这里用到的是可学习参数,例如 WQ、WK 和 WV。
- 在训练初期,这些参数还没有学好,因此 Query 和 Key 之间的关系并不准确,得到的注意力权重也往往比较粗糙。
- 接着,模型会利用这些表示去完成真实任务,比如下一词预测或机器翻译。
- 如果预测错误,就会根据预测值与目标值之间的差异计算 loss。
- 随后,误差信号会通过反向传播沿着计算图向后传递。
- 真正被直接更新的不是 α 本身,而是生成 Query、Key、Value 的参数 WQ、WK、WV。
- 也就是说,模型是通过更新这些参数,逐渐学会在什么情况下应该更多参考哪些信息。
- 参数一旦变化,下一轮中 Query 和 Key 的表示也会随之变化,于是同样的结构就能算出更合适的注意力权重。
- 最终,注意力的学习并不是“直接记住 α”,而是“学会如何生成 Q、K、V,使有用的 α 自然产生出来”。
-
训练过程的直觉
- 假设在训练初期,模型在处理“I love dogs”时,构造“love”的表示时过度关注“I”,却几乎没有参考“dogs”。
- 如果这导致预测效果变差,loss 就会变大。
- 反向传播就会推动参数朝着“在表示 love 时,更有必要参考 dogs”的方向更新。
- 于是,Query(“love”) 和 Key(“dogs”) 之间会变得更匹配,它们之间的注意力权重也可能随之提高。
- 这个过程不断重复,模型就会逐渐学会在不同上下文中该关注什么。
-
Self-Attention 与 Multi-Head Attention
- Self-Attention 指的是同一个输入序列内部的各个元素可以直接彼此参考。
- 这样一来,距离很远的词之间的关系也可以在一步之内建模。
- Multi-Head Attention 则是在多个不同的投影空间中同时进行这种计算。
- 有的 head 可能更擅长捕捉句法关系,有的则更关注语义相关性或位置信息。
- 多个视角结合之后,模型就能得到更丰富、更有表达力的表示。
-
扩展到 Transformer
- Transformer 是最具代表性的、以注意力为核心运算构建起来的架构。
- 无论是编码器还是解码器,注意力都是其中的关键模块。
- 正因为这种设计,注意力的思想已经从自然语言处理扩展到了计算机视觉、语音和多模态学习等领域。
- 可以说,注意力机制推动了模型从“严格按顺序读取输入”转向“在整体观察输入的同时,动态决定哪里最重要”。
意义与局限
基于注意力的架构能够直接计算输入之间的关系,并有选择地强化重要信息,因此即使在长上下文中也能较好地保留关键线索。更重要的是,它会根据上下文动态重建表示,所以词或 token 不再被理解为固定不变的意义,而是被理解为由整句上下文共同决定的意义。同时,它天然适合并行计算,表示能力也很强,因此成为 Transformer 系列模型的核心基础。不过,随着输入长度增加,模型需要计算所有位置之间的关系,计算量和内存开销都会迅速上升。因此,在实际应用中,人们也在持续研究 sparse attention、linear attention、local attention 等更高效的变体。
建议先读 (3/5)
+2
- 7.8 Transformer模型中的高级位置编码——APE、RPE与RoPE
- 7.3 自注意力机制 — 从 Query–Key–Value 到矩阵计算
- 4.2 Output Layer and Probabilistic Interpretation — 神经网络输出的概率解释
- Position-wise Feed Forward Network — Transformer 中在每个位置上相同应用的非线性变换层
- GELU(高斯误差线性单元)— 用“概率式”通过率实现平滑非线性的激活函数
接下来推荐阅读 (5/18)
+5
- Scaled Dot-Product Attention — 为什么除以 √dₖ 能让 Attention 更稳定
- Transformer Attention Projection — QKV 分离与 Attention 的计算原理
- Head Redundancy(注意力头冗余)— 为什么多个 Attention Head 会关注相同的信息
- Position Interpolation — 为什么 RoPE 在长上下文中会失去位置感知能力
- Unified Representation — 为什么 Attention 会同时比较语义与位置信息
- Sparse Attention — 为什么只计算部分 Token 也能保持上下文理解能力
- Weight Tying — 为什么要共享理解单词与生成单词的表示空间
- Token-wise Normalization — 为什么它是 Transformer 训练稳定性的关键
- Weighted Sum of Value Vectors — Attention 为什么要对 Value 做加权求和
- 8. Generative Modeling — 生成建模与 Deep Generative Model 的核心原理
- Global Token:Transformer 如何将完整输入汇聚成一个全局表示
- Latent Bottleneck — 为什么模型要让信息通过狭窄的潜在空间
- Permutation Equivariance(置换等变性)——为什么输入顺序变化后输出也会同步变化
- Distance-based Inductive Bias — 为什么模型会优先连接邻近信息
- Permutation Invariance — 为什么输入顺序改变,模型仍能得到相同结果
- Permutation-Equivariant — 为什么改变输入顺序后输出也会保持对应变化
- SiLU Activation — 为什么它是一种比 ReLU 更具表达能力的非单调 Gating Function
- Swish Activation — 为什么它能够缓解 ReLU 的 gradient 断裂问题
同一主题文章 (3/3)
- Projection Layer — 将 hidden representation 转换为 output space 的核心机制
- Location-based Addressing——基于位置访问 Memory 的工作机制
- Content-based Addressing(基于内容的寻址)——通过语义相似度访问 Memory 的原理
相关概念 (2/2)
📍 这个概念在 AI 学习地图中的位置
查看这个概念在整个 AI Universe 中的位置。
📍 AI Universe 中的当前位置
☰
重置 显示已完成 · 需要登录 加载中…
🌌 AI Universe
‹
›
⭐ 概念
请选择一个节点。