欢迎光临散文网 会员登陆 & 注册

ResNet论文逐段精读【论文精读】

2023-08-17 22:13 作者:TYの阿凯  | 我要投稿

Motivation:

网络变深之后,出现degradation problem,训练精度和测试精度相比浅层网络都下降了

核心思想:

假设我们要学的function是H(x),假设网络输出是F(x),要通过学习使F(x)与H(x)之间的差别尽可能地小

现在我们不学这个,去学H(x) - x也就是残差

现在就变成了F(x) = H(x) - x

即F(x) + x = H(x),因此每层网络的输出现在要加上输入x 再过激活函数

因为论文中觉得,学习残差比学习原始的mapping function H(x)会更容易

另外对于高通道数的残差块(),加了一个bottleneck architecture,先用1x1卷积层把通道数降低,然后再用1x1卷积层把通道数升回去

一个细节:对于非bottleneck architecture,每个大层 (论文中table 1的conv2_x就是一个大层) 的第一个残差块中第一个3x3的conv,stride是2,因此把输出的长宽都减半,而第二个3x3的conv 则stride为1,输出的长宽不变 (源码中有padding,具体可以看这里的讲解https://blog.csdn.net/u014453898/article/details/97115891),所以对于这样的残差块我们必须要用projection mapping因为每个feature map (对每个channel convolution的output shape) shape不一样了,对于剩下的3x3 conv,shape一样的,我们用identity mapping

这篇知乎文章也讲的很好:

https://zhuanlan.zhihu.com/p/152268938

效果:

有残差连接,收敛更快,网络越深时精度越高


ResNet论文逐段精读【论文精读】的评论 (共 条)

分享到微博请遵守国家法律