來源:新智元 編輯:張佳 深度學(xué)習(xí)理論是當(dāng)下研究的熱點(diǎn)之一。最近來自UIUC的助理教授孫若愚撰寫了一篇關(guān)于深度學(xué)習(xí)優(yōu)化的綜述論文,,共60頁257篇文獻(xiàn),,概述了神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法和訓(xùn)練理論,并得到眾多大佬的推薦,。戳右邊鏈接上 了解更多,!深度學(xué)習(xí)理論是當(dāng)下研究的熱點(diǎn)之一。最近來自UIUC的助理教授孫若愚撰寫了一篇關(guān)于深度學(xué)習(xí)優(yōu)化的綜述論文《Optimization for deep learning: theory and algorithms》,,共60頁257篇文獻(xiàn),,概述了神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法和訓(xùn)練理論,并得到眾多大佬的推薦,,比如模仿學(xué)習(xí)帶頭人加州理工Yisong Yue,,歡迎大家閱覽,需要一番數(shù)學(xué)理論功底,,方能扛過,。 摘要 為什么一個(gè)復(fù)雜的神經(jīng)網(wǎng)絡(luò)居然可以被成功訓(xùn)練出來? 到底是哪些要素促成的? 為了理解這些問題,,本文概述了神經(jīng)網(wǎng)絡(luò)的算法和優(yōu)化理論,。首先,,我們討論梯度爆炸/消失問題和更一般的譜控制問題,然后討論實(shí)際中常用的解決方案,,包括初始化方法和歸一化方法,。其次,我們回顧用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一般優(yōu)化方法,,如SGD,、自適應(yīng)梯度方法和大規(guī)模分布式訓(xùn)練方法,以及這些算法的現(xiàn)有理論結(jié)果,。第三,,我們回顧了最近關(guān)于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的全局問題的研究,包括局部極值,、模式連接,、彩票假設(shè)和無限寬度分析等方面的結(jié)果。 1. 概述 神經(jīng)網(wǎng)絡(luò)包含大量的參數(shù),,這些參數(shù)一般通過求解一個(gè)優(yōu)化問題來找到,,這是一個(gè)很復(fù)雜的非凸優(yōu)化問題。本文的主旨是理解如此復(fù)雜的神經(jīng)網(wǎng)絡(luò)得以被成功訓(xùn)練的關(guān)鍵要素,,以及可能導(dǎo)致訓(xùn)練失敗的因素,。想象你在1980年試圖用神經(jīng)網(wǎng)絡(luò)解決一個(gè)圖像分類問題,沒有任何關(guān)于神經(jīng)網(wǎng)絡(luò)的知識,,很可能你最初的幾次嘗試都會得到很差的結(jié)果,,比如算法不收斂或者最終收斂到的解的誤差很大。你需要哪些變化才能讓你的算法成功運(yùn)行? 總體上來說,,你需要三樣?xùn)|西(除了硬件和數(shù)據(jù)之外): 合適的神經(jīng)網(wǎng)絡(luò),、合適的訓(xùn)練算法和合適的訓(xùn)練技巧。 1)合適的神經(jīng)網(wǎng)絡(luò),。這包括神經(jīng)網(wǎng)絡(luò)架構(gòu)和激活函數(shù),。對于神經(jīng)網(wǎng)絡(luò)架構(gòu),,你可以用一個(gè)至少有5層和足夠多神經(jīng)元的卷積網(wǎng)絡(luò)來替換一個(gè)全連接網(wǎng)絡(luò),。為了獲得更好的性能,你可以將深度增加到20甚至100,,并添加跳躍連接 (skip connection),。對于激活函數(shù),一個(gè)好的選擇是ReLU激活函數(shù),,但是使用tanh或swish激活也可以得到不錯的結(jié)果,。 2)訓(xùn)練算法。一個(gè)重要的選擇是使用隨機(jī)版本的梯度下降(SGD)并堅(jiān)持下去 ,。經(jīng)過仔細(xì)調(diào)整的常數(shù)學(xué)習(xí)率(learning rate)表現(xiàn)已經(jīng)可以相當(dāng)好了,,而使用動量和自適應(yīng)的學(xué)習(xí)率可以提供額外的好處,。 3)訓(xùn)練技巧。適當(dāng)?shù)某跏蓟瘜τ谒惴ǖ挠?xùn)練是非常重要的,。要訓(xùn)練一個(gè)超過10層的網(wǎng)絡(luò),,通常需要兩個(gè)額外的技巧:添加歸一化層 (normalization layer) 和添加跳躍連接。 在上述諸多元素中,, 哪些元素是必要的? 目前我們已經(jīng)了解了一些元素的作用,,包括初始化策略、歸一化方法,、跳躍連接,、過參數(shù)化 (大寬度)和SGD,如圖1所示,。我們將它們對優(yōu)化算法的影響大致分為三部分: 控制Lipschitz常數(shù)(以使算法收斂),、更快的收斂速度和更好的函數(shù)全局性質(zhì) (landscape)。還有許多其他的元素是很難理解的,,尤其是神經(jīng)架構(gòu),。話說回來,要理解這個(gè)復(fù)雜系統(tǒng)的每個(gè)部分是幾乎不可能的,,而這個(gè)領(lǐng)域目前的研究已經(jīng)可以提供一些有用的理解和啟發(fā),。 圖1: 對神經(jīng)網(wǎng)絡(luò)訓(xùn)練的幾個(gè)主要元素的理論解讀。它們對算法收斂的三個(gè)方面有影響:使收斂成為可能,、更快的收斂和更好的全局解,。這三個(gè)方面有一定的聯(lián)系,因此上述分類只是一個(gè)粗略的分類,。請注意,,對一些重要元素(特別是神經(jīng)網(wǎng)絡(luò)架構(gòu))的理論理解還非常欠缺,因此在該圖中被省略了,。還有一些重要理論方面(比如泛化能力和表示能力),,在這個(gè)圖中被省略了。 為了簡單起見,,我們將主要討論前饋神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)問題,。我們幾乎不討論一些更復(fù)雜的問題,如GANs(生成對抗網(wǎng)絡(luò))和深度強(qiáng)化學(xué)習(xí),,也不討論更復(fù)雜的神經(jīng)網(wǎng)絡(luò)架構(gòu),,如RNN(遞歸神經(jīng)網(wǎng)絡(luò))、attention和Capsule,。從一個(gè)更廣泛的視角來看,,監(jiān)督學(xué)習(xí)理論至少包含表示、優(yōu)化和泛化(參見1.1節(jié)),,而我們不詳細(xì)討論表示理論和泛化理論,。注意,,雖然本文主要討論監(jiān)督學(xué)習(xí),但一個(gè)主要目標(biāo)是理解神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(即一種特殊的參數(shù)化方式)如何影響優(yōu)化算法的設(shè)計(jì)和分析,,其數(shù)學(xué)本質(zhì)并不僅僅局限于監(jiān)督學(xué)習(xí)問題的具體模型,,因此可以推廣到更一般的使用了神經(jīng)網(wǎng)絡(luò)的問題上(例如GAN)。 這篇文章的目標(biāo)讀者是對神經(jīng)網(wǎng)絡(luò)的理論理解(尤其是優(yōu)化算法方面)感興趣的研究人員,。為了理解這篇文章,,了解機(jī)器學(xué)習(xí)和優(yōu)化的一些基本理論會很有幫助 (參見[24,200,29]),但也不需要很多優(yōu)化知識,。我們注意到現(xiàn)有的關(guān)于深度學(xué)習(xí)算法的介紹主要針對一般的機(jī)器學(xué)習(xí)研究者,,如Goodfellow等[76]的第8章。這些介紹通常不深入討論算法背后的理論,。相反,,在本文中我們更多地強(qiáng)調(diào)理論分析,但同時(shí)盡量使其對非理論背景的讀者易于理解,。如果可能的話,,我們將提供一些簡單的例子來說明理論背后的直覺,但我們一般不會解釋定理的細(xì)節(jié),。本文嘗試?yán)迩宕罂蚣芎椭饕拿}絡(luò),,會重點(diǎn)介紹一部分文章的主要想法,而由于篇幅所限,,對絕大多數(shù)文章著墨甚少(如果讀者想進(jìn)一步了解,,有些地方會指出一些可繼續(xù)閱讀的參考文獻(xiàn))。 1.1 大局觀:對理論的分解 分解 (reductionism, 或還原論) 是研究科學(xué)的一個(gè)很有用且流行的元方法,。我們首先簡要回顧如何分解機(jī)器學(xué)習(xí)理論以及優(yōu)化在其中的作用,,然后討論如何對深度學(xué)習(xí)的優(yōu)化理論進(jìn)行進(jìn)一步的分解。 表示,、優(yōu)化和泛化,。監(jiān)督學(xué)習(xí)的目標(biāo)是根據(jù)觀察到的樣本找到一個(gè)近似真實(shí)函數(shù)的函數(shù)。第一步是找到一個(gè)豐富的函數(shù)族(如神經(jīng)網(wǎng)絡(luò))以表示真實(shí)的函數(shù),。第二步是通過最小化某個(gè)目標(biāo)來計(jì)算出這個(gè)函數(shù)的參數(shù),。第三步是使用第二步中找到的函數(shù)對新的測試數(shù)據(jù)進(jìn)行預(yù)測,產(chǎn)生的錯誤稱為測試誤差,。測試誤差可以分解為表示誤差,、優(yōu)化誤差和泛化誤差,,分別對應(yīng)這三個(gè)步驟引起的誤差,。 在機(jī)器學(xué)習(xí)中,表示,、優(yōu)化和泛化這三個(gè)學(xué)科經(jīng)常被分開研究,。例如,,在研究一類函數(shù)的表示能力時(shí),我們往往不關(guān)心優(yōu)化問題能否很好地解決,。在研究泛化誤差時(shí),,我們通常假設(shè)已經(jīng)找到了全局最優(yōu)值 (可參考一個(gè)關(guān)于泛化能力的綜述[95])。類似地,,在研究優(yōu)化理論 時(shí),,研究者經(jīng)常不考慮泛化誤差(但有時(shí)假定表示誤差為零)。注意,,理想的研究方式是對多個(gè)方面做綜合分析而不僅僅只考慮一個(gè)方面,,但如果一個(gè)方面都沒有理解清楚,合并在一起分析只會更加困難,,這是所有學(xué)科研究者都會面臨的一個(gè)權(quán)衡取舍,。我們希望未來會有更多的綜合性研究出現(xiàn)。 優(yōu)化問題的分解,。深度學(xué)習(xí)的優(yōu)化問題比較復(fù)雜,,需要進(jìn)一步分解。大致上來說,,對優(yōu)化算法的設(shè)計(jì)可以分為三個(gè)步驟,。第一步是使算法開始運(yùn)行,并收斂到一個(gè)合理的解,,如一個(gè)駐點(diǎn) (stationary point),。第二步是使算法盡快收斂。第三步是確保算法收斂到一個(gè)低目標(biāo)值的解 (如全局極小值, 可使得訓(xùn)練誤差小),。除了這三步之外,,還有一個(gè)額外的步驟是取得比較小的測試誤差,但是這超出了優(yōu)化分析的范圍,。簡而言之,,我們將優(yōu)化問題分為三個(gè)考量: 收斂性、收斂速度和全局表現(xiàn),。 本綜述涉及的文獻(xiàn)分三個(gè)主要部分: 第四節(jié) (Section 4),,第五節(jié) (Section 5) 和第六節(jié) (Section 6)。大致說來,,每個(gè)部分主要由上述優(yōu)化分析的三個(gè)考量之一所驅(qū)動,。這三個(gè)部分之間的邊界是比較模糊的。例如,,第四節(jié)中討論的一些技術(shù)也可以提高收斂速度,,第六節(jié)中的一些分析也解決了收斂問題而不僅僅是解的全局表現(xiàn)。我們劃分這三節(jié)的另一個(gè)原因是它們代表了神經(jīng)網(wǎng)絡(luò)優(yōu)化的三個(gè)相當(dāng)獨(dú)立的子領(lǐng)域:從歷史上來說它們在一定程度上是獨(dú)立發(fā)展的。 1.2 文章結(jié)構(gòu) 這篇文章的結(jié)構(gòu)如下,。在第二節(jié)中,,我們介紹監(jiān)督學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)優(yōu)化問題。在第三節(jié)中,,我們介紹了反向傳播(BP),,并分析了將經(jīng)典收斂定理應(yīng)用于梯度下降的主要困難。在第四節(jié)中,,我們討論訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一些特定技巧,,以及一些基本理論。這些是和神經(jīng)網(wǎng)絡(luò)相關(guān)的方法,,它們打開了神經(jīng)網(wǎng)絡(luò)的黑盒子,。我們討論了一個(gè)稱為梯度爆炸/消失的主要挑戰(zhàn),以及控制頻譜這個(gè)更一般的挑戰(zhàn),,并回顧了主要的解決方案,,如仔細(xì)的初始化和歸一化方法。在第五節(jié)中,,我們討論了將神經(jīng)網(wǎng)絡(luò)視為一般非凸優(yōu)化問題的泛型算法設(shè)計(jì),。特別地,我們回顧了SGD的各種學(xué)習(xí)速率調(diào)整方式 (learning rate schedule),、自適應(yīng)梯度方法,、大規(guī)模分布式訓(xùn)練、二階方法以及關(guān)于它們的現(xiàn)有理論結(jié)果,。在第六節(jié)中,,我們回顧了神經(jīng)網(wǎng)絡(luò)的全局優(yōu)化研究,包括全局函數(shù)圖景 (global landscape),、模式連接,、彩票假設(shè)和無限寬度分析(如神經(jīng)切線核)等等。 論文地址: https:///pdf/1912.08957.pdf 作者簡介
孫若愚 孫若愚是UIUC(伊利諾伊大學(xué)香檳分校)助理教授,,研究數(shù)學(xué)優(yōu)化和機(jī)器學(xué)習(xí) ,。在加入U(xiǎn)IUC之前,曾擔(dān)任FAIR (Facebook AI Research) 的訪問科學(xué)家,,并曾于斯坦福大學(xué)從事博士后研究,,本科畢業(yè)于北京大學(xué)。最近的研究方向包括神經(jīng)網(wǎng)絡(luò)的優(yōu)化理論和算法,、生成對抗網(wǎng)絡(luò),、非凸矩陣分解、大規(guī)模優(yōu)化算法的設(shè)計(jì)和分析等等,。 |
|