zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

【机器学习每日一问07】Batch Normalization

2023-04-18 14:49:20 时间

目的:

解决internal covariate shift。internal covariate shift会带来什么问题

1. 网络需要不停调整来适应输入数据分布的变化,导致网络学习速度的降低。每一次参数迭代更新后,上一层网络的输出数据经过这一层网络计算后,数据的分布会发生变化,为下一层网络的学习带来困难(神经网络本来就是要学习数据的分布,要是分布一直在变,学习就很难了)

2. 网络的训练过程容易陷入梯度饱和区,减缓网络收敛速度。例如sigmoid,tanh激活函数,很容易使得模型训练陷入梯度饱和区。

算法流程:

对于神经网络的第 l 层,每个mini-batchm 个样本

Normalization操作我们虽然缓解了ICS问题,让每一层网络的输入数据分布都变得稳定。但是使得底层网络学习到的参数信息丢失,所以转变为学习参数

优点:

1. BN使得网络中每层输入数据的分布相对稳定,加速模型学习速度,更快收敛

2. 允许网络使用饱和性激活函数(例如sigmoid,tanh等),缓解梯度消失问题

3. BN使得模型对网络中的参数不那么敏感,简化调参过程,使得网络学习更加稳定