深度學(xué)習(xí)歸一化方法

也是深度學(xué)習(xí)面試??嫉臇|西,BN、LN、GN、IN等各種N,參考文章:https://zhuanlan.zhihu.com/p/115949091

定義其實(shí)一張圖基本就能說(shuō)明白,但是還有各種細(xì)節(jié),先放圖吧,然后后面講到的時(shí)候再對(duì)著圖講:


1.BN

BN就是一個(gè)Batch算一個(gè)均值和方差,再做一個(gè)歸一,為什么要這么做,學(xué)術(shù)一點(diǎn)是因?yàn)橐鉀QInternal Covariate Shift問(wèn)題,對(duì)隱層狀態(tài)進(jìn)行規(guī)范化使得神經(jīng)元狀態(tài)處理在匹配的量級(jí)上,加速和穩(wěn)定模型的收斂;白話一點(diǎn)我覺(jué)得就是激活函數(shù)的激活區(qū)間在靠近y軸的區(qū)域,但是也不一定這樣做就會(huì)是想要的,所以還會(huì)乘以縮放系數(shù)再加上偏置;

對(duì)于全連接層來(lái)說(shuō)就是對(duì)一個(gè)Batch內(nèi)的數(shù)做均值方差歸一比較簡(jiǎn)單;那對(duì)于卷積層來(lái)說(shuō)就是上面圖最左的表示,一個(gè)batch(可以想象成B個(gè)C*H*W的小方塊)出一個(gè)C*H*W的map,每一個(gè)方塊都要和這個(gè)方塊作用;

BN除了在FC和CNN上有區(qū)別,還在訓(xùn)練和預(yù)測(cè)時(shí)也有區(qū)別。訓(xùn)練時(shí)是按batch算均值和方差,預(yù)測(cè)肯定不能這樣,就得有一個(gè)定值在那用于做BN,定值怎么得到呢:滑動(dòng)平均(https://blog.csdn.net/s_sunnyy/article/details/79896273),blog中說(shuō)沒(méi)什么道理為什么前面的要衰減,這本身也就是個(gè)次優(yōu)值;那還有一個(gè)問(wèn)題為什么訓(xùn)練的時(shí)候不用全量訓(xùn)練數(shù)據(jù)的均值和方差常量呢,因?yàn)閎atch間差別可能比較大,這個(gè)差別能增強(qiáng)模型魯棒性,使用全量數(shù)據(jù)可能會(huì)加劇過(guò)擬合。

2.LN

LN的提出主要是因?yàn)锽N太依賴(lài)batch_size了,如果batch_size較小,均值和方差就很不穩(wěn)定,容易學(xué)崩;上次我設(shè)了batch_size=1還error了,有可能是有的特征沒(méi)有數(shù)據(jù)。

LN就是上面左數(shù)第二個(gè),在C的維度去歸一的,會(huì)得到B個(gè)W*H的map,每個(gè)方塊都有對(duì)應(yīng)的一個(gè)要拿去歸一的map;

LN適用于小batch和RNN,大batch還是看BN

3.IN

IN是左數(shù)第三個(gè),用于圖像風(fēng)格化任務(wù),在H*W上歸一,得到B個(gè)C*1的方塊

4.GN

GN是左數(shù)第四個(gè),LN的變種,先對(duì)C分組,再用這個(gè)組里的C來(lái)做LN,與batch_size無(wú)關(guān),也不會(huì)用到全部的C(因?yàn)閳D像任務(wù)里用到全部的C確實(shí)很奇怪)

5.CBN

將前幾次BN的參數(shù)保存起來(lái),和這一次的一起去做一個(gè)推導(dǎo)得到這次用到的BN參數(shù)(可能是做一個(gè)滑動(dòng)平均)

cp一下總結(jié):BN是最傳統(tǒng)的,如果batchsize允許夠大的話,用在CNN中的效果依然是最好的;LN適合RNN;IN適合圖像風(fēng)格化任務(wù);GN更適合小batchsize的CNN訓(xùn)練

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 參考:https://mp.weixin.qq.com/s/2VmgcEZGxSYVMBTGOPADJAhttps...
    趙小鬧鬧閱讀 2,394評(píng)論 0 0
  • 論文地址:https://arxiv.org/pdf/1803.08494.pdf相關(guān)代碼:https://git...
    xieyan0811閱讀 1,156評(píng)論 0 0
  • 為什么使用歸一化 如果輸入有多個(gè)feature,且它們的數(shù)值范圍有很大差異,這樣訓(xùn)練時(shí)學(xué)習(xí)率就不能設(shè)置得太大,以免...
    xieyan0811閱讀 1,111評(píng)論 0 0
  • 1. 介紹BN。 BN動(dòng)機(jī):神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程的本質(zhì)是學(xué)習(xí)數(shù)據(jù)分布,如果訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)的分布不同將大大降低網(wǎng)絡(luò)的...
    魏鵬飛閱讀 1,433評(píng)論 0 1
  • 批歸一化是現(xiàn)在越來(lái)越多的神經(jīng)網(wǎng)絡(luò)采用的方法,其具有加快訓(xùn)練速度、防止過(guò)擬合等優(yōu)點(diǎn),尤其在深度神經(jīng)網(wǎng)絡(luò)中效果非常好。...
    西北小生_閱讀 7,391評(píng)論 0 5

友情鏈接更多精彩內(nèi)容