主要内容:
一、Normalizing activations in a network
二、Fitting Batch Norm in a neural network
三、Why does Batch Norm work?
四、Batch Norm at test time
 
 
 
一、Normalizing activations in a network
 1、在浅层机器学习算法中,如logistics regression,我们通常使用normalization来加速梯度下降。那么同样,我们也可以把normalization运用于神经网络。
2.在神经网络中,不仅有X作为最初的输入,还有当前层的激活值a[l]作为下一层的输入。因此,我们不仅仅对输入层做特征归一化处理,同样需要对隐藏层做归一化处理。
3、在Batch Norm中,一般是对输入激活函数之前的z做归一化处理,而不是激活值a。 其步骤如下:
可以看出,前三步与浅层机器学习算法的normalization无异,只是多了第四步。而第四步的作用就是将归一化的z再做一下缩放和平移(线性变换),因为有时候可能不希望隐藏层的z的均值和方差总是等于0和1。如在激活函数sigmod中,我们不希望输入值z的均值和方差为0和1,使得sigmod被利用的仅仅为线性部分:
 
 
 
 
二、Fitting Batch Norm in a neural network
1、将Batch Norm运用于整个神经网络,其步骤如下:
2、需要学习的参数有:
3、在实际中,Batch Norm通常和mini-batch gradient descent一起使用:
注意:z[t]经过归一化后其均值为0,而z[t] = w[t-1]a[t-1]+b[t],所以b[t]实际是无意义的,它其实就是一个偏移值,而归一化后就去掉了偏移值。所以在这里可以不考虑b[t]。
 
 
 
三、Why does Batch Norm work?
1、通过特征归一化,使得输入值的均值和方差变成0和一,这样能加速梯度下降。
2、解决了covariate shift的问题。covariate shift的大概意思就是:当输入值的分布情况发生了变化,那么原先学习到的算法将不再适用于新的输入。比如对于神经网络的第t层,他们的输入 值的分布情况取决于前面层的参数,而这些参数在学习过程中是不断变化的,因此第t层的输入值的分布也是不断变化了,那么学习将变得无效。而引入batch norm后,每一层输入的分布变得稳定了,那就是N(0,1)再经过线性调整,因此学习变得有效了。
 
 
 
四、Batch Norm at test time
1、在测试时,同样需要对输入进行batch norm。根据batch norm的式子,我们需要计算均值和方差,但是计算测试数据的均值和方差是不合适的,比如当测试数据个数为1时,均值和方差变得无意义的。
2、测试数据的均值和方差,通常是在mini-batch gradient descent的时候通过指数加权平均求得。
 
 
 
 
 

吴恩达深度学习笔记(十二)—— Batch Normalization的更多相关文章

  1. 【Deeplearning.ai 】吴恩达深度学习笔记及课后作业目录

    吴恩达深度学习课程的课堂笔记以及课后作业 代码下载:https://github.com/douzujun/Deep-Learning-Coursera 吴恩达推荐笔记:https://mp.weix ...

  2. 吴恩达深度学习笔记(八) —— ResNets残差网络

    (很好的博客:残差网络ResNet笔记) 主要内容: 一.深层神经网络的优点和缺陷 二.残差网络的引入 三.残差网络的可行性 四.identity block 和 convolutional bloc ...

  3. 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(二)

    经典网络 LeNet-5 AlexNet VGG Ng介绍了上述三个在计算机视觉中的经典网络.网络深度逐渐增加,训练的参数数量也骤增.AlexNet大约6000万参数,VGG大约上亿参数. 从中我们可 ...

  4. 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(CNN)(上)

    作者:szx_spark 1. Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十 ...

  5. 吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(一)

    Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十分方便,便于指出过滤器的位置. ...

  6. 吴恩达深度学习笔记(deeplearning.ai)之循环神经网络(RNN)(三)

    1. 导读 本节内容介绍普通RNN的弊端,从而引入各种变体RNN,主要讲述GRU与LSTM的工作原理. 事先声明,本人采用ng在课堂上所使用的符号系统,与某些学术文献上的命名有所不同,不过核心思想都是 ...

  7. 吴恩达深度学习笔记(七) —— Batch Normalization

    主要内容: 一.Batch Norm简介 二.归一化网络的激活函数 三.Batch Norm拟合进神经网络 四.测试时的Batch Norm 一.Batch Norm简介 1.在机器学习中,我们一般会 ...

  8. 吴恩达深度学习笔记1-神经网络的编程基础(Basics of Neural Network programming)

    一:二分类(Binary Classification) 逻辑回归是一个用于二分类(binary classification)的算法.在二分类问题中,我们的目标就是习得一个分类器,它以对象的特征向量 ...

  9. 吴恩达深度学习笔记(十一)—— dropout正则化

    主要内容: 一.dropout正则化的思想 二.dropout算法流程 三.dropout的优缺点 一.dropout正则化的思想 在神经网络中,dropout是一种“玄学”的正则化方法,以减少过拟合 ...

随机推荐

  1. poj 3469(网络流模版)

    题目链接:http://poj.org/problem?id=3469 思路:终于把网络流的模版测试好了,在Dinic和Sap之间还是选择了Sap,事实证明Sap确实比Dinic效率高,在此贴出自己的 ...

  2. vue - audio标签

    audio 标签 <audio :src="current_music" autoplay controls autoloop @end="next_song&qu ...

  3. hoj 2715 (费用流 拆点)

    http://acm.hit.edu.cn/hoj/problem/view?id=2715 将每个格子 i 拆成两个点 i’, i’’并加边(i’, i’’, 1, -Vi), (i’, i’’, ...

  4. margin 依附与可见的内容,不能为margin而写margin

    margin  依附于可见的内容,不能为margin而写margin <!DOCTYPE html><html><head><style> p{marg ...

  5. Bootstrap学习-排版-表单

    1.标题 <h1>~<h6>,所有标题的行高都是1.1(也就是font-size的1.1倍). 2.副标题 <small>,行高都是1,灰色(#999) <h ...

  6. cmd文件和bat文件有什么区别

    第一次遇到后缀是cmd的文件, 记录下与bat文件的区别 本质上没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看. 两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比b ...

  7. python 获取当前运行的 class 和 方法的名字

    # coding=utf-8 import sys class Hello(): def hello(self): print('the name of method is ## {} ##'.for ...

  8. BDC程序步骤

    (1)记录屏幕操作: (2)产生相关程序和数据格式文件: (3)调整数据文件: (4)运行BDC产生的程序读取文件导入数据: (5)源代码分析: (6)用BDC 导入单据: 在理解ABAP 开发的sc ...

  9. 一个Browser的HTTP请求(一)

    本文主要是分析一个简单的web服务器是如何工作的. 若有不恰当或不对之处,请指正! Tomcat和web服务器的关系 我们常说Tomcat是一个web容器,也常说用户通过浏览器向web服务器进行请求, ...

  10. CoreThink主题开发(七)使用H-ui开发博客主题之新闻资讯正文页面

    感谢H-ui.感谢CoreThink! 效果图: 后台发文章有上传附件.封面的功能,但是前台代码中有,不能显示,去除了,前台页面还有社会化分享,百度的,页面也不显示. Blog/Cms/Index/d ...