对于plain网络,卷积层主要为33的滤波器,并遵循以下两点要求:
(1)输出特征尺寸相同的层含有相同数量的滤波器;
(2)如果特征尺寸减半,则滤波器的数量增加一倍来保证每层的时间复杂度相同,直接通过stride 为2的卷积层来进行下采样,在网络的最后是一个全局的平均pooling层和一个1000 类的包含softmax的全连接层,加权层的层数为34。不过该网络比VGG网络有更少的滤波器和更低的计算复杂度。其34层的结构含有36亿个FLOPs,而仅仅只有VGG-19 (196亿个FLOPs)的18%。
对于残差网络,在以上plain网络的基础上,插入shortcut连接,将网络变成了对应的残差版本,如果输入和输出的维度相同时(图中的实线部分),可以直接使用之前公式1的恒等shortcuts,而维度增加的话(图中的虚线部分),可以考虑两种方案:
(1)在增加的维度上使用0来填充,这样做不会增加额外的参数;
(2)使用Eq.2的映射shortcut来使维度保持一致。
当shortcut跨越两种尺寸的特征图时,均使用stride为2的卷积。
针对ImageNet的网络实现遵循了Krizhevsky2012ImageNet和Simonyan2014Very,调整图像的大小使它的短边长度随机的从[256,480]中采样来增大图像的尺寸,从一张图像或者它的水平翻转图像中随机采样一个224
224的crop,每个像素都减去均值,图像使用标准的颜色增强,在每一个卷积层之后,激活层之前均使用batch normalization(BN)。本文根据He2014spatial来初始化权值然后从零开始训练所有plain/残差网络。
这三层分别是11、33 和11 的卷积,11 的层主要负责减少然后增加(恢复)维度,剩下的3*3的层来减少输入和输出的维度。
本文提出的方法没有很难理解,但是取得的效果是非常好的,作者仔细思考了网络深度的优势以及挑战,以解决退化问题为动机,引入残差网络结构,作者在文中提到:深层网络的训练误差一般比浅层网络更高,但是对一个浅层网络,添加多层恒等映射(y=x)变成一个深层网络,这样的深层网络却可以得到与浅层网络相等的训练误差,作者通过跳跃连接来实现了一个简单的恒等映射,对于残差网络,当残差为0时,此时堆叠层仅仅做了恒等映射,根据上面的结论,理论上网络性能至少不会下降,而如果增加的层中学到了一些有用信息,那性能肯定会得到提升,并且对于更深的网络,本文提出了瓶颈层,有效减少了参数量,使得增加网络深度变得更加简单,不过从CIFAR-10实验中1202层效果变差中可以看出,依旧可能会发生过拟合之类的问题,网络还是不能无限制地增加深度。
到此这篇resnet网络作者(resnet网络特点)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/66449.html