主要内容:
一、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. OpenCV学习笔记十七:opencv_bioinspired模块

    一,简介: 该库是基于仿生学的图像/视频处理库,目前包含模拟人类视网膜的算法.

  2. 数据库的SQL模式

    1.定义:何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式.长度.类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了 ...

  3. Lumen migration(数据库协同)

    建立迁移文件/新建表文件 php artisan make:migration create_users_table 添加字段 php artisan make:migration add_colum ...

  4. MySQL没有远程连接权限设置

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges ...

  5. Oracle DBA的学习(笔记)

    1.软件任务分组:系统分析师.系统设计师.程序员.测试人员.开发dba.系统架构师.实施人员. 2.常用设计图:活动图.用例图.类图.序列图. 2010-9-15(dba学习) 1.1 Oracle产 ...

  6. Oracle 12c 读书笔记(二):Oracle数据库体系结构

    以11g来分析 数据库实例包括:SGA和一系列后台管理.监控简称 数据库包括三种文件:数据文件.控制文件.重做日志文件 数据库实例和数据库是Orale数据库体系的核心部分 Oracle服务器和实例 实 ...

  7. 0x08 MySQL 超详细-索引原理&慢查询优化【转-多图】(重点)

    Content From——Egon's Blog http://www.cnblogs.com/linhaifeng/articles/7274563.html#top 0x01 介绍 为何要有索引 ...

  8. 重写toString方法

    当你要读取关于对象的一些有用细节时,可以在对象上调用toString(). 如,当把一个对象引用传递给System.out.println();时,该对象的toString()方法被调用. Java中 ...

  9. mui上传图片

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  10. android studio 和gradle版本问题解决

    打开android studio 开始导入一个 covrdova项目 结果弹出一个这样的对话框意思是  "尚未配置此项目的 gradle" "是否希望项目使用gradle ...