【導語】繼 BN、GN 方法提出后,大家還在不斷提出能加速神經(jīng)網(wǎng)絡訓練與收斂的方法,而約翰霍普金斯大學幾位研究者在論文《Weight Standardization》中提出一種 WS 新方法,那它可以超越 GN、BN 嗎?且看本文對研究的初解讀,希望能給大家一點新思考!
批歸一化(Batch Normalization)是深度學習發(fā)展中的一項里程碑技術,它讓各種網(wǎng)絡都能夠進行訓練。然而,沿著批次維度的歸一化也帶來了新問題:當統(tǒng)計不準確導致批次的大小越來越小時,BN 的錯誤會急劇增加。在訓練更大的網(wǎng)絡,以及執(zhí)行將特征遷移至包括探測、分割、視頻在內(nèi)的計算機視覺任務時,BN 的使用就受到了限制,因為它們受限于內(nèi)存消耗而只能使用小批次。
一年前,F(xiàn)AIR 團隊的吳育昕和何愷明提出了組歸一化(Group Normalization,簡稱 GN)的方法,GN 將信號通道分成一個個組別,并在每個組別內(nèi)計算歸一化的均值和方差,以進行歸一化處理。GN 的計算與批量大小無關,而且在批次大小大幅變化時,精度依然穩(wěn)定。
而今天 AI科技大本營要與大家探討的是近日上傳到 arXiv 上的一篇論文《Weight Standardization》,由來自約翰霍普金斯大學的幾位研究者發(fā)表。作者在文中提出了一種權重標準化(Weight Standardization, WS)的方法,它可以用于加速深度網(wǎng)絡的訓練,并稱穩(wěn)定優(yōu)于其它的歸一化方法,而這也引起了大家的好奇與討論,這個 WS 的方法是否真的可以超越 GN 與 BN?
接下來,AI科技大本營通過對 WS 方法的介紹、主要貢獻與實驗結果的展示為大家介紹這個在歸一化方法之上的權重標準化的工作。希望能引發(fā)關注此研究方向的小伙伴們一些思考與看法!
通常來說,在使用 Batch Normalization(以下將簡稱 BN)時,采用小批次很難訓練一個網(wǎng)絡,而對于不使用批次的優(yōu)化方法來說,效果很難媲美采用大批次BN時的訓練結果。當使用 Group Normalization(以下將簡稱 GN),且 batch size 大小為 1 時,僅需要多寫兩行代碼加入權重標準化方法,就能比肩甚至超越大批次BN時的訓練效果。在微批次(micro-batch)的訓練中,WS 的方法能穩(wěn)定優(yōu)于其它的歸一化方法。與其他關注于激活值的歸一化方法不同,WS 關注于權重的平滑效果。該方法的實現(xiàn)就是標準化卷積層的權重值,論文通過實驗展示了這樣的操作能夠減少損失值和梯度值的 Lipschitz 常數(shù)。并且在多個計算機視覺任務,如目標檢測、圖像分類、實例分割等,驗證了該方法的有效性。
在許多的視覺任務中,大部分深度網(wǎng)絡通常都會使用 BN 層去加速訓練和幫助模型更好收斂。雖然 BN 層非常實用,但從研究者的角度看,依然有一些非常顯眼的缺點。比如(1)我們非常缺乏對于 BN 層成功原因的理解;(2)BN 層僅在 batch size 足夠大時才有明顯的效果,因此不能用在微批次的訓練中。雖然現(xiàn)在已經(jīng)有專門針對微批次訓練設計的歸一化方法(GN),但圖 1 所示,它很難在大批次訓練時媲美 BN 的效果。
圖1:在Imagenet和Coco上,GN,BN,GN+WS三種方法的實驗結果對比
現(xiàn)在關于 BN 有效的一種解釋是它能緩解內(nèi)部協(xié)變量轉(zhuǎn)移(Internal Covariate Shift, ICS)的問題。但是有關研究[參考文獻 1]也指出 BN 與 ICS 減少的問題無關,相反,BN 層使得相應優(yōu)化問題的曲線更平衡。因此,根據(jù)[參考文獻 1]的結論,旨在提出一種歸一化技術可以進一步平滑該曲線。
與其他關注于激活值的歸一化方法不同,WS 關注于權重的平滑效果。本文一共有三個貢獻:
理論上,我們證明 WS 方法可以減少損失和梯度的 Lipsschitz 常數(shù)。因此,它能平滑損失曲線并提升訓練效果。
圖1 的實驗結果顯示,對于能夠使用大批次的任務(如 Imagenet 分類),在使用 batch size為 1 的 GN+WS 時,其效果能夠比肩甚至超過大批次下的 BN 效果。
圖1 的實驗結果顯示,對于僅能使用微批次訓練的任務(如Coco),GN+WS 可以大幅度的提升效果。
WS方法
圖2:歸一化和WS方法的比較
給定一個沒有偏置項的卷積層表達式如下圖所示:
其中 W^ 卷積層的權重,* 是卷積運算。將圖2 所示作為一個例子,WS方法不會直接在原始權重上進行優(yōu)化,而是采用另一個函數(shù) W^=WS(W)來表示原始權重 W^。然后使用 SGD 算法來更新 W。
與 BN 類似,WS 方法在卷積層中分別控制輸出權重的第一和第二階段,許多權重初始化方法也是這樣做的。不過不同的是,WS 是以可微的方式在反向傳播過程中來標準化梯度。但是 WS 方法沒有對 W^ 進行仿射轉(zhuǎn)化,因為作者認為 BN 或者 GN 還會對卷積層進行再一次的歸一化。
WS規(guī)范化梯度
下圖是在網(wǎng)絡前饋和反饋時,進行權重梯度標準化的計算表達式。
此時,在 feed-forwarding 過程中,計算方法變?yōu)椋?/p>
banck-propagation 中計算方法為:
當然,論文的第二部分還通過公式推導了 WS 可以讓損失曲線更加平滑,從而加速訓練,提升效果的原因。而為了說明 WS 的有效性,作者在多個任務上進行了多個對比實驗。
第一個實驗:在Imagenet上的圖像分類
上面表格展示了基于 ResNet50 和 ResNet101 網(wǎng)絡結構的圖像分類錯誤率。除了帶 BN 層的網(wǎng)絡使用大的 batch size,其它的歸一化方法均設置 batch size 為 1??梢钥闯鍪褂?WS 方法能夠在 batch size 為 1 的情況下,略好于大批次 BN 的網(wǎng)絡結果。在論文中,作者還做了更多與現(xiàn)有歸一化方法對比的實驗,來證明WS的效果。
第二個實驗:在Coco上的目標檢測和分割
上述表格給出了檢測框回歸和實例分割的結果。在用的是 Mask R-CNN 框架,RXnet 的 backbone,與圖像分類有相似的結果。值得注意的是,當網(wǎng)絡變得更復雜時,僅使用 GN 很難提升性能,而加上 WS 后,就可以訓練出更好的結果。這說明 WS 的歸一化技術可以幫助更輕松的訓練深層次網(wǎng)絡,而不用擔心內(nèi)存和 batch size 的問題。
第三個實驗:在 Something-Something 上的視頻動作識別
在這項任務中,采用 TSM 作為框架,ResNet50 作為 backbone,從表格中可以發(fā)現(xiàn),不管是 BN 是 GN,加上了 WS 方法后,效果均有了提升。
第四個實驗:在 PASCAL VOC 上的語義分割
在 PASCAL VOC2012 數(shù)據(jù)集上的實驗,采用 DeepLabv3 作為基準模型,Resnet101 為 backbone。實驗結果證明,WS 方法針對密集圖像預測任務,也能有穩(wěn)定提升性能的表現(xiàn)。
第五個實驗:在ModelNet40上的點云分類
采用 DGCNN 作為基準模型,實驗結果也顯示了 WS 方法能夠有效的提升模型性能。
以上五個實驗,每個實驗的設置參數(shù)在論文中均有詳細的介紹。從實驗方面證明了 WS 方法可以顯著的提高性能。尤其是在某些情況下, GN 和 BN 可能無法達到很好的效果,通過結合 WS 的方法可以取得加速模型的訓練與收斂;此外,WS 的歸一化技術還可以幫助更輕松的訓練深層次網(wǎng)絡,而不用擔心內(nèi)存和 batch size 的問題。
關于研究介紹到這里后,對權重標準化這個方法,你是怎么看的?是否可以超越 GN、BN 呢?歡迎大家發(fā)表自己的看法!
-
算法
+關注
關注
23文章
4612瀏覽量
92910 -
梯度
+關注
關注
0文章
30瀏覽量
10322 -
深度學習
+關注
關注
73文章
5503瀏覽量
121175
原文標題:何愷明的GN之后,權重標準化新方法能超越GN、BN嗎? | 技術頭條
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論