獨家 | 如何解決深度學習泛化理論
我們可以從最新的關於深度學習「鍊金術」的悖論研究中了解一二。
動機
深度學習目前正被用於方方面面。但是,人們經常批評它缺乏一個基礎理論,能夠完全解釋其為什麼能如此神奇。最近,神經信息處理系統大會(NIPS)的時間測試獎(Test-of-Time)得主將深度學習比作「鍊金術」。
儘管解釋深度學習泛化理論仍然是一個懸而未決的問題,在這篇文章中,我們將討論這個領域最新的理論和先進的經驗,並試圖對它做出解釋。
深度學習的悖論
深度學習的一個「顯而易見的悖論」是:儘管在實際問題中它具有大容量、數值不穩定、尖銳極小解(SharpMinima)和非魯棒性等特點,它在實踐中可以很好地推廣。
在最近的一篇文章《理解深度學習需要反思泛化》里表明:深度神經網路(DNN)具有足夠大的存儲容量去記住帶有隨機標籤的ImageNet和CIFAR10數據集。目前尚不清楚為什麼他們在真實數據找到了可泛化的解決方案。
深層架構的另一個重要問題是數值不穩定性。在基於導數的學習演算法中,數值不穩定性通常被稱為梯度消失。底層正向模型的不穩定性導致了更大的難度。也就是說,對於原始特徵中的小擾動,某些網路的輸出可能是不穩定的。在機器學習中,它被稱為非魯棒性。其中一個例子是圖1所示的對抗性攻擊。
圖1:來源:帶有對抗攻擊示例的機器學習
一些研究將深度學習的泛化論點建立在通過隨機梯度下降(SGD)從而找到損失函數的最小平坦度上。然而,最近的研究表明:「尖銳極小解(Sharp Minima)對於深度網路同樣具有更好的泛化能力」。更具體地說,通過重新參數化可以將平坦極小解轉化為尖銳極小解,而不改變泛化能力。因此,泛化不能僅用參數空間的魯棒性來解釋。
泛化理論
泛化理論的目的是解釋和證明為什麼和如何提高訓練集的準確率。這兩個準確率之間的差異稱為「泛化誤差」或「泛化間隙」。從更嚴格的意義上,泛化間隙可以被定義為在給定學習演算法A的數據集SM上的函數F的不可計算的預期風險和可計算的經驗風險之間的差:
本質上,如果我們將泛化間隙的上界設定成一個小的數值,它將保證深度學習演算法f在實際中很好地泛化。泛化間隙的多個理論上界取決於模型的複雜度、穩定性、魯棒性等。
深度學習的模型複雜性有兩種:Rademacher複雜性和Vapnik?Chervonenkis(VC)維度。然而,對於已知的上界的深入學習函數f, Radamacher複雜性隨著網路深度的增長成指數級增長。這與實際觀察的結果恰恰相反,適合的訓練數據網路深度越大,經驗誤差就越小。同樣,泛化間隙的上界基於VC維度和訓練參數呈線性增長,不取決於深度學習中的實際觀察值。換句話說,這兩個上界限均太保守。
最近,KKawaguchi、LPKELING和YBengio提出了更為有用的辦法。與其他人不同,他們接受了這樣一個事實,即通常使用訓練驗證範式培訓深度學習模型。他們使用驗證錯誤替代非可計算的預期風險和訓練錯誤。在這種觀點中,他們針對為什麼深度學習能泛化得如此完美而提出了以下觀點:「我們之所以可以泛化得這麼很好是因為我們可以利用驗證的錯誤,通過模型搜索得到一個好的模型,並證明對於任何δ> 0,概率至少為1-δ:
重要的是:|Fval|是我們利用驗證數據集來選擇最終模型進行決策的次數,M是驗證集的大小。這一數值可以用來解釋為什麼深度學習可以泛化得如此好,儘管可能帶來不穩定、非魯棒性和尖銳利極小解(Sharp Minima)。還有一個懸而未決的問題是:為什麼我們能夠找到導致低驗證錯誤的體系結構和參數。通常,架構的靈感來自真實世界的觀察和通過使用SGD搜索到的良好的參數,我們會在下文進行討論:
隨機梯度下降(SGD)
SGD是現代深度學習的內在組成部分,顯然是其泛化背後的主要原因之一。接下來我們將討論它的泛化屬性。
在最近的一篇論文《隨機梯度下降的數據相關穩定性》中,作者證明了在某些附加損失條件下,SGD是平均穩定演算法。這些條件在常用的損失函數中就可以得到滿足,例如在激活函數是sigmoid函數的神經網路中通常用到Logistic/Softmax損失函數。在這種情況下,穩定性意味著SGD對訓練集中的小擾動有多敏感。他們進一步證明了非凸函數(如深度神經網路)中SGD泛化間隙的平均數據上界的數據相關性:
其中m是訓練集的大小,T是訓練步長,γ表徵了初始點的曲率對穩定性的影響。從中至少可以得出兩個結論。首先,目標函數在初始化點附近的曲率對目標函數的初值有著至關重要的影響。從一個低風險的曲率較小的區域中的一個點開始,能產生更高的穩定性,即更快地泛化。在實踐中,它可以是一個很好pre-screen決策,以選擇良好的初始化參數。第二,考慮到通過率,即m=O(T),我們簡化了對O(M)的上界。即訓練集越大,泛化差距越小。
有趣的是,有大量的研究正在探究學習曲線。其中大部分顯示冪律泛化誤差,縮放比例為ε(m)-mm,指數β=?0.5或?1。這也與前面討論過的結論一致。然而,很重要的是,百度做了大量的研究,已能夠憑經驗觀察到這一冪律(見圖2)。實際應用中的指數β介於?0.07和?0.35之間,這一數值還必須得到理論上的解釋。
圖2 資料來源:深度學習的縮放比例是可預測的,經驗值。
此外,SGD泛化中關於批量大小(一個批量中樣本的數量)有理論值和經驗值兩種。直觀地說,小批量訓練會在梯度上引入噪音,這種噪音會使SGD遠離最小的極小值,從而增強泛化能力。在谷歌最近的一篇論文中,它表明批量大小的優化與學習速率和訓練集大小成比例。或者簡單地說,「不犧牲學習速率,增加批量大小」。同樣的縮放規則來自SGD動量:Bopt ~1/(1 ? m), Bopt是優化的批量大小,m是動量。或者,所有結論都可以用下面的等式來概括:
ε是學習速率(learningrate),N為訓練集的大小,m是動量和B是批量大小。
結論
在過去的幾年裡,人們對深度學習的基礎理論中悖論越來越感興趣。儘管仍然存在一些尚未解決的研究問題,但現代深度學習絕不是所謂的鍊金術。在本文中,我們討論了這個問題的泛化觀點,得出了一些實際的結論:
在曲率較小和風險較低的區域選擇初始化參數。用Hessian向量乘法可以有效地估計曲率。
在改變動量時,對批次的大小進行縮放。
不犧牲學習速率,增加批量大小。
原文鏈接:https://medium.com/mlreview/modern-theory-of-deep-learning-why-does-it-works-so-well-9ee1f7fb2808
譯者簡介
陳之炎:北京交通大學通信與控制工程專業畢業,獲得工學碩士學位,歷任長城計算機軟體與系統公司工程師,大唐微電子公司工程師,現任北京吾譯超群科技有限公司技術支持。目前從事智能化翻譯教學系統的運營和維護,在人工智慧深度學習和自然語言處理(NLP)方面積累有一定的經驗。業餘時間喜愛翻譯創作,翻譯作品主要有:IEC-ISO 7816、伊拉克石油工程項目、新財稅主義宣言等等,其中中譯英作品「新財稅主義宣言」在GLOBAL TIMES正式發表。能夠利用業餘時間加入到THU 數據派平台的翻譯志願者小組,希望能和大家一起交流分享,共同進步
翻譯組招募信息
工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是數據科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。
你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於數據科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯繫,THU數據派產學研的背景為志願者帶來好的發展機遇。
其他福利:來自於名企的數據科學工作者,北大清華以及海外等名校學生他們都將成為你在翻譯小組的夥伴。
推薦閱讀:
※深度學習發展簡要筆記
※加州大學伯克利分校:劉子緯博士——基於深度學習的以人為中心的計算
※使用 TensorFlow 和 Python 進行深度學習(附視頻中字)