2020-8-13 吴恩达DL学习-C4 卷积神经网络-第二周 CNN实例探究(2.4 残差网络为什么有用?-残差块学习恒等函数非常容易)

本文探讨了残差网络(ResNets)为何能在深度学习中表现出色。通过一个例子说明,残差块使得网络学习恒等函数变得简单,从而在增加网络深度时保持或提升效率。即使在网络深层,ResNets也能通过跳跃连接保持维度一致,这有助于网络性能的提升。此外,介绍了ResNets在图像识别任务中的应用。
摘要由CSDN通过智能技术生成

1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c
2.详细笔记网站(中文):http://www.ai-start.com/dl2017/
3.github课件+作业+答案:https://github.com/stormstone/deeplearning.ai

2.4 残差网络为什么有用? Why ResNets work?

为什么ResNets能有如此好的表现,我们来看个例子,它解释了其中的原因,至少可以说明,如何构建更深层次的ResNets网络的同时还不降低它们在训练集上的效率。

希望你已经通过第三门课了解到,通常来讲,网络在训练集上表现好,才能在Hold-Out交叉验证集或dev集和测试集上有好的表现,所以至少在训练集上训练好ResNets是第一步。

先来看个例子。
上节课我们了解到,一个网络深度越深,它在训练集上训练的效率就会有所减弱,这也是有时候我们不希望加深网络的原因。而事实并非如此,至少在训练ResNets网络时,并非完全如此,举个例子。
在这里插入图片描述

如上图。假设有一个大型NN,用Big NN表示,其输入为 x x x,输出激活值 a [ l ] a^{[l]} a[l]
假如你想增加这个NN的深度,再给这个网络额外添加两层,依次添加两层,最后输出为 a [ l + 2 ] a^{[l+2]} a[l+2]
可以把这两层看作一个ResNets块,即具有捷径连接的残差块。为了方便说明,假设我们在整个网络中使用ReLU激活函数,所以激活值都大于等于0,包括输入 x x x的非零异常值。因为ReLU激活函数输出的数字要么是0,要么是正数。

我们看一下 a [ l + 2 ] a^{[l+2]} a[l+2]的值,也就是上节课讲过的表达式。即 a [ l + 2 ] = g ( z [ l + 2 ] + a [ l ] ) a^{[l+2]}=g(z^{[l+2]}+a^{[l]}) a[l+2]=g(z[l+2]+a[l])其中添加项 a [ l ] a^{[l]} a[l]是刚添加的跳跃连接的输入。
展开这个表达式。
a [ l + 2 ] = g ( W [

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值