我发现层归一化是比批量归一化更现代的归一化方法,并且在 Tensorflow 中编码非常简单。 但我认为层归一化是为 RNN 设计的,批量归一化是为 CNN 设计的。 我可以使用 CNN 的层归一化来处理图像分类任务吗? 选择批量归一化或层的标准是什么?
最佳答案
您可以在 CNN 中使用层归一化
,但我认为它并不比Batch Norm
更“现代”。他们的正常化方式不同。 Layernorm
通过收集层内每个单元的统计信息来规范化批处理中单个层的所有激活,而 batchnorm
规范化每个单个激活的整个批处理,其中统计数据是针对批处理中的每个单元收集的。
Batchnorm
通常优于 layernorm
,因为它尝试将每个激活标准化为单位高斯分布,而 layernorm
尝试将每个激活标准化为单位高斯分布。获取所有激活的“平均值”,单位为高斯。但如果批量大小太小而无法收集合理的统计数据,则首选层范数
。
关于tensorflow - 我可以将层归一化与 CNN 结合使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44941231/