Transformer 架构深度剖析

一、Transformer 架构核心设计

1.1 整体架构

Transformer 由编码器(Encoder)和解码器(Decoder)堆叠而成,每个层包含:

  • 多头自注意力(Multi-Head Self-Attention)
  • 前馈网络(Feed-Forward Network, FFN)
  • 残差连接(Residual Connection)层归一化(LayerNorm)

关键特性:完全基于注意力机制,摒弃了循环和卷积结构,实现并行化处理序列数据。

1.2 自注意力机制(Self-Attention)

自注意力通过 Query-Key-Value(QKV) 三元组计算元素间依赖关系:

A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q, K, V) = softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V

  • 缩放点积(Scaled Dot-Product):通过 d k \sqrt{d_k} dk 防止梯度消失( d k d_k dk 为 Key 的维度)。
  • 权重矩阵:Q、K、V 由输入线性变换生成,参数可学习。
  • 数学意义:自注意力本质是动态权重分配,每个位置的输出是所有位置的加权和,权重由相似度决定。

二、多头注意力(Multi-Head Attention)

2.1 核心思想

将 QKV 投影到 h h h 个不同子空间(即“头”),独立计算注意力后拼接结果:

M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , … , h e a d h ) W O MultiHead(Q, K, V) = Concat(head_1, \dots, head_h) W_O MultiHead(Q,K,V)=Concat(head1,,headh)WO

每个头的计算为:

h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) head_i = Attention(QW_i^Q, KW_i^K, VW_i^V) headi=Attention(QWiQ,KWiK,VWiV)

  • 参数矩阵 W i Q , W i K , W i V ∈ R d m o d e l × d k W_i^Q, W_i^K, W_i^V \in \mathbb{R}^{d_{model} \times d_k} WiQ,WiK,WiVRdmodel×dk W O ∈ R h d v × d m o d e l W_O \in \mathbb{R}^{hd_v \times d_{model}} WORhdv×dmodel
  • 优势:允许模型在不同子空间学习多样化的依赖关系。

2.2 多头注意力的物理意义

  • 并行捕捉不同模式:例如语法结构、语义关联、指代关系等。
  • 提升模型容量:通过增加头数 h h h 扩展模型表达能力,但需平衡计算开销。

三、位置编码(Positional Encoding)

3.1 绝对位置编码(Absolute PE)

原始 Transformer 使用正弦函数生成位置编码:

P E ( p o s , 2 i ) = sin ⁡ ( p o s 1000 0 2 i / d m o d e l ) PE(pos, 2i) = \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right) PE(pos,2i)=sin(100002i/dmodelpos)
P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s 1000 0 2 i / d m o d e l ) PE(pos, 2i+1) = \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right) PE(pos,2i+1)=cos(100002i/dmodelpos)

性质:可表示相对位置(因 sin ⁡ ( p o s + k ) \sin(pos+k) sin(pos+k) 可分解为 sin ⁡ ( p o s ) \sin(pos) sin(pos) cos ⁡ ( p o s ) \cos(pos) cos(pos) 的线性组合)。

可学习的位置嵌入:直接训练位置向量,适用于固定长度序列。

3.2 相对位置编码(Relative PE)

核心思想:建模元素间相对距离,常见方法:

  • Shaw’s Relative PE:在注意力权重中引入相对位置偏置:

    e i j = x i W Q ( x j W K + a i j K ) T / d k e_{ij} = x_i W_Q (x_j W_K + a_{ij}^K)^T / \sqrt{d_k} eij=xiWQ(xjWK+aijK)T/dk

    其中 a i j K a_{ij}^K aijK 表示位置 i i i j j j 的相对位置嵌入。

  • Transformer-XL 的 RPE:使用可训练的偏置项 b i − j b_{i-j} bij,仅依赖相对距离 i − j i-j ij

优势:更灵活地处理长距离依赖,在生成任务中表现优异。

四、稀疏注意力(Sparse Attention)

4.1 计算瓶颈与优化动机

标准自注意力复杂度为 O ( n 2 ) O(n^2) O(n2),无法处理长序列(如 n > 1 0 4 n > 10^4 n>104)。稀疏注意力通过限制注意力范围将复杂度降至 O ( n ) O(n) O(n) O ( n log ⁡ n ) O(n \log n) O(nlogn)

4.2 常见稀疏模式

  • 局部窗口注意力(Local Window):每个元素仅关注相邻 w w w 个位置,复杂度 O ( n × w ) O(n \times w) O(n×w)

    • 缺陷:无法捕捉全局依赖。
  • 轴向注意力(Axial Attention):沿序列的某个维度(如行或列)分别计算注意力,用于高维数据(如图像)。

  • 膨胀注意力(Dilated Attention):类似空洞卷积,间隔采样元素扩大感受野。

  • 块稀疏注意力(Block Sparse):将序列分块,仅计算块间或块内注意力。

  • 随机采样注意力(Random Sampling):随机选择部分元素计算注意力,近似全局分布。

4.3 代表性工作

  • Longformer:结合局部窗口和任务相关的全局注意力(如分类任务中的 [CLS] 标记)。
  • BigBird:综合局部窗口、随机采样和全局标记,理论证明其逼近全注意力。

五、线性注意力(Linear Attention)

5.1 核函数近似

将标准 softmax 注意力转化为线性运算:

A t t e n t i o n ( Q , K , V ) = φ ( Q ) φ ( K ) T / d k V Attention(Q, K, V) = \varphi(Q) \varphi(K)^T / \sqrt{d_k} V Attention(Q,K,V)=φ(Q)φ(K)T/dk V

  • 核函数:如多项式核或指数核,利用矩阵乘法的结合律:

    ( φ ( Q ) φ ( K ) T ) V = φ ( Q ) ( φ ( K ) T V ) (\varphi(Q) \varphi(K)^T)V = \varphi(Q)(\varphi(K)^T V) (φ(Q)φ(K)T)V=φ(Q)(φ(K)TV)

  • 复杂度:从 O ( n 2 d ) O(n^2 d) O(n2d) 降至 O ( n d 2 ) O(n d^2) O(nd2)

5.2 低秩投影(Low-Rank Projection)

Linformer:将 Key 和 Value 投影到低维空间 k ≪ n k \ll n kn

A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q ( E K ) T d k ) ( F V ) Attention(Q, K, V) = softmax\left(\frac{Q(EK)^T}{\sqrt{d_k}}\right) (FV) Attention(Q,K,V)=softmax(dk Q(EK)T)(FV)

  • 复杂度降至 O ( n k ) O(nk) O(nk)

5.3 高效实现技术

  • 分块计算(Chunking):将序列分块并行处理。
  • 快速傅里叶变换(FFT):利用卷积定理加速注意力计算。

六、前沿进展与挑战

  • 动态稀疏注意力:根据输入内容动态选择注意力区域。
  • 混合专家系统(MoE):结合稀疏注意力与条件计算,如 Switch Transformer。
  • 硬件感知优化:针对 GPU/TPU 设计内存高效的注意力内核。
  • 理论分析:理解稀疏化和线性化的近似误差边界。

未解难题

  • 如何平衡稀疏注意力的局部性与全局依赖性?
  • 线性注意力在复杂任务中的性能损失如何补偿?
  • 超长序列(如 DNA 序列)的高效建模方法。

结语

Transformer 的成功源于其 并行性动态权重分配能力,而稀疏化与线性化技术正推动其迈向更长的上下文窗口。未来方向将结合理论分析、硬件优化和任务特性,持续突破序列建模的极限。

你可能感兴趣的:(人工智能技术科普,transformer,深度学习,人工智能,conda,opencv,计算机视觉)