關於Normalization的一些學習

2021-10-09 07:15:59 字數 1428 閱讀 8115

1.batch normalization 

首先,我們要清楚cnn的反向傳播中更新引數用到的梯度下降,是基於mini-batch sgd。mini-batch就表示有一定的batch size(>1)。實驗發現當batch size<8時神經網路的輸出誤差會顯著增大。對於batch normalization的應用,舉例來說:

乙個feature map 為k*h*w大小,k表示通道數,h表示特徵圖的高,w表示特徵圖的寬,乙個卷積層為m*k*f*f大小,m表示卷積核的個數,f表示卷積核的長或寬。對乙個feature map 卷積處理後若尺寸不變就得到m*h*w, 而batch size中包含n個feature map,則對於乙個mini-batch,卷積一次就會產生n個m*h*w,而batch normalization就是對乙個集合s中所有數求平均值u和標準差

通過2.batch normalization的優點和缺點:

優點:加快模型收斂速度,引入隨機雜訊增強模型泛化能力。

缺點:訓練時和**時的統計量不一致,即集合s不一致,訓練時是mini-batch輸入,**時是一張一張輸入。

3.解決方式:

(1)layer normalization

這種方式就是設定集合s為乙個feature map的m個通道中所有層的h*w的畫素值,當輸入為一張圖時,而且這種方式用在rnn中效果較好。但是在cnn下不如batch normalization和group normalization等模型。

(2)instance normalizatin

這種方式是設定集合s為m個通道中乙個通道上h*w的畫素值。這種方式僅適用於cnn,對於mlp(全連線網路)和rnn不適用,因為按照這種方式,就只剩下乙個神經元了,無法形成集合s。

這種方式應用於生成模擬如風格轉換效果是明顯優於bn的,但在影象分類任務上效果不如bn。

(3)group normalization

該種方式是layer normalization的變種,將乙個feature map的m個通道分組,則集合s為乙個組的所有畫素值。

4.normalization的re-scaling不變性

權重矩陣

re-scaling 

不變性權重向量

re-scaling

不變性資料

re-scaling

不變性bn

不變不變

不變ln

不變變化

不變in

不變不變

不變gn

不變變化

不變5.bn為何有效

張俊林老師認為:normalization通過對啟用值進行正態分佈化的引數重整,產生引數re-scaling不變的效果,因此緩解梯度消失或梯度**問題,與其對應的重整後的損失曲面及梯度也因此變得更平滑,更有利於sgd尋優找到問題好的解決方案。

張俊林老師的文章寫的通俗易懂,我讀完獲益匪淺,遂立即做了筆記,再次感謝張俊林老師的分享!

normalization問題分析

從得到的另一文字儲存的結果 x 1 1 1 17837.8 120910 2 9072.4 96042.5 3 5.79773 8.93843 4 0.000159379 0.00488674 5 0.113665 0.338039 6 47.6554 885.154 7 5.89921 9.045...

caffe中的normalization實現

首先得感謝某牛的 如何在caffe中增加layer以及caffe中triplet loss layer的實現 所以接下來就按照這個牛的介紹,逐個往裡面新增東西就好了。構造設定函式這裡就先忽略,直接進入前饋和反饋的實現。前饋的過程相對來說是比較簡單的,如下 template void normaliz...

Normalization(資料歸一化)

資料歸一化方法大全 在資料分析之前,我們通常需要先將資料標準化 normalization 利用標準化後的資料進行資料分析。資料標準化也就是統計資料的指數化。資料標準化處理主要包括資料同趨化處理和無量綱化處理兩個方面。資料同趨化處理主要解決不同性質資料問題,對不同性質指標直接加總不能正確反映不同作用...