BatchNorm批量归一化:批量归一化是对一个中间层的单个神经元进行归一化操作。计算第l层网络中每个神经元在Batch大小为N的样本上输出的N个结果,计算每个神经元输出的N个结果的均值和方差,然后使用均值和方差来对这N个输出结果做归一化,所以归一化的维度是在Batch上进行的
LayerNorm层归一化:层归一化是对一个中间层的所有神经元进行归一化。计算第l层网络中的每个神经元在Batch中每个输入样本的输出,对于每个输入样本,计算所有神经元输出结果的均值和方差,使用均值和方差来归一化对于这个输入样本的输出结果,所以归一化的维度以在整个层上进行的
LocalResponseNorm局部响应归一化:

区别:层归一化和批量归一化整体上是十分类似的,差别在于归一化的方法不同。对于K个样本的一个Batch集合:
![]()
层归一化是对矩阵
的每一列进行归一化(也就是在整个层上),批量归一化是对每一行进行归一化(也就是在整个Batch的每个维度上)。
BatchNorm和LayerNorm图解:
假设神经网络的某全连接层有M个神经元,输入Batch大小为N:


本文详细介绍了深度学习中的三种归一化技术:BatchNorm、LayerNorm和LocalResponseNorm。BatchNorm对每个神经元在批次维度上的输出进行归一化,而LayerNorm则是对整个层的所有神经元进行归一化。LocalResponseNorm则是一种局部响应归一化,用于神经网络的激活层。它们的主要区别在于归一化的范围和方式,BatchNorm沿批次维度,LayerNorm沿层维度。这些技术有助于优化网络训练,减少内部协变量位移并提高模型的泛化能力。
1000

被折叠的 条评论
为什么被折叠?



