吴恩达深度学习笔记(七) —— Batch Normalization
主要内容:
一.Batch Norm简介
二.归一化网络的激活函数
三.Batch Norm拟合进神经网络
四.测试时的Batch Norm
一.Batch Norm简介
1.在机器学习中,我们一般会对输入数据进行归一化处理,使得各个特征的数值规模处于同一个量级,有助于加速梯度下降的收敛过程。
2.在深层神经网络中,容易出现梯度小时或者梯度爆炸的情况,导致训练速度慢。那么,除了对输入数据X进行归一化之外,我们是否还可以对隐藏层的输出值进行归一化,从而加速梯度下降的收敛速度呢?答案是可以的。
3.Batch Norm,即基于mini-batch gradient descent的归一化,将其应用于深层神经网络。
二..归一化网络的激活函数
1.一般地,我们并非对a[0](a[0]即输入值X)、a[1]、a[2]……等进行归一化,而是对z[1]、z[2]……等进行归一化(没有z[0])。
2.对于第l层的某个batch数据,计算出z[l]的均值和方差,然后对其进行归一化,使其均值为0,方差为1:
(注意,z的上标i表示数据,而非层数。在课程中层数使用中括号[],这里不标示层数是为了简便。)
3.但是,我们不总希望隐藏单元总是含有均值为0,方差为1,也许隐藏单元有了不同的分布会有意义。(这里没能想明白,大概的意思是:如果总是“均值为0,方差为1”,那么深层神经网络的表示能力就减弱。)所以就再对其进行缩放和平移:

其中,β、γ是需要学习的参数。所以总的来说,需要学习四类参数:w、b、β、γ。
三.Batch Norm拟合进神经网络
1.在一次梯度下降中(用的batch可能不同),z[1]、z[2]……的均值和方差可能一直在变化,所以对于第l层,需要重新计算z[l]的均值和方差,然后再对其归一化

2.当进行了一次梯度下降之后,就利用下一个batch继续梯度下降(大括号标示batch):

四.测试时的Batch Norm
由于每一层中z的均值和方差在每一次梯度下降时都是变化的(与平常的机器学习的不同,机器学习中只需对输入数据X进行归一化,X的均值和方差是恒定的),所以在测试时,用哪个均值和方差进行归一化就成了一个问题。
解决方法是:在训练的过程中,利用指数加权平均去追踪和计算,最终得到用于测试数据的均值和方差。
吴恩达深度学习笔记(七) —— Batch Normalization的更多相关文章
- 【Deeplearning.ai 】吴恩达深度学习笔记及课后作业目录
吴恩达深度学习课程的课堂笔记以及课后作业 代码下载:https://github.com/douzujun/Deep-Learning-Coursera 吴恩达推荐笔记:https://mp.weix ...
- 吴恩达深度学习笔记(八) —— ResNets残差网络
(很好的博客:残差网络ResNet笔记) 主要内容: 一.深层神经网络的优点和缺陷 二.残差网络的引入 三.残差网络的可行性 四.identity block 和 convolutional bloc ...
- 吴恩达深度学习笔记(十二)—— Batch Normalization
主要内容: 一.Normalizing activations in a network 二.Fitting Batch Norm in a neural network 三.Why does ...
- 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(二)
经典网络 LeNet-5 AlexNet VGG Ng介绍了上述三个在计算机视觉中的经典网络.网络深度逐渐增加,训练的参数数量也骤增.AlexNet大约6000万参数,VGG大约上亿参数. 从中我们可 ...
- 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(CNN)(上)
作者:szx_spark 1. Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十 ...
- 吴恩达深度学习笔记(deeplearning.ai)之循环神经网络(RNN)(三)
1. 导读 本节内容介绍普通RNN的弊端,从而引入各种变体RNN,主要讲述GRU与LSTM的工作原理. 事先声明,本人采用ng在课堂上所使用的符号系统,与某些学术文献上的命名有所不同,不过核心思想都是 ...
- 吴恩达深度学习笔记(五) —— 优化算法:Mini-Batch GD、Momentum、RMSprop、Adam、学习率衰减
主要内容: 一.Mini-Batch Gradient descent 二.Momentum 四.RMSprop 五.Adam 六.优化算法性能比较 七.学习率衰减 一.Mini-Batch Grad ...
- 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(一)
Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十分方便,便于指出过滤器的位置. ...
- 吴恩达深度学习笔记1-神经网络的编程基础(Basics of Neural Network programming)
一:二分类(Binary Classification) 逻辑回归是一个用于二分类(binary classification)的算法.在二分类问题中,我们的目标就是习得一个分类器,它以对象的特征向量 ...
随机推荐
- C#调用python脚本
因项目需要,需要使用C#控制台程序执行python脚本,查询各种资料后可以成功调用了,记录一下,以备后面遗忘. 只尝试了两种调用方式,第一种只适用于python脚本中不包含第三方模块的情况,第二种针对 ...
- Material design之Material Theme
Material Theme提供了三方面的内容: 系统组件的颜色可以自定义更改 系统组件添加了触摸反馈动画效果 Activity切换动画效果 系统主题默认被定义在以下三个样式中: 使用Material ...
- Gson和Fastjson的使用
转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...
- X明X源面试题《一》
本文转载自zhangkang 今天去明源面试,面试题目如下 1 有两张表 A 学生表 ID Name age 1 李1 ...
- extract
w http://php.net/manual/en/function.extract.php <?php /* Suppose that $var_array is an array retu ...
- <2013 07 06> Future and Near Future
试图了解 量子力学 近现代基础物理学理论 量子计算机 脑科学 近现代生物学 遗传变异与进化 复杂工程学 系统工程 管理科学 人工智能 智能算法 机器学习 深度学习 大数据 云计算 ...
- Python中单例模式的使用方法
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在. 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场 ...
- PCL+Qt+VS可视化点云
前言 Point Cloud Library (PCL)是一个功能强大的开源C++库,假设可以使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助.LiDAR技术经过几十年的发展.眼下国内 ...
- 拟牛顿法——DFP、BFGS、L-BFGS
DFP 该算法的核心是:通过迭代的方法,对Hk+1(-1)近似.迭代方式: 其中D0通常取为单位矩阵,关键是每一步构造矫正矩阵△Dk. 考虑△Dk 的待定形式为 拟牛顿的条件 这里插播一下拟牛顿的条件 ...
- 剑指offer 面试65题
题目65题:不用加减乘除做加法. 解法一:Python特性 # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): # wr ...