深度学习笔记(三十五)残差神经网络ResNet

训练深层神经网络时,如果深度特别大,其实是很难训练下去的,因为会遇到梯度消失和梯度爆炸的问题。残差网络可以帮助我们更好地训练深层神经网络。

一、残差块

在这里插入图片描述
在神经网络的两层中,会执行如下运算过程(主路径)
在这里插入图片描述
如果将 a [ l ] a^{[l]} a[l]拷贝到最后一个linear之后,ReLU之前,这个路径称作是捷径(shortcut):
在这里插入图片描述
有时候这个捷径(shortcut)也称作远跳连接(skip connection)
在这里插入图片描述

通过这种方式,计算过程有一些改变,如下所示。
在这里插入图片描述

二、残差神经网络

首先给出一个普通神经网络
在这里插入图片描述
要使它变成残差神经网络,就是加上远跳连接。
每两层增加一个捷径,构成一个残差块,残差块组合在一起形成一个残差网络。
在这里插入图片描述
残差神经网络在训练深层神经网络时,有效预防了梯度爆炸/消失的问题,也解决了网络结构臃肿的问题,相比普通神经网络效果更佳。
在这里插入图片描述

三、为什么残差网络如此有效?

在这里插入图片描述
权重w和偏差b都取0的时候, a [ l + 2 ] = a [ l ] a^{[l+2]}=a^{[l]} a[l+2]=a[l],这种恒等式不会影响到网络的效率,通过那两层还可以学习到一些特征信息,反倒可以提高网络效率。
值得注意的是 z [ l + 2 ] z^{[l+2]} z[l+2] a [ l ] a^{[l]} a[l]应该具有相同的维度才能实现加法运算!在ResNet中使用了许多same卷积方式,所以使得 a [ l ] a^{[l]} a[l]维度可以等于输出的维度,从而实现了远跳连接。
在这里插入图片描述

四、残差网络作图像识别

普通神经网络
在这里插入图片描述
残差神经网络
在这里插入图片描述
每两层卷积就添加一个捷径形成一个残差块,从而形成一个大型的残差网络。由于大量使用了same卷积方式,所以维度得以保留,从而实现远跳连接中的同纬度相加过程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值