简介
本文作者是何恺明,张祥雨,任少卿,孙健;2016年发布在IEEE上;
本文提出深层网络出现的退化问题,通过提出添加快捷连接来解决
一、底层知时
1.1退化问题
图像识别任务中,网络性能可以通过堆加网络深度得以提升
但这个过程往往不是线性的,当网络层数足够深时,退化问题开始显现了;
退化问题不是由过拟合引起,当识别精度趋于收敛时,增加网络层数会导致训练误差增加
1.2底层映射
常规网络中,我们的优化目标是是我们的网络可以逼近底层映射(underlying mapping)
在分类问题中,底层映射是一种基于上帝视角,可以完全将输入样本特征映射成标签的映射,即,其中便是底层映射,为样本的特征和标签;
现实生活中这种映射往往难以找到,所以我们希望训练出一种映射去逼近底层映射,即
1.3快捷连接
自然界有一种十分简单的映射模式,这种映射将输入映射至其本身,即,我们称这种映射模式为自身映射(identity mapping),或是恒等映射
我们将底层映射定义为;如果神经网络可以拟合底层映射,那么一样可以拟合
;
如果我们把由网络块堆叠而成的神经网络称为原始映射(original mapping)
相比于传统神经网络的模式,我们希望可以让原始映射逼近
即,也就是在原始映射上加上恒等映射来拟合底层映射,即
底层映射 | |
原始映射 | |
自身映射 |
这一方式的理论基础为:如果恒等映射是最优的,即时,网络使原始映射逼逼近0,比不添加自身映射时的原始映射逼近于更加容易
可以通过添加一个快捷连接(shortcut connections)实现,也就是下图中的自身映射
快捷连接并不参与网络计算,仅仅在最后与网络输出执行加和操作
通过添加快捷连接这一操作可以使网络在深度上受益,而不会出现退化问题
二、残差网络
2.1通过快捷连接添加自身映射
残差网络的思想来源于原始映射是本源映射与自身映射的残差(residual)
这里我们讨论范围限定在数个网络层
我们通过添加快捷连接构建残差块,我们定义这种网络块为
其中,为网络块的输入和输出,为待学习的残差映射,当网络块只有两层时,
,为激活函数,省略偏置,为参数组
如果与形状不一致时,通过通过添加一个线性映射即可
即
当然,除了全连接层,快捷连接仍然适用于卷积层
2.2网络结构
实验中使用到的网络受VGG-19(左)启发;
34层的平面网络(Plain Networks)(中)里,每一层卷积网络都通过0填充确保特征图(feature map)大小一致,特征图形状不变时,特征图通道数不变;而池化层步长为2的,这一操作使得特征图长宽减半,同时使通道数翻倍
而在34层残差网络(Residual Networks)(右)里,原始映射同平面网络相同;而快捷连接如果前后特征图维度不同,则采取两种方式分别进行实验:1)自身映射通过在额外维度进行补0操作;2)通过1x1卷积进行维度提升;
三、实验
原始实验数据经224x224的随机裁剪处理,并在像素上进行了标准化;
优化器使用的是随机梯度下降SGD,批量大小取256,学习率从0.1开始,训练误差趋于平稳时除以10;设置0.0001的权重衰减和0.9的动量;本次实验没有添加drop out层
3.1ImageNet数据集
模型在128万张训练图像上进行训练,并在5万张验证图像上进行评估;
评估top-1和top-5正确率
1)平面网络
下表是top-1的验证误差,可以看到34层平面网络验证误差高于18层;
而观察其验证和训练误差,34层的误差高于18层,已然发生了退化
训练过程中使用了BN,结果不太可能由梯度消失引起;推测可能是深度影响了其收敛速度
2)残差网络
本次实验中残差使用的是0填充模式,没有引入新的参数;
从表中看到,残差网络从深度中受益,且优于平面网络
从图中也可以看出更深层的残差网络有更低的top-1错误率,
不过18层网络似乎有更快的收敛速度?
3)快捷连接
本实验的快捷连接考虑三种模式:
(A)0填充,无另外参数;
(B)增加维度时使用投影映射,其他为恒等
(C)所有的捷径都是投影映射
表中看出,三者差别并不大,本着节约计算资源,以下不使用方式C
4)深层网络
本次实验中,残差模块有一些变化,在残差块数量不变的情况下,增加了残差快中卷积层的数量,我们称这种模块为瓶颈( bottleneck)结构
不同深度的残差网络都是基于这个思路改编
残差网络两种误差都有良好的表现
3.2CIFAR-10数据集
输入为32×32图像,经像素标准化处理
网络结构如表所示,该数据集下,所有快捷连接都采取(A)0填充,无另外参数;
网络采取0.0001的权重衰减和0.9的动量,并采用BN以及权重初始化,不采用dropout
以0.1的学习率开始,在32k和48k迭代时将其除以10,并在64k迭代时终止训练
比较,随着深度增加,平面网络出现退化问题