日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Group Normalization(BN、LN、IN、GN) Switchable Normalization Weight Standardization

發布時間:2024/3/24 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Group Normalization(BN、LN、IN、GN) Switchable Normalization Weight Standardization 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • BN
    • BN的作用
      • 為了對隱含層進行歸一化操作。對于每個隱層神經元,把逐漸向非線性函數映射后向取值區間極限飽和區靠攏的輸入分布強制拉回到均值為0方差為1的比較標準的正態分布,使得非線性變換函數的輸入值落入對輸入比較敏感的區域,以此避免梯度消失問題。(如下圖,加入激活函數后,可能會使很多的數據進入飽和區(即當x大于20之后,其梯度幾乎為0))

    • 添加BN的原因
      • 因為添加的激活函數(非線性函數),會逐漸將隱含層的輸出映射到激活函數的飽和區,從而慢慢使得數據傳不到后面的層,即出現梯度消失的問題
    • BN添加的位置
      • 激活函數之前
    • BN算法
      • BN在batch的維度上norm,歸一化維度為[N,H,W],對batch中對應的channel歸一化,反標準化是為了,抵消不是最優的情況,即有的時候歸一化可能會破壞原來的數據分布,兩個參數是可以學習的參數

      • BN的代碼實現,其中x為(N,C*H*W)
        • mu = np.mean(x,axis=0)
        • sigma2 = np.var(x,axis=0)
        • x_hat = (x-mu)/np.sqrt(sigma2+eps)
        • out = gamma*x_hat + beta
  • BN、LN、IN、GN的異同
    • 從左到右依次是BN,LN,IN,GN

    • BN是在batch的維度上歸一化,即對整個batch內的對應的通道歸一化,即依賴于batch size,當batchsize很小時,歸一化效果不好
    • LN是在channel上歸一化(即針對單個訓練樣本進行,不依賴于其他數據),即對同一個feature map的所有的通道歸一化,不依賴與batchsize,但?LN 的處理可能會降低模型的表達能力
    • IN是只對一個feature map的同一個channel內的數據歸一化,多用于GAN和style transfer,因為BN的計算是要受其他樣本影響的,由于每個batch的均值和標準差不穩定,對于單個數據而言,相對于是引入了噪聲,而BN獲得的整體信息對這兩種任務沒有什么效果。
    • GN是對一個feature map的所有通道進行分組,對屬于一組的 通道內的所有數據進行歸一化。GN介于LN和IN之間,其首先將channel分為許多組(group),對每一組做歸一化,及先將feature的維度由[N, C, H, W]reshape為[N*G,C//G , H, W],歸一化的維度為[C//G , H, W]
  • GN
    • Group Normalization(GN)是針對Batch Normalization(BN)在batch size較小時錯誤率較高而提出的改進算法,因為BN層的計算結果依賴當前batch的數據,當batch size較小時(比如2、4這樣),該batch數據的均值和方差的代表性較差,因此對最后的結果影響也較大。(研究意義:在訓練大型網絡和將特征轉移到計算機視覺任務中(包括檢測、分割和視頻),內存消耗限制了只能使用小批量的BN。真的用的到嘛??)
    • 如果batchsize可以設的大的話,BN應該是要比GN好一些(如下圖),GN比BN的速度要慢一寫,因為多了reshape的過程
    • 注意:
      • ?第一,使用ImageNet的預訓練網絡的時候,要frozenBN層,不然結果反而會劣化,而GN不會有這個問題。保持特征網絡的BNfrozen,只在Head部分使用GN會提升效果,但是如果把backbone也換成GN預訓練的,效果會更好。
      • 第二,使用BN的準確率模型性能已經無法隨著迭代次數增加的時候,GN反而可能會隨著迭代次數的增加性能有一定的上升。
      • 第三,不使用預訓練模型,GN仍然可以達到compared的性能,但是BN會出現結果的劣化
      • ...
  • SN(Switchable Normalization)
    • SN是一種能夠有效適應不同任務地歸一化方式
    • 效果

    • SN的計算公式:(SN增加了6個控制參數,相比于BN而言,還增加了LN、IN的計算)

    • 注意:
      • minibatch越小,SN中BN的權重系數越小,IN和LN的權重系數則越大;
      • minibatch越大,SN中BN的權重系數越大,IN和LN的權重系數越小。
  • 分析
    • 如果想換的話,需要從頭訓練(GNpaper中說是從頭訓能達到不錯的效果,但是針對自己的數據集要進行至少一次訓練和遷移),或者找大數據集上的預訓練模型(受限)
  • 為啥不把所有的數據求均值,方差試一下,有些極端,但感覺可以一試
  • Weight Standardization (太偏理論了)
    • WS+GN在batch size很小的情況下,性能也能超過BN(即使BN的batch size較大時)

?

部分資源來源網絡,如有侵權請聯系刪除

總結

以上是生活随笔為你收集整理的Group Normalization(BN、LN、IN、GN) Switchable Normalization Weight Standardization的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。