ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

安妮 郭一璞 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

如何去評價一個神經網絡的泛化能力?

一篇出自比利時天主教魯汶大學的研究發表在了ICML 2019識別和理解深度學習現象Workshop上。

研究指出,網絡的泛化能力,可以通過“層旋轉”來評判。

所謂層旋轉,是指神經網絡中每一層的權重向量與初始化之間夾角餘弦的變化,被研究人員可以當成衡量泛化性能強弱的指標。

研究人員公佈了在訓練期間控制層旋轉工具的代碼,表示這項工作“可以大大減少當前調整超參數的難度”:

也就是說,可以通過最少的超參數調整,獲得最佳的神經網絡性能

在Reddit論壇上,有人指出這是一項“超級有趣的實證結果”,也有人表示這項研究啟發出了眾多新思考。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

層旋轉有什麼用

在論文Layer rotation: a surprisingly powerful indicator of generalization in deep networks?中,研究詳細解釋了層旋轉背後的探索之路。

神經網絡的泛化能力受訓練它的優化程序的影響,因此確定這個程序中哪些因素影響泛化是個重要問題。

在這篇論文中,研究人員提出了一種全新的算法:Layca((LAYer-level Controlled Amount of weight rotation),能夠直接控制神經網絡的優化算法通過每層網絡的學習速率參數,進而控制層旋轉。

也就是說,使用了Layca算法,可以通過它的學習速率參數,控制每一層網絡中每一步權重旋轉。

Layca算法的工作流程是下面這樣的:

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

研究人員表示,用這種新的算法,可以達到比較明顯的控制效果,同時,泛化能力也會產生巨大的差異,準確度差異達30%。

隨後,他們利用Layca,進一步對層旋轉架構進行研究,開發監測和控制層旋轉的工具。

研究人員採用SGD(隨機梯度下降)作為默認優化器,用Layca來改變相對轉速和全局旋轉速率值,分別對5種網絡架構和數據複雜性不同的神經網絡進行研究,它們分別為:

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

他們繪製出一張在不同層旋轉速率中層旋轉曲線(CFR)與相應測試精度(η)之間的關係。

在下圖中,橫軸代表迭代次數,縱軸代表夾角的餘弦,曲線顏色從淺到深代表網絡最後一層與第一層,最終結果如下:

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

可以看出,每層的層旋轉越大,神經網絡的泛化能力就越好。

由此看來,研究人員認為,層旋轉這個指標,可以用來直接來判斷網絡的泛化能力。

層旋轉的影響

之後,除了Layca,研究者們還用SGD做了類似的實驗。根據實驗結果,得出了幾個結論:

對於SGD學習率

學習率參數直接影響層旋轉速率,並影響更新的大小。

從下面五個任務中SGD訓練期間不同學習率對層旋轉曲線影響的實驗結果圖來看,測試精度隨著層旋轉而增加,到臨界點後開始減少。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

對於權重衰減

權重衰減的範數會增加由給定訓練步驟引起的旋轉量,根據下面的實驗結果圖可以看出,所有層的權重在初始化時達到1的餘弦距離,並且得到的測試性能與使用Layca獲得的性能相當。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

對於學習率預熱

高學習率會產生突然的層旋轉,不會影響訓練損失。

在學習率預熱方面,研究者用ResNet-110做實驗,在CIFAR-10數據集上訓練。使用的預熱策略是以小10倍的學習速率開始,線性增加逐漸達到指定的最終學習率。

結果如下圖:

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

SGD產生不穩定的層旋轉,始終轉化為無法提高訓練精度。使用預熱可以大大減少這些不穩定性,在Epoch超過25之前,訓練京都沒有顯著提高。

而Layca表現更優。歸功於Layca的控制能力,它穩定性較高,並且在不需要預熱的情況下達到高泛化性能。

對於自適應梯度法

研究者們基於ICLR 2015論文《A method for stochastic optimization》中的算法,在C10-CNN1任務上做了實驗。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

根據第10,第50和第90百分位每個層的狀況可以看出,自適應梯度方法可能對層旋轉產生巨大影響,自適應梯度方法使用的參數級統計數據主要在層之間變化,而在層內可忽略不計。

另外,對比自適應梯度法在訓練前面的5個任務和自適應梯度法層旋轉與SGD誘導層旋轉的結果,可以發現,自適應梯度法能夠讓Layca達到SGD的泛化能力。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

根據自適應梯度法、SGD+權重衰減和SGD+L2正則化在5個訓練任務上的表現得出,SGD可以通過Layca實現自適應梯度法的訓練速度。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

對於中間層特徵

那麼,基於這些層旋轉和各屬性之間的聯繫,如何去具體的解釋層旋轉呢?

研究者們做了另一個實驗,在一個簡化的MNIST數據集上訓練多層感知機(MLP),從相同的初始化狀態開始,我們用Layca訓練四種學習率不同的網絡,讓四種不同的層旋轉配置均達到100%的訓練準確度,同時擁有不同的泛化能力。

ICML新研究提出泛化能力評估新指標:直接上向量餘弦距離就OK

將圖旋轉對中間層特徵的影響畫出來就會發現:

層旋轉不會影響學習哪些特徵,而是影響在訓練過程中學習的程度。層旋轉越大,特徵越突出,初始化可檢索的越少,而當層旋轉接近1的時候,網絡的最終權重消除了初始化的所有殘餘。

層旋轉與特徵學習程度之間的這種聯繫表明:完全學習中間層特徵對於達到100%的訓練準確性是不必要的,但訓練過程如果完全學習了中間層特徵,可以產生更好的泛化性能。

傳送門

Layer rotation: a surprisingly powerful indicator of generalization in deep networks?

https://arxiv.org/abs/1806.01603v2

代碼:

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

層旋轉工具:

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

— 完 —

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

相關推薦

推薦中...