一、Abstract
1. 提出一个残差学习框架去简化网络的训练,这个网络比以前使用过的网络更深。
2. 这些残差网络更容易优化,并且从更深的网络层中大幅度获取accuracy。
3. 在ImageNet数据集中,我们评估了深度为152层的残差网络,比VGG网络的8倍还多,但是仍然有较低的复杂度。
4. 这些残差网络的集合在IamgeNet上获得了3.75%的错误率。
5. the depth of representations(表征的深度)在视觉识别任务中是非常重要的。
二、Introduction
1. 深度是网络框架是至关重要的。在本章中提到在CIFAR-10训练集上构建20和50层的普通网络,越深的网络训练和测试的错误率更高。
2. 由深度的重要性,提出一个问题:堆叠的层越多,学习到的网络越好吗?然而又存在一个显著的问题---vanishing/exploding gradients, 从一开始就阻碍了收敛。然而,这个问题主要是由规范的初始化和中间正则化层解决,使数十层的网络开始收敛,采用反向传播进行随机梯度下降(SGD)。
3. 伴随更深的网络能够开始收敛,一个退化问题开始出现:随着网络深度增加,精确度还是逐渐饱和,然后快速退化。这个退化并不是由过拟合造成的,并且向深度模型中增加更多的层会导致更高的错误。(如上面图片所示)
4. 在本文中,我们采用深度残差学习框架来解决退化问题,与其让每个堆叠的层直接去拟合所需的底层映射,我们显示的让这些层去拟合一个残差映射。将所需的底层映射设置为H(x),将堆叠的非线性层去拟合F(x)的另一个映射,即F(x) = H(x) - x ,则原始映射为F(x) + x, 这个表达式能够在带有“shortcut connections”(本文解释为标识映射,它们的输出叠加到堆叠层的输出)的前馈神经网络表示出来。标识映射没有增加额外的参数也没有增加计算的复杂性。
5. 在ImageNet数据集上的实验所得出两个发现:(1)极深的残差网络很容易被优化,相对应的普通网络(普通堆叠层)随着深度加深展现出极高的训练错误率。(2)我们的深度残差网络能够从大量增加的深度中获得精度增益,并且比之前的网络都产生较好的结果。
三、Related Work
...
四、Deep Residual Learning
1. F(x , {Wi})表示残差网络所要学习的,F(x) + x通过跳跃连接和元素添加来执行。 (此处x与F维度相同)
2. 如果维度不相同,则需要利用Ws来匹配维度,相当于一个卷积操作。
残差函数F使灵活的,可以运用在不同的跳跃连接层中,在本文中是指两层或者三层。
3. 网络结构图(基于ImageNet上)
(1)plain网络
卷积层大部分是3*3滤波器并且遵循两个规则:(1)对于相同输出尺寸的特征图,这些层有相同的滤波器。(2)如果特征图的尺寸缩小一半,那滤波器的数量要扩大一倍来保留每层的时间复杂性。我们直接用步长为2的卷积层进行下采样,网络最后采用一个全局平均池化和用softmax的全连接层输出1000个分类,加权层的总数是34。
(2)Residual Network
插入跳跃连接,当输入和输出的维度相同时,我们可以直接插入shortcut。
当维度不同时,我们有两种选择:(1)跳跃仍然表现为标识映射,填充0来增加维度,这种选择没有额外的参数。(2)采用等式2进行1*1的卷积来匹配维度,即projection shortcut投影匹配。
4. 实现
...在每个卷积之后每个激活之前采用batch normalization, 从零开始训练所有普通/残差网格的权重,采用随机梯度下降SGD,mini-batch为256,learning_rate从0.1开始,当误差趋于平稳时除以10,进行60×10^4次迭代,weight decay为0.0001,momentum为0.9,没有采用dropout...
五、Experiments
1. plain networks
对比18层和34层普通网络层,34层普通网络层验证错误率更高,并且在训练过程中比较了它们的训练/验证错误,我们观察到退化问题,即34层网络在整个训练过程中有更高的验证错误率,尽管18层网路的解空间是34层网络的子集。
优化问题不是由梯度消失导致的,因为在训练过程中采用了BN
2. residual networks
对比18层和34层的残差网络,基本架构和普通网络一样,只是在每对3*3卷积核中加入了shortcut connection。
(1)34层的残差网络比18层的残差网络更好。
(2)34层的残差网络展现出相当低的训练错误和验证错误,这说明退化问题已经很好的被解决了。
(3)从增加的深度中获得了精度增益。
(4)34层的残差网络将top-1的错误率减少了3.5%,成功的减少了错误率,这个比较验证了残差网络在极其深的网络中的高效性。
(5)18层的普通/残差网络比较精确,但是却收敛的更快,当网络不是很深时,当前的SGD解决器仍然可以为普通网络找到一个好的解决方案。
...
六、Problems
1. projection shortcuts用于维度不同的层,采用0填充增加维度,无参。为什么不太用于解决梯度退化问题?
2. 有什么区别,仅仅是维度区别吗?
3. 梯度退化实质?
...