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

一、残差块


在神经网络的两层中,会执行如下运算过程(主路径)

如果将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卷积方式,所以维度得以保留,从而实现远跳连接中的同纬度相加过程。

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

  1. 深度学习(三十五)异构计算GLSL学习笔记(1)

    异构计算GLSL学习笔记(1) 原文地址:http://blog.csdn.net/hjimce/article/details/51475644 作者:hjimce 最近开始学习深度学习的一些gpu ...

  2. 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage

    Style Transfer Texture Networks: Feed-forward Synthesis of Textures and Stylized Images 这篇论文属于fast s ...

  3. 系统学习深度学习(三十五)--策略梯度(Policy Gradient)

    转自:https://www.cnblogs.com/pinard/p/10137696.html 在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Valu ...

  4. 系统学习深度学习(三十八)--深度确定性策略梯度(DDPG)

    转自:https://www.cnblogs.com/pinard/p/10345762.html 1. 从随机策略到确定性策略 从DDPG这个名字看,它是由D(Deep)+D(Determinist ...

  5. 深度学习笔记其六:现代卷积神经网络和PYTORCH

    深度学习笔记其六:现代卷积神经网络和PYTORCH 1. 深度卷积神经网络(AlexNet) 1.1 学习表征 1.1 缺少的成分:数据 1.2 缺少的成分:硬件 1.2 AlexNet 1.2.1 ...

  6. JavaScript学习笔记(十五)

    JavaScript学习笔记(十五) 事件 事件是DOM(文档对象模型)的一部分.事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别. 一.事件流 1.冒泡型事件 IE上的解决方案就是 ...

  7. OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D()

    OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D() 一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式. ...

  8. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  9. 深度学习笔记(5) 深层神经网络

    深度学习笔记(5) 深层神经网络 1. 深层神经网络 2. 前向传播和反向传播 3. 核对矩阵的维数 4. 参数和超参数 5. 深度学习和大脑的关联性 1. 深层神经网络 当算神经网络的层数时,不算输 ...

  10. cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断)

    cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断) https://blog.csdn.net/qq_16255321/article/details/43086 ...

最新文章

  1. github上删除一个仓库
  2. 初识mysql数据字段属性_初识mysql
  3. “移花接木”偷换广告:HTTPS劫匪木马每天打劫200万次网络访问
  4. vsftp账号_vsftp 实现不同用户不同权限配置
  5. NSAssert的使用
  6. 60v5g无刷电机矢量控制器_完成一个最小FOC矢量控制系统所需的基本模块和功能配置...
  7. 【Tools】MarkDown教程(七)-Typora详细教程
  8. Sentence-LDA的介绍及程序
  9. python安装时没有选path怎么办,环境变量是个啥? 没有勾选Add to Path怎么办?
  10. 盲人画家:人真的有第三只眼
  11. 解决el-input输入框使用oninput或onkeyup后,v-model双向绑定失效问题
  12. python画蛋糕_用python代码绘制漂亮生日蛋糕
  13. 金融日 | 看金融机构数据安全建设典型案例
  14. java自由职业者_自由职业者的7个重要技巧
  15. iec104协议java_GitHub - wsan70/IEC104_microgrid: iec104协议主站客户端程序,属于微电网管理系统一部分...
  16. AndroidStudio简单代码实现BMI计算
  17. 安装cnpm后运行报cnpm :无法加载文件 C:\Users\29038\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。
  18. python 京东 抢券_Python写一个京东抢券脚本
  19. 数据透视表(2)|计算字段、计算项
  20. 蓝桥杯备赛--AcWing 668. 游戏时间2

热门文章

  1. win10间歇性闪屏_Win10系统桌面不停闪屏自动刷新的解决方法
  2. 2023年中国人工智能产业趋势报告
  3. 【回顾、感恩、展望】Oracle技术大会暨38周年庆典
  4. 面试官:分别说说微信和淘宝扫码登录背后的实现原理?
  5. WinPhone开发之GeoCoordinateWatcher
  6. YOLOv5/v7 应用轻量级通用上采样算子CARAFE
  7. 今天给大家分享使用Scratch做一个猫捉老鼠的游戏!
  8. goang基础知识小全
  9. 二叉树的四种遍历(非递归)
  10. 金橙子回复二轮问询:毛利率下滑备受关注,研发投入略显不足