batch normalization

本文详细解释了Batch Normalization(BN)在深度学习中的作用及其如何通过减少内部协变量偏移来加速训练过程。介绍了BN的基本原理,包括如何进行归一化处理,并强调了BN在调整学习率方面的优势。

1 为什么要batch normalization

(1)如下图值较大的feature,如果feature变化的话,导致结果变化的比较多。也就是该feature方向斜率较大

应该做归一化,尽量使数据正圆

(2)如果不归一化,每个feature方向的learning rate不同

(3) 归一化

train_featues = chinese_data_helpers.load_features(FLAGS.training_featuresname)
test_featues = chinese_data_helpers.load_features(FLAGS.test_featuresname)
all_features = train_featues + test_featues
all_features_numpy = np.array(all_features)
m = np.mean(all_features_numpy, axis=0, keepdims=True)
std = np.std(all_features_numpy, axis=0, keepdims=True)
train_featues_scale = (train_featues-m)/std

(4)对深度学习的每个layer进行scaling(也就是batch normalization)

可以解决internal covariate shift问题(internal covariate shift使得learning rate需要设置比较小,用batch normalization解决这个问题之后learning rate就可以设置大一点)

(5)深度学习 batch normallization internal covariate shift实现

conv = tf.layers.batch_normalization(conv, training=self.is_training)
注意self.is_training参数值在训练的时候需要设置为true,在test的时候设置为false

(6)不想直接是均值是0,方差是1,可以再额外加一个均值和方差

(7)好处

 

2  Convariate Shift

 Batch normalization: Accelerating deep network training by reducing internal covariate shift

统计机器学习中有一个经典的假设:Source Domain 和 Target Domain的数据分布是一致的。也就是说,训练数据和测试数据是满足相同分布的。这是通过训练数据获得的模型能够在测试集上获得好的效果的一个基本保障。

Convariate Shift是指训练集的样本数据和目标样本集分布不一致时,训练得到的模型无法很好的Generalization。它是分布不一致假设之下的一个分支问题,也就是指Sorce Domain和Target Domain的条件概率一致的,但是其边缘概率不同。的确,对于神经网络的各层输出,在经过了层内操作后,各层输出分布就会与对应的输入信号分布不同,而且差异会随着网络深度增大而加大了,但每一层所指向的Label仍然是不变的。

解决办法一般是根据训练样本和目标样本的比例对训练样本做一个矫正。所以,通过引入Bactch Normalization来标准化某些层或者所有层的输入,从而固定每层输入信息的均值和方差

https://blog.youkuaiyun.com/liuxiao214/article/details/81037416

layer normalization

https://blog.youkuaiyun.com/lqfarmer/article/details/71439314

https://blog.youkuaiyun.com/zhangjunhit/article/details/53169308

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值