「乾貨」ICLR-17 最佳論文詳解:理解深度學習要重新思考泛化
新智元編譯
【編者按:有關《理解深度學習需要重新思考泛化》論文介紹見文末;灰色加粗字體代表引自論文;紅色加粗是新智元編輯加的】
(文/Adrion Colyer)這篇論文有很多優點:結果簡單易懂,還有些出乎意料,會讓你在接下來很長一段時間思考這一切可能意味著什麼!
作者一開始提出的問題是:
「泛化好的神經網路和泛化不好的神經網路有什麼區別?對這一問題做出滿意的回答,不僅有助於更好地理解神經網路,還可能帶來更正確(principled)可靠的模型架構設計。」
作者說「泛化好」的意思,就是簡單指「是什麼原因導致在訓練數據上表現很好的網路,在(沒有接觸過的)測試數據上表現也很好?」(與遷移學習不同,遷移學習做的是將一個訓練好的網路用於另外一個相關但不同的問題)。
花點時間想一下,這個問題基本可以歸結為:「為什麼神經網路效果這麼好?」至於泛化,一個是只記住部分訓練數據而後將其重複出來,一個則是真正對可以用來進行預測的數據集產生一些有意義的發現(intuition),這兩者的區別就是泛化。
所以,要是我們對「為什麼神經網路表現(泛化)這麼好?」給出的回答是:「我們真的不知道!」——事情就有些尷尬了。
不可思議的隨機標籤案例
故事從一個熟悉的地方開始——CIFAR 10(含有 5 萬幅訓練圖像,分為 10 個類,1 萬幅驗證圖像)和 ILSVRC(ImageNet)2012(1,281,167 訓練數據,5 萬幅驗證圖像,1000 個類別)數據集和 Inception 網路架構的變體。
使用訓練數據訓練網路,然後在「訓練數據集」上錯誤為 0,這沒什麼好奇怪的。這充分說明了過擬合——記住訓練樣本,而不是學習對特徵進行真正的預測。我們可以使用正則化技術應對過擬合,設計出泛化性能更好的網路。這個話題我們稍後再說。
仍然使用相同的訓練數據,但這次將標籤打亂(使標籤和圖像中的內容不再具有真正的對應關係)。使用這些標籤隨機的數據訓練網路,會得到什麼?訓練錯誤還是 0!
「在這種情況下,實例和分類標籤之間不再有任何關係。因此,學習是不可能發生的。直覺告訴我們,這種不可能會在訓練過程中很清楚地表現出來,比如訓練不收斂,或者收斂速度大幅減慢。讓我們感到意外的是,有多個標準架構的訓練過程的好些屬性,在很大程度上都沒有受這種標籤轉換的影響。」
正如作者所言,「深度神經網路很容易擬合隨機標籤」。從第一個實驗中可以看出以下 3 個關鍵點:
神經網路的有效容量足以記住整個數據集;
對標籤隨機的數據進行優化很容易。事實上,與標籤正確的訓練過程相比,隨機標籤的訓練時間也只增加一個小的常數因子;
將標籤打亂僅僅是做了一個數據轉換,其他所有關於學習問題的屬性都沒有改變。
不過,如果你把使用隨機標籤訓練的網路在測試數據集上跑一遍,結果當然不會好,因為網路實際上並沒有從數據集中學到什麼。用專業一點的話說,就是網路的泛化誤差很高。
綜上可得:
「……通過將標籤隨機化,我們可以強制模型不受改變、保持同樣大小、超參數或優化器的情況下,大幅提升網路的泛化誤差。我們在 CIFAR 10 和 ImageNet 分類基準上訓練了好幾種不同標準架構,證實了這一點。」
換句話說:模型本身、模型大小、超參數和優化器都不能解釋當前最好的神經網路的泛化性能。因為在其他條件都不變的情況下,唯獨泛化誤差產生大幅變動,只能得出這一個答案。
更加不可思議的隨機圖像案例
不僅僅打亂標籤,把圖像本身也打亂,會發生什麼呢?或者,乾脆用隨機雜訊代替真實圖像??
論文給出的圖中,將這一實驗標記為「高斯」實驗,因為作者為每幅圖像生成隨機像素的方法,是使用了匹配原始圖像數據集均值和方差的高斯分布。
結果,網路的訓練錯誤依然為 0,而且所用的時間還比隨機標籤更少!對此,一種假說是,隨機標籤圖像都屬於一個類別,但由於交換了標籤,不得不作為不同類別的圖像數據進行學習,而隨機像素圖像彼此之間更分散。
作者團隊做了多次實驗,將一系列不同程度和類型的隨機性加入數據集:
真實標籤(原始數據集,沒做修改)
部分損壞的標籤(將其中一部分標籤打亂了)
隨機標籤(把所有標籤都打亂)
shuffle 像素(選擇一個像素排列,然後將其統一[uniformly]用於所有圖像)
隨機像素(對每幅圖像單獨做一個不同的隨機排列)
高斯方法(如上文所述,給每幅圖像增加隨機生成的像素)
一路下來,網路仍然能夠完美地擬合訓練數據。
「此外,我們進一步改變了隨機性的數量,在無雜訊和完全雜訊的情況下平滑地插入數據集。這樣一來,標籤還是保有某種程度的信號,從而會造成一系列間接的學習問題。隨著雜訊水平的提高,我們觀察到泛化誤差呈現出穩定的惡化。這表明神經網路能夠理解數據中的剩餘信號,同時用暴力計算適應雜訊部分。」
對我而言,最後一句話是關鍵。我們在設計模型架構的過程中,某些決定顯然會影響模型的泛化能力。當數據中沒有其他真實信號時,世界上泛化性能最好的網路也不得不退回去訴諸於記憶。
所以,也許我們需要一種方法,將數據集真正的泛化潛力梳理清楚,同時弄明白給定模型架構獲取這種潛力效果如何。對此,一個簡單的方法是在同一個數據集上訓練不同的架構!——當然,我們一直都在這麼做。但這對於我們初衷——理解為什麼一些模型比其他模型泛化得更好——仍然沒什麼用處。
正則化方法救場?
模型架構本身顯然不足以作為一個合格的正則化函數(不能防止過擬合/記憶)。但是,常用的正則化技術呢?
「我們表明,顯式正則化方法,如權重衰減、dropout 和數據增強,都不能充分解釋神經網路的泛化誤差:顯式正則化確實可以提高泛化性能,但其本身既沒必要也不足以控制泛化誤差。」
顯式正則化更像是做調整參數,有助於改善泛化能力,但不使用顯示正則化方法也不一定意味著會產生泛化錯誤。並不是所有擬合訓練數據的模型都能夠很好地泛化。這篇論文中一個有趣的分析表明,通過使用梯度下降也能獲取一定量的正則化:
「我們分析了作為隱式正則化函數的隨機梯度下降(SGD)的表現。對於線性模型,SGD 總是收斂到一個小正態(norm)的解決方案。因此,演算法本身將解決方案隱性地正則化了……儘管這並不能解釋為什麼某些架構比其他架構泛化得更好,但它確實表明,要準確理解使用 SGD 訓練的模型繼承了哪些屬性,還需要更多的調查。」
機器學習模型的有效容量
假設有個神經網路,訓練樣本是有限數的 n。如果網路有 p 個參數(p>n),那麼即使是簡單到只有兩層的神經網路也可以對輸入樣本的任何函數進行表徵。論文作者(在附錄中)證明以下定理:
「存在一個激活函數為 ReLU 的兩層神經網路,權重為 2n + d,可以對維度為 d 大小為 n 的樣本的任何函數進行表徵。」
就連線性大小的 2 層深網路也可以表徵訓練數據的任何標籤!
結論:需要新的衡量模型複雜度的方法
「這種情況對統計學習理論構成了一個概念上的挑戰,因為衡量模型複雜度量的傳統方法不能很好地解釋大規模人工神經網路的泛化能力。我們認為,我們目前還沒有發現一個精確的正式衡量方法,在這個衡量方法下,這些龐大的模型都很簡單。從我們的實驗得出的另一個見解是,即使最終的模型不能泛化,在實際操作中優化還是很容易的。這也表明了為什麼實踐中容易做優化的原因與神經網路泛化能力的原因是不同的。」
論文及 ICLR-17 公開評審簡介
摘要
儘管體積巨大,成功的深度人工神經網路在訓練和測試性能之間可以展現出非常小的差異。過去一般將其歸功於泛化誤差小,無論是對模型譜系的特點還是對於訓練中使用的正則技術來說。
通過廣泛的系統的實驗,我們展示了傳統方法無法解釋為什麼大規模神經網路在實踐中泛化表現好。 具體來說,我們的實驗證明了用隨機梯度方法訓練的、用於圖像分類的最先進的卷積網路很容易擬合訓練數據的隨機標記。這種現象本質上不受顯式正則化影響,即使我們通過完全非結構化隨機雜訊來替換真實圖像,也會發生這種現象。我們用一個理論結構證實了這些實驗結果,表明只要參數的數量超過實踐中通常的數據點的數量,簡單兩層深的神經網路就已經具有完美的有限樣本表達性(finite sample expressivity)。我們通過與傳統模型進行比較來解釋我們的實驗結果。
【一句話總結】通過深入系統的實驗,我們指出傳統方式無法解釋為什麼大規模神經網路在實踐中泛化表現良好,同時指出我們為何需要重新思考泛化問題。
【ICLR 評委會最終決定】作者提供了深度神經網路擬合隨機標註數據能力的迷人研究結果。調查深入,有啟發性,鼓舞人心。作者提出了a)一個理論實例,顯示具有大量參數和足夠大的 wrt 樣本的簡單淺層網路產生了完美的有限樣本表達性;b)系統廣泛的實驗評價,以支持研究結果和論點。實驗評價的考慮非常周全。
論文地址:https://openreview.net/forum?id=Sy8gdB9xx¬eId=Sy8gdB9xx
Adrian 原文:https://blog.acolyer.org/2017/05/11/understanding-deep-learning-requires-re-thinking-generalization/
?? 本文為新智元獲授權翻譯,未經授權請勿轉載。
點擊【閱讀原文】查看新智元招聘信息。
※「圍棋人機終極PK一觸即發」DeepMind 宣布烏鎮圍棋人機對戰時間表
※「280頁JP摩根報告」大數據和 AI 策略——面向投資的機器學習和另類數據方法
※「新智元專訪」阿里巴巴「NASA計劃」新進展:刷新視覺計算世界紀錄
※「深度」谷歌I/O 大會起火,X 實驗室恐遭財務屠殺,AI帝國不作惡?
TAG:新智元 |
※OpenAI ICLR 2018論文匯總:主要興趣為強化學習
※既要深度學習又要符號化推理,DeepMind 新 JAIR 論文小試牛刀
※既要深度學習又要符號化推理,DeepMind新JAIR 論文小試牛刀
※DeepMind 最新研究:通過刪除神經元理解深度學習
※ICML2018論文公布!一文了解機器學習最新熱議論文和研究熱點
※演算法天才蓋坤:解讀阿里深度學習實踐,CTR 預估、MLR 模型、興趣分布網路等
※深度強化學習-DQN
※INTERFACE#5袁進輝:深度學習引擎的最優架構
※深度學習out了?深度解讀AI領域三大前瞻技術
※CVPR 2018 中國論文分享會 之「深度學習」
※UC Berkeley課程CS 294:深度強化學習
※重磅 經典教材 R.Sutton《增強學習導論》最新版
※10G+AI人工智慧/複雜系統/數據挖掘/深度學習/Python資料
※【乾貨】深度學習實驗流程及 PyTorch 提供的解決方案
※深度學習與人工智慧革命:part I
※不出所料!ICLR 2018最佳論文:基於梯度的元學習演算法
※INTERFACE#6:清華大學劉知遠:在深度學習時代用HowNet搞事情
※深度學習的目標檢測技術演進:R-CNN、Fast R-CNN、Faster R-CNN
※谷歌Cell論文:深度學習模型預測熒光位置
※專訪MIT教授Tomaso Poggio:表達、優化與泛化——數學視角里的深度學習