Appearance
导论:图像理解的范式演进
图像处理是计算机视觉的核心命题。从2012年AlexNet在ImageNet上一举夺冠至今,深度学习架构经历了从卷积神经网络(CNN) 一统天下,到残差结构突破深度瓶颈,再到Vision Transformer以全局注意力颠覆归纳偏置的完整周期。每一次架构革新,都伴随着对“如何让机器理解图像”这一根本问题的重新回答。
第一部分:CNN基础——局部性与权值共享的胜利
1.1 从全连接到卷积:三大核心机制
传统全连接网络在处理图像时面临两个根本困境:参数爆炸(
卷积神经网络(CNN)通过三大核心机制彻底解决了这些问题:
(1)局部感受野(Local Receptive Field)
卷积层中的神经元仅与输入数据的局部区域建立连接,而非全连接。这一设计灵感源自猫视觉皮层的“感受野”机制。局部连接大幅减少了参数数量,同时使网络能够捕捉图像的局部特征(如边缘、纹理)。
(2)权值共享(Weight Sharing)
同一个卷积核在输入数据的全部空间位置上滑动并使用相同的参数。这意味着无论边缘出现在图像的哪个位置,同一个滤波器都能检测到它。权值共享赋予了CNN平移不变性——这是图像理解最核心的归纳偏置。
(3)池化降维(Pooling)
池化层通过下采样缩减特征图的空间尺寸,在保留显著特征的同时进一步减少参数量和计算量。
1.2 卷积层的数学表达
对于输入特征图
其中
1.3 核心组件与层次化特征提取
典型的CNN结构由以下层次构成:
- 输入层:接收原始图像数据,维度通常为
(如RGB图像为 )。 - 卷积层:通过卷积核提取局部特征。关键参数包括卷积核大小(如
)、步长(Stride)、填充(Padding)和输出通道数。 - 激活函数层:引入非线性变换。ReLU (
) 因计算高效且缓解梯度消失而成为最广泛使用的选择。Leaky ReLU 等变体则试图解决“神经元死亡”问题。 - 池化层:下采样操作(最大池化或平均池化),缩减空间维度。
- 全连接层:在卷积层提取的高层特征基础上进行分类或回归。
CNN的层次化特征提取是其核心优势:浅层卷积核学习边缘和纹理等低级特征,中层组合出形状和部件,深层则形成完整的语义概念。
1.4 经典架构的演进脉络
LeNet-5(1998)开创了CNN用于手写数字识别的先河。AlexNet(2012)以GPU加速和ReLU激活函数在ImageNet上取得突破性成绩,标志着深度学习时代的正式开启。VGG(2014)证明了“越深越好”——用连续的小卷积核(
然而,当网络深度超过20层时,一个令人困惑的现象出现了:训练误差和测试误差同时上升。这就是深度学习的“阿喀琉斯之踵”——退化问题(Degradation Problem)。
第二部分:ResNet——残差学习与深度革命
2.1 退化问题的本质
深层网络训练的核心障碍在于梯度传播的不稳定性。在反向传播过程中,链式法则的连乘效应导致梯度逐层衰减(梯度消失)或放大(梯度爆炸)。即使引入了批归一化(Batch Normalization)、Xavier初始化和辅助分类器等方案,深层网络的退化问题依然存在——信息的累积损失才是问题的本质。
2.2 残差块:从直接映射到残差学习
何恺明等人在2015年提出的ResNet(残差网络)给出了一个优雅的解决方案。
在传统网络中,每一层试图学习从输入
一个基本的残差块包含两条路径:
- 直接路径(残差路径):输入通过权重层(卷积、批归一化、激活函数)进行变换,学习残差
。 - 捷径路径(Shortcut Connection / Identity Mapping):输入
直接跨层传递,与残差路径的输出相加。
当输入和输出的维度不匹配时(如改变通道数或下采样),捷径路径需通过
2.3 梯度流动的数学保障
残差结构对梯度传播的改善可以从链式法则中清晰看到。对于
反向传播时,损失
恒等项
2.4 后续演进与深层思考
ResNet之后,研究者探索了多种改进方向:
- Wide ResNet(WRN):通过增加每层的宽度(通道数)而非深度来提升性能,训练速度比深层ResNet快数倍。
- ResNeXt:引入“基数(Cardinality)”概念——并行变换路径的数量,证明增加基数比单纯增加深度或宽度更高效。
- Pre-activation ResNet:将批归一化和ReLU移到卷积之前,进一步改善了梯度流动。
ResNet的核心洞见不仅在于解决了训练问题,更在于揭示了一个哲学命题:深度网络不必从头学习复杂映射,只需学习输入与输出之间的“差异”。这一思想深刻影响了后续几乎所有深度架构的设计。
第三部分:UNet——U形结构与跳跃连接的精准艺术
如果说ResNet解决了“如何建得更深”的问题,那么UNet(2015)则回答了“如何建得更准”——特别是在像素级预测任务(如图像分割)中。
3.1 编码器-解码器架构
UNet最初为医学图像分割而设计,其最具辨识度的特征是对称的U形结构。
架构由两条对称的路径组成:
- 编码器(Encoder / Contracting Path) :通过连续的卷积层和下采样操作逐步压缩空间维度、扩展通道数,提取高层次的语义特征。
- 解码器(Decoder / Expanding Path) :通过上采样逐步恢复空间分辨率,将抽象语义映射回原始图像尺寸。
3.2 跳跃连接(Skip Connections)——细节的守护者
UNet最关键的创新在于跳跃连接:将编码器每一层的高分辨率特征图直接传递到解码器对应层进行拼接(Concatenate)。
为什么跳跃连接如此重要?在纯粹的编码器-解码器结构中,下采样不可避免地丢失了空间细节(边缘位置、小物体边界)。跳跃连接将这些“细节记忆”从编码器直接传送到解码器,使网络在恢复分辨率时能够同时利用高层的语义信息和浅层的空间细节,从而实现精准的像素级定位。
3.3 变体与深层思考
UNet已成为医学图像分割的事实标准,并催生了大量变体:
- UNet++:引入嵌套的密集跳跃连接,逐步弥合编码器与解码器之间的语义鸿沟。
- Attention UNet(AGU-Net) :在跳跃连接中引入注意力门控,使网络聚焦于相关的区域。
- nnU-Net:自适应配置框架,根据数据集自动调整架构超参数。
值得注意的是,跳跃连接虽然带来了显著的性能提升,但也可能以牺牲鲁棒性为代价。研究表明,当训练数据的纹理多样性不足时,跳跃连接过多的架构在纹理变化下的鲁棒性反而下降。这提示我们:架构设计需要在精度与鲁棒性之间寻求平衡。
UNet的成功不仅在于其结构,更在于它所体现的设计哲学:在深度网络中,信息不仅需要纵向流动(层与层之间),也需要横向流动(编码器与解码器之间) 。这一思想后来被广泛应用于各类生成式模型中。
第四部分:Vision Transformer(ViT)——当Transformer看向图像
2020年,Dosovitskiy等人提出了Vision Transformer(ViT),彻底改变了计算机视觉的格局。ViT的核心思想异常简洁:将Transformer架构从NLP直接迁移到图像领域。
4.1 图像到序列的转换
与CNN的局部卷积不同,ViT将图像处理为序列数据。
处理流程如下:
- 图像分块(Patch Partitioning) :将输入图像
划分为 个固定大小的不重叠图像块(Patch),每个块的大小为 。 - 线性投影(Patch Embedding) :将每个图像块展平并通过线性变换映射到
维嵌入空间,得到token序列。 - 位置编码(Positional Encoding) :由于自注意力机制是排列不变的,需要加入位置信息以保留空间结构。
- 类别标记(Class Token) :在序列开头添加一个可学习的
[CLS]token,其最终输出用于分类。
4.2 自注意力机制——全局感受野
ViT的核心计算单元是多头自注意力(Multi-Head Self-Attention) 。对于输入token序列
关键洞察:在CNN中,一个像素的感受野需要逐层累积(堆叠数十层才能看到全局);而在ViT中,每个图像块通过自注意力机制直接与所有其他图像块交互,在第一层就获得了全局感受野。这使得ViT能够捕获远距离的语义依赖关系,而这是CNN的固有短板。
4.3 优势、局限与演进
优势:
- 全局建模能力,善于捕获长程依赖。
- 随着数据量和模型规模的增加,性能持续提升(Scaling Law)。
局限:
- 自注意力的计算复杂度为
,对于高分辨率图像( 很大)计算开销巨大。 - 需要海量数据(如JFT-300M)才能超越CNN,在中等规模数据集上表现不如CNN。
- 缺乏CNN固有的空间局部性归纳偏置。
为了克服这些局限,研究者提出了多种改进方案:DeiT(通过知识蒸馏降低数据需求)、DeepViT(解决深层ViT的训练不稳定性),以及最具影响力的Swin Transformer。
第五部分:Swin Transformer——层次化与窗口注意力的优雅统一
Swin Transformer(Shifted Window Transformer)由微软研究院的刘泽等人在2021年提出。它的核心贡献在于:将Transformer的全局自注意力替换为基于局部窗口的注意力,并引入窗口移位机制实现跨窗口信息交互。
5.1 层次化金字塔架构
与ViT的单一尺度、固定分辨率不同,Swin Transformer采用了类似CNN的特征金字塔结构。
网络分为多个阶段(Stage),每个阶段包含:
- 图像块嵌入(Patch Embedding) :将输入图像划分为不重叠的
图像块并线性嵌入。数学上, 。 - Swin Transformer Block的堆叠:每个Block包含窗口多头自注意力(W-MSA)或多层感知机(MLP)。
- 图像块合并(Patch Merging) :在每个阶段结束时,通过下采样减少token数量、增加通道维度,形成层次化的特征表示。
这种层次化设计使Swin Transformer能够处理多尺度特征——浅层关注局部细节,深层捕获全局语义——这与CNN的天然优势完美对齐。
5.2 窗口多头自注意力(W-MSA)——计算效率的突破
在标准ViT中,自注意力的复杂度为
Swin Transformer的解决方案是将自注意力限制在局部窗口内。假设图像被划分为
与窗口大小
5.3 移位窗口多头自注意力(SW-MSA)——跨窗口信息流动
局部窗口注意力虽然高效,但带来了一个新问题:不同窗口之间没有信息交互。
Swin Transformer的移位窗口机制优雅地解决了这一问题。在两个连续的Swin Transformer Block中:
- 第一个Block:使用常规窗口划分(W-MSA),在窗口内计算自注意力。
- 第二个Block:将窗口移位半个窗口大小(Shifted Window, SW-MSA),使得新的窗口边界跨越了原窗口的边界。
通过交替使用W-MSA和SW-MSA,信息可以在相邻窗口间流动。数学上,两个连续Block的操作为:
这种设计使得Swin Transformer在保持线性计算复杂度的同时,逐步扩大了有效感受野,最终能够达到近似全局注意力的效果。
5.4 归一化与残差连接
与标准Transformer一样,Swin Transformer的每个Block都包含层归一化(Layer Normalization) 和残差连接。残差连接确保了梯度在深层网络中顺畅流动。MLP层包含两个全连接层,中间由GELU激活函数分隔,增强了模型的表达能力。
5.5 Swin Transformer的深远影响
Swin Transformer在ImageNet-1K分类任务上达到了87.3%的top-1准确率,在COCO目标检测和ADE20K语义分割等任务上也大幅超越之前的SOTA模型。更重要的是,它证明了Transformer可以在不牺牲效率的前提下,获得CNN的层次化多尺度表征能力。
这一突破使得Swin Transformer成为了众多视觉任务的新一代通用骨干网络(Backbone),并启发了大量后续工作,如SwinIR(图像恢复)、SwinUNet(医学图像分割)等。
结语:从局部到全局,再从全局回到局部
回顾图像处理深度架构的演进历程,一条清晰的主线浮现出来:
CNN以局部感受野和权值共享为核心,将“局部性”这一归纳偏置刻进了网络的基因中。ResNet通过残差学习攻克了深度瓶颈,让网络可以“深”到足以看见全局。UNet用U形结构和跳跃连接证明,在像素级任务中,细节的传递与语义的提取同等重要。ViT以自注意力机制彻底颠覆了CNN的局部性假设,让每个像素(块)直接看见整个世界。Swin Transformer则在Transformer的全局视野与CNN的层次化效率之间找到了最佳平衡点——用窗口限制计算,用移位连接世界。
这不仅是技术路线的更迭,更是一场关于**“智能如何理解视觉世界”**的哲学探索。局部归纳偏置带来了效率和先验,却也限制了视野;全局注意力带来了灵活和表现力,却牺牲了效率和先验。Swin Transformer的成功暗示着未来的方向:在效率与表现力之间寻求动态平衡,在不同尺度上采用不同的建模策略。
正如物理学家从经典力学走向量子力学,图像理解的架构演进也在不断拓展我们对“看见”这一行为的数学理解。而这场探索,远未结束。