概述

2025年的研究表明,Transformer中的注意力机制可以优雅地解释为离散时间马尔可夫链1这一理论框架不仅提供了注意力操作的新视角,还为理解Transformer的内部工作机制提供了坚实的数学基础。

本专题将深入探讨这一理论,揭示注意力机制与马尔可夫链之间的深刻联系。


马尔可夫链基础回顾

在深入讨论之前,让我们简要回顾马尔可夫链的核心概念。详细讨论见 马尔可夫链理论基础

核心概念

马尔可夫性质:已知当前状态,未来条件独立于过去:

转移矩阵 ,行和为1。

稳态分布:满足 的概率分布。


注意力作为马尔可夫链

从注意力矩阵到转移矩阵

在标准的多头注意力机制中,我们计算注意力分数:

其中 表示从位置 到位置 的注意力权重。

核心观察:注意力矩阵 可以直接视为马尔可夫链的转移概率矩阵,因为:

  1. 非负性(softmax输出的性质)
  2. 行和为1(softmax的归一化特性)

这意味着注意力机制本质上定义了一个在token序列上的概率转移过程

注意力操作的马尔可夫解释

给定输入序列 ,注意力输出可以写为:

从马尔可夫链的角度,这可以解释为:

注意力操作马尔可夫解释
选择(Selection)从当前位置出发,选择下一跳的转移方向
加权求和(Weighted Sum)按转移概率对目标位置的值进行加权平均
多步传播连续多次转移(),捕获长距离依赖

多步传播与状态转移

一步转移

两步转移

一般地, 步转移后的表示为:

这揭示了注意力如何通过多次矩阵乘法来建模长距离依赖。


TokenRank:基于稳态分布的Token重要性

稳态分布的引入

在马尔可夫链理论中,稳态分布 满足:

从物理角度看, 表示系统长期运行时处于状态 的概率。

TokenRank 将这一概念引入注意力机制:稳态分布 衡量每个token的全局重要性

TokenRank的计算

使用幂迭代法计算TokenRank:

import numpy as np
 
def compute_token_rank(attention_matrix, num_iter=100, damping=0.85):
    """
    计算TokenRank
    
    参数:
        attention_matrix: 注意力矩阵 A (n, n)
        damping: 阻尼因子(类比PageRank)
        num_iter: 迭代次数
    
    返回:
        token_rank: 每个token的重要性分数
    """
    n = attention_matrix.shape[0]
    
    # 添加随机跳转(阻尼)
    A = damping * attention_matrix + (1 - damping) / n
    
    # 初始化均匀分布
    pi = np.ones(n) / n
    
    # 幂迭代
    for _ in range(num_iter):
        pi = pi @ A
    
    return pi
 
# 示例
A = np.array([[0.3, 0.5, 0.2],
              [0.1, 0.6, 0.3],
              [0.4, 0.3, 0.3]])
              
token_rank = compute_token_rank(A)
print(f"Token重要性: {token_rank}")

与PageRank的类比

TokenRank与Google的PageRank算法有深刻的联系:

PageRankTokenRank
网页链接关系token间的注意力关系
网页重要性token全局重要性
阻尼因子 防止死循环的跳转概率
稳态分布 token重要性分数

这种类比不是偶然的:PageRank本身就是一个定义在网页链接图上的马尔可夫链。


元稳定状态分析

什么是元稳定状态

在马尔可夫链理论中,元稳定状态(Metastable States)是指系统倾向于在其中逗留较长时间,但最终会离开的状态集合。

形式化定义:对于状态集合 ,若存在 使得:

是一个元稳定状态。

注意力中的元稳定状态

在Transformer的语境下,元稳定状态对应于语义相似的token聚类

  • 属于同一元稳定状态的token之间注意力权重高
  • 系统在这些token之间快速转移
  • 但跨越元稳定状态的转移相对罕见

元稳定状态的几何解释

注意力矩阵的可视化(简化)

    ┌─────────────────────────────┐
    │  语义块1: 主语相关token      │
    │  ████████  高注意力密度     │
    │  ████████                   │
    ├─────────────────────────────┤
    │  语义块2: 动词相关token      │
    │                   ████████  │
    │                   ████████  │
    ├─────────────────────────────┤
    │  语义块3: 宾语相关token      │
    │                             │
    │  ████                       │
    │  ████                       │
    └─────────────────────────────┘

噪声衰减机制

注意力矩阵的马尔可夫链解释还揭示了一个重要机制:随机注意力分数会在多步传播中衰减

设注意力矩阵 有特征值分解:

则:

(非主特征值)时,,对应的分量被抑制。

这意味着:

  • 主要特征向量(稳态分布方向):被保留
  • 次要特征向量(噪声方向):被衰减

长期依赖建模

马尔可夫链视角下的长期依赖

在标准RNN中,长期依赖建模受到梯度消失/爆炸的困扰。注意力机制通过显式构造转移矩阵 绕过了这一问题。

从马尔可夫链的角度,长期依赖可以通过多次转移来建模:

这表示从token 经过 步后到达token 的概率。

n阶依赖的捕获

直接依赖(1阶): — token 直接关注

2阶依赖 — token 通过中间token到达

n阶依赖 — 通过任意长度路径到达

这解释了为什么注意力机制能够捕获任意长度的依赖关系。

与Transformer深度的关系

定理(直观表述):对于任意两个token ,存在某个深度 使得

这意味着:

  • 浅层Transformer:建模局部依赖
  • 深层Transformer:建模长距离依赖

实践应用

零样本图像分割

TokenRank可以用于识别图像中的主要语义区域:

  1. 计算图像patch之间的注意力矩阵
  2. 使用TokenRank识别高重要性patch
  3. 基于元稳定状态进行聚类分割
def zero_shot_segmentation(image_tokens, attention_maps, k=3):
    """
    基于TokenRank的零样本分割
    
    参数:
        image_tokens: 图像token序列
        attention_maps: 注意力图列表
        k: 分割类别数
    """
    # 融合多层注意力
    A = np.mean(attention_maps, axis=0)
    
    # 计算TokenRank
    token_rank = compute_token_rank(A)
    
    # 识别高重要性token作为种子
    seeds = np.argsort(token_rank)[-k:]
    
    # 基于注意力传播进行区域增长
    regions = attention_propagation(A, seeds)
    
    return regions

可解释性分析

马尔可夫链框架为注意力机制提供了新的可解释性工具:

  1. TokenRank可视化:展示每个token的全局重要性
  2. 元稳定状态检测:识别语义聚类
  3. 路径分析:追踪信息在网络中的传播路径

与其他注意力分析方法的对比

方法视角优势局限
注意力权重直接观察直观难以解释跨层效应
梯度分析敏感性量化贡献计算开销大
信息流分析信息论理论基础坚实假设限制
马尔可夫链概率论统一框架、可解释性强需验证转移矩阵性质

理论启示

为什么注意力有效

马尔可夫链视角提供了一个简洁的解释:

  1. 显式建模依赖:通过转移矩阵 显式定义依赖关系
  2. 全局信息整合:稳态分布 编码全局信息
  3. 噪声鲁棒:元稳定状态机制过滤噪声

架构设计的启示

这一理论为Transformer架构设计提供指导:

  • 注意力头数量:应足以覆盖主要的元稳定状态
  • 深度选择:需覆盖最长依赖路径
  • 位置编码:影响转移矩阵的结构性质

参考文献

Footnotes

  1. Engel et al. (2025). “Attention (as Discrete-Time Markov) Chains.” arXiv:2507.17657.