Transformer 架构于 2017 年在论文《Attention Is All You Need》中提出,最初用于解决自然语言处理中的机器翻译任务。在此之前,循环神经网络(RNN)及其变体(如 LSTM、GRU)是处理序列数据的主要模型,但这些模型存在梯度消失或爆炸问题,难以捕捉长隔断依赖,且计算效率较低,难以并行化。
展平后的 patch 通过线性投影嵌入到低维空间。使用可学习的线性变更矩阵(全连接层),将每个 patch 向量映射为固定维度的嵌入向量。比方,若 patch 展平后维度为 16 × 16 × 3 16\times16\times3 16×16×3(RGB 三通道),目标嵌入维度为 d d d(如 d = 768 d = 768 d=768),则通过 ( 16 × 16 × 3 ) × d (16\times16\times3)\times d (16×16×3)×d 的权重矩阵变更,得到维度为 d d d 的嵌入向量。嵌入维度影响表达本领和计算复杂度,需在性能和资源间权衡。
3. 位置编码
Swin Transformer 采用分层结构,通过多阶段下采样提取多尺度特征,适用于目标检测、语义分割等任务。
其滑动窗口注意力机制在窗口内计算自注意力,低落复杂度( O ( M 2 ⋅ H W ) O(M² \cdot \frac{H}{W}) O(M2⋅WH) vs. O ( H W 2 ) O(HW²) O(HW2)),移位窗口增强全局信息交互,适合高分辨率图像处理。
六、ViT 的应用场景