FrozenBatchNorm2d 详解
FrozenBatchNorm2d 详解
基本概念
FrozenBatchNorm2d 是 BatchNorm2d 的一种特殊变体,主要用于在模型训练或推理过程中固定批量统计量(running mean 和 running variance)以及仿射参数(weight 和 bias)。这种冻结操作在以下场景中特别有用:
- 模型微调(Fine-tuning):当你只希望训练模型的部分层时,冻结 BatchNorm 层可以防止其统计量在小批量数据上发生偏移。
- 迁移学习:在预训练模型的基础上进行下游任务训练时,冻结 BatchNorm 层通常能提高稳定性。
- 推理阶段:在模型部署时,固定 BatchNorm 参数可以简化计算流程并提高推理速度。
与标准 BatchNorm2d 的区别
-
标准 BatchNorm2d:
- 在训练阶段,根据当前 mini-batch 计算均值和方差,并更新全局统计量(running mean/va