Batch Normalization原理

Batch Normalization(BN)是一种解决Internal Covariate Shift(ICS)问题的技术,通过规范化和线性变换稳定网络各层输入数据分布,加速模型学习并提高稳定性。BN在mini-batch上操作,对激活函数前后的放置位置有不同影响,并具有正则化效果。
摘要由CSDN通过智能技术生成

Internal Covariate Shift

Internal Covariate Shift 问题:训练过程中,由于深层网络中参数变化,引起内部结点数据分布发生变化。

而ICS使得后层网络不断调整以适应输入数据分布的变化,导致学习率的降低;并且ICS使得网络训练容易陷入梯度饱和区,减缓收敛速度。为了减缓ICS问题,可以固定每一层网络输入值的分布,具体方法为白化、BN。

白化

白化(Whitening)是机器学习里面常用的一种规范化数据分布的方法,主要是PCA白化与ZCA白化。白化是对输入数据分布进行变换,进而达到使得输入特征分布具有相同的均值和方差,以及去除特征间的相关性的目的。不过白化计算成本高,改变了网络每一层的分布,所以又提出了BN。

Batch Normalization

BN对于 mini-batch 进行训练,传入样本m个,对第 j 个神经元节点进行规划化如下:

为了保存数据表达的能力,以防止底层网络学习的参数信息丢失,BN引入了两个可学习(learnable)的参数 \gamma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值