特征归一化
在说明BN的作用之前,先说一下,特征为什么要做归一化,没有进行特征归一化的输入数据,其不同的维度对模型参数的影响不同。
X2输入较大,相对应的参数改变对收敛产生较快的,X1输入较小,相应参数的海边对收敛速度较慢,导致设置同一个学习率进行学习不匹配,分开设置是可以的但无疑增加了复杂度。
做归一化以后,输入数据对参数的影响一致,从而加快模型训练。
feature normalization 在深度学习中的应用
BatchNormalization
批处理 考虑到硬件的条件 数据分批进行处理进行学习。
实现计算方法
first
second
third
和的使用是抵抗输入零均值单位方差的效果。尽可能的保留输入的特性。通过学习回复输入数据的分布。
在模型测试阶段
我们希望使用全部的训练数据计算出均值和方差,但实际上难以实现。实际的计算方法就是保存训练过程当中的每个批次的均值和方差然后计算其滑动平均值。
BN的作用
bn的作用
1、加快训练速度,学习率可以设置的大写。
2、可以训练比较深的网络。
3、解决梯度消失或梯度爆炸的问题。
4、学习率的设置不受参数初始化的影响。
5、放在sigmoid 和tanh 激活函数前面。有效的让输入数据分布在线性区域。
6、针对relu激活函数放在前面和后面都有各自的观点,个人的想法就是看具体的问题。根据实验结果而丁。
7、起到了dropout 的作用。Dropout与BN不兼容;同时,BN在训练过程对每个单个样本的forward均引入多个样本(Batch个)的统计信息,相当于自带一定噪音,起到正则效果,所以也就基本消除了Dropout的必要。