摘要:但是其仍然存在一些問題,而新提出的解決了式歸一化對依賴的影響。上面三節(jié)分別介紹了的問題,以及的工作方式,本節(jié)將介紹的原因。作者基于此,提出了組歸一化的方式,且效果表明,顯著優(yōu)于等。
前言
Face book AI research(FAIR)吳育昕-何愷明聯(lián)合推出重磅新作Group Normalization(GN),提出使用Group Normalization 替代深度學習里程碑式的工作Batch normalization,本文將從以下三個方面為讀者詳細解讀此篇文章:
What"s wrong with BN ?
How GN work ?
Why GN work ?
Group Normalizition是什么
一句話概括,Group Normalization(GN)是一種新的深度學習歸一化方式,可以替代BN。眾所周知,BN是深度學習中常使用的歸一化方法,在提升訓練以及收斂速度上發(fā)揮了重大的作用,是深度學習上里程碑式的工作。
但是其仍然存在一些問題,而新提出的GN解決了BN式歸一化對batch size依賴的影響。詳細的介紹可以參考我另一篇博客:
https://blog.csdn.net/qq_25737169/article/details/...
So, BN到底出了什么問題, GN又厲害在哪里?
What"s wrong with BN
BN全名是Batch Normalization,見名知意,其是一種歸一化方式,而且是以batch的維度做歸一化,那么問題就來了,此歸一化方式對batch是independent的,過小的batch size會導致其性能下降,一般來說每GPU上batch設為32最合適;
但是對于一些其他深度學習任務batch size往往只有1-2,比如目標檢測,圖像分割,視頻分類上,輸入的圖像數(shù)據(jù)很大,較大的batchsize顯存吃不消。那么,對于較小的batch size,其performance是什么樣的呢?如下圖:
橫軸表示每個GPU上的batch size大小,從左到右一次遞減,縱軸是誤差率,可見,在batch較小的時候,GN較BN有少于10%的誤差率。
另外,Batch Normalization是在batch這個維度上Normalization,但是這個維度并不是固定不變的,比如訓練和測試時一般不一樣,一般都是訓練的時候在訓練集上通過滑動平均預先計算好平均-mean,和方差-variance參數(shù)。
在測試的時候,不再計算這些值,而是直接調(diào)用這些預計算好的來用,但是,當訓練數(shù)據(jù)和測試數(shù)據(jù)分布有差別是時,訓練機上預計算好的數(shù)據(jù)并不能代表測試數(shù)據(jù),這就導致在訓練,驗證,測試這三個階段存在inconsistency。
既然明確了問題,解決起來就簡單了,歸一化的時候避開batch這個維度是不是可行呢,于是就出現(xiàn)了layer normalization和instance normalization等工作,但是仍比不上本篇介紹的工作GN。
How GN work
GN本質(zhì)上仍是歸一化,但是它靈活的避開了BN的問題,同時又不同于Layer Norm,Instance Norm ,四者的工作方式從下圖可窺一斑:
從左到右依次是BN,LN,IN,GN
眾所周知,深度網(wǎng)絡中的數(shù)據(jù)維度一般是[N, C, H, W]或者[N, H, W,C]格式,N是batch size,H/W是feature的高/寬,C是feature的channel,壓縮H/W至一個維度,其三維的表示如上圖,假設單個方格的長度是1,那么其表示的是[6, 6,*, * ]
上圖形象的表示了四種norm的工作方式:
BN在batch的維度上norm,歸一化維度為[N,H,W],對batch中對應的channel歸一化;
LN避開了batch維度,歸一化的維度為[C,H,W];
IN 歸一化的維度為[H,W];
而GN介于LN和IN之間,其首先將channel分為許多組(group),對每一組做歸一化,及先將feature的維度由[N, C, H, W]reshape為[N, G,C//G , H, W],歸一化的維度為[C//G , H, W]
事實上,GN的極端情況就是LN和I N,分別對應G等于C和G等于1,作者在論文中給出G設為32較好
由此可以看出,GN和BN是有很多相似之處的,代碼相比較BN改動只有一兩行而已,論文給出的代碼實現(xiàn)如下:
def GroupNorm(x, gamma, beta, G, eps=1e-5):
# x: input features with shape [N,C,H,W]
# gamma, beta: scale and offset, with shape [1,C,1,1]
# G: number of groups for GN
N, C, H, W = x.shape
x = tf.reshape(x, [N, G, C // G, H, W])
mean, var = tf.nn.moments(x, [2, 3, 4], keep dims=True)
x = (x - mean) / tf.sqrt(var + eps)
x = tf.reshape(x, [N, C, H, W])
return x * gamma + beta
其中beta 和gama參數(shù)是norm中可訓練參數(shù),表示平移和縮放因子,具體介紹見博客,從上述norm的對比來看,不得不佩服作者四兩撥千斤的功力,僅僅是稍微的改動就能擁有舉重若輕的效果。
Why GN work
上面三節(jié)分別介紹了BN的問題,以及GN的工作方式,本節(jié)將介紹GN work的原因。
傳統(tǒng)角度來講,在深度學習沒有火起來之前,提取特征通常是使用SIFT,HOG和GIST特征,這些特征有一個共性,都具有按group表示的特性,每一個group由相同種類直方圖的構(gòu)建而成,這些特征通常是對在每個直方圖(histogram)或每個方向(orientation)上進行組歸一化(group-wise norm)而得到。
而更高維的特征比如VLAD和Fisher Vectors(FV)也可以看作是group-wise feature,此處的group可以被認為是每個聚類(cluster)下的子向量sub-vector。
從深度學習上來講,完全可以認為卷積提取的特征是一種非結(jié)構(gòu)化的特征或者向量,拿網(wǎng)絡的第一層卷積為例,卷積層中的的卷積核filter1和此卷積核的其他經(jīng)過transform過的版本filter2(transform可以是horizontal flipping等),在同一張圖像上學習到的特征應該是具有相同的分布,那么,具有相同的特征可以被分到同一個group中,按照個人理解,每一層有很多的卷積核,這些核學習到的特征并不完全是獨立的,某些特征具有相同的分布,因此可以被group。
導致分組(group)的因素有很多,比如頻率、形狀、亮度和紋理等,HOG特征根據(jù)orientation分組,而對神經(jīng)網(wǎng)絡來講,其提取特征的機制更加復雜,也更加難以描述,變得不那么直觀。
另在神經(jīng)科學領(lǐng)域,一種被廣泛接受的計算模型是對cell的響應做歸一化,此現(xiàn)象存在于淺層視覺皮層和整個視覺系統(tǒng)。
作者基于此,提出了組歸一化(Group Normalization)的方式,且效果表明,顯著優(yōu)于BN、LN、IN等。GN的歸一化方式避開了batch size對模型的影響,特征的group歸一化同樣可以解決$Internal$ $Covariate$ $Shift$的問題,并取得較好的效果。
效果展示
showtime!
以resnet50為base model,batchsize設置為32在imagenet數(shù)據(jù)集上的訓練誤差(左)和測試誤差(右)。GN沒有表現(xiàn)出很大的優(yōu)勢,在測試誤差上稍大于使用BN的結(jié)果。
可以很容易的看出,GN對batch size的魯棒性更強
同時,作者以VGG16為例,分析了某一層卷積后的特征分布學習情況,分別根據(jù)不使用Norm 和使用BN,GN做了實驗,實驗結(jié)果如下:
統(tǒng)一batch size設置的是32,最左圖是不使用norm的conv5的特征學習情況,中間是使用了BN結(jié)果,最右是使用了GN的學習情況,相比較不使用norm,使用norm的學習效果顯著,而后兩者學習情況相似,不過更改小的batch size后,BN是比不上GN的。
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報表系統(tǒng)等全方位知識
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/4748.html
摘要:為了探索多種訓練方案,何愷明等人嘗試了在不同的迭代周期降低學習率。實驗中,何愷明等人還用預訓練了同樣的模型,再進行微調(diào),成績沒有任何提升。何愷明在論文中用來形容這個結(jié)果。 何愷明,RBG,Piotr Dollár。三位從Mask R-CNN就開始合作的大神搭檔,剛剛再次聯(lián)手,一文終結(jié)了ImageNet預訓練時代。他們所針對的是當前計算機視覺研究中的一種常規(guī)操作:管它什么任務,拿來ImageN...
摘要:大神何愷明受到了質(zhì)疑。今天,上一位用戶對何愷明的提出質(zhì)疑,他認為何愷明年的原始殘差網(wǎng)絡的結(jié)果沒有被復現(xiàn),甚至何愷明本人也沒有。我認為,的可復現(xiàn)性經(jīng)受住了時間的考驗。 大神何愷明受到了質(zhì)疑。今天,Reddit 上一位用戶對何愷明的ResNet提出質(zhì)疑,他認為:何愷明 2015 年的原始殘差網(wǎng)絡的結(jié)果沒有被復現(xiàn),甚至何愷明本人也沒有。網(wǎng)友稱,他沒有發(fā)現(xiàn)任何一篇論文復現(xiàn)了原始 ResNet 網(wǎng)絡的...
摘要:何愷明和兩位大神最近提出非局部操作為解決視頻處理中時空域的長距離依賴打開了新的方向。何愷明等人提出新的非局部通用網(wǎng)絡結(jié)構(gòu),超越。殘差連接是何愷明在他的年較佳論文中提出的。 Facebook何愷明和RGB兩位大神最近提出非局部操作non-local operations為解決視頻處理中時空域的長距離依賴打開了新的方向。文章采用圖像去噪中常用的非局部平均的思想處理局部特征與全圖特征點的關(guān)系。這種...
摘要:從標題上可以看出,這是一篇在實例分割問題中研究擴展分割物體類別數(shù)量的論文。試驗結(jié)果表明,這個擴展可以改進基準和權(quán)重傳遞方法。 今年10月,何愷明的論文Mask R-CNN摘下ICCV 2017的較佳論文獎(Best Paper Award),如今,何愷明團隊在Mask R-CNN的基礎(chǔ)上更近一步,推出了(以下稱Mask^X R-CNN)。這篇論文的第一作者是伯克利大學的在讀博士生胡戎航(清華...
摘要:目前目標檢測領(lǐng)域的深度學習方法主要分為兩類的目標檢測算法的目標檢測算法。原來多數(shù)的目標檢測算法都是只采用深層特征做預測,低層的特征語義信息比較少,但是目標位置準確高層的特征語義信息比較豐富,但是目標位置比較粗略。 目前目標檢測領(lǐng)域的深度學習方法主要分為兩類:two stage的目標檢測算法;one stage的目標檢測算法。前者是先由算法生成一系列作為樣本的候選框,再通過卷積神經(jīng)網(wǎng)絡進行樣本...
閱讀 2522·2023-04-26 02:18
閱讀 1289·2021-10-14 09:43
閱讀 3863·2021-09-26 10:00
閱讀 7099·2021-09-22 15:28
閱讀 2570·2019-08-30 15:54
閱讀 2627·2019-08-30 15:52
閱讀 501·2019-08-29 11:30
閱讀 3491·2019-08-29 11:05