San与s-ref

阅读 40

2024-11-22

1 原理

简单总结: batchnorn 和layernorm是在不同维度上对特征进行归一化处理。

batchnorm在batch这一维度上, 对一个batch内部所有样本, 在同一个特征通道上进行归一化。 举个例子, 假设输入的特征图尺寸为16x224x224x256, 这4个维度分别是B, H, W,D, 那么batchnorm就是对256个通道的每一个通道, 在16个样本上进行归一化计算。

layernorm则是对batch内的每一个样本,在所有通道的特征进行归一化计算。

如下图形象地说明了2种归一化的方式的区别:
在这里插入图片描述

2 应用

batchnorm通常用在cv中, layernorm通常应用在nlp中。原因如下:

  • cv 中的batch通常较大, 在batch这个维度求均值方差是有意义的, 而nlp中batch通常较小, 求均值方差失去意义。

  • 图像特征通常每个通道是较为独立的, 比如一个通道关注颜色, 另一个通道可能关注纹理等等,不同通道之间可比性较低, 而对同一个通道, 不同图像样本区别可能不大, 有可比性。 而自然语言任务中刚好相反, 不同样本没什么可比性, 而一个样本的不同特征可比性比较强。

精彩评论(0)

0 0 举报