图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition

1.概述
随着神经网络的深度增加,网络会学习更高等级的特征,从而提高性能。但是,网络深度的增加,会出现梯度消失和梯度爆炸问题(从一开始阻碍收敛),可以通过标准初始化(normalized initialization)和中间标准化层(BN)解决。继续不断加深神经网络深度时,会出现退化(Degradation)问题,即准确率会先上升然后达到饱和,再持续增加深度会导致准确率下降。退化问题说明深度网络不能简单地被很好地优化,这不是过拟合问题,因为训练集和测试集误差都会增加。假设一个浅层网络准确率达到饱和,那么后加y=x恒等映射(identity mapping)层,起码误差不会增加,即更深的网络不应该带来训练集上误差增加,但是实验证明网络越深,训练难度越大。由此,引入残差网络结构(residual network),将期望基础映射表示为H(x),将堆叠的非线性层拟合映射F(x)=H(x)-x(即残差函数),原始映射重构为H(x)=F(x)+x(将残差置为0比通过堆叠非线性层来拟合恒等映射容易)。通过恒等快捷连接(identity shortcut connection)可以使得输出结果为H(x)=F(x)+x,当F(x)=0时,那么H(x)=x即恒等映射。
网络深度和准确率变化如下:
图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition残差网络结构:
图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition
ResNet通过引入残差网络结构成功训练152层神经网络,网络5层卷积层以及1层全连接层构成,5层卷积层分别是conv1、conv2_x、conv3_x、conv4_x以及conv5_x(每层由多个残差结构堆叠构成),在ILSVRC2015以3.57的top-5错误率取得冠军。
ResNet可以解决退化问题,因此可以从显著增加的深度中获得显著的准确性收益。
2.网络结构
图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition
其中,实线快捷连接表示通道相同,计算方式:H(x)=F(x)+x;虚线快捷连接表示通道不同,计算方式:H(x)=F(x)+Wx,W为卷积操作,用来调整维度。
不同的残差模块:
图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition
右边结构目的:减少参数数目。
ResNet不同层数网络配置:
图像分类经典论文阅读笔记4:ResNet-Deep residual learning for image recognition
训练细节:
(1)每个卷积之后、**之前,采用批归一化(BN);
(2)使用batch size为256的SGD方法;
(3)学习率从0.1开始,当误差稳定学习率除以10,权重衰减为0.0001,动量设为0.9;
(4)不使用dropout。

参考链接:
ResNet的TensorFlow实现
ResNet学习
ResNet详解