我是靠谱客的博主 虚幻御姐,最近开发中收集的这篇文章主要介绍Batch Normalization(BN),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BN、LN这两个归一化的计算流程几乎是一样的,可以分为四步:

      1.计算出均值

      2.计算出方差

      3.归一化处理到均值为0,方差为1

      4.变化重构,恢复出这一层网络所要学到的分布

Batch Normalization(对不同batch的同一维做归一化):

   1.BN的计算就是把每个通道的NHW单独拿出来归一化处理

   2.针对每个channel我们都有一组γ,β,所以可学习的参数为2*C

   3.当batch size越小,BN的表现效果也越不好,因为计算过程中所得到的均值和方差不能代表全局

优点:

1、可以解决内部协变量偏移。

2、缓解了梯度饱和问题(如果使用sigmoid激活函数的话),加快收敛。

Layer Normalizaiton(对同一batch的所有维做归一化):

   1.LN的计算就是把每个CHW单独拿出来归一化处理,不受batchsize 的影响

   2.输入的特征区别很大时,归一化处理效果较差

最后

以上就是虚幻御姐为你收集整理的Batch Normalization(BN)的全部内容,希望文章能够帮你解决Batch Normalization(BN)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部