當前位置:
首頁 > 知識 > 層旋轉:超強的深度網路泛化評價標準?

層旋轉:超強的深度網路泛化評價標準?

選自arXiv

作者:Simon Carbonnelle等

機器之心編譯

參與:Geek AI、思

什麼樣的模型泛化性能比較好,什麼樣的操作真的能帶來泛化性,我們真的對泛化有明確定義嗎?也許只要扭一扭權重,泛化就能明確地展示在我們面前。

在最近的一項工作中,大量的實驗證據表明層旋轉(即在訓練時神經網路每一層與其初始狀態之間的餘弦距離的變化)構成了一種強大而穩定的衡量泛化性能的指標。尤其是當每一層最終的權值和初始權值之間的餘弦距離越大時,總能使得最終模型的泛化性能越好。

論文:Layer rotation: a surprisingly powerful indicator ofgeneralization in deep networks?

論文地址:https://arxiv.org/abs/1806.01603v2

有趣的是,這種關係證明了一種與網路無關的最優狀態:在訓練過程中,所有層的權值從它們的初始狀態變化到餘弦值等於 1 時,性能總能優於其它的配置情況,其測試準確率要高出百分之 30%。此外,我們說明了層旋轉非常易於檢測和控制,有助於超參數調優)。層旋轉還能提供統一的框架,從而解釋學習率調優、權值衰減、學習率預熱和自適應梯度方法對泛化和訓練速度的影響。

為了解釋層旋轉的驚人特性,研究者在 MNIST 數據集上訓練了一個單隱層的 MLP,並證明了層旋轉與中間層的特徵有關,且相關性與訓練的程度還有關。

為泛化把把脈

為了理解深度神經網路有趣的泛化特性,指定衡量泛化性能的數值指標是非常重要的,這些指標能夠適用於各種各樣的訓練情況。這些指標為深度學習中的泛化理論工作提供了重要的見解,有助於解釋為什麼常用的訓練技巧和技術會影響泛化性能。

在本文中,研究者展示了發現新泛化指標的實驗證據:在訓練時神經網路時,每一層與其初始狀態之間的餘弦距離變化(稱為「層旋轉」)。

實際上,研究者通過一系列實驗(使用不同的數據集、網路和訓練過程)表明了,層旋轉更大時(即每一層最終的權值和初始權值之間的餘弦距離更大),同時泛化能力也會更好。

除了提出關於泛化的原始度量方法,實驗還表明,與其它的泛化指標相比,層旋轉還具有以下優良特性:

它有一個與網路無關的最優狀態(所有層的餘弦距離都達到 1);

很容易監控,因為它只取決於網路權值的變化,所以在最優化過程中,層旋轉可以通過適當的權值更新規則得到控制;

它提供了一個統一的框架來解釋學習率調優、權值衰減、學習率預熱、以及自適應梯度方法對於泛化和訓練速度的影響。

在對相關工作進行討論後,研究者的實驗展示按照以下三個步驟來組織:

開發監控和控制層旋轉的工具;

在受控環境下系統地研究層旋轉的各種設置;

研究標準訓練環境下的層旋轉設置,重點研究隨機梯度下降(SGD)、權值衰減和自適應梯度方法環境加的情況。

為了鼓勵其它研究者復現實驗結果,論文作者提供了創建本文所有圖表的相關工具和源代碼。

地址:https://github.com/ispgroupucl/layer-rotation-paper-experiments

為了方便從業人員使用控制和監控工具,論文作者提供了在不同深度學習庫環境下的實現。

地址:https://github.com/ispgroupucl/layer-rotation-tools

通過 Layca 系統地研究層旋轉的設置

本節的目的是利用工具進行對各種層旋轉設置進行實驗研究。實驗針對網路架構和數據集複雜度不一的五個任務進行,如表 1 所示:

表 1:實驗任務的總結。

圖 1 顯示了不同層旋轉率的設置下的層旋轉曲線以及相應的測試準確率。

圖 1:在表 1 所示的 5 個任務上,對層旋轉曲線的分析以及在不同的層旋轉率設置(使用 Layca 演算法訓練得到)下得到的測試準確率(η)。

在標準訓練環境下對層旋轉的研究

本節研究使用隨機梯度下降(SGD)、權值衰減、或自適應梯度方法進行訓練時,自然出現(不人為控制)的層旋轉設置。

圖 2 顯示了在表 1 所示的 5 個任務的基礎的 SGD 訓練過程中,由不同的學習率得到的層旋轉曲線和測試準確率。我們觀察到,隨著層旋轉變大,測試準確率也會隨之增加(這與我們的經驗一致),直到到達臨界點後開始下降(這與我們的經驗則不一致)。

圖 2:在不同的學習率下,通過基礎的 SGD 得到的層旋轉曲線和相應的測試準確率。不同顏色的編碼、坐標軸設置和 ?η 的計算方法與圖 1 相同。

圖 4 顯示了使用高學習率(1/3)、不同的預熱時間(0,5,10 或 15 個 epoch 進行預熱)進行訓練時的層旋轉和訓練曲線。我們觀察到,在沒有進行預熱的情況下,SGD 會產生不穩定的層旋轉,而且訓練準確率在第 25 個 epoch 之前都沒有提升。使用預熱帶來了顯著的性能提升:在 25 個 epoch 後,訓練的準確率達到了 75%,只不過仍然會有一些訓練曲線的不穩定性存在,同時會出現一個陡峭的層旋轉下降。

圖 4:在 CIFAR-10 數據集上訓練 ResNet-110 網路的過程中,在高學習率(1/3)下使用不同的預熱時間(0,5,10 或 15 個 epoch)得到的層旋轉和訓練曲線。

近年來,自適應梯度方法在機器學習領域逐漸興起(例如,RMSprop[35],Adagrad [8],Adam [22])。圖 5 顯示了在第 1,10 和 50 個 epoch 結束時測量的每一層的第 10,50 和 第 90 個百分位的矩估計。該圖表明,自適應梯度方法可能對層旋轉有很大的影響。

圖 5:在 C10-CNN1 上訓練時,Adam 對梯度的二階原點距(無中心方差)的參數估計。

圖 6:使用自適應梯度方法(每個任務/列分別使用 RMSProp,Adam,Adagrad,RMSProp L2 和 Adam L2),生成的層旋轉曲線和相應的測試準確率,第一行不使用 Layca 控制層旋轉,第二行使用了 Layca 控制層旋轉。

如何解釋層旋轉?

研究者使用一個小型實驗來可視化地說明層旋轉如何影響網路學到的特徵。具體而言在刪減版的 MNIST 數據集(每類有 1,000 個樣本,從而提升過參數化)上,研究者訓練了一個由 784 個神經元組成的、帶有一個隱層的多層感知機(MLP)。

圖 8 顯示了在不同的層旋轉設置(隨機地選擇 5 個隱層神經元)下得到的特徵。這個可視化結果揭示了一個明顯的現象:層旋轉似乎並不影響模型學習哪些特徵,而是影響在訓練過程中這些特徵被學習的程度。

圖 8:層旋轉對中間特徵的影響的可視化結果。學習到的中間特徵(與隨機選擇出的 5 個神經元相關聯)在不同的層旋轉設置下的可視化結果。結果表明,層旋轉並不影響學習哪些特徵,而是影響這些特徵在訓練過程中被學習的程度。

既然層旋轉反映的是特徵的學習程度,那麼越抽象和高級的特徵,它們理應泛化性能越好。那麼這也許就是層旋轉這麼強大的原因?

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

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

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


請您繼續閱讀更多來自 機器之心 的精彩文章:

Bert時代的創新:Bert在NLP各領域的應用進展

TAG:機器之心 |