Deep Residual Learning for Image Recognition
arXiv 📆 2016-06
残差块是 ResNet 网络的基本构建块。为了使非常深的卷积结构成为可能,ResNet在一组卷积块的输出中添加了中间输入。 这也称为跳过连接、身份映射和“残余连接”。 跳跃连接的目的是允许更平滑的梯度流动,并确保重要特征一直延续到最后一层。它们不会向网络增加计算负载 解决梯度消失问题:通过残差连接,梯度能够更容易地反向传播。 与传统的深层网络相比,ResNet能以更少的参数实现更好的性能。
另外最近在学习目标跟踪领域中的Siamese网络中发现,ResNet-50在目标跟踪领域中比较流行, 但ResNet-50会带来一个问题:多次的下采样会降低目标跟踪的精度,而直接取消下采样操作又会降低网络的感受野。 因此,为了在减少ResNet中下采样次数的同时保持原有的感受野,在ResNet-50中往往会舍弃1-2个下采样层(步长变回1), 并使用膨胀卷积来保证原有的感受野不变(如Siamese RPN++和Siammask)

resnet model architecture.
在ResNet50中,残差块采用瓶颈设计。 每个残差块包含残差连接和3个卷积层,依次采用1✖️1、3✖️3、1✖️1的卷积核。 其中1✖️1的卷积用于减少维度和恢复维度。 即先通过1✖️1卷积核进行降维,然后对经过降维后的特征使用3✖️3的卷积,最后再使用1✖️1卷积核恢复维度。 残差块这种首尾宽,中间细的瓶颈结构减少了计算量。 第二阶段到第五阶段分别使用3、4、6、3个残差块,通道数逐渐翻倍,分别为64、128、256、512。 最终,网络做一次全局平均池化,然后使用带有softmax的全连接层特征图将映射到所需的输出维度。 从ResNet50输出的特征数据在加上位置编码后经过一个线性投影层作为编码器的输入。
References
https://medium.com/@hupinwei/深度學習-resnet之殘差學習-f3ac36701b2f https://www.cvmart.net/community/detail/3487 https://bbs.huaweicloud.com/blogs/360203 https://blog.51cto.com/u_16099267/8163840 https://zhoujiahuan.github.io/2020/06/11/ResNet-networks/ https://zhuanlan.zhihu.com/p/442427189