The Devil in Linear Transformer

Mar 30, 2025
1 views
NLP

简介

承接 Transformers are RNNs 这篇论文

目的: 为了分析之前linear transformer的效果为什么不好。发现主要是两个原因造成的:

  1. 无界梯度(unbounded gradient),会导致模型在训练时不稳定,收敛不好;
  2. 注意力稀释(attention dilution),transformer在lower level时应该更关注局部特征,而higher level更关注全局特征,但线性transformer中的attention往往weight 更均匀化,不能聚焦在local区域上,因此称为attention稀释。
    **解决方案: **

  3. 对linear attention算出来的output接着做个normalization,形成NormFormer的结构,增加训练的稳定性。

  4. 在底层的layer用diagonal的local attention。
    自注意力机制的统一表示

在自注意力模块中,无论是传统的vanilla注意力还是线性注意力,其注意力矩阵 \(\mathbf{P} \in \mathbb{R}^{n \times n}\) 可以用以下统一形式表示:

\[ \begin{equation}p_{ij} = \frac{f(s_{ij})}{\sum_{k=1}^{n}f(s_{ik})}, \quad f: \mathbb{R} \rightarrow \mathbb{R}\end{equation} \]

其中 \(s_{ij}\) 表示token之间的相似度,注意这里19式其实就是 公式3, 只是在这篇论文写成了这个形式。

  • Vanilla注意力
  • 线性注意力

无界梯度(unbounded gradient)

梯度的一般形式

注意力矩阵 \(\mathbf{P}\) 关于相似度 \(s_{ik}\) 的梯度可以推导为:

\[ \begin{equation}\frac{\partial p_{ij}}{\partial s_{ik}} = \frac{f'(s_{ik})}{f(s_{ik})}(1_{j=k}p_{ij} - p_{ij}p_{ik})\end{equation} \]

📖 推导注意力矩阵 \(\mathbf{P}\) 关于相似度 \(s_{ik}\) 的梯度的一般形式。

  • Vanilla注意力的梯度
  • 线性注意力的梯度
    由于 \(|s_{ik}|^{-1} = |\phi(\mathbf{q}_i)\phi(\mathbf{k}_j)^T|^{-1}\) 可以任意大,线性注意力的梯度没有上界

更进一步,可以证明线性注意力的梯度也没有下界。

无界梯度会导致优化过程不稳定,在初步研究中表现为更差的收敛结果。这是线性注意力相比vanilla注意力性能下降的重要原因之一。

注意力稀释问题(Attention Dilution)

image

作者通过评估不同层级上query在邻域内其他query上的attention权重占比发现问题

  • vanilla的attention主要集中在对角线附近
  • linear attention 由于是low-rank来逼近的,所以必然是dense的(PS:有很多low-rank+sparse的方法来解决这个问题,可以从图中看到,注意力过多的给了分布较远的token。这种注意力"稀释"现象导致模型无法有效学习层次化特征表示
  • 该文提出的方法(ie., TransNormer)的注意力则主要集中在对角线附近。

解决方案架构设计

image

NormAttention模块

  • 设计思路
  • 实现细节

DiagAttention模块

  • 基于pattern的attention设计,将query按距离划分为不重叠的window
  • 每个window内进行attention计算,使用vanilla attention
  • 这种设计使早期层能更好地关注局部特征
    作者首先分析了vanilla attention和线性attention(1+elu)的组合,发现在靠底层的layer用vanilla(更sparse)的attention效果要更好(感觉也合理,模型最开始的时候应该更关注临近的token,到后期开始关注比较远的token)。

image

为了保持整体架构线性复杂度,作者把靠底层的layer换成了local attention,然后后面的layer用去掉了分母的,normalize过后的线性attention。

Reference

🔖 https://zhuanlan.zhihu.com/p/617517984