ResNet-18
定义
ResNet-18指残差网络(Residual Network,ResNet)系列中一个层数较浅的版本,其命名来自网络中带权重的层数为18层。按深度学习教材的统计口径,它由1个7×7卷积层、4个由残差块组成的模块以及最后1个全连接层构成,其中每个模块含4个卷积层,不含恒等映射所用的1×1卷积[2]。
ResNet-18属于卷积神经网络的一类骨干结构,与ResNet-34、ResNet-50、ResNet-101、ResNet-152等共同组成残差网络的常用规模序列[5]。在公开实现中,其残差块配置为[2,2,2,2],即4个模块各堆叠2个基础残差块[6]。
在PyTorch官方视觉库中,ResNet-18的预训练权重在ImageNet-1K上取得69.758%的top-1准确率与89.078%的top-5准确率,参数量为11689512,单次前向计算约1.81 GFLOPs,权重文件约44.7 MB[4]。
原理
残差网络的基本单元是残差块。设某几层原本需要拟合的目标映射为$H(x)$,改为让这些层学习残差$F(x)=H(x)-x$,再把输入$x$通过捷径连接与$F(x)$相加,得到输出$y=F(x)+x$[7]。当残差接近0时,该块退化为恒等映射,网络性能至少不会因加深而变差,因此优化目标比直接拟合完整映射更容易[7]。
ResNet-18使用的是基础残差块,即两个3×3卷积串联构成$F(x)$分支,捷径分支为恒等映射[8]。当输入与输出维度不一致时(通常发生在特征图分辨率减半、通道数翻倍的位置),需要用1×1卷积投影或零填充调整维度;残差网络原文对18层与34层模型采用恒等映射加零填充的方案,因此相对同深的普通网络没有增加参数[9]。
整个网络按阶段组织:每进入下一个阶段,特征图的空间分辨率减半、通道数翻倍,最后经全局平均汇聚层和全连接层输出类别分数[2]。这种模块化设计使同一套模板可以通过调整模块内残差块数目扩展出更深的变体[2]。
flowchart TD
A["输入图像 3×224×224"] --> B["7×7 卷积 + 最大池化"]
B --> C["阶段1: 2×基础残差块"]
C --> D["阶段2: 2×基础残差块"]
D --> E["阶段3: 2×基础残差块"]
E --> F["阶段4: 2×基础残差块"]
F --> G["全局平均汇聚"]
G --> H["全连接层 → 类别分数"]
发展历程
残差学习由微软研究院的何凯明、张翔宇、任少卿、孙剑在2015年的论文《Deep Residual Learning for Image Recognition》中提出,该论文随后获得CVPR 2016最佳论文[1][7]。论文以含152层的残差网络参加2015年ILSVRC分类任务,并同时在COCO检测与分割任务中取得领先成绩[1]。
在这项工作中,18层与34层的残差网络是用来说明深度收益的对照模型。原文表2的记录显示,34层残差网络比18层版本精确率高约2.8%,而18层残差网络与同深普通网络的精度相近,但收敛更快,说明层数不过深时残差连接主要起加速优化的作用[10][9]。
此后ResNet-18作为轻量级变体进入主流框架的模型库,在PyTorch的torchvision等工具包中长期提供预训练权重,并被广泛用作教学示例与迁移学习起点[4][2]。华为昇腾的模型库文档亦说明ResNet18指网络中具有18层,并给出基于PyTorch的适配实现[5]。
应用
图像分类是ResNet-18最基础的应用场景。其预训练模型以224×224的RGB图像为输入,输出对应ImageNet 1000个类别的概率,可直接用于分类推断或在自定义数据集上微调[11]。
在视频监控领域,有研究以ResNet-18提取监控视频帧的特征表示,再结合优化算法完成异常检测任务,实验在多个数据集上取得了较好的检测效果[3]。也有工作将其用于指纹图像的识别匹配[12]。
在医学与材料图像分析中,ResNet-18被用作缺陷分类与影像判别的骨干:针对原子力显微镜图像的缺陷分类研究中,仅解冻最后一个残差块与全连接层进行微调,配合焦点损失在测试集上取得91%量级的准确率[13];对胸部X光片分类的研究则选用18层版本而非更深的ResNet,以兼顾存储与算力受限的设备条件[14]。
局限
作为较浅的残差网络,ResNet-18的表达能力有限。原文对比显示,在ImageNet上34层残差网络比18层版本准确率高约2.8个百分点,说明继续加深仍能带来精度收益,18层的容量不足以承担对特征层次要求更高的任务[9]。
规模小并不必然意味着适用性更好。在一项原子力显微镜图像缺陷分类研究中,ResNet-18配合焦点损失取得最高测试准确率,而更复杂的ResNet-50在该数据集上测试准确率仅约66%,研究者认为原因可能是过拟合或模型相对数据规模过于复杂[13]。这表明模型选择依赖具体数据条件,层数与精度之间不存在简单的单调关系。
此外,残差连接解决的是深层网络的优化问题,并非对所有退化情形都有效。原文观察到,网络层数不过深时,普通网络同样能找到较好解,残差连接的作用主要体现在训练早期的收敛加速上[10]。在存储与算力受限、或对时延敏感的场景中,研究者也会改用更小的模型或对ResNet-18做8位量化,量化后精度会有小幅下降[15]。
参见
参考资料
- ResNet:深度残差学习(arXiv:1512.03385) [引用日期2026-10-29]
- d2l-zh - 每个模块有 4 个卷积层(不包括恒等映射的 $1\times 1$ 卷积层) [引用日期2026-10-29]
- ieee.org 上的网页 [引用日期2026-10-29]
- resnet18¶ [引用日期2026-10-29]
- ResNet18_ID1593-PyTorch [引用日期2026-10-29]
- resnet [引用日期2026-10-29]
- 【AI理论】ResNet模型解析 [引用日期2026-10-29]
- 论文解读:Deep Residual Learning for Image Recognition [引用日期2026-10-29]
- aliyun.com 上的网页 [引用日期2026-10-29]
- tencent.cn 上的网页 [引用日期2026-10-29]
- resnet-18-pytorch [引用日期2026-10-29]
- google.com 上的网页 [引用日期2026-10-29]
- authors [引用日期2026-10-29]
- Classifying Chest X-Ray Images using Residual Neural Network [引用日期2026-10-29]
- resnet18 - Table of Contents [引用日期2026-10-29]