上一節中,發現設定合適的權重初始值,對激活值的分佈有影響,能影響到學習能否順利進行,那麼,為了使各層有適當的廣度,強制性的調整激活值的分佈呢?
<aside> 💡 強制性讓活化層/激活值的分布常態化
</aside>
Batch Normalization簡稱 Batch Norm層
如前所述,Batch Norm的思路是調整各層的激活值分佈使其擁有適當的廣度,為此,要在神經網絡中,以小批次為單位、依照各小批次來正規化。
將小批次的輸入資料,轉換為平均為0、標準差為1的資料
$$ 均值: \mu \gets \frac{1}{m}\sum^m_{i-1}x_i $$
$$ 標準差: \sigma^2_B \gets \frac{1}{m}\sum^m_{i-1} (x_i-\mu_B)^2 $$
$$ 正規化後的x :\ \hat{x} \gets \frac{x_i \ - \ \mu_B }{\sqrt{\sigma^2_B \ + \ \varepsilon} } $$