您現在的位置是:首頁 > 藝術

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

由 機器之心Pro 發表于 藝術2022-04-11
簡介圖 2 顯示了在表 1 所示的 5 個任務的基礎的 SGD 訓練過程中,由不同的學習率得到的層旋轉曲線和測試準確率

一階原點矩是什麼

作者:Simon Carbonnelle等

機器之心編譯

參與:Geek AI、思

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

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

論文:Layer rotation: a surprisingly powerful indicator of generalization 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 個神經元相關聯)在不同的層旋轉設定下的視覺化結果。結果表明,層旋轉並不影響學習哪些特徵,而是影響這些特徵在訓練過程中被學習的程度。

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

推薦文章

  • 醋烹洋白菜,簡單又美味!

    蔥蒜末炸至有些焦黃的時候下入控幹水的洋白菜,先不要炒,用最快的速度下醋烹出香氣,然後炒幾下,放鹽,再接著炒直洋白菜變軟變綠,再放一些醋就可以出鍋了(炒這個菜要求全程大火)家庭小貼士:1、洋白菜也可以焯一下再炒,不過感覺有點麻煩,而且存水會多...

  • 《慶餘年》神廟逃亡者葉輕眉——我只是大宗師的搬運工

    《慶餘年》神廟逃亡者葉輕眉——我只是大宗師的搬運工葉流雲當初號稱南慶劍神,劍法練的出神入化,後來因為侄兒葉重被葉輕眉暴打,葉流雲去找葉輕眉的僕人五竹單挑,打完後回到道場棄劍不用,蒙上眼睛模仿瞎子打架,結果領悟了流雲散手,進入大宗師的無上境界...

  • 一個角色+兩種外觀+能打能抗=六邊形戰士?這遊戲新職業太上頭了

    一個角色+兩種外觀+能打能抗=六邊形戰士?這遊戲新職業太上頭了能打能抗已經不太能滿足我們的需求了,最好能打能抗能奶,六邊形越滿越好——在《新笑傲江湖》手遊全新版本中,新職業逍遙登場,可遠攻爆炸輸出,可近身掌握戰場,還能回覆團隊延長續航,這不就是我的夢中情職嗎...