CV 经典主干网络 (Backbone) 系列: ResNet家族
作者:Kaiming He 等
发表时间:2015
Paper 原文: Deep Residual Learning for Image Recognition
该篇是 CV 经典主干网络 (Backbone) 系列 下的一篇文章。
ResNet 在 CV 发展史上有非常重要的意义,它在 ImageNet 挑战赛上,首次实现了超越人类的水平。关于 ResNet 的介绍,将分为上下两个部分:
-
ResNet家族:主要介绍原版(凯明大神论文里提出的) ResNet
-
ResNet变种:主要介绍基于ResNet,效果比较好的改进版本
1. 网络结构
ResNet 的核心思想是采用了 identity shortcut connection,如下图一所示。结合下面第二、三幅图来看 ResNet34 的结构应该就非常清晰了。
值得注意的是,下面第二幅图中,shortcut 有虚线和实线之分,实际上虚线的地方是因为用了 stride 为 2 的 conv,因此虚线连接的 input 和 output 的 size 是不一样大的,因此没法直接进行 element wise addition,所以虚线表示并非是直接相连,而是通过了一个 conv 去完成了 resize 的操作,使相加的两个输入有相同的 size。
从下面的第三幅图可以看出 ResNet 的 stride 为 32。.另外如果在输出 size 减小的情况下,比如输入 56x56 的 feature map 下采样到 28时,会相应的增加通道数(64 变为 128),通过这种方式来控制 block 的参数量。
ResNet 通过 shotcut 的方式,很好的解决了梯度消失的问题,也使网络的层数推到了几百上千层,性能有了巨大的提升,但是和之前的网络相比,比如 VGG16,它仅仅在