归一化方法总结

 

1、Batch Normalization

“Internal Covariate Shift”,ML系统实例集合<X,Y>中每层输入值X的分布总是在变化。

BN的提出就是为了让让每个隐层节点的激活输入分布固定下来。

图像的shape分为[b,c,h,w],其中b是batch size,c为通道,h高,w宽。

batch normalization就是将数据拉回到均值为0,方差为1的正太分布上,不仅数据分布一致,而且避免发生梯度消失。

计算方法:

step1:按照每个通道,计算这一batch的均值u、方差σ^2

step2:对x进行归一化,x’=(x-u)/开根号(σ^2+ε)

step3:入缩放和平移变量γ和β ,归一化后的值,y=γx’+β

缩放和平移为了保证数据还保有原来的特征。

 BN的缺点:

如果batch取得太小,均值方差不能很好的代表数据的分布,而且计算的是一批数据,对于图片的细节可能或有缺失。

对于BN原理详细讲解可以参考这篇:深入理解Batch normalization 的作用 - 想总结却停留不前? - 博客园

 2、Instance Normalization

 Instance Normalization(实例正则化)一般用于风格迁移任务的归一化,因为在这类任务注重图像每个像素点,bn会导致图片中风格细节丢失,IN是一种适合对单个像素有更高要求的场景的归一化算法。

IN每次对一批数据中的单个图片的H、W进行正则化。

一般正则化放在激活函数之后,目前就用到这两种正则化方式,以后遇到再补充。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值