记录 之 不同的Normalization方式
????????Normalization是加速神經網絡訓練的一種重要方法,隨著深度學習的發(fā)展以及各種任務的出現(xiàn),催生出了一系列的Normalization方式,現(xiàn)在主流的正則化方式有Batch Normalization,Group Normalization,Instance Normalization,Layer Normlization,Positional Normalization五種。
批規(guī)范化 (Batch Normalization) 方法用于計算機視覺任務的深度神經網絡。
如上圖,我們將其理解為一個size為(B,C,H,W)的特征圖(5,3,2,2),為方便表示,將特征圖拉伸后尺寸為(5,3,4)。
Batch Normalization在計算均值(一階矩)?和 標準差(二階矩)時,是分通道進行的,上圖展示了參與運算的某一通道的所有元素,共計(BxHxW)= 20 個。
求取了這20個元素的E[x] =??和Var[x] =??后,對這20個元素分別進行更新,這里的γ 和 β 是仿射變換的系數(shù):
這里我們以批歸一化為例詳細介紹計算過程,接下來的幾個歸一化操作,我們只給出示意圖,計算過程大抵相當,只不過參與計算的元素不同。
分組歸一化 (Group Normalization) 主要用于目標檢測和實力分割任務。
這里參與正則化操作的是一個batch中某一樣例的某組特征通道分量,依次計算
實例歸一化 (Instance Normalization) 因其具有從輸入中刪除樣式信息的能力而廣泛用于圖像合成。
這里參與正則化操作的是一個batch中某一樣例的某一特征通道分量,依次計算
分層歸一化 ( Layer Normalization) 適用于序列模型, 常見于自然語言處理任務
這里參與正則化操作的是一個batch中某一樣例的全部特征通道分量,依次計算
位置正則化(Positional Normalization)適用于生成模型,常見與GAN等生成模型。
這里參與正則化操作的是一個batch中某一樣例在某一位置(h1,w1)上的所有特征分量,依次計算。
到這里我們就了解了上述幾種正則化操作的操作對象,以及計算過程,我們在進行不同的工作時要選擇合適的正則化操作,不僅能加快訓練網絡,有可能還能提高精度。
?
總結
以上是生活随笔為你收集整理的记录 之 不同的Normalization方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决:ubuntu18.xx 更新nvi
- 下一篇: skimage函数记录之measure.