本文为单一原创研究论文,以下为学术报告。
一、作者与发表信息
本文作者为何恺明(Kaiming He)、张祥雨(Xiangyu Zhang)、任少卿(Shaoqing Ren)、孙剑(Jian Sun),均来自Microsoft Research(微软研究院)。论文发表于2016年IEEE Conference on Computer Vision and Pattern Recognition(CVPR),DOI为10.1109/CVPR.2016.90,页码770–778。
二、研究背景与目的
本研究属于计算机视觉与深度学习领域,核心关注深度卷积神经网络(Convolutional Neural Networks, CNNs)的训练问题。已有研究表明,网络深度对图像识别性能至关重要:从VGG的16层到GoogLeNet的30层,更深网络在ImageNet上取得了领先结果。然而,当网络深度继续增加时,训练并非简单堆叠更多层即可获得更好性能。一个突出障碍是梯度消失/爆炸(vanishing/exploding gradients),尽管归一化初始化(normalized initialization)和批归一化(Batch Normalization, BN)已部分缓解该问题,使数十层网络能够开始收敛,但随之暴露出另一个现象——退化问题(degradation problem):随着深度增加,准确率趋于饱和并迅速下降。这一退化并非由过拟合引起,因为更深的网络在训练集上的误差也更高。理论上,如果新增层为恒等映射(identity mapping),深层网络的训练误差不应高于其浅层对应网络;但实验表明,现有求解器难以在可行时间内找到比构造解更好或相当的方案。
针对上述问题,本文提出深度残差学习框架(deep residual learning framework),目标是通过显式地将层重新表述为学习参照输入的残差函数(residual functions),而非无参照函数,从而缓解深层网络的训练难度,使网络深度可大幅增加并带来精度提升。
三、研究流程与实验方法
本研究的核心思想是将期望的底层映射H(x)分解为F(x) + x,其中F(x) = H(x) − x为残差函数。该结构通过前馈神经网络中的捷径连接(shortcut connections)实现,如图2所示。捷径连接执行恒等映射,其输出与堆叠层的输出逐元素相加,不引入额外参数或计算复杂度。当输入输出维度不匹配时,可采用线性投影Ws(式2),但作者证明恒等映射已足够解决退化问题,投影仅在维度匹配时使用。
在架构设计上,研究构建了基于VGG理念的普通网络(plain network)与对应的残差网络(ResNet)。普通34层网络大多使用3×3卷积核,遵循两条设计规则:相同输出特征图尺寸的层具有相同滤波器数量;特征图尺寸减半时滤波器数量加倍以保持每层时间复杂度。下采样由步长为2的卷积层直接完成,网络末端为全局平均池化层和1000维全连接层加softmax。残差网络在此普通网络基础上插入捷径连接。
对于更深网络,作者采用瓶颈设计(bottleneck design),每个残差函数F使用三层堆叠:1×1、3×3、1×1卷积,其中1×1层分别负责降维和恢复维度,使3×3层成为较小输入输出维度的瓶颈。基于此构建了50层、101层和152层ResNet。152层ResNet的FLOPs为113亿,仍低于VGG-16/19的153亿/196亿。
ImageNet实现细节遵循[21, 40]:图像短边随机采样于[256, 480]进行尺度增强,随机裁剪224×224并减去像素均值,采用标准颜色增强。每个卷积后、激活前使用BN。使用SGD,mini-batch为256,初始学习率0.1,误差平台期时除以10,训练最多60×10^4次迭代,权重衰减0.0001,动量0.9,不使用dropout。测试采用10-crop测试,最佳结果采用全卷积形式并在多尺度{224, 256, 384, 480, 640}上平均分数。
在CIFAR-10数据集上,作者使用32×32输入,首层3×3卷积,随后堆叠6n层3×3卷积,特征图尺寸依次为32、16、8,滤波器数分别为16、32、64,下采样由步长为2的卷积完成。当使用捷径连接时,连接至每对3×3层。训练采用与ImageNet类似的设置,mini-batch为128,学习率从0.1开始,在32k和48k迭代时除以10,64k迭代终止。对1202层网络,初始学习率调整为0.01预热至训练误差低于80%后恢复为0.1。
四、主要结果
在ImageNet上的实验首先对比了18层与34层普通网络。表2显示34层普通网络top-1误差(28.54%)高于18层普通网络(27.94%)。图4左显示,整个训练过程中34层普通网络的训练误差均高于18层网络,尽管18层网络的解空间是34层网络解空间的子空间。作者排除了梯度消失作为主要原因,因BN确保前向信号具有非零方差,反向梯度范数健康。
在相同基线架构上添加恒等捷径连接构建18层和34层ResNet后,情况逆转:34层ResNet的top-1误差降至25.03%,优于18层ResNet的27.88%(表2),且训练误差显著更低(图4右),说明退化问题得到有效解决,深度增加带来了精度提升。同时,18层ResNet虽然与18层普通网络精度相当,但收敛更快。
关于捷径连接类型,表3比较了三种方案:方案a为零填充维度增加,方案b为仅维度增加时使用投影,方案c为全部使用投影。三者均显著优于普通网络,方案b略优于方案a,方案c与方案b差距微小。作者认为投影捷径对解决退化问题并非必需,因此后续采用方案b以降低复杂度。
更深瓶颈架构的结果(表3、表4)显示,ResNet-50、ResNet-101、ResNet-152的top-1验证误差分别为22.85%、21.75%、21.43%,top-5误差分别为6.71%、6.05%、5.71%。152层ResNet单模型top-5验证误差达4.49%,优于此前所有集成模型。六个不同深度模型集成后在ImageNet测试集上达到3.57% top-5误差,获得ILSVRC 2015分类任务第一名。
在CIFAR-10上,普通网络深度从20层增至56层时训练误差升高(图6左),而ResNet从20层到56层乃至110层均表现为训练误差随深度降低、测试精度提升(图6中),110层ResNet测试误差为6.43%(表6)。对层响应的标准差分析(图7)显示,ResNet各层的响应幅值普遍小于普通网络,且更深的ResNet响应更小,支持了残差函数相比非残差函数更接近零的假设。1220层ResNet虽可训练且训练误差<0.1%,但测试误差7.93%高于110层,作者将其归因于过拟合。
在目标检测任务上,使用Faster R-CNN作为检测框架,将VGG-16替换为ResNet-101,在PASCAL VOC 2007/2012测试集上mAP分别从73.2%/70.4%提升至76.4%/73.8%(表7);在COCO验证集上,mAP@[.5, .95]从21.2%提升至27.2%(表8),相对提升28%。
五、结论与价值
本研究证明深度残差学习框架能够有效解决深层网络训练中的退化问题。通过将期望映射重新表述为残差形式并引入恒等捷径连接,网络深度可大幅增加且训练难度显著降低。残差网络在ImageNet上以152层深度取得当时最佳结果,并在ILSVRC 2015分类、检测、定位以及COCO检测、分割等多项比赛中获得第一名。
科学价值在于提出了一种通用的网络设计原则——残差学习,其有效性在分类、检测等不同任务及不同数据集上得到验证,表明该原则具有普适性。此外,残差网络中恒等映射提供了合理的预条件(preconditioning),使优化更容易,为深层网络训练提供了新的理论视角。应用价值体现在残差网络结构简单、无额外参数和计算开销,易于在现有深度学习框架中实现,可广泛用于各类视觉识别任务,显著提升性能。
六、研究亮点
本研究的主要亮点包括:第一,发现了深度普通网络中的退化问题并明确指出其不同于过拟合,为理解深层网络优化困难提供了新的视角。第二,提出了简单而有效的残差学习框架,通过恒等捷径连接在不增加参数的情况下解决了退化问题,使网络深度可扩展至超过1000层。第三,瓶颈设计使极深网络的构建在计算上可行,152层ResNet的复杂度仍低于VGG。第四,在多个任务和数据集上的一致提升表明残差学习原理具有广泛适用性,对后续深度学习模型设计产生了深远影响。