當前位置:
首頁 > 知識 > 簡單初始化,訓練10000層CNN

簡單初始化,訓練10000層CNN

作者:聞菲來源:arXiv、新智元

2015年,ResNet橫空出世,以令人難以置信的3.6%的錯誤率(人類水平為5-10%),贏得了當年ImageNet競賽冠軍,在圖像分類、目標檢測和語義分割各個分項都取得最好成績,152層順序堆疊的殘差模塊讓業界大為讚歎。

此後,ResNet作為訓練「極」深網路的簡單框架,得到了廣泛的應用,包括最強版本的AlphaGo——AlphaGo Zero。

此後,隨著神經網路向著更深、更大的規模發展,性能不斷提高的同時,也為訓練這樣的網路帶來了越來越大的挑戰。雖然現在有類似谷歌AutoML的項目,將設計和優化神經網路的工作,交給神經網路自己去做,而且效果還比人做得更好。但是,AI研究者還是在思考,為什麼殘差連接、批標準化等方法,會有助於解決梯度消失或爆炸的問題。

在谷歌大腦研究人員發表於ICML 2018的論文《CNN動態等距和平均場論》(Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,000-Layer Vanilla Convolutional Neural Networks)中,他們對CNN的可訓練性和信號在卷積網路中的傳輸特點進行了研究,並拓展了此前關於深度學習平均場論(Mean Field Theory)的工作。

他們發現,卷積核在空間上的分布情況扮演了很重要的角色:當使用在空間上均勻分布的卷積核對CNN做初始化時,CNN在深度上會表現得像全連接層;而使用在空間上不均勻分布的卷積核時,信號在深度網路中就表現出了多種傳輸模式。

基於這一觀察,他們提出了一個簡單的初始化策略,能夠訓練10000層乃至更深的原始CNN結構。

不用殘差連接,也不用批標準化,只用一個簡單的初始化策略,就能訓練10000層深度的網路。上圖為在MNIST數據集的結果,下圖是CIFAR10,實線是測試,訓練是訓練。來源:論文

作者表示,他們的這項工作提供了對殘差連接、批標準化等實踐方法的理論理解。「殘差連接和批標準化(Batch Normalization)這些結構上的特徵,可能在定義好的模型類(model class)中有著重要的作用,而不是僅僅簡單地能夠提高訓練的效率。」

CNN可以被訓練的深度,就是信號能完全通過的層數

在物理學和概率論中,平均場論(Mean Field Theory,MFT)是對大且複雜的隨機模型的一種簡化。未簡化前的模型通常包含數量巨大且存在相互作用的小個體。

平均場理論則做了這樣的近似:對於某個獨立的小個體,所有其他個體對它產生的作用可以用一個平均的量給出,這樣簡化後的模型就成了一個單體問題。

這種思想源於皮埃爾·居里(對,就是居里夫人的老公)和法國物理學家皮埃爾·外斯(Pierre-Ernest Weiss)對相變的研究。現在,平均場論廣泛用於如傳染病模型、排隊論、計算機網路性能和博弈論當中。

在深度學習領域,平均場論也得到了研究。這些研究都揭示了一點,那就是在初始化階段,信號能在網路中傳輸的深度存在一個最大值,而深度網路之所以能夠被訓練,恰恰是因為信號能夠全部通過這些層。

平均場論預測信號在網路中傳輸深度存在一個最大值,這也就是網路可以被訓練的深度

在這項工作中,作者基於平均場論開發了一個理論框架,研究深度CNN中信號的傳播情況。通過研究信號在網路中向前和向後傳播而不衰減的必要條件,他們得出了一個初始化方案,在不對網路的結構進行任優化(比如做殘差連接、批標準化)的情況下,這個方案能幫助訓練超級深——10000乃至更深的原始CNN。

簡單初始化策略,訓練10000層原始CNN

那麼,這個初始化方案是什麼呢?先從結論說起,就是這個演算法:

這是一個生成隨機正交卷積核的演算法,目的是為了實現動態等距(dynamical isometry)。

大家都知道,深度神經網路中權重的初始化會對學習速度有很大的影響。實際上,深度學習建立在這樣一個觀察之上,即無監督的預訓練為隨後通過反向傳播進行的微調提供了一組好的初始權重。

這些隨機權重的初始化主要是由一個原理驅動,即深度網路雅可比矩陣輸入-輸出的平均奇異值應該保持在1附近。這個條件意味著,隨機選擇的誤差向量在反向傳播時將保持其範數。由於誤差信息在網路中進行忠實地、等距地反向傳播,因此這個條件就被稱為「動態等距」。

對深度線性網路學習的非線性動力學的精確解進行理論分析後發現,滿足了動態等距的權重初始化能夠大大提高學習速度。對於這樣的線性網路,正交權重初始化實現了動態等距,並且它們的學習時間(以學習輪數的數量來衡量)變得與深度無關。

這表明深度網路雅可比矩陣奇異值的整個分布形狀,會對學習速度產生巨大的影響。只有控制二階矩,避免指數級的梯度消失和爆炸,才能留下顯著的性能優勢。

現在,最新的這項研究發現,在卷積神經網路中也存在類似的情況。作者將要傳播的信號分解為獨立的傅里葉模式,促進這些信號進行均勻的傳播。由此證明了可以比較容易地訓練10000層或更多的原始CNN。

清除訓練任意深度原始CNN的所有主要障礙

在ICLR 2017的一篇論文中,谷歌的研究人員,包括深度學習教父 Geoffrey Hinton 和谷歌技術大牛 Jeff Dean在內,提出了一個超大規模的神經網路——稀疏門控混合專家層(Sparsely-Gated Mixture-of-Experts layer,MoE)。

MoE 包含上萬個子網路(也即「專家」),每個專家都有一個簡單的前饋神經網路和一個可訓練的門控網路(gating network),門控網路會選擇專家的一個稀疏組合來處理每個輸入。

嵌入在循環語言模型中的混合專家(Mixture of Experts,MoE)模塊。在這種情況下,稀疏門函數選擇兩個專家來執行計算,它們的輸出由門控網路的輸出控制。

最終的網路雖然是含有1370億個參數的龐然大物,但由於實現了條件計算的好處,模型容量得到了超過1000倍的提升,而計算效率只有相對微小的損失。MoE在大規模語言建模和機器翻譯基準測試中,花費很小的計算力實現了性能的顯著提升。這項工作也是深度網路條件計算在產業實踐中的首次成功。

2017年6月,Facebook人工智慧實驗室與應用機器學習團隊合作,提出了一種新的方法,能夠大幅加速機器視覺任務的模型訓練過程,僅 1 小時就訓練完ImageNet這樣超大規模的數據集。Facebook 團隊提出的方法是增加一個新的預熱階段(a new warm-up phase),隨著時間的推移逐漸提高學習率和批量大小,從而幫助保持較小的批次的準確性。

現在,谷歌大腦的這項工作,提供了對這些實踐方法的理論理解。作者在論文中寫道,

我們的結果表明,我們已經清除了在訓練任意深度的原始卷積網路時存在的所有主要的障礙。在這樣做的過程中,我們也為解決深度學習社區中的一些突出問題奠定了基礎,例如單憑深度是否可以提高泛化性能。

我們的初步結果表明,在一定的深度上,在幾十或幾百層的這個數量級上,原始卷積結構的測試性能已經飽和。

這些觀察結果表明,殘差連接和批標準化(Batch Normalization)這些結構上的特徵,可能在定義好的模型類(model class)中有著重要的作用,而不是僅僅簡單地能夠提高訓練的效率。

這一發現對深度學習研究社區有著重大的意義。不用批標準化,也不用殘差連接,僅僅通過一個初始化函數,就訓練10000層的原始CNN。

即使你不訓練10000層,這個初始化帶來的訓練速度提升也是可觀。

不過,作者目前只在MNIST和CIFAR10數據集上驗證了他們的結果,推廣到更大的數據集後情況會如何,還有待觀察。

相關論文

Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,000-Layer Vanilla Convolutional Neural Networks

https://arxiv.org/pdf/1806.05393.pdf

- 加入AI學院學習 -

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI講堂 的精彩文章:

DeepMind生成查詢網路GQN,無監督學習展現3D場景
谷歌CVPR最全總結:45篇論文,Ian Goodfellow GAN演講PPT下載

TAG:AI講堂 |