Group Normalization筆記

做者:Yuxin,Wu Kaiming He算法

機構:Facebook AI Research (FAIR)網絡

摘要:BN是深度學習發展中的一個里程碑技術,它使得各類網絡得以訓練。然而,在batch維度上進行歸一化引入以下問題——BN的錯誤會隨着batch size的減少而急劇增長,這是由batch不正確的統計估計形成的。這就限制了BN用於訓練因爲顯存消耗不足而致使batch size受限的大型網絡和遷移特徵到如檢測、分割以及視頻等計算機視覺任務。在此論文中,做者提出了Group Normalization(GN)做爲BN的簡單替代。GN將通道劃分成組而後在每個組中計算用於歸一化的均值和方差。GN的計算不依賴於batch size,並且它的準確率在各類batch size下是穩定的。在ImageNet數據集上訓練ResNet-50,當使用batch size 爲2的時候,GN得到的錯誤比在相應位置上使用BN低10.6%;當使用典型的batch size,GN比BN相對好,同時相對於其它歸一化變體好。此外,GN能夠能夠很天然地從預訓練模型到微調。在COCO的檢測、語義分割以及Kinetics數據集的視頻分類任務中,在相應位置上使用GN能夠比BN得到更出色的表現。這顯示了GN能夠在不少任務中有效地替換強大的BN。BN能夠經過少許代碼來實現。框架

簡介:BN是深度學習中一個頗有效的組件,極大的推進了計算機視覺的發展。BN是經過計算一個(mini-)batch內的均值和方差來歸一化特徵的。衆多實踐證實使用BN的網絡易於優化以及使得很深的網絡得以收斂。batch統計的隨機不肯定性也起到有利於泛化的正則化做用。BN已經成爲含多先進算法的基石。學習

雖然BN很是成功,可是在batch維度上大相徑庭的歸一化行爲也展露它的不足。在實踐中,BN須要足夠大的batch size才能達到顯著效果。小的batch size會引發batch統計上的錯誤估計,這會很大地增長模型錯誤。下圖能夠看出GN比BN優秀。優化

圖中:是ResNet-50在ImageNet數據集上使用8個GPU進行訓練,以及在驗證集上驗證。圖中折線,藍色BN,紅色GN。可見隨着batch size的減少,BN的錯誤率增長,而GN不依賴於BS,其錯誤率相對穩定。在batch size爲2的同等條件下,GN得到比BN低10%的錯誤率spa

所以,許多現在的模型因爲顯存的限制都使用了精心設計的batch size。嚴重地依賴於BN的效果,變成了限制人們取探索那些大容量但消耗資源的模型。batch size上的限制,會更加要求諸如檢測、分割、視頻識別的計算機視覺任務以及其它高層系統基於它而創建。好比,Fast/er 和Mask R-CNN框架由於使用了大的分辨率而只能使用batch size爲1或者2,其中BN經過轉變成線性層進行「凍結」。在使用3D卷積的視頻分類任務中,時空特徵的存在引入了關於時間長度(temporal length)和batch size的一個權衡。因爲BN的使用一般須要系統在模型設計和batch size之間的妥協。設計

在這篇論文中提出GN,做爲BN的一個簡單替代。咱們注意到許多的特徵,相似SIFT和HOG組間特徵以及涉及到組間歸一化。例如,一個HOG向量是一些空間單元的輸出。其中每個單元由一個已歸一化的有向直方圖。相似地,咱們提出GN做爲一個將通道劃分紅組以及歸一化組內的這些特徵的層。GN並無採用batch維度,所以它獨立於batch sizes。orm

除了GN,BN以外,還有LN(Layer Normalization) 和IN(Instance Normalization),這兩個也同樣防止在batch維度上進行歸一化,這個方法在訓練序列模型(RNN/LSTM)或者生成模型(GANs).可是正如實驗中給出,LN和IN在視覺識別任務中均未能很好表現。而對於GN則表現出較好的結果。換言之,GN能夠用於代替LN和IN在序列模型和生成模型中的表現。視頻

相關工做:blog

歸一化層在BN出現以前已經在深度網絡中獲得普遍應用,Local Response Normalization(LRN)是AlexNet中的組件,它經過計算每個像素的一個小的鄰域的統計量。(待續)

相關文章
相關標籤/搜索