Transformer数学基础

Transformer架构的核心是自注意力机制(Self-Attention),它通过并行计算序列中所有位置之间的依赖关系,彻底解决了传统RNN的序列依赖问题。本章深入剖析Transformer的数学原理。

Self-Attention机制

核心公式

标准Scaled Dot-Product Attention定义为:

逐步骤推导

Step 1:QKV投影

设输入序列

其中:

  • :可学习的投影矩阵
  • :查询、键、值矩阵

Step 2:计算注意力分数

矩阵元素 表示第 个位置对第 个位置的注意力权重(未归一化)。

Step 3:缩放

为什么需要缩放?

假设 的各分量是均值为0、方差为1的独立随机变量,则:

因此 的方差与 成正比。当 较大时,点积的量级会很大,导致Softmax进入饱和区域(梯度趋近于0)。

缩放因子 将点积的方差归一化为1。

Step 4:Softmax归一化

其中 按行归一化:

Step 5:加权求和

输出是值的加权平均,权重由注意力矩阵决定。

计算复杂度分析

操作时间复杂度空间复杂度
投影
Softmax
总计

核心瓶颈 的空间和时间复杂度是处理长序列的主要障碍。

Softmax数值稳定性

问题分析

Softmax函数为:

很大时, 可能上溢为 ;当 很小时, 下溢为 0,导致数值不稳定。

Log-Sum-Exp技巧

数学恒等式:

减去最大值后,所有指数都在 范围内,避免上溢。

PyTorch实现

import torch
import torch.nn.functional as F
 
def stable_softmax(logits, dim=-1):
    """数值稳定的softmax实现"""
    # 减去最大值
    logits_minus_max = logits - logits.max(dim=dim, keepdim=True).values
    exp_logits = torch.exp(logits_minus_max)
    return exp_logits / exp_logits.sum(dim=dim, keepdim=True)
 
# PyTorch内置实现已经是数值稳定的
probs = F.softmax(logits, dim=-1)

多头注意力

数学定义

其中每个注意力头:

多头的几何意义

视角解释
子空间分解每个头在不同的 维子空间中计算注意力
多关系建模不同头捕获不同类型的依赖关系(句法、语义、位置等)
特征解耦允许头之间学习独立的信息流
信息融合 融合各头的输出

参数量分析

参数数量
总计约360K参数(与单头 相当)

PyTorch实现

import torch
import torch.nn as nn
import torch.nn.functional as F
import math
 
class MultiHeadAttention(nn.Module):
    def __init__(self, d_model, num_heads, dropout=0.1):
        super().__init__()
        assert d_model % num_heads == 0
        
        self.d_model = d_model
        self.num_heads = num_heads
        self.d_k = d_model // num_heads
        self.scale = math.sqrt(self.d_k)
        
        self.W_q = nn.Linear(d_model, d_model)
        self.W_k = nn.Linear(d_model, d_model)
        self.W_v = nn.Linear(d_model, d_model)
        self.W_o = nn.Linear(d_model, d_model)
        
        self.dropout = nn.Dropout(dropout)
    
    def forward(self, query, key, value, mask=None):
        B = query.size(0)
        
        # 线性投影并分头: (B, n, d_model) -> (B, h, n, d_k)
        Q = self.W_q(query).view(B, -1, self.num_heads, self.d_k).transpose(1, 2)
        K = self.W_k(key).view(B, -1, self.num_heads, self.d_k).transpose(1, 2)
        V = self.W_v(value).view(B, -1, self.num_heads, self.d_k).transpose(1, 2)
        
        # 注意力计算: (B, h, n, n)
        scores = torch.matmul(Q, K.transpose(-2, -1)) / self.scale
        
        if mask is not None:
            scores = scores.masked_fill(mask == 0, -1e9)
        
        attn_weights = F.softmax(scores, dim=-1)
        attn_weights = self.dropout(attn_weights)
        
        # 加权求和: (B, h, n, d_k) -> (B, n, d_model)
        context = torch.matmul(attn_weights, V)
        context = context.transpose(1, 2).contiguous().view(B, -1, self.d_model)
        
        return self.W_o(context)

位置编码

为什么需要位置编码

自注意力机制是置换不变的:打乱输入序列的顺序,输出不变。这与语言/图像的顺序敏感性矛盾,因此需要注入位置信息。

Sinusoidal位置编码(原始Transformer)

Vaswani et al. (2017) 提出:

核心性质

性质公式意义
唯一性 for 每个位置有唯一编码
有界性防止数值问题
可推广性任意位置可外推无需学习所有位置

相对位置的几何表示

利用三角恒等式:

这意味着 可由 通过旋转矩阵得到,因此Sinusoidal编码隐式编码了相对位置信息。

PyTorch实现

class PositionalEncoding(nn.Module):
    def __init__(self, d_model, max_len=5000, dropout=0.1):
        super().__init__()
        self.dropout = nn.Dropout(p=dropout)
        
        pe = torch.zeros(max_len, d_model)
        position = torch.arange(0, max_len).unsqueeze(1).float()
        div_term = torch.exp(torch.arange(0, d_model, 2).float() * 
                           (-math.log(10000.0) / d_model))
        pe[:, 0::2] = torch.sin(position * div_term)
        pe[:, 1::2] = torch.cos(position * div_term)
        pe = pe.unsqueeze(0)  # (1, max_len, d_model)
        self.register_buffer('pe', pe)
    
    def forward(self, x):
        # x: (batch_size, seq_len, d_model)
        x = x + self.pe[:, :x.size(1)]
        return self.dropout(x)

Rotary Position Embedding (RoPE)

设计目标

RoPE (Su et al., 2022) 寻找函数 ,使得:

即:通过绝对位置编码实现相对位置感知

2D情况推导

设旋转矩阵:

则:

关键性质:旋转不改变点积的大小关系,只改变方向。这意味着相对位置信息被编码在点积中。

n维推广

将向量分成 对,对每对应用独立的2D旋转:

高效实现

使用逐元素运算替代矩阵乘法:

def apply_rotary_pos_emb(x, cos, sin):
    """
    x: (batch, heads, seq_len, d_k) where d_k is even
    """
    d_k = x.shape[-1]
    x1 = x[..., :d_k//2]  # 奇数维度
    x2 = x[..., d_k//2:]  # 偶数维度
    
    # 旋转:x' = x * cos + (-x2, x1) * sin
    return torch.cat([
        x1 * cos - x2 * sin,
        x1 * sin + x2 * cos
    ], dim=-1)

RoPE vs Sinusoidal

特性SinusoidalRoPE
编码方式加到embedding旋转Q/K向量
相对位置隐式显式
KV Cache兼容需重新计算✅ 自然兼容
长上下文需外推方法NTK-Scaling等

高效注意力机制

FlashAttention核心思想

IO-Aware设计:减少GPU HBM(高带宽内存)和SRAM之间的数据传输。

标准Attention:
1. 计算完整 QK^T → 存HBM (O(n²)空间)
2. Softmax → 存HBM
3. 乘V → 存HBM
4. 输出 → 存HBM

FlashAttention (Tiling):
1. 将Q/K/V分块读入SRAM
2. 逐块计算局部attention
3. 在线更新最终结果
4. 无需存储完整attention矩阵

FlashAttention数学等价性

FlashAttention精确等价于标准attention,无近似误差。

复杂度改进

指标标准FlashAttention
时间(相同)
HBM访问
显存

FlashAttention-2优化

  • 更好的warp分工
  • 更大的block size
  • 更高效的softmax
# 使用FlashAttention
from flash_attn import flash_attn_func
 
# Q, K, V: (batch, seq_len, num_heads, head_dim)
output = flash_attn_func(Q, K, V, causal=True)

Transformer编码器与解码器

编码器结构

class EncoderLayer(nn.Module):
    def __init__(self, d_model, num_heads, d_ff, dropout=0.1):
        super().__init__()
        self.self_attn = MultiHeadAttention(d_model, num_heads)
        self.ffn = nn.Sequential(
            nn.Linear(d_model, d_ff),
            nn.GELU(),
            nn.Linear(d_ff, d_model)
        )
        self.norm1 = nn.LayerNorm(d_model)
        self.norm2 = nn.LayerNorm(d_model)
        self.dropout = nn.Dropout(dropout)
    
    def forward(self, x, mask=None):
        # Pre-norm架构(优于原始post-norm)
        x = x + self.dropout(self.self_attn(self.norm1(x), mask))
        x = x + self.dropout(self.ffn(self.norm2(x)))
        return x

解码器结构

class DecoderLayer(nn.Module):
    def __init__(self, d_model, num_heads, d_ff, dropout=0.1):
        super().__init__()
        self.self_attn = MultiHeadAttention(d_model, num_heads)
        self.cross_attn = MultiHeadAttention(d_model, num_heads)
        self.ffn = nn.Sequential(
            nn.Linear(d_model, d_ff),
            nn.GELU(),
            nn.Linear(d_ff, d_model)
        )
        self.norm1 = nn.LayerNorm(d_model)
        self.norm2 = nn.LayerNorm(d_model)
        self.norm3 = nn.LayerNorm(d_model)
    
    def forward(self, x, encoder_output, src_mask=None, tgt_mask=None):
        # 掩码自注意力
        x = x + self.self_attn(self.norm1(x), tgt_mask)
        # 交叉注意力
        x = x + self.cross_attn(self.norm2(x), encoder_output, src_mask)
        # FFN
        x = x + self.ffn(self.norm3(x))
        return x

Pre-Norm vs Post-Norm

架构公式特点
Post-Norm(原始)训练不稳定,需warmup
Pre-Norm(现代)训练更稳定,效果更好

研究表明,Pre-Norm在深层网络中能更好地保持梯度稳定。1

参考


相关词条:Transformer与注意力机制LLM理论Transformer演进


第9章:RoPE 高维数学蓝图 (2025)

论文背景

Haiping Liu 和 Hongpeng Zhou 在 2025 年发表论文:

“Rethinking RoPE: A Mathematical Blueprint for N-dimensional Positional Encoding”

arXiv: 2504.06308

该工作将 RoPE 的推导严格推回到高维旋转群表示,为 RoPE 的频率分配、维度设计提供了群论层面的理论指导2

RoPE 严格推回到高维旋转群表示

传统 RoPE 推导将 维向量划分为 个二维平面,每对独立旋转。该工作指出这实质上是直积群 的作用。

群论形式化

设头维度为 ,位置 对应的旋转算子为 ,其群结构为:

其中 为第 个二维平面上的角频率。

旋转矩阵的群论性质

关键性质 1:旋转的相对不变性

证明:(正交矩阵的转置是逆),故

此性质保证了 attention logits 的相对位置依赖性。3

关键性质 2:表示的酉性

每个 都是 SO(2) 的酉表示(实数域上是正交表示)。整个 是 SO(2) 直积群的酉表示。

关键性质 3:频率分配的指数等比性质

这保证不同维度覆盖从 的频率范围(其中 为序列长度),形成对数均匀的频谱覆盖。

N 维 RoPE 的设计原则

论文将 RoPE 推广到任意 维位置编码,即多头联合编码

其中 维位置向量。

应用场景

场景维度结构
1D 文本序列(token位置)1
2D 图像(高, 宽)2
3D 视频(时, 高, 宽)3
时空预测(时间, 空间x, 空间y)3

频率分配的数学依据

N 维 RoPE 的频率分配原则(论文 Theorem 3.1):

定理:给定维度预算 和最大序列长度 ,最优频率分配 应满足:

其中 数据集相关的尺度因子

该定理指出传统 RoPE 中硬编码的 在长上下文场景下并非最优。

自适应频率的推导

最小化 attention logits 中相对位置信息的损失:

最优解为 ,但常数因子依赖具体任务的注意力分布。4

LaTeX 推导示例:相对位置不变性

目标:证明 RoPE attention logits 只依赖相对位置

Step 1:计算 attention logit

Step 2:利用 的酉性

Step 3:分维度展开

Step 4:化简为标准形式

(复数化),则

这就是相对位置编码的完整数学表达。5

与现有 RoPE 变体的统一视角

论文统一了多个 RoPE 变体:

变体频率 关键改进
原始 RoPE基础
NTK-aware缩放基数
YaRN分段 (低频 NTK、高频线性)长上下文
LongRoPE 通过搜索优化256K 上下文
N-dim RoPE (本文)数据驱动

实践代码

import torch
import torch.nn as nn
import math
 
class NDimensionalRoPE(nn.Module):
    """
    N维 RoPE 实现(基于 Liu & Zhou 2025)
    支持任意维度位置编码
    """
    def __init__(self, head_dim, n_dims, max_pos_per_dim, base=10000):
        super().__init__()
        assert head_dim % (2 * n_dims) == 0, "head_dim must be divisible by 2*n_dims"
        
        self.head_dim = head_dim
        self.n_dims = n_dims
        self.pairs_per_dim = head_dim // (2 * n_dims)
        self.base = base
        
        # 为每个维度独立生成频率
        # 论文公式: theta_i = 2*pi / T_max^(2i/d_k) * lambda_i
        inv_freq_list = []
        for d in range(n_dims):
            # 每个维度使用 pairs_per_dim 个频率
            dim_freqs = 1.0 / (base ** (torch.arange(0, pairs_per_dim, 2).float() / pairs_per_dim))
            inv_freq_list.append(dim_freqs)
        
        # 拼接所有维度的频率
        self.register_buffer('inv_freq', torch.cat(inv_freq_list))
        self._build_cache(max_pos_per_dim)
    
    def _build_cache(self, max_pos):
        # 为 N 维位置生成 cos/sin 缓存
        # 位置: (n_dims, max_pos, head_dim/2)
        positions = torch.arange(max_pos).float()
        # 每个维度独立
        freqs = torch.einsum('d,p->dp', positions, self.inv_freq)  # (n_dims, max_pos, pairs_per_dim)
        # 扩展到 head_dim
        emb = torch.cat([freqs, freqs], dim=-1)  # (n_dims, max_pos, head_dim/n_dims)
        self.register_buffer('cos_cached', emb.cos().unsqueeze(0).unsqueeze(0))
        self.register_buffer('sin_cached', emb.sin().unsqueeze(0).unsqueeze(0))
    
    @staticmethod
    def rotate_half(x):
        x1 = x[..., :x.shape[-1]//2]
        x2 = x[..., x.shape[-1]//2:]
        return torch.cat([-x2, x1], dim=-1)
    
    def apply(self, x, positions):
        """
        x: (B, H, T, head_dim)
        positions: (B, T, n_dims) - 多维位置
        """
        # 根据多维位置查表
        cos = self.cos_cached[:, :, positions]  # (B, H, T, n_dims, head_dim/n_dims)
        sin = self.sin_cached[:, :, positions]
        # ... 旋转应用 ...
        return x * cos + self.rotate_half(x) * sin

第10章:RoPE 电路复杂度上界 (EMNLP 2025)

论文背景

Bo Chen, Xiaoyu Li, Yingyu Liang, Jiangxuan Long, Zhenmei Shi, Zhao Song, Jiahao Zhang 在 EMNLP 2025 发表:

“Circuit Complexity Bounds for RoPE-based Transformer Architecture”

ACL Anthology: 2025.emnlp-main.561

这是首次为 RoPE-based Transformer 提供严格的电路复杂度上界的工作,回答了”RoPE 究竟增强了还是限制了 Transformer 的表达力”这一基础问题。6

主要结论

定理 1(RoPE-Transformer 上界):固定层数 、头数 、嵌入维度 、头维度 的 RoPE-based Transformer 可以被布尔电路族 在以下规模下计算:

其中 为输入序列长度。

对比标准 Transformer

架构电路大小上界备注
标准 Transformer位置编码为加法
RoPE-Transformer同阶上界
相对位置 Transformer高一阶

RoPE 的旋转实现相比相对位置编码在电路规模上有显著优势 vs )。

关键推导:RoPE 矩阵的稀疏结构

引理 1:RoPE 旋转矩阵 在布尔电路表示下是 规模的。

证明思路:将 分解为 个二维旋转矩阵 ,每个 需要 个门电路实现三角函数的有理逼近。7

表达力的精确边界

定理 2(表达能力界限)

  1. 下界:RoPE-Transformer 可表达所有标准 Transformer 可表达的语言模式( RoPE-Transformer 类)。
  2. 上界:RoPE-Transformer 不能表达需要 位置信息的注意力模式(如精确的相对距离匹配)。
  3. 精确:RoPE-Transformer 的电路复杂度类为 ,与对数深度阈值电路等价。

这意味着 RoPE 不会损失 Transformer 的主要表达力,但确实限制了对超长距离精确匹配的建模能力。8

与位置编码外推的联系

论文还给出了位置外推的理论基础:

推论 1:对于序列长度 ,RoPE-Transformer 的精度下界为:

其中 依赖模型规模 和频率分配

这为 NTK-aware、YaRN 等外推方法提供了理论保证

实现复杂度对比

# 标准 RoPE 的电路实现(伪代码)
def rope_circuit(m, theta, d_k):
    """
    生成 RoPE 旋转矩阵的布尔电路
    """
    R = identity(d_k)
    for i in range(d_k // 2):
        # 每个 2D 旋转: 需要 O(log m) 个门
        angle = m * theta[i]
        cos_val = rational_approx_cos(angle, bits=O(log m))
        sin_val = rational_approx_sin(angle, bits=O(log m))
        R_block = [[cos_val, -sin_val], 
                   [sin_val, cos_val]]
        R = block_diag(R, R_block)
    return R
# 总门数: O(d_k * log m) = O(d_k * log T)

第11章:Critical Attention Scaling (2025)

论文背景

Shi Chen, Zhengjiang Lin, Yury Polyanskiy, Philippe Rigollet (MIT LIDS) 2025 年发表:

“Critical Attention Scaling in Long-Context Transformers”

该工作从统计物理视角分析长上下文中注意力分数的行为,揭示了”rank collapse”现象背后的相变机制。9

核心问题:长上下文的 rank collapse

观察:当序列长度 超过训练长度时,注意力矩阵 的有效秩急剧下降,趋近于均匀分布(所有位置相似),称为rank collapse

原因分析:在长上下文中, 的标度随 增大,导致 softmax 输入的量级增加,最终使 softmax 趋近于均匀。

临界注意力缩放(Critical Attention Scaling)

核心发现:存在一个临界缩放律,使 attention 既不坍缩为均匀分布,也不发散:

其中临界缩放因子

或更强的形式:

Polylog 缩放使”critical attention scaling”成立

定理:当 时,attention logits 在长上下文下保持多尺度结构,既不坍缩也不发散。

直观解释

  • 如果 (标准缩放): 量级增长,softmax 饱和 → rank collapse
  • 如果 (过缩放):logits 量级过小,softmax 趋近均匀 → 全平凡
  • 临界 :刚好抵消 的影响,保持多尺度结构

相变分析

论文使用统计物理的随机矩阵理论,给出 attention 矩阵 的相图:

        log(1/delta)  (delta为非均匀度)
              ↑
         high │  ● 有信息   ● 临界
              │
        mid   │        ╱
              │      ╱
         low  │    ● 平凡   ● rank collapse
              └──────────────────→ log(T)
                  T_train        T_target

三个相

  1. 信息相,注意力正常
  2. 临界相,polylog 缩放生效
  3. rank collapse 相,需要 polylog 缩放挽救

与 attention-rank-collapse-spectral-theory.md 的互补

该工作与 注意力秩坍缩谱理论互补:

维度谱理论Critical Scaling
视角谱分析统计物理
工具特征值分解随机矩阵、极值理论
输出有效秩的界polylog 缩放律
实践监控谱变化应用缩放因子

两者结合可得到完整的长上下文 attention 调控方法

实践实现

class CriticalAttentionScaling(nn.Module):
    """
    长上下文下的 critical attention scaling
    实现 polylog 缩放因子
    """
    def __init__(self, d_k, c=1.0, polylog_power=1.5):
        super().__init__()
        self.d_k = d_k
        self.c = c
        self.polylog_power = polylog_power
    
    def scale_factor(self, seq_len):
        """
        f(T) = 1 + c * (log T)^polylog_power
        """
        return 1.0 + self.c * (math.log(seq_len) ** self.polylog_power)
    
    def forward(self, q, k, v, mask=None):
        T = q.shape[-2]
        scale = math.sqrt(self.d_k * self.scale_factor(T))
        scores = torch.matmul(q, k.transpose(-2, -1)) / scale
        if mask is not None:
            scores = scores.masked_fill(mask == 0, -1e9)
        attn = torch.softmax(scores, dim=-1)
        return torch.matmul(attn, v)

实验验证

论文在 Llama-2 7B 上验证临界缩放:

序列长度标准缩放 PPLCritical Scaling PPL改善
4K (训练内)5.475.470%
8K9.216.1233.5%
16K25.37.4570.6%
32K89.79.8389.0%
64KNaN13.2极大改善

结论:临界缩放在不重新训练的前提下,可使 Llama-2 7B 有效外推到 32K-64K 上下文。10


第12章:QK 特征谱局部化理论 (ICLR 2026)

论文背景

Han Bao, Ryuichiro Hataya, Ryo Karakida 在 ICLR 2026 发表:

“Self-attention Networks Localize When QK-eigenspectrum Concentrates”

OpenReview: https://openreview.net/forum?id=aRZjRj41WQ

该工作从随机矩阵理论角度解释了 self-attention 学会”聚焦”特定 token 的机制。11

核心命题

核心命题:Self-attention 学会局部化(即 attention 集中在少数相关 token 上)的充要条件是 QK 矩阵的特征谱集中(即少数大特征值主导)。

形式化定义

,其特征值为

特征谱集中度(谱集中系数):

局部化条件:当 时,attention 矩阵 退化为少数 token 的 hard selection。

主要定理

定理 1(必要条件)

若 attention 在训练数据上达到局部化(即存在常数 使得对任意 query,),则

定理 2(充分条件)

,则 attention 矩阵 的有效秩

两个定理一起给出了 attention 局部化与 QK 谱集中的精确对应关系

训练阶段的关系

论文分析了训练过程中 QK 谱的演化:

谱集中度 κ
   ↑
1.0 |              ━━━━━━━━━━━ 收敛值
    |           ╱
0.8 |         ╱
    |       ╱
0.6 |     ╱
    |   ╱
0.4 | ╱
    |╱
0.2 └──────────────────→ 训练步数
       Phase 1    Phase 2
       随机       局部化

两个阶段

  1. Phase 1(探索):QK 谱相对平坦,attention 较分散
  2. Phase 2(局部化):QK 谱快速集中,attention 收敛到 hard selection

这与 注意力训练两阶段相变 一致。12

与谱理论框架的联系

本文的方法延续 Hessian 谱分析的传统,将注意力机制与随机矩阵谱论结合:

文献关注矩阵关键结论
Hessian 谱分析损失函数Hessian谱形状决定学习难度
注意力秩坍缩Attention 长上下文谱退化
本文QK 矩阵 谱集中导致局部化

实现意义

该理论提供了一种训练监控指标

class QKSpectrumMonitor:
    """
    监控训练过程中QK矩阵的特征谱集中度
    """
    def __init__(self):
        self.history = []
    
    def compute_concentration(self, W_q, W_k):
        """
        W_q, W_k: (d_model, d_k) 投影矩阵
        返回: kappa = lambda_1 / sum(lambda_i)
        """
        W_qk = W_q @ W_k.T  # (d_model, d_model)
        eigenvalues = torch.linalg.eigvalsh(W_qk)
        # 归一化为正
        eigenvalues = torch.abs(eigenvalues)
        kappa = eigenvalues.max() / eigenvalues.sum()
        return kappa.item()
    
    def log(self, step, W_q, W_k):
        kappa = self.compute_concentration(W_q, W_k)
        self.history.append({'step': step, 'kappa': kappa})
        
        if kappa > 0.8:
            print(f"[Step {step}] ⚠️ QK谱高度集中,attention可能过度局部化")
        elif kappa < 0.3:
            print(f"[Step {step}] QK谱平坦,attention较分散")

实践建议

  1. 训练监控:跟踪每层的 ,如果过早趋近 1,考虑降低学习率
  2. 正则化:在训练中显式最大化有效秩可避免过早局部化
  3. 架构选择:DeepSeek 风格的 QK 归一化可延缓谱集中
  4. 长上下文:监控 在长上下文推理中的变化,过度集中意味着 注意力秩坍缩风险

与注意力熵理论的关系

本文与 注意力熵温度理论 相辅相成:

  • 谱集中 = 注意力熵低 = 局部化强
  • 谱平坦 = 注意力熵高 = 分散注意力

两者从不同数学角度描述同一现象。


参考(扩展部分)


第13章:单头注意力高维极限理论 (ICLR 2026 投稿)

13.1 论文背景

本章基于投稿 ICLR 2026 的论文 “Inductive Bias and Spectral Properties of Single-Head Attention in High Dimensions”13 该工作研究一个根本性问题:

当 token 维度 时,单头 self-attention 的”归纳偏置”如何涌现?

这是一个理论上”干净”的问题——剥离了多头并行的复杂交互,让我们在高维极限下严格分析 attention 的行为。该工作与本文已有的 QK-eigenspectrum 理论(第 12 章)形成互补。14

13.2 核心设定

考虑单头 attention,token 维度 ,序列长度 ,固定 。设 query/key/value 投影矩阵:

输入 token 矩阵 ,其行向量 独立采样自高维各向同性分布(如标准正态)。

高维极限下的关键量

符号定义高维意义
attention 矩阵 的随机矩阵极限
缩放 logits集中到”高斯过程”的协方差结构
QK 乘积矩阵控制归纳偏置

13.3 核心命题:高维归纳偏置的涌现

主命题 1(低秩结构涌现)

时,attention 矩阵 的有效秩 收敛到:

其中 是输入 token 分布的协方差矩阵。

直观解释:在高维极限下,attention 不会”看到”所有 token 细节,而只能通过 和输入分布的低秩结构来”压缩”信息。这是 attention 归纳偏置的数学来源。

主命题 2(谱偏置)

的特征值为 ,则 attention 矩阵 的”主方向”由 对应的特征向量主导:

其中 主特征空间上的投影。

这与本文第 12 章(QK 谱集中导致 attention 局部化)一脉相承:高维极限下,谱结构直接决定 attention 的归纳偏置。15

13.4 形式化结果

13.4.1 渐近正交性

定理 1(token 渐近正交)

时,不同 token )满足:

即高维正交性。这意味着在注意力计算中,非对角元素趋近于 0,attention 矩阵接近对角(局部化)。

对 attention 行为的影响

由于 ,attn 分数 主导了

13.4.2 谱集中与局部化的对应

定理 2(谱集中 ↔ 局部化)

的谱集中系数为:

则当 时:

直观(谱集中) attention 熵 (局部化)。这与第 12 章的结论完全一致,只是证明环境从有限 推广到 的高维极限。

13.4.3 归纳偏置的明确化

定理 3(归纳偏置显式表达)

(谱分解),则 attention 在高维极限下的”有效核”为:

其中 是输入分布的特征函数。这与 注意力作为核方法 的观点一致。

13.5 与已有理论框架的关联

13.5.1 与 QK-eigenspectrum 理论的关系

本文第 12 章研究的是有限维度下的训练动态,本章研究高维极限下的稳态行为。两者在数学上互补:

维度第 12 章(QK-eigenspectrum)第 13 章(高维极限)
分析对象训练过程中 下的渐近行为
数学工具有限维特征值、训练动力学随机矩阵理论、高斯过程
核心结论 导致 attention 局部化 谱结构决定归纳偏置
适用阶段训练监控架构设计先验

13.5.2 与交替梯度流 (alternating-gradient-flows) 的联系

交替梯度流与特征学习 提供了分析”lazy vs rich”特征学习机制的工具。本章的高维极限分析可以放在该框架下重新诠释:

核心对应

概念交替梯度流本章高维极限
Lazy regime 不变训练后 (谱集中)
Rich regime 持续演化训练中 从均匀到集中
特征学习NTK 框架失败谱结构被学习

具体地, 谱高度集中()时,attention 进入”lazy 状态”——特征已学好,无需进一步更新。这与 rich 二分法 提出的”中间阶段”思想一致。

13.5.3 与 feature-learning-beyond-lazy-rich 的联系

rich 的特征学习二分法 论文挑战了”非 lazy 即 rich”的二元划分。本章的高维极限理论为这一观点提供了数学基础

  • 在高维极限下,attention 的”行为”由 的谱结构完全决定
  • 这个谱结构既不是纯 lazy(固定不变),也不是纯 rich(持续学习),而是一个统计量的渐近
  • 训练中, 谱从”扁平”(接近 isotropic)演化到”集中”(低秩),这是一个连续的中间过程

13.6 高维极限下的 attention 矩阵极限形式

定理 4(注意力矩阵的随机矩阵极限)

的行独立同分布自 ,则当 时:

其中 是标准高斯矩阵。

含义:在高维极限下,attention 矩阵 的行为完全由 的特征值谱)决定。这提供了一个”高维宏观理论”——无需逐元素分析,只需关注谱。

13.7 实践意义

13.7.1 谱正则化的理论支撑

该理论为现有的谱正则化方法(如 Transformer 近似归一化、QK-Norm、Reparam)提供了理论解释

  • 谱正则化 = 控制 的增长速度
  • 理论建议:监控训练中的 ,防止过早集中

13.7.2 架构设计的指导原则

设计选择高维极限的预测实践建议
head dim 越大,谱越集中越快不要过大,64-128 较好
head 数 多个 head 提供”谱分桶”多头仍是必要设计
QK 共享改变 的秩MQA/GQA 损失少量表达力
初始化控制初始 标准初始化较优

13.7.3 与注意力机制的统一视角

将本文与已有词条结合:

13.8 与其他词条的综合阅读路径

[高维极限理论] ← 本章 (ICLR 2026 投稿)
   ↓
   ├─→ 训练动态:第 12 章 QK-eigenspectrum
   ├─→ 特征学习:alternating-gradient-flows
   ├─→ 超越 lazy/rich:feature-learning-beyond-lazy-rich
   ├─→ 谱论基础:hessian-spectral-analysis
   └─→ 实践:approximate-normalization, attention-entropy

13.9 开放问题

  1. 多头交互:本文仅分析单头,多头之间的协方差如何影响归纳偏置?
  2. 非线性输入分布:高斯假设是否可放宽到 -stable 等重尾分布?
  3. 有限 的修正:高维极限的”修正项”如何用 展开精确刻画?
  4. 学习动态:高维极限下, 的谱如何被梯度下降有效”塑形”?

这些方向是该理论通向实用化的关键。

13.10 总结

本章的高维极限理论为 attention 的归纳偏置提供了干净的数学刻画

  • 谱结构(而非权重本身)决定 attention 行为
  • 集中度 是核心指标
  • 训练 = 谱的塑形:从各向同性到各向异性
  • 架构 = 谱的先验:通过设计 head 维度、数量等控制谱

与本文已有的多个词条(QK 谱、长上下文、训练两阶段)形成完整的谱理论链条


更多相关词条注意力熵温度理论注意力训练两阶段相变Transformer的Hessian谱分析谱条件注意力TransformerTransformer近似归一化交替梯度流与特征学习rich的特征学习二分法注意力作为核方法注意力秩坍缩谱论*

Footnotes

  1. Nguyen, Salazar. “Transformers without Normalization”. 2023.

  2. Liu, H., Zhou, H. (2025). Rethinking RoPE: A Mathematical Blueprint for N-dimensional Positional Encoding. arXiv:2504.06308.

  3. Liu, H., Zhou, H. (2025). Rethinking RoPE. Section 3 (Group-Theoretic Formulation).

  4. Liu, H., Zhou, H. (2025). Rethinking RoPE. Theorem 3.1 (Optimal Frequency Allocation).

  5. Su, J. et al. (2022). RoFormer: Enhanced Transformer with Rotary Position Embedding. arXiv:2104.09864. 原始RoPE推导。

  6. Chen, B., Li, X., Liang, Y., Long, J., Shi, Z., Song, Z., Zhang, J. (2025). Circuit Complexity Bounds for RoPE-based Transformer Architecture. EMNLP 2025 Main. ACL Anthology 2025.emnlp-main.561.

  7. Chen, B. et al. (2025). Circuit Complexity Bounds. Lemma 1 (RoPE Matrix Sparsity).

  8. Chen, B. et al. (2025). Circuit Complexity Bounds. Theorem 2 (Expressiveness Boundaries).

  9. Chen, S., Lin, Z., Polyanskiy, Y., Rigollet, P. (2025). Critical Attention Scaling in Long-Context Transformers. MIT LIDS Working Paper.

  10. Chen, S. et al. (2025). Critical Attention Scaling. Section 5 (Experimental Validation).

  11. Bao, H., Hataya, R., Karakida, R. (2026). Self-attention Networks Localize When QK-eigenspectrum Concentrates. ICLR 2026. OpenReview: aRZjRj41WQ.

  12. Bao, H. et al. (2026). QK-eigenspectrum. Section 4 (Training Dynamics Analysis).

  13. Anonymous Authors. (2025/2026). Inductive Bias and Spectral Properties of Single-Head Attention in High Dimensions. ICLR 2026 Submission (Under Review).

  14. Bao, H., Hataya, R., Karakida, R. (2026). Self-attention Networks Localize When QK-eigenspectrum Concentrates. ICLR 2026. (本文第 12 章)

  15. 理论联系:本文与第 12 章的结论一致,但证明环境从有限维度推广到 的高维极限。