ResNet 残差神经网络

当类似VGG结构的网络层数过深的时候会产生退化,如下图所示,56层的网络效果要比20层的差,ResNet的提出就是解决退化问题,继续加深网络层数。
在这里插入图片描述
ResNet的基本思想是将原来一层一层堆叠在一起的网络结构变换成一种新的结构,这个结构如下所示
在这里插入图片描述
右部的含义是直接将输入按照原样映射到输出,左部分就和VGG一样是堆叠的卷积层等,新的网络结构可以这样去理解,假设原来的网络不包含左部分,仅包含右部分,这可以理解为一个较浅的网络,这个时候加入z左部分,整个网络的深度可以认为“没有加深”,而是在右部分直接映射的基础上增加了学习能力(因为网络参数更多,可以认为学习到了更多的信息),这样左右结合网络的学习能力就不会比仅有右部分的网络差。
这同样也可以换一个角度,用公式化的方式去理解,假设我们需要上述左右结合网络将输入x映射为H(x),右部分是直接映射为x,那么左部分需要映射的值为F(x)=H(x)-x,作者认为通过训练网络学习残差F(x)要比学习H(x)简单,通过一个极端的例子:假如我们需要学习的H(x)就是输入到输出直接映射( H(x)=x ),那么左部分堆叠的网络层可以直接置0( F(x)=0 ),如果需要这种堆叠的网络层去学习直接映射的话是很困难的,因为激活函数会导致非线性(sigmoid激活函数)。
作者在数据集上做了测试,测试结果验证了实验假设,残差网络确实是一种更有效的模型。

作者为了减少模型的训练时间,提出了一种"bottleneck"结构,如下所示:
在这里插入图片描述
作者将原来两层的堆叠结构变换成了三层的堆叠结构,其中右部分的11的卷积层是为了扩大和缩小channel数量,这为中间33的卷积层减少了参数数量(减少了输入和输出的channel数量)。左部分的参数数量为3 * 3 * 64 * 64 + 3 * 3 * 64 * 64,右部分的参数数量为1 * 1 * 256 * 64 + 3 * 3 * 64 * 64 + 1 * 1 * 64 * 256,经过计算后可以得知右部分的参数数量和左部分比较少,但是注意这里右部分的初始输入和最终输出channel是256,而左部分是64,所以右部分有效的压缩了参数量,减少了训练时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值