ResNet详解

ResNet 详解

背景简介

深度网络随着层数不断加深,可能会引起梯度消失/梯度爆炸的问题:

  1. “梯度消失”:指的是即当梯度(小于1.0)在被反向传播到前面的层时,重复的相乘可能会使梯度变得无限小。
  2. “梯度爆炸”:指的是即当梯度(大于1.0)在被反向传播到前面的层时,重复的相乘可能会使梯度变得非常大甚至无限大导致溢出。

随着网络深度的不断增加,常常会出现以下两个问题:

  1. 长时间训练但是网络收敛变得非常困难甚至不收敛
  2. 网络性能会逐渐趋于饱和,甚至还会开始下降,可以观察到下图中56层的误差比20层的更多,故这种现象并不是由于过拟合造成的。 这种现象称为深度网络的退化问题。

pic

ResNet深度残差网络,成功解决了此类问题,使得即使在网络层数很深(甚至在1000多层)的情况下,网络依然可以得到很好的性能与效 率。

参差网络

ResNet引入残差网络结构(residual network),即在输入与输出之间(称为堆积层)引入一个前向反馈的shortcut connection,这有 点类似与电路中的“短路”,也是文中提到identity mapping(恒等映射y=x)。原来的网络是学习输入到输出的映射H(x),而残差网络学 习的是。残差学习的结构如下图所示:

pic

另外我们可以从数学的角度来分析这个问题,首先残差单元可以表示为:

其中 和 分别表示的是第 l 个残差单元的输入和输出,注意每个残差单元一般包含多层结构。 F 是残差函 数,表示学习到的残差,而h表示恒等映射, f 是ReLU激活函数。基于上式,我们求得从浅层 l 到深层 L 的学习特征为:

利用链式规则,可以求得反向过程的梯度:

式子的第一个因子表示的损失函数到达 L 的梯度,小括号中的1表明短路机制可以无损地传播梯度,而另外一项残差梯度则需要经过带 有weights的层,梯度不是直接传递过来的。残差梯度不会那么巧全为-1,而且就算其比较小,有1的存在也不会导致梯度消失。所以残 差学习会更容易。

实线、虚线就是为了区分这两种情况的:

  1. 实线的Connection部分,表示通道相同,如上图的第一个粉色矩形和第三个粉色矩形,都是3x3x64的特征图,由于通道相同,所以采 用计算方式为
  2. 虚线的的Connection部分,表示通道不同,如上图的第一个绿色矩形和第三个绿色矩形,分别是3x3x64和3x3x128的特征图,通道不 同,采用的计算方式为,其中W是卷积操作,用来调整x维度的。 pic

残差学习的本质

pic

残差网络的确解决了退化的问题,在训练集和校验集上,都证明了的更深的网络错误率越小: pic

下面是resnet的成绩单, 在imagenet2015夺得冠军:

pic

powered by Gitbook 文件修改时间 2019-05-19 16:35:56
博客
32132
07-14 362
07-12 294
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值