【论文精读】ResNet (Deep Residual Learning for Image Recognition)

论文链接:https://openaccess.thecvf.com/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdf

参考学习视频:【精读AI论文】ResNet深度残差网络_哔哩哔哩_bilibili

目录

1. 介绍

1.1 痛点——退化问题

1.1.1 问题描述

1.1.2 解决方法

1.2 残差

2. 方法

2.1 残差结构

2.2 通过shortcuts进行恒等映射

2.2.1 数学表达式

2.2.2 当x和F(x)数据结构不相同难以相加时的处理方法

2.3 网络结构

2.3.1 Plain Network

2.3.2 Residual Network

3.实验

3.1 残差网络能够解决退化问题

3.2 ResNet网络层数变高会产生过拟合,模型效果会变差


1. 介绍

1.1 痛点——退化问题

1.1.1 问题描述

退化问题指的是当网络变深后性能还不如浅层的网络。如Figure 1. 所示,56层的训练和测试误差比20层还大。

1.1.2 解决方法

ResNet引入残差模块解决了网络退化的问题

1.2 残差

残差,即预测值和真实值之间的偏差。

如下图所示,红点为真实值,红线为预测值(相当于恒等映射),真实值与预测值之间的偏差就是残差。预测值x+偏差F(x)=真实值H(x)

2. 方法

2.1 残差结构

 残差结构,如Figure 2. 所示

残差学习分为两条路:

  • 右边的那条:short/skip connection,直接将输入原封不动的传到输出,是个恒等映射(identity mapping)
  • 左边那条:两层的神经网络,不用拟合真正的低层分布(underlying mapping),只用拟合在原来的输入恒等映射基础上进行的修改(残差)

(相当于残差+恒等映射的效果坑定>=恒等映射,及加入残差后效果必然会大于等于原来的模型)

最后,F(x)+x(逐元素求和)再用relu处理。

实际的ResNet中,很多的残差模块堆叠,使得网络非常的深,同时解决退化问题。

2.2 通过shortcuts进行恒等映射

2.2.1 数学表达式

如公式 (1) 所示,x代表输入,y代表输出

当层数是两层时(Figure 2. ),F=W2σ(W1x),σ是ReLU函数,偏差为了简化表示被省略。

F+x这个操作由一个逐元素相加的shortcut connection来进行 。

2.2.2 当x和F(x)数据结构不相同难以相加时的处理方法

在(1)中x和F(x)尺寸必须相等(即数据的结构相同),这样才能进行逐元素相加。若进行了下采样等操作,F(x)的尺寸会变。

当x和F的尺寸不相等时,可以用以下三种方法来解决:

  • 下采样时,x多出来的通道用0进行padding
  • 下采样时,对identity的分支做1×1的卷积,把维度调整的和F一样
  • 在下采样和普通的卷积的模块里,全都在shortcut路径里都使用1×1的卷积

2.3 网络结构

2.3.1 Plain Network

如Figure 3. 所示,受到VGG-19的启发,plain network卷积层大多具有 3×3 滤波器,并遵循两个简单的设计规则:

  • 对于相同的输出特征图大小,层具有相同数量的滤波器;
  • 如果特征图大小减半,滤波器的数量加倍,以保持每层的时间复杂度。

直接通过步长为 2 的卷积层执行下采样。最后,输入全局平均池化层和带有 softmax 的 1000 个全连接层。图3(中)中加权层的总数为34。

Figure 3. Example network architectures for ImageNet. Left: the VGG-19 model [40] (19.6 billion FLOPs) as a reference. Middle: a plain network with 34 parameter layers (3.6 billion FLOPs). Right: a residual network with 34 parameter layers (3.6 billion FLOPs). The dotted shortcuts increase dimensions. Table 1 shows more details and other variants.

2.3.2 Residual Network

如Figure 3. 所示,residual network在plain network的基础上加入了shortnet connections。

3.实验

3.1 残差网络能够解决退化问题

如Figure 4. Figure 6. 所示,在ImageNet和CIFAR-10数据集上,(第一幅图)没有残差结构时,网络层数越多,错误率越高(出现退化问题);(第二幅图)有残差结构时,网络层数越多,错误率越低。

3.2 ResNet网络层数变高会产生过拟合,模型效果会变差

如Figure 6. 最后一幅图所示,网络层数过高时(1202),错误率会因为产生过拟合而提高。这是因为cifar-10数据集太小,1000多层表示能力太强。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值