[DeeplearningAI笔记]卷积神经网络2.3-2.4深度残差网络
4.2深度卷积网络
觉得有用的话,欢迎一起讨论相互学习~Follow Me
参考文献
[残差网络]--He K, Zhang X, Ren S, et al. Deep Residual Learning for Image Recognition[J]. 2015:770-778.
2.3残差网络Residual Networks(ResNets)
- 非常非常深的网络是很难训练的,因为存在梯度消失和梯度爆炸的问题。使用跳远连接(skip connections)
它可以从某一网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层,可以利用跳远连接构建能够训练深度网络的ResNets
Residual block
- Residual Networks残差网络由残差块构成,对于一个“普通的神经网络层的结构”而言,神经层\(a^{[l]}\)到\(a^{[l+1]}\)再到\(a^{[l+2]}\)
网络的主路径"Main Path"可表示为:

- 但是对于残差网络,\(a^{[l]}\)可以拷贝到网络的深层,可以直接在ReLU非线性激活函数前加上\(a^{[l]}\)。这被称为是"Short cut",不再沿着主路径传递。即原始公式中的\(a^{[l+2]}=g(z^{[l+2]})\)被替代为\(a^{[l+2]}=g(z^{[l+2]}+a^{[l]})\),也就是说加上的这个\(a^{[l]}\)产生了一个残差块。
- "跳远连接(skip connection)"就是指\(a^{[l]}\)跳过一层或者好几层,从而将信息传递给神经网络的更深层。
- ResNet的发明者认为使用残差块能够训练更深的神经网络,所以构建一个ResNet网络就是通过将很多这样的残差块堆积在一起,形成一个深度神经网络。

Residual Networks(ResNets)残差网络构造方法与优势
对于一个"Plain Network普通网络",把它变为ResNet的方法是加上所有的跳远连接(skip connections).每两层增加一个跳远连接构成一个残差块。如图所示,五个残差块连接在一起构成一个残差网络。

- 理论上说越深的神经网络应该会取得更好的结果,但是实际上对于普通网络随着神经网络网络层数的增加,训练的误差会先下降再上升。因为随着网络层数的增加,优化算法会更加难以训练网络。
- 但是ResNets不一样,即使网络再深,训练的表现却不错,错误会更少。就算网络的深度达到了1000层也会取得不错的结果。这证明ResNet在训练深度网络方面非常有效。

2.4残差网络Residual Networks(ResNets)为什么有用
残差网络在训练集上的效果
- 通常情况下,一个网络深度越深,它在训练集上训练集上训练网络的效率有所减弱。
- 假设网络结构如下图所示,其中BigNN表示一个很大很深的神经网络模型,并且使用ReLU函数作为激活函数,且所有ReLU函数的输入值都是非负值。

有如下计算式:
\[a^{[l+2]}=g(z^{[l+2]}+a^{[l]})\\
=g(w^{[l+2]}*a^{[l+1]}+b^{[l+2]}+a^{[l]})\] - 注意,如果我们使用了L2正则化,则会使公式中的w权值相应的减少。
- 这里设w和b均为零值,因为使用ReLU函数作为激活函数,并且激活函数的输入值是非负值则\(a^{[l+2]}=g(a^{[l]})=a^{[l]}\)。
NG认为残差网络起作用的主要原因是:这些残差块学习恒等函数非常容易,你能确定网络性能不会受到影响,很多时候甚至可以提高效率,至少效率不会降低。
残差块维度
- 对于残差块的跳跃连接的维度大小,因为残差块的设计中使用了相当多的“SAME”模式的卷积方式所以可以实现\[z^{[l+2]}+a^{[l]}的跳跃连接的操作\]即"SAME"卷积模式保持了维度。
但是如果\(a^{[l+2]}和a^{[l]}\)的维度不一样,例如\(a^{[l+2]}\)为256,\(a^{[l]}\)的维度为128,则在\(a^{[l]}\)前乘上一个可学习的变量\(W_{s}\),其中\(W_{s}\)维度为\(256*128\)以保持维度的一致。

Plain网络(普通网络)加上ResNet单元

其中卷积层使用“SAME”卷积模式,保持特征图的维度信息即特征图的长和宽,但是对于残差块中有池化层的情况,则需要使用\(W_s\)调整维度,使跳跃连接的前后层可以保持一致的维度使其可以相加。
[DeeplearningAI笔记]卷积神经网络2.3-2.4深度残差网络的更多相关文章
- [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...
- [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...
- [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...
- [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...
- [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...
- [DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.6多通道卷积 原理 对于一个多通道的卷积操作,可以将卷积核设置为一个立方体,则其从左上角开始向右移动然后向下移动,这里设 ...
- [DeeplearningAI笔记]卷积神经网络1.4-1.5Padding与卷积步长
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4Padding 一张\(6*6\)大小的图片,使用\(3*3\)的卷积核设定步长为1,经过卷积操作后得到一个\(4*4 ...
- [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...
- [DeeplearningAI笔记]卷积神经网络4.11一维和三维卷积
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.11一维和三维卷积 二维和一维卷积 对于2D卷积来说,假设原始图像为\(14*14*3\)的三通 ...
随机推荐
- 数据库与数据仓库的比较Hbase——Hive
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented).集成的(Integrate).相对稳定的(Non-Volatile).反映历史变化(Time Varian ...
- java沙盒入门(2)
Java在Internet上的应用已经日渐普遍,使用在网页上的Java程序称之为applet,利用Applet的嵌入能够使原本静态的HTML富有变化,并且能够做到"声"." ...
- MySQL 忘记root密码怎么办
前言:记住如果忘记root密码,在启动MySQL的时候,跳过查询授权表就ok了. 对于RedHat 6 而言 (1)启动mysqld 进程时,为其使用:--skip-grant-tables --sk ...
- jQuery的2把利器
<!-- $是一个函数,首先是给window添加$,然后该值是一个函数,函数返回的值是对象.1. jQuery核心函数 * 简称: jQuery函数($/jQuery) * jQuery库向外直 ...
- TeamCity编译执行selenium上传窗口脚本缺陷
2015-07-04 18:05 编写本文 TeamCity编译selenium脚本,对于上传窗口处理只支持sendKeys的使用,不支持模拟人为按下Enter键和使用autoIt等操作,即使本地调试 ...
- MongoDb企业应用实战(一) 写在MongoDb应用介绍之前(i)
故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常感谢我在第一家公司帮助我进步的兄弟(我在时的项目经理,现为 x 知名 ...
- PHP面向对象之重写
覆盖(override): 基本概念 覆盖,又叫“重写”: 含义: 将一个类从父类中继承过来的属性和方法“重新定义”——此时相当于子类不想用父类的该属性或方法,而是想要定义. 覆盖的现实需要: 对于一 ...
- IIS部署时未能加载程序集"System.Web.Http.WebHost"解决方法
问题如下 服务器没有安装MVC,下载以下dll覆盖到bin目录下,即可免安装运行程序. 下载地址:https://pan.baidu.com/s/1mhCo5mS
- mvc4扩展方法
制作扩展方法,方便网页中使用,下面做了两个例子 using System; using System.Collections.Generic; using System.Linq; using Sys ...
- 再谈获取网站图标Icon
上一篇文章讨论了一下获取网站图标方法,是通过从根目录直接获取和html解析结合的方式来获取的,并给出了相应的代码示例.这一篇来讨论一个更现成的方法,这个方法是从360导航的页面发现的,在导航页面中点击 ...