深度学习模型架构----ResNet(残差网络)
ResNet(残差网络)是深度学习里程碑式架构,由何恺明团队2015年提出,首次成功训练超100层的神经网络。其核心创新是残差连接(Shortcut Connection),通过让网络学习输入与输出的差值而非直接映射,解决了深度网络的梯度消失/爆炸和退化问题。典型结构包含BasicBlock(浅层网络)和BottleneckBlock(深层网络)两种残差模块,衍生出ResNet18/34/50/1
下面是对 ResNet(Residual Network) 的全面深入介绍,涵盖其提出背景、结构设计、创新点、系列模型及应用场景等,是理解深层神经网络设计中一个里程碑级的架构。
一、ResNet 简介
ResNet(残差网络)由微软研究院的何恺明等人提出,并在 2015 年 ImageNet 竞赛中大幅领先,首次成功训练出超过 100 层的神经网络。
它的核心创新是引入残差连接(Residual Connection),通过学习残差函数(residual function)而不是直接学习输入到输出的映射,从而解决深度网络中的退化问题(随着深度增加,训练误差反而上升)。
二、ResNet 的核心思想:残差连接(Shortcut / Skip Connection)
传统深层网络存在训练难、梯度消失/爆炸的问题。ResNet 提出将层与层之间加上“跳跃连接”:
输入 x --> 卷积层 F(x) --> 输出 F(x) + x
换句话说,ResNet 不是学习一个完整的变换 H(x),而是学习残差 F(x) = H(x) - x,输出为 H(x) = F(x) + x。
这种结构使得网络更容易学习恒等映射,信息和梯度可以直接穿过多个层,从而实现稳定的深度训练。
三、ResNet 结构概览(以 ResNet18 为例)
ResNet 的基本结构如下:
Input → Conv1 → [Conv2_x] → [Conv3_x] → [Conv4_x] → [Conv5_x] → AvgPool → FC
其中每个 [ConvX_x] 是若干个残差模块(residual block),每个模块内部含有残差连接。
ResNet18 层数:
-
Conv1:7x7卷积
-
Conv2_x ~ Conv5_x:共 4 组,每组 2 个 BasicBlock
-
每个 BasicBlock 含 2 层卷积
-
共 18 层具有权重的层
四、ResNet 系列模型对比
| 模型 | 层数 | 残差块类型 | 参数量(M) | 适用场景 |
|---|---|---|---|---|
| ResNet18 | 18 | BasicBlock | ~11M | 小模型、边缘部署 |
| ResNet34 | 34 | BasicBlock | ~21M | 中型模型 |
| ResNet50 | 50 | BottleneckBlock | ~25M | 标准深度模型 |
| ResNet101 | 101 | BottleneckBlock | ~44M | 更深模型 |
| ResNet152 | 152 | BottleneckBlock | ~60M | 精度优先 |
五、残差块的两种形式
1. BasicBlock(ResNet18/34 使用)
由两个 3x3 卷积构成,适用于浅层网络:
x → Conv3x3 → BN → ReLU → Conv3x3 → BN → 加残差 → ReLU
2. BottleneckBlock(ResNet50 及以上使用)
采用 1x1 → 3x3 → 1x1 卷积组合,先压缩再还原特征维度,减少计算量:
x → Conv1x1 → Conv3x3 → Conv1x1 → 加残差 → ReLU
六、ResNet 的优势
-
可训练极深网络(超 1000 层)而不会退化
-
残差连接加速收敛,保留梯度信息
-
适应性强,可广泛用于分类、检测、分割等任务
-
多种改进版本(如 ResNeXt、SE-ResNet、ResNet-D、ConvNeXt)
七、ResNet 的 PyTorch 使用示例
from torchvision.models import resnet50
model = resnet50(pretrained=True)
model.fc = torch.nn.Linear(model.fc.in_features, 10) # 修改输出为10类
也可以加载 ResNet18、101、152 等变种。
八、ResNet 的应用场景
-
图像分类(ImageNet、CIFAR)
-
目标检测(作为 backbone 用于 Faster-RCNN、YOLO)
-
语义分割(FCN、DeepLab 等使用 ResNet backbone)
-
医学图像处理、工业检测
-
视频理解、视觉问答
九、ResNet 的改进版本(拓展方向)
| 模型 | 改进点 | 特点 |
|---|---|---|
| ResNeXt | Grouped Convolution | 更强表达力,结构简单 |
| SE-ResNet | 通道注意力机制(SENet) | 强调重要通道,提升准确率 |
| ResNet-D | 修改下采样方式 | 更适合下游任务 |
| Res2Net | 多尺度特征增强 | 融合多尺度特征 |
| ConvNeXt | 用纯卷积模拟 ViT 结构 | 对标 Vision Transformer |
十、总结
ResNet 是深度学习模型设计中的重要里程碑,其残差连接思想极大推动了深度神经网络的发展,成为 CNN 结构的事实标准。
| 特性 | 描述 |
|---|---|
| 结构 | 基于残差连接的卷积神经网络 |
| 核心创新 | Skip Connection / Residual Block |
| 优势 | 易于训练、适合深层结构、泛化强 |
| 应用范围 | 分类、检测、分割等视觉任务 |
更多推荐
所有评论(0)