首页 > 解决方案 > BatchNorm 层的参数是否应该正则化

问题描述

当我使用 pytorch 训练我的 CNN 时,L2 正则化将用于对模型中的参数进行panalize。但是pytorch代码“权重衰减”将对所有可以更新的参数使用L2。BatchNorm Layers 中的参数也应该被 L2 panalized 吗?

标签: pytorch

解决方案


如果您在 or 之后使用 BatchNorm nn.Conv2dnn.Linear您可以将学习到的权重和偏差“折叠”到 conv/linear 层中。
因此,学习到的权重和偏差对网络“有效”权重的实际 L2 范数有直接影响。

因此,如果您使用 L2 正则化将权重推向零 - 您还必须正则化批范数参数。


推荐阅读