【论文精读】Resnet残差网络(Deep Residual Learning for Image Recognition)

简介

本文作者是何恺明,张祥雨,任少卿,孙健;2016年发布在IEEE上;

本文提出深层网络出现的退化问题,通过提出添加快捷连接来解决

一、底层知时

1.1退化问题

图像识别任务中,网络性能可以通过堆加网络深度得以提升

但这个过程往往不是线性的,当网络层数足够深时,退化问题开始显现了;

退化问题不是由过拟合引起,当识别精度趋于收敛时,增加网络层数会导致训练误差增加

1.2底层映射

常规网络中,我们的优化目标是是我们的网络可以逼近底层映射(underlying mapping)

在分类问题中,底层映射是一种基于上帝视角,可以完全将输入样本特征映射成标签的映射,即f(x)=y,其中f(\cdot)便是底层映射,x,y为样本的特征和标签;

现实生活中这种映射往往难以找到,所以我们希望训练出一种映射去逼近底层映射,即

f'(x)\rightarrow f(x)

1.3快捷连接

自然界有一种十分简单的映射模式,这种映射将输入映射至其本身,即f(x)=x,我们称这种映射模式为自身映射(identity mapping),或是恒等映射

我们将底层映射定义为H(x);如果神经网络可以拟合底层映射H(x),那么一样可以拟合

H(x)-x

如果我们把由网络块堆叠而成的神经网络称为原始映射(original mapping)F(x)

相比于传统神经网络F'(x)\rightarrow H(x)的模式,我们希望可以让原始映射逼近H(x)-x

F(x)\rightarrow H(x)-x,也就是在原始映射上加上恒等映射来拟合底层映射,即

F(x)+x\rightarrow H(x)

底层映射H(x)
原始映射F(x)
自身映射x

这一方式的理论基础为:如果恒等映射是最优的,即H(x)=x时,网络使原始映射逼F(x)逼近0,比不添加自身映射时的原始映射F'(x)逼近于x更加容易

F(x)+x可以通过添加一个快捷连接(shortcut connections)实现,也就是下图中的自身映射

快捷连接并不参与网络计算,仅仅在最后与网络输出执行加和操作

通过添加快捷连接这一操作可以使网络在深度上受益,而不会出现退化问题

二、残差网络

2.1通过快捷连接添加自身映射

残差网络的思想来源于原始映射F(x)是本源映射H(x)与自身映射x残差(residual)

这里我们讨论范围限定在数个网络层

我们通过添加快捷连接构建残差块,我们定义这种网络块为

y=F(x, \left \{ W_i \right \}))+x

其中,x,y为网络块的输入和输出,F(\cdot)为待学习的残差映射,当网络块只有两层时,

F=W_2\sigma (W_1x)\sigma为激活函数,省略偏置,\left \{ W_i \right \}为参数组

如果yx形状不一致时,通过通过添加一个线性映射即可

y=F(x, \left \{ W_i \right \}))+W_sx

当然,除了全连接层,快捷连接仍然适用于卷积层

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迭代时终止训练

比较n=\left \{ 3,5,7,9 \right \},随着深度增加,平面网络出现退化问题

deep residual learning for image recognition是一种用于图像识别的深度残差学习方法。该方法通过引入残差块(residual block)来构建深度神经网络,以解决深度网络训练过程中的梯度消失和梯度爆炸等问题。 在传统的深度学习网络中,网络层数增加时,随之带来的问题是梯度消失和梯度爆炸。这意味着在网络中进行反向传播时,梯度会变得非常小或非常大,导致网络训练变得困难。deep residual learning则使用了残差连接(residual connection)来解决这一问题。 在残差块中,输入特征图被直接连接到输出特征图上,从而允许网络直接学习输入与输出之间的残差。这样一来,即使网络层数增加,也可以保持梯度相对稳定,加速网络训练的过程。另外,通过残差连接,网络也可以更好地捕获图像中的细节和不同尺度的特征。 使用deep residual learning方法进行图像识别时,我们可以通过在网络中堆叠多个残差块来增加网络的深度。这样,网络可以更好地提取图像中的特征,并在训练过程中学习到更复杂的表示。通过大规模图像数据训练,deep residual learning可以在很多图像识别任务中达到甚至超过人类表现的准确性。 总之,deep residual learning for image recognition是一种利用残差连接解决梯度消失和梯度爆炸问题的深度学习方法,通过增加网络深度并利用残差学习,在图像识别任务中获得了突破性的表现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值