近年来,Transformer 架构在自然语言处理领域取得了显著的成果,而 Attention 机制则是其核心所在。然而,随着研究的深入,传统的标准 Attention 机制暴露出了一些计算复杂度和资源需求上的问题,这促使研究者们开始探索更高效的线性 Attention 。然而,线性 Attention 在实际效果上却一直不如标准 Attention 。本文将从 「集中注意力」 的角度,探讨线性 Attention 的局限性,并尝试给出一个合理的解释。
Attention 机制的稀疏性
什么是稀疏性?
在 《从熵不变性看 Attention 的 Scale 操作》 一文中,我们用信息熵来度量 Attention 的 「集中注意力」 程度。熵越低,Attention 越有可能集中在某个 token 上。然而,信息熵只能用于归一化且非负的 Attention 矩阵,这限制了其适用范围。因此,我们引入了另一种稀疏性度量指标:S(x) = E[|x|] / sqrt(E[x^2])
。这个指标与信息熵类似,S(x)
越小,表示对应的随机矢量越稀疏,即越有可能 「一家独大」 。
标准 Attention 的稀疏性
对于标准 Attention 机制,f = exp
,我们可以推导出其稀疏性:
S(a) = exp(-1/2 * σ^2 * ||q||^2)
当σ
或||q||
趋向无穷大时,S(a)
趋向于 0,这意味着标准 Attention 可以任意稀疏地 「集中注意力」 。
GAU 的稀疏性
对于 Gated Attention Unit (GAU) 机制,f = relu2
,其稀疏性较为复杂,但通过计算可以发现,只有当偏置项β小于 0 时,稀疏性才有机会趋于 0 。这表明,GAU 在某些条件下也能实现较高的稀疏性。
线性 Attention 的局限性
极简线性 Attention
对于最简单的线性 Attention,即不加任何激活函数 f = identical
,其稀疏性为:
S(a) = sqrt(2/π * γ * exp(-β^2/(2γ^2)) + β * erf(β/(2√γ)) / (β^2 + γ^2))
从图像可以看出,极简线性 Attention 的稀疏性存在一个较高的下限,这意味着它难以 「集中注意力」 到关键位置上。
一般线性 Attention
线性 Attention 的一般形式为 a_j ∝ g(q) ⋅ h(k_j)
,其稀疏性为:
S(a) = 1 / sqrt(1 + (σ~ * μ~ * ||q~||_2 / ||q~||_1)^2)
这表明,要想线性 Attention 变得稀疏,可以通过降低 k~
串行的信噪比或增大 q
的模长。然而,非负型线性 Attention 通常只能表示绝对位置的重要性,难以表达相对位置的重要性。
线性衰减 Attention
对于带有显式递归的线性 RNN 模型,其稀疏性为:
S(a) = 1 - λ^n / n(1 - λ) * sqrt(1 + λ / (1 + λ^n))
当λ < 1
时,随着 n
趋向无穷大,S(a)
趋向 0 。这意味着这种模型可以实现较高的稀疏性,但其注意力仅能表达固定不变的注意力衰减,难以自适应地关注到长距离的上下文。
结论
本文通过 Attention 矩阵的稀疏程度,考察了不同 Attention 机制的潜力,得出以下结论:
- 标准 Attention 可以实现任意稀疏的注意力矩阵。
- 线性 Attention 难以实现高稀疏性,尤其是在表示相对位置的重要性时。
- 带有显式衰减的线性 Attention 可以实现稀疏性,但其注意力固定,难以自适应。
这些发现或许能够解释线性 Attention 在实际效果上略逊一筹的原因。线性 Attention 在 「集中注意力」 方面存在固有的局限性,这使得它在处理复杂上下文时表现不如标准 Attention 。未来的研究或许需要在如何提高线性 Attention 的稀疏性和灵活性上继续努力,以期实现更高效且性能优越的 Transformer 模型。
参考文献
- 《 Transformer 升级之路:3 、从 Performer 到线性 Attention 》
- 《为什么现在的 LLM 都是 Decoder-only 的架构?》
- 《从熵不变性看 Attention 的 Scale 操作》
- 《 FLASH:可能是近来最有意思的高效 Transformer 设计》
- 《相对位置编码 Transformer 的一个理论缺陷与对策》
- 《如何度量数据的稀疏程度?》
- 《线性 Attention 的探索:Attention 必须有个 Softmax 吗?》
- 《 Google 新作试图 「复活」RNN:RNN 能否再次辉煌?》
通过上述分析,我们不仅理解了不同 Attention 机制的稀疏性差异,还揭示了线性 Attention 在实际应用中的局限性。希望本文的讨论能够为未来的研究提供一些新的思路和方向。