主要内容:
一、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. Android--去除EditText边框,加入下划线

    <span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0& ...

  2. Map的两张遍历方法 keySet(),entrySet()

    源博客 http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对 ...

  3. hdu 5471(状压DP or 容斥)

    想了最复杂的思路,用了最纠结的方法,花了最长的时间,蒙了一种规律然后莫名其妙的过了. MD 我也太淼了. 后面想了下用状压好像还是挺好写的,而且复杂度也不高.推出的这个容斥的规律也没完全想透我就CAO ...

  4. 3 Steps(二分图)

    C - 3 Steps Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement Rng has a ...

  5. 通过less 计算 得出图片均分布局

    <style lang="less"> @import "../style/weui.wxss"; // WXSS · 小程序 https://de ...

  6. amortized analysis

    w https://en.wikipedia.org/wiki/Amortized_analysis In computer science, amortized analysis is a meth ...

  7. 解决Raize日历控件显示的问题

    解决Raize日历控件显示的问题 近自己的程序被测试人员发现一个小问题,就是程序中的日历选择框,显示中的“星期一.星期二....”都显示成了“星.....”,我自己看了代码,原来是raize的控件问题 ...

  8. python cookbook第三版学习笔记二十:可自定义属性的装饰器

    在开始本节之前,首先介绍下偏函数partial.首先借助help来看下partial的定义 首先来说下第一行解释的意思: partial 一共有三个部分: (1)第一部分也就是第一个参数,是一个函数, ...

  9. kettle连接sqlserver

    1.Sql Server的 数据库链接 Sql server链接有两类,MS SQL SERVER 和 MS SQL SERVER(NATIVE),这两个有什么区别呢,且看下面. 第一类,MS SQL ...

  10. opencv3计算机视觉+Python(一)

    基本I/O脚本 读/写图像文件 OpenCV的imread函数和imwrite函数能支持各种静态图像文件格式.不同系统支持的文件格式不一样,但都支持BMP格式,通常还应该支持PNG.JPEG和TIFF ...