阅读 151

CNN经典模型——ResNet

 残差网络出自论文《Deep Residual Learning for Image Recognition》。
  神经网络是否越深越好?
  从经验来看,网络的深度对模型的性能至关重要,当增加网络层数后,网络可以进行更加复杂的特征模式的提取,所以当模型更深时理论上可以取得更好的结果。但是,网络深度越深其效果就越好吗?其实不然,经大量实践表明,神经网络随着层数的增加可能会出现两个问题:gradient vanishing/exploding problem(梯度爆炸/消失问题) 和 degradation problem(退化问题)
  增加深度带来的首个问题就是梯度爆炸/消失的问题,这是由于随着层数的增多,在网络中反向传播的梯度会随着连乘变得不稳定,变得特别大或者特别小。为了克服梯度消失也想出了许多的解决办法,如使用BatchNorm,将激活函数换为ReLu,使用Xaiver初始化等,可以说梯度消失问题已经得到了很好的解决。
  增加深度的另一个问题就是网络的退化问题,即随着深度的增加,网络的性能会越来越差,直接体现为在训练集上的准确率会下降,残差网络文章解决的就是这个问题,而且在这个问题解决之后,网络的深度上升了好几个量级。
  残差网络是由来自Microsoft Research的4位学者提出的卷积神经网络,在2015年的ImageNet大规模视觉识别竞赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)中获得了图像分类和物体识别的优胜。 残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。
  残差网络的残差块如图1所示。

在这里插入图片描述

图1 残差块


  残差结构人为制造了恒等映射,就能让整个结构朝着恒等映射的方向去收敛,确保最终的错误率不会因为深度的变大而越来越差。
  残差的思想都是去掉相同的主体部分,从而突出微小的变化,引入残差后的映射对输出的变化更敏感。

  残差网络的特点

  1. 网络较瘦,控制了参数数量;

  2. 存在明显层级,特征图个数逐层递进,保证输出特征表达能力;

  3. 使用了较少的池化层,大量使用下采样,提高传播效率;

  4. 没有使用Dropout,利用BN和全局平均池化进行正则化,加快了训练速度;

  5. 层数较高时减少了3×3卷积个数,并用1×1卷积控制了3×3卷积的输入输出特征图数量,称这种结构为“瓶颈”(bottleneck)。

©著作权归作者所有:来自51CTO博客作者๑~夏时~๑的原创作品,如需转载,请注明出处,否则将追究法律责任


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐