深度学习Batch Normalization作用与原理

机器学习领域有个重要假设:IID独立同分布假设

假设训练数据和测试数据是满足相同分布

独立同分布假设是通过训练集得到的模型在测试集能有好效果的基本保障。

Batch Normalization作用 :

在深度神经网络训练过程,使得每一层神经网络的输入保持相同分布。

神经网络随着深度加深,训练变得困难。
relu激活函数, 残差网络都是解决梯度消失等由于深度带来的问题。
BN同样也是为了解决深度带来的问题

Batch Normalization基本思想 :

神经网络在训练过程中,随着深度加深,输入值分布会发生偏移,向取值区间上下两端靠近,如Sigmoid函数,就会导致反向传播时低层神经网络的梯度消失,这是深层网络收敛越来越慢的重要原因。

Batch Normalization通过一定的规范化手段,把每层神经网络输入值的分布强行拉回到均值为0方差为1的标准正态分布。(纠偏回正过程)

使得分布回到非线性函数对输入比较敏感的区域,使得损失函数能发生较大的变化(梯度变大),避免梯度消失问题。

同时梯度变大能加快模型收敛速度,提高训练速度。

你可能感兴趣的:(深度学习Batch Normalization作用与原理)