机器学习入门之机器学习-8:DeepLN之BN
小标 2019-02-13 来源 : 阅读 1550 评论 0

摘要:本文主要向大家介绍了机器学习入门之机器学习-8:DeepLN之BN,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习入门之机器学习-8:DeepLN之BN,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

我想说:


又到了每天写东西的时间了,这时候最兴奋,这种兴奋可以延续到后半夜,两点甚至三点;以前写博客都是杂乱无章的,现在写公众号决定按照一个框架,按照一个系列来写;


1. 前言:


先看一个概念:


Covariance shift

——when the input distribution to a learning system changes, it is said to experience covariance shift.


在模型训练的时候我们一般都会做样本归一化(样本归一化作用会在下面文章介绍),在往多层神经网络传播时,前面层参数的改变,使得后面层的输入分布发生改变时,就叫Internal covariance shift。这会导致:其一,增加模型训练时间,因为样本分布变了,要调整 参数适应这种分布;其二:在MachineLN之激活函数文章中提到的使用sigmoid函数,梯度消失的问题;


2. BN (Batch Normalization)


BN:批量规范化:使得均值为0,方差为1;scale and shift:引入两个参数,从而使得BN操作可以代表一个恒等变换,为了训练所需加入到BN有可能还原最初的输入;看一下这个公式:







image



再看下面BN的两个公式,将上面公式带入,你会发现输入=输出,好尴尬啊!







image



BN的引入就是为了解决 样本分布改变训练训练慢、梯度消失、过拟合(可以使用较低的dropout和L2系数)等问题;


BN的具体推导,就不得不提到google的Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift论文,看下图:







image



输入:m个样本x{1,...,m},一般时卷积后输入激活函数前的数据;


输出:BN的处理结果;


上图中前向传播的公式应该很好理解;


下图是后向传播的公式:







image



直接看起来比较费劲还是用手撕一下吧:







image



再看一下训练过程:







image



可以解释为:(参考大神)



1.对于K维(通道数)的输入,假设每一维包含m个变量(这里可以理解为cnn的feature map),所以需要K个循环。每个循环中按照上面所介绍的方法计算γ与β。这里的K维,在卷积网络中可以看作是卷积核个数(卷积后的通道数),如网络中第n层有64个卷积核,就需要计算64次。


需要注意,在正向传播时,会使用γ与β使得BN层输出与输入一样。


2.在反向传播时利用γ与β求得梯度从而改变训练权值(变量)。


3.通过不断迭代直到训练结束,求得关于不同层的γ与β。如网络有n个BN层,每层根据batch_size决定有多少个变量,设定为m,这里的mini-batcherB指的是特征图大小batch_size,即m=特征图大小batch_size**,因此,对于batch_size为1,这里的m就是每层特征图的大小。


4.不断遍历训练集中的图片,取出每个batch_size中的γ与β,最后统计每层BN的γ与β各自的和除以图片数量得到平均直,并对其做无偏估计直作为每一层的E[x]与Var[x]。


5.在预测的正向传播时,对测试数据求取γ与β,并使用该层的E[x]与Var[x],通过图中11:所表示的公式计算BN层输出。


注意,在预测时,BN层的输出已经被改变,所以BN层在预测的作用体现在此处。



3. 总结


上面两本部分回答了BN的由来、BN的计算、BN的前后向传播。对自己今后的工作有什么启发?
              

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved