李宏毅:Batch Normalization

1、feature scaling

(1)经过feature scaling,会让你的training容易的多。

(2)对每一维的i计算均值和标准差,利用公式得到scaling后的feature,这样会让你的training收敛地更快。

2、对每一个layer前的input进行feature scaling,但此时会出现一个问题:第一个layer前的feature 是不会变的,但是其它layer的input会随着training而改变。于是就想出了一个:Batch normalization

3、Batch Normalization

(1)batch

下图所示:x1,x2,x3是一个batch,它们是并行运算的。

(2)batch normalization

下图所示的是先做batch normalization,再做activation function。μ是z的mean,再算σ(标准差),需要注意的是:你的batch不能很小,不然你得到的μ和σ不能代表整个data。

每一个layer都会做batch normalization。在进入activation function之前都会去做normalization。

你在train batch normalization的时候它是会考虑data的,在做backpropogation的时候,它也是会影响μ和σ的

有时候你不想要用mean和标准差,你可以改动Zi,再加上γ和β(γ,β就当做是参数),把现在的distribution做一下改动,再放入activation function。

在testing的时候,我们没有batch,无法得到μ和σ,其中一个方法是:在training的时候计算每一个batch的μ和σ,给靠近training结束时的μ一个大的weight,离得远的给一个小的weight,再取平均。

(3)batch normalization benifit

它对training的benifit>testing

1)对参数的影响比较小

2)可以设置大一些的learning rate,更快收敛

3)较少出现梯度消失或梯度爆炸

4)能够一定程度上抑制overfitting

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值