FrozenBatchNorm2d 詳解
基本概念
FrozenBatchNorm2d 是 BatchNorm2d 的一種特殊變體,主要用于在模型訓練或推理過程中固定批量統計量(running mean 和 running variance)以及仿射參數(weight 和 bias)。這種凍結操作在以下場景中特別有用:
- 模型微調(Fine-tuning):當你只希望訓練模型的部分層時,凍結 BatchNorm 層可以防止其統計量在小批量數據上發生偏移。
- 遷移學習:在預訓練模型的基礎上進行下游任務訓練時,凍結 BatchNorm 層通常能提高穩定性。
- 推理階段:在模型部署時,固定 BatchNorm 參數可以簡化計算流程并提高推理速度。
與標準 BatchNorm2d 的區別
-
標準 BatchNorm2d:
- 在訓練階段,根據當前 mini-batch 計算均值和方差,并更新全局統計量(running mean/va