BatchNorm 一般放在哪里?
BatchNorm 一般放在
线性变换层(Conv 或 Linear)后,非线性激活(ReLU)前。
📌 这样设计的目的是:
线性变换后输出可能分布变化剧烈(特别是深层网络),BatchNorm 可以让它变得稳定;
激活函数前做归一化,让 ReLU/Sigmoid 等工作更稳定;
BatchNorm 自身是可学习的,通过 γ(缩放)和 β(偏移)可以恢复表达能力。
BatchNorm 一般放在
线性变换层(Conv 或 Linear)后,非线性激活(ReLU)前。
线性变换后输出可能分布变化剧烈(特别是深层网络),BatchNorm 可以让它变得稳定;
激活函数前做归一化,让 ReLU/Sigmoid 等工作更稳定;
BatchNorm 自身是可学习的,通过 γ(缩放)和 β(偏移)可以恢复表达能力。