Apo*_*llo 6 normalization data-processing deep-learning tensorflow batch-normalization
我看到层规范化是比批量规范化更现代的规范化方法,并且在Tensorflow中编码非常简单。但是我认为层规范化是为RNN设计的,而批量规范化是为CNN设计的。我可以在处理图像分类任务的CNN中使用图层归一化吗?选择批标准化或层的标准是什么?
我还想补充一点,正如在Layer Norm 的原始论文第 10 页第 6.7 节中提到的,不建议使用 Layer Norm,并且作者告诉 CNN“必须做更多的研究”
另外,请注意 - 对于 RNN,层范数似乎是比批范数更好的选择,因为在同一个 minibatch 中训练案例的长度可能不同
在最近的工作 [1] 中,人们发现可以在 CNN 中使用 LayerNorm,而不会降低准确性,尽管这取决于模型架构。刘等人。[1] 在开发 ConvNeXt 时发现“直接用 LN 代替原始 ResNet 中的 BN 会导致性能不理想”,但他们观察到他们的 ConvNeXt“模型用 LN 训练没有任何困难;事实上,性能稍微好一些” 。
如果有更好的解释为什么......
您可以Layer normalisation在CNN 中使用它,但我认为它比“更现代” Batch Norm。他们都标准化不同。Layer norm通过收集层中每个单元的统计信息,对批次中单个层的所有激活进行归一化,而batch norm对于每个激活,则对整个批次进行归一化,其中针对该批次中的每个单个单元收集统计信息。
Batch norm通常首选,layer norm因为它试图将每个激活归一化为单位高斯分布,同时layer norm尝试将所有激活的“平均值”归为单位高斯。但是如果批次大小太小而无法收集合理的统计数据,则layer norm首选。
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |