一、 ViT 的数学底层构筑:从像素到序列
Vision Transformer (ViT) 的核心思想是将图像处理视作一个 1D 序列建模问题,通过舍弃 CNN 的先验偏置(Inductive Bias)来换取更高的表达能力上限。
1. 图像序列化(Patch Embedding)
对于输入图像
序列化映射过程如下:
随后,通过线性投影矩阵
等价性分析:
线性投影层在算子上完全等价于一个卷积核大小为
该操作的权重矩阵
2. [CLS] Token 与 Position Embedding
为了执行分类或全局特征提取,ViT 引入了可学习的
其中
深度讨论:归纳偏置的缺失
-
Translation Invariance (平移不变性):CNN 通过卷积核权值共享实现,而 ViT 的 Self-Attention 是置换不变的(Permutation Invariant),平移不变性必须通过海量数据在位置编码中学习获得。
-
Locality (局部性):CNN 的感受野随层数线性增加,而 ViT 首层即可实现全局感受野。这种“感受野自由”导致模型在小数据集上极易过拟合,对数据量的需求呈对数线性增长。
二、 Transformer Encoder 的严谨推导
1. Multi-Head Self-Attention (MSA)
矩阵秩(Rank)视角:单头注意力往往受限于低秩瓶颈(Low-rank bottleneck),容易导致注意力矩阵退化。多头机制通过将维度
2. Layer Normalization 与 MLP
ViT 采用 Pre-LN 结构,其数学意义在于保证残差分支(Residual Stream)的恒等映射在初始化阶段更接近单位矩阵,防止深层网络中的梯度消失或爆炸:
MLP 通常由两层线性层组成,扩展因子为 4,使用 GeLU 激活函数。其导数特性
三、 训练细节与大规模预训练法则
1. JFT-300M 与数据饥渴
实证研究表明,当数据集规模
2. 优化器与正则化
-
AdamW:针对权重衰减(Weight Decay)进行了修正,典型超参数为
。 -
DropPath (Stochastic Depth):在训练期间随机丢弃整个残差分支,防止深度 Transformer 的协同适应(Co-adaptation)。
-
学习率衰减:通常采用线性预热(Warmup)配合余弦退火(Cosine Annealing)。
3. 分辨率微调中的位置编码插值
当微调分辨率从
四、 对接 Stable Diffusion:ViT 的衍生与应用
1. VAE 中的角色
在 Stable Diffusion (SD) 的变分自编码器中,尽管主体是 CNN,但在低分辨率的中等特征层(Bottleneck)通常嵌入了 Self-Attention。这利用了 Transformer 的长程依赖能力,确保生成图像在全局结构(如人体比例、对称性)上的逻辑一致性。
2. U-Net 中的 Transformer Block
SD 的 U-Net 实际上是卷积与 Transformer 的混合体:
-
Spatial Transformer:包含 Self-Attention(处理图像内部关联)和 Cross-Attention(处理文本 Prompt 与图像特征的对齐)。
-
计算权衡:
| 维度 | Pixel-based (CNN) | Patch-based (ViT/Transformer) | |:---|:---|:---| | 归纳偏置 | 强(适合纹理生成) | 弱(适合全局语义对齐) | | 计算复杂度 |
| | | 感受野 | 局部,受层数限制 | 全局,由注意力机制驱动 | | 平移不变性 | 通过卷积权值共享天然具备 | 需通过位置编码学习 | | 数据依赖 | 少量数据即可取得好效果 | 需要大规模数据( 级别) |
3. 从 ViT 到 DiT (Diffusion Transformer)
最新的生成模型(如 Sora, SD3)正在抛弃 U-Net,转向纯 DiT 架构。DiT 将潜在空间(Latent Space)的特征图完全 Patchify:
-
将
展平为 Tokens。 -
通过类似 ViT 的标准 Transformer Block 处理。
-
优势:Transformer 的 Scaling Law 比 U-Net 更稳定,更易于通过增加参数量获得涌现能力。
五、 潜在问题与工程坑点
-
计算复杂度瓶颈:Self-Attention 的显存占用随像素数
呈 增长。高分辨率任务中,必须引入 FlashAttention(基于算子融合)或 Window Attention(如 Swin)来降低算力负担。 -
注意力坍缩(Attention Collapse):在极深层模型中,所有 Token 的注意力权重趋向一致(Query 和 Key 的点积分布变平坦)。解决方法包括引入 Re-Attention 或增加 Head 维度。
-
训练不稳定性:ViT 对初始化极其敏感。通常需要较长的 Warmup Steps(如总步数的 5%-10%)来让梯度在高频振荡期后进入稳定流形区域。
结论:ViT 的成功在于其数学架构的通用性。在扩散模型领域,它正在从辅助角色(U-Net 内部插件)演变为核心引擎(DiT),这标志着生成式 AI 正在从空间局部建模全面转向全局关系建模。