深度学习Batch Normalization作用与原理

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

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

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

Batch Normalization作用 :

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

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

Batch Normalization基本思想 :

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容