深度学习笔记(三十五)残差神经网络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卷积方式,所以维度得以保留,从而实现远跳连接中的同纬度相加过程。
深度学习笔记(三十五)残差神经网络ResNet相关推荐
- 深度学习(三十五)异构计算GLSL学习笔记(1)
异构计算GLSL学习笔记(1) 原文地址:http://blog.csdn.net/hjimce/article/details/51475644 作者:hjimce 最近开始学习深度学习的一些gpu ...
- 深度学习(三十五)——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 ...
- 系统学习深度学习(三十五)--策略梯度(Policy Gradient)
转自:https://www.cnblogs.com/pinard/p/10137696.html 在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Valu ...
- 系统学习深度学习(三十八)--深度确定性策略梯度(DDPG)
转自:https://www.cnblogs.com/pinard/p/10345762.html 1. 从随机策略到确定性策略 从DDPG这个名字看,它是由D(Deep)+D(Determinist ...
- 深度学习笔记其六:现代卷积神经网络和PYTORCH
深度学习笔记其六:现代卷积神经网络和PYTORCH 1. 深度卷积神经网络(AlexNet) 1.1 学习表征 1.1 缺少的成分:数据 1.2 缺少的成分:硬件 1.2 AlexNet 1.2.1 ...
- JavaScript学习笔记(十五)
JavaScript学习笔记(十五) 事件 事件是DOM(文档对象模型)的一部分.事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别. 一.事件流 1.冒泡型事件 IE上的解决方案就是 ...
- OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D()
OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D() 一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式. ...
- Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装
扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...
- 深度学习笔记(5) 深层神经网络
深度学习笔记(5) 深层神经网络 1. 深层神经网络 2. 前向传播和反向传播 3. 核对矩阵的维数 4. 参数和超参数 5. 深度学习和大脑的关联性 1. 深层神经网络 当算神经网络的层数时,不算输 ...
- cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断)
cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断) https://blog.csdn.net/qq_16255321/article/details/43086 ...
最新文章
- github上删除一个仓库
- 初识mysql数据字段属性_初识mysql
- “移花接木”偷换广告:HTTPS劫匪木马每天打劫200万次网络访问
- vsftp账号_vsftp 实现不同用户不同权限配置
- NSAssert的使用
- 60v5g无刷电机矢量控制器_完成一个最小FOC矢量控制系统所需的基本模块和功能配置...
- 【Tools】MarkDown教程(七)-Typora详细教程
- Sentence-LDA的介绍及程序
- python安装时没有选path怎么办,环境变量是个啥? 没有勾选Add to Path怎么办?
- 盲人画家:人真的有第三只眼
- 解决el-input输入框使用oninput或onkeyup后,v-model双向绑定失效问题
- python画蛋糕_用python代码绘制漂亮生日蛋糕
- 金融日 | 看金融机构数据安全建设典型案例
- java自由职业者_自由职业者的7个重要技巧
- iec104协议java_GitHub - wsan70/IEC104_microgrid: iec104协议主站客户端程序,属于微电网管理系统一部分...
- AndroidStudio简单代码实现BMI计算
- 安装cnpm后运行报cnpm :无法加载文件 C:\Users\29038\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。
- python 京东 抢券_Python写一个京东抢券脚本
- 数据透视表(2)|计算字段、计算项
- 蓝桥杯备赛--AcWing 668. 游戏时间2