ResNet学习笔记

ResNet学习笔记

Deep Residual Learning for Image Recognition

Abstract

  • 越深的网络越难训练

  • 提出了深度残差网络,减轻网络学习负担, 我们明确地将这些层重新定义为根据参考层的输入来学习残差函数,而不是学习无参考的函数。我们提供了全面的经验证据,表明这些残差网络更容易优化,并且可以从深度增加中获得准确性的提高。

  • 在ImageNet和COCO上都获得了第一名

Introduction

  • 随着网络深度的增加,准确度变得饱和 , 然后迅速退化。 网络层数更多,精度反而下降了<img 在这里插入图片描述

  • 引入深度残差学习框架来解决退化问题,整个网络仍然可以通过反向传播的SGD进行端对端训练 。
    H ( x ) = f ( x ) + x H(x) = f(x) + x H(x)=f(x)+x

在这里插入图片描述

1)我们极深的残差网络很容易优化,但当深度增加时,对应的“简单”网络(即简单叠加层)表现出更高的训练误差;

2)我们的深度残差网络可以通过大大增加的深度轻松获得准确性收益,产生的结果大大优于以前的网络。

Related Work

  • 残差表示。
  • 捷径连接(shortcut connection)。

Deep Residual Learning

在这里插入图片描述

  • F ( x , F (x, F(x,{ W i W_i Wi})代表要学习的残差映射,对于Figure 2中有两层的实例 F = W 2 δ ( W 1 x ) F = W_2\delta(W_1x) F=W2δ(W1x),其中 δ \delta δ表示Relu
  • 公式(1)中的捷径连接既不涉及外部参数也没有增加计算复杂度。
  • x和 F F F 的维度必须相等,如果不相等,可以通过捷径连接执行线性投影Ws以匹配尺寸

Network Architecture

  • Plain Network,采用VGG网络的设计思想,卷积核是3x3的,并遵循两个设计规则:

    • 对于相同尺寸的特征图输出,具有相同数量的卷积核
    • 如果特征图大小减半,卷积核的数量加倍以保持每层的时间复杂度
    • 采用步幅为2的卷积层执行下采样,网络以全局平均池化层和具有softmax的1000路的全连接层结束
  • **Residual NetWork **,基于plain network,插入捷径连接,当输入和输出具有相同的尺寸时,可以直接使用恒等捷径连接(公式1),输入和输出不同,有两种方式(1)padding填充0以增加维度(2)通过1x1卷积进行升维和降维,文中使用第二种方法
    在这里插入图片描述

  • 左边为作为参考的网络VGG-19,中间的具有34个层的普通网络,右边是具有34个层的残差网络

实现

  • 尺度增强, 图片根据短边等比例缩放,在[256,480]区间的尺寸随机采样以进行尺度增强
  • 颜色增强,把每个像素减去平均值
  • 每次经过卷积层和Relu层之前经过一个BN层
  • 使用SGD,mini-batch为256,学习率初始为0.1,loss平稳之后除以10,不使用dropout层

Experiments

在具有1000个类的ImageNet 2012分类数据集上评估我们的方法。模型在128万训练图像上进行训练,并在50k验证图像上进行评估。我们还获得了测试服务器报告的100k测试图像的最终结果。我们评估top-1和top-5的错误率。
在这里插入图片描述

ImageNet

  • Plain Network,比较18层和34层的普通网络

在这里插入图片描述

ImageNet验证集上的Top-1错误率(10个裁剪图像测试)。与对应的普通网络相比,ResNet没有额外的参数。

  • 较深的34层普通网比较浅的18层普通网具有更高的验证误差。为了揭示原因,在图4(左)中,我们比较了他们在训练过程中的训练/验证错误。我们观察到了退化问题 - 尽管18层普通网络的解空间是34层普通网络的子空间,但34层普通网络在整个训练过程中具有更高的训练误差。

在这里插入图片描述

  • 细曲线是训练误差,粗曲线是验证误差

  • 作者认为这种问题不是由剃度消失引起的。 作者推测,深度普通网络可能具有指数级低的收敛速度,这会影响训练误差的减少。

  • Residual Network, 评估18层和34层残差网络(ResNets) , 基准体系结构与上述普通网络相同,预期将一个捷径连接添加到每对3×3滤波器,如图3(右)所示。在第一个比较(表2和图4右)中,我们对所有捷径连接使用恒等映射和零填充来增加维度(选项A)。所以他们与普通网络的相比,没有额外的参数的增加。

  • 从表2和图4我们可以看到三个主要的观察结果。

  • 34层ResNet比18层ResNet(2.8%)好 , 34层ResNet展示的训练误差相当低,并且可以泛化到验证数据。

  • 与相应的普通网络相比,34层ResNet由于成功降低了训练误差,它的top-1误差减少了3.5%(表2) , 验证了极深系统的残差学习的有效性。

  • 18层普通/残差网络的准确度相当(表2),但18层ResNet更快地收敛(图4右侧与左侧)。当网络“不太深”(这里是18层)时,当前的SGD求解器仍然能够找到普通网络的良好的解。在这种情况下,ResNet通过在早期阶段提供更快的收敛来简化优化。

  • 恒等捷径VS投影捷径

我们已经证明,无参数恒等捷径连接有助于训练。接下来我们研究投影捷径(公式(2))。在表3中,我们比较了三种选择:(A)用零填充捷径捷径增加尺寸,所有捷径连接均无参数(与右表2和图4相同); (B)投影捷径用于增加尺寸,其他捷径是恒等; (C)所有捷径都是投影。

在这里插入图片描述

表3显示,所有三个选项都比相应的普通网络好得多。 B稍好于A.我们认为这是因为A中的零填充维数确实没有残差学习。 C稍好于B,我们将其归因于许多(13个)投影捷径连接引入的额外参数。但是A / B / C之间的小差异表明投影捷径对解决退化问题并不重要。所以我们在本文其余部分不使用选项C,这样可以减少内存/时间复杂度和模型大小。恒等捷径连接对于不增加下面介绍的瓶颈体系结构的复杂性非常重要。

  • 更深的瓶颈架构
  • 接下来我们介绍一下ImageNet的更深层次的网络。由于担心需要承受的训练时间,我们将构建模块修改为瓶颈设计。对于每个残差函数,我们使用3层而不是2层(图5)。三层是1×1,3×3和1×1的卷积,其中1×1层负责减小和增加(恢复)尺寸,使得3×3层成为具有较小输入/输出尺寸的瓶颈。

在这里插入图片描述

  • 无参数恒等捷径连接对于瓶颈架构尤为重要。如果将图5(右)中的恒等捷径连接替换为投影,可以看到时间复杂度和模型大小加倍,这是因为该捷径连接连到两个高维度末端。所以恒等捷径连接可以为瓶颈设计提供更高效的模型。

  • 50层ResNet:我们用这个3层瓶颈块替换34层网络中的所有的2层块,产生50层ResNet(表1)。我们使用选项B来增加维度。这个模型有38亿FLOPs。

  • 101层和152层ResNet:我们使用更多的3层块(表1)构建101层和152层ResNets。值得注意的是,虽然深度显着增加,但152层ResNet(113亿个FLOPs)的复杂性仍然低于VGG-16/19网络(15.3 / 196亿个FLOPs)。

  • 50/101/152层的ResNets比34层的ResNets更精确(表3和表4)。我们没有观察到退化问题,因此可以从深度上显着增加而获得准确度的提高。所有评估指标都体现了深度的好处(表3和表4)。

  • 与最先进的方法进行比较

在这里插入图片描述

​ 表4. 单个模型在ImageNet验证集上的错误率(%)(除了†是测试集上报告的错误率)。

  • 在表4中,我们将与以前的最佳的单模型结果比较。我们的基准34层ResNets已经实现了非常有竞争力的准确性。我们的152层ResNet单模型具有4.49%的top-5验证错误。
  • 这种单模型结果优于以前的所有的综合模型的结果(表5)。我们将六个不同深度的模型组合在一起(在提交时只有两个152层模型)形成一个综合模型。这在测试集上获得了3.57%的top-5错误(表5)。这次提交赢得ILSVRC 2015的第一名。

在这里插入图片描述

CIFAR-10

关注的是极深网络的行为,而不是推动最先进的结果,所以我们故意使用如下简单的体系结构。

  • 普通/残差体系结构遵循图3(中/右)的形式。网络输入是32×32图像,它的每个像素减去平均值。第一层是3×3卷积。然后,我们分别在尺寸为{32,16,8}的特征图上使用3×3卷积的6n个堆栈层,每个特征图尺寸为2n层。过滤器的数量分别为{16,32,64}。下采样通过以2的步长卷积来执行。网络以全局平均池化,10路全连接层和softmax结束。总共有6n + 2个堆叠的权重层。下表总结了架构:

在这里插入图片描述

当使用捷径连接时,它们连接到3×3的层对(总共3n个捷径连接)。在这个数据集中,我们在所有情况下都使用恒等捷径(即选项A),因此我们的残差模型具有与相应的普通模型完全相同的深度,宽度和参数数量。

  • 我们比较了n={3,5,7,9},分别对应20,32,44,56层的网络。图6(左)显示了普通网络的表现。深度普通网络经历了深度的增加,并且随着深度的增加表现出更高的训练误差。这种现象与ImageNet(图4左侧)和MNIST(见[41])类似,表明这样的优化难度是一个根本的问题。

  • 图6(中)展示了残差网络的表现。跟用Imagenet做实验时表现的差不多(图4右),我们残差网络就克服了优化困难的问题,并且做到了让精度随着深度增加而增加。
    在这里插入图片描述

  • 我们进一步研究了n=18的情况,这个对应了110层的残差网络。在这种情况下,我们发现0.1的初始学习率稍大,导致不能收敛。因此,我们使用0.01的学习率开始训练,直到训练误差低于80%(大约400次迭代),然后把学习率设回0.1并继续训练。其余的学习过程与以前的一样。这个110层网络收敛良好(图6,中间)。它比其他深且窄的网络(如FitNet [34]和Highway [41](表6))的参数更少,但仍得到最先进的结果(6.43%,表6)。
    在这里插入图片描述

研究超过1000层的网络。我们探索超过1000层的过深的模型。我们把n设成200,这对应了1202层的网络,按照上文所述进行训练。我们的方法没有显示出优化的困难,并且该层网络能够实现<0.1%的训练误差(图6,右)。它的测试错误仍然相当不错(7.93%,表6)。

PASCAL和MS COCO

在这里插入图片描述

在 CIFAR-10 数据集上做了测试和分析,ResNet 甚至做到了 1000 层以上。

这证明了基于残差学习可以让网络更深。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值