趋近智
标准自注意力 (self-attention)机制 (attention mechanism)的主要计算瓶颈是其相对于输入序列长度 的二次复杂度。通过计算注意力得分矩阵 涉及计算 矩阵 。这需要查询(query)向量 (vector)和键(key)向量之间进行 次点积(每个向量维度为 ),接着进行缩放、softmax归一化 (normalization),最后乘以值(value)矩阵 。整体复杂度通常由 的计算主导,导致注意力矩阵本身的计算时间复杂度为 ,空间复杂度为 。这种随规模增长的特性使得将标准Transformer应用于超长序列在计算上变得难以承受(例如,被视为补丁序列的高分辨率图像、长文档或基因组数据)。
为克服此局限,一项重要的研究方向是开发 线性Transformer,这些变体以线性 的时间复杂度与内存复杂度来近似自注意力机制。核心思想是避免显式计算和存储完整的 注意力矩阵。
如果我们考虑不带softmax归一化 (normalization)的注意力计算,,矩阵乘法的结合律允许我们将计算重排为 。在此, 是 维矩阵, 是 维矩阵。计算 需要 次运算。接着,将结果乘以 () 又需要 次运算。如果嵌入 (embedding)维度 被视为固定值或远小于 ,则整体复杂度在 上呈线性关系。
然而,按行进行的softmax函数,定义为: 其中 代表输入矩阵的第 行(在此处,是 的第 行),阻碍了这种简单的重排。归一化项 将一行中的所有元素耦合在一起,似乎需要为给定查询计算所有 个点积,然后才能进行归一化和与值相乘的操作。
线性Transformer的变体采用不同的策略,以近似注意力机制 (attention mechanism)并绕过softmax瓶颈,有效地实现了类似于 的重排:
核函数近似: 该方法近似点积相似度,然后进行softmax中固有的指数函数计算,通常将 视为核函数。如果这个核函数可以通过特征映射 的内积来近似,即 ,那么注意力求和 可以重写为: (注意:此处需要仔细处理向量 (vector)/矩阵的维度,这仅演示了重排方式)。 项 计算基于键和值的聚合表示。这个聚合可以计算一次(在 上呈线性),然后乘以每个查询的特征映射 (同样,在 上呈线性)。难点在于找到合适的特征映射 ,使其能够准确近似指数核函数,同时允许这种分解。Performer 等模型使用基于随机特征的技术(特别是通过正交随机特征实现快速注意力,即FAVOR+)来构建这些映射,并对近似质量提供理论保证。这些方法的目标是达到 复杂度。我们将在“基于核函数的注意力近似(Performer)”一节中更详细地考察基于核函数的方法。
低秩投影: 该策略基于注意力矩阵 通常是低秩的,或可以被低秩矩阵很好地近似的观察或假设。Linformer 模型通过引入可学习的投影矩阵 () 和 () 来体现这一点,其中 是一个固定维度,远小于 ()。它计算投影后的键矩阵 和值矩阵 。这些投影矩阵的维度分别为 和 。注意力机制随后使用这些投影矩阵进行操作,例如,通过基于 () 计算注意力权重 (weight),并将其应用于 ()。复杂度从 降低到 ,如果 是常数或随 亚线性增长,则实现了线性扩展。这种方法将在“低秩投影方法(Linformer)”一节中详细说明。
线性注意力机制 (attention mechanism)在计算效率方面提供了显著优势,尤其对于长序列。
| 特性 | 标准注意力 | 线性注意力(近似) |
|---|---|---|
| 时间复杂度 | (其中 取决于方法,例如特征维度或投影大小 ) | |
| 内存(注意力矩阵) | 或更少 | |
| 计算 | 显式 矩阵 | 避免显式 矩阵 |
| 精确性 | 精确 | 近似 |
| 适用性 | 短到中等长度序列 | 长序列 |
主要的权衡在于,这些方法计算的是完整自注意力 (self-attention)机制的近似。虽然实证结果常表明这些近似表现出色,有时甚至在特定任务上胜过标准注意力(可能归因于隐式正则化 (regularization)效应),但它们可能无法捕捉与原始公式完全相同的关系信息。近似质量及其对下游任务性能的影响必须通过实证评估。
通过将计算负担从二次降低到线性,这些方法显著扩展了Transformer架构的适用范围,到以前受序列长度限制阻碍的领域,使模型能够更有效地处理整个文档、高分辨率图像或长时间序列数据。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•