概述
2025年的研究表明,Transformer中的注意力机制可以优雅地解释为离散时间马尔可夫链。1这一理论框架不仅提供了注意力操作的新视角,还为理解Transformer的内部工作机制提供了坚实的数学基础。
本专题将深入探讨这一理论,揭示注意力机制与马尔可夫链之间的深刻联系。
马尔可夫链基础回顾
在深入讨论之前,让我们简要回顾马尔可夫链的核心概念。详细讨论见 马尔可夫链理论基础。
核心概念
马尔可夫性质:已知当前状态,未来条件独立于过去:
转移矩阵 :,行和为1。
稳态分布:满足 的概率分布。
注意力作为马尔可夫链
从注意力矩阵到转移矩阵
在标准的多头注意力机制中,我们计算注意力分数:
其中 表示从位置 到位置 的注意力权重。
核心观察:注意力矩阵 可以直接视为马尔可夫链的转移概率矩阵,因为:
- 非负性:(softmax输出的性质)
- 行和为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算法有深刻的联系:
| PageRank | TokenRank |
|---|---|
| 网页链接关系 | 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可以用于识别图像中的主要语义区域:
- 计算图像patch之间的注意力矩阵
- 使用TokenRank识别高重要性patch
- 基于元稳定状态进行聚类分割
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可解释性分析
马尔可夫链框架为注意力机制提供了新的可解释性工具:
- TokenRank可视化:展示每个token的全局重要性
- 元稳定状态检测:识别语义聚类
- 路径分析:追踪信息在网络中的传播路径
与其他注意力分析方法的对比
| 方法 | 视角 | 优势 | 局限 |
|---|---|---|---|
| 注意力权重 | 直接观察 | 直观 | 难以解释跨层效应 |
| 梯度分析 | 敏感性 | 量化贡献 | 计算开销大 |
| 信息流分析 | 信息论 | 理论基础坚实 | 假设限制 |
| 马尔可夫链 | 概率论 | 统一框架、可解释性强 | 需验证转移矩阵性质 |
理论启示
为什么注意力有效
马尔可夫链视角提供了一个简洁的解释:
- 显式建模依赖:通过转移矩阵 显式定义依赖关系
- 全局信息整合:稳态分布 编码全局信息
- 噪声鲁棒:元稳定状态机制过滤噪声
架构设计的启示
这一理论为Transformer架构设计提供指导:
- 注意力头数量:应足以覆盖主要的元稳定状态
- 深度选择:需覆盖最长依赖路径
- 位置编码:影响转移矩阵的结构性质
参考文献
Footnotes
-
Engel et al. (2025). “Attention (as Discrete-Time Markov) Chains.” arXiv:2507.17657. ↩