
文章目录
- 什么是BN (Batch Normalization 批标准化层)
- 一、BN层对输入信号进行以下操作:
- 二、BN 层有什么作用?
什么是BN (Batch Normalization 批标准化层)
BN层的全称是Batch Normalization层,中文可以翻译为批标准化层。
BN层是2015年提出的一种新的层类型,它通过对每一层神经网络的输入信号进行标准化处理,来解决深层神经网络在训练过程中内部协变量变化导致的问题,从而大幅提升深层网络的训练效率和性能。
一、BN层对输入信号进行以下操作:
-
计算批次中的每个输入特征的
均值和方差。 -
使用均值和方差对输入信号
进行标准化,使其均值为0、方差为1。 -
学习缩放
参数γ和偏移参数β对标准化后的信号进行缩放和偏移。 -
输出经过缩放和偏移后的标准化信号。
二、BN 层有什么作用?
-
减小内部协变量变化对网络训练的影响。BN层可以标准化每一层的输入,消除输入数据的协变量变化,有利于网络训练。 -
加速网络训练。BN层可以让每个层看到的输入分布近似正态分布,这对网络训练收敛速度有很大帮助。 -
起到正则化效果。BN层可以防止内部特征过拟合,起到一定的正则化作用。 -
提高模型性能。通过BN层的标准化处理,网络可以使用更高的学习率进行训练,从而更快地找到更优的最小值,提高模型性能。 -
残差连接的补充。残差网络本身就可以很好地传播梯度,BN层进一步改善梯度流动,有利于深层网络的训练。