看最新進(jìn)展深入了解深度學(xué)習(xí)(第一部分)

摘要:在本文中,通過(guò)講解非凸性優(yōu)化深入了解深度學(xué)習(xí),表達(dá)對(duì)神經(jīng)網(wǎng)絡(luò)的高維損失函數(shù)和SGD的解釋說(shuō)明的更多感知,同時(shí)表明了新的形式主義方法正在被建立在具有深層神經(jīng)網(wǎng)絡(luò)優(yōu)化的真實(shí)數(shù)學(xué)理論的目標(biāo)中。

對(duì)深入學(xué)習(xí)更好理解的說(shuō)法,是在2017年12月在神經(jīng)信息處理系統(tǒng)大會(huì)(NIPS)的頒獎(jiǎng)典禮上,阿里·拉希米(Ali Rahimi)的論文《關(guān)于時(shí)間的考驗(yàn)(Test-of-Time)》的核心思想。通過(guò)比較深度學(xué)習(xí)與煉金術(shù),Ali的目的不是為了顛覆整個(gè)領(lǐng)域,而是“打開(kāi)對(duì)話”。這個(gè)目標(biāo)已經(jīng)實(shí)現(xiàn)了,并且人們還在爭(zhēng)論現(xiàn)在的深度學(xué)習(xí)實(shí)踐是否應(yīng)該被看作是煉金術(shù)、工程學(xué)還是科學(xué)。

七個(gè)月之后,在斯德哥爾摩召開(kāi)了機(jī)器學(xué)習(xí)國(guó)際大會(huì)(ICML),有超過(guò)5000人參加,發(fā)表了629篇論文,這是關(guān)于基礎(chǔ)機(jī)器學(xué)習(xí)研究的最重要的活動(dòng)之一。深度學(xué)習(xí)理論已成為大會(huì)最重要的主題之一。

大家在第一天就顯露出濃厚的興趣了,大會(huì)最大的會(huì)議室擠滿了機(jī)器學(xué)習(xí)的愛(ài)好者,他們準(zhǔn)備聽(tīng)SanjeevArora的《深入學(xué)習(xí)的理論認(rèn)識(shí)》講座。在普林斯頓大學(xué)計(jì)算機(jī)科學(xué)系教授的講話中,總結(jié)了當(dāng)前深度學(xué)習(xí)理論研究的領(lǐng)域,并將其分為四大分支:

?非凸性優(yōu)化:我們?nèi)绾卫斫馀c深度神經(jīng)網(wǎng)絡(luò)相關(guān)的高度非凸性損失函數(shù)?為什么會(huì)出現(xiàn)隨機(jī)梯度下降甚至收斂?

?過(guò)度參數(shù)化和泛化:在傳統(tǒng)統(tǒng)計(jì)學(xué)理論中,泛化取決于參數(shù)的數(shù)量,而并不是在深度學(xué)習(xí)中。為什么呢?我們能找到另一個(gè)更好的泛化方式嗎?

?深度的作用:深度是如何幫助神經(jīng)網(wǎng)絡(luò)進(jìn)行收斂的呢?深度和泛化之間的聯(lián)系是什么樣的?

?生成的模型:我們可以用什么理論特性來(lái)防止GANs的波動(dòng)或避免模式崩潰?

在本系列文章中,特別關(guān)注一下2018年的ICML,我們基于最新的文章將嘗試在以上四個(gè)領(lǐng)域中建立一些基本認(rèn)識(shí)。

文章的第一部分將重點(diǎn)討論深度網(wǎng)絡(luò)的非凸性優(yōu)化的奧秘。

非凸性優(yōu)化

我猜想,很多人都嘗試過(guò)從零開(kāi)始訓(xùn)練自己的深度網(wǎng)絡(luò),然后當(dāng)放棄的時(shí)候感覺(jué)很糟糕,因?yàn)闊o(wú)法讓深度網(wǎng)絡(luò)發(fā)揮作用。我認(rèn)為這不是你的錯(cuò),而是梯度下降的問(wèn)題。

隨機(jī)梯度下降(SGD)是深度學(xué)習(xí)的基石,它應(yīng)當(dāng)找到一個(gè)高度非凸性優(yōu)化問(wèn)題的解決方案,并且確定是否有效,這是我們?cè)谏顚訉W(xué)習(xí)理論中必須解決的最基本問(wèn)題。更具體地說(shuō),深度神經(jīng)網(wǎng)絡(luò)的非凸性優(yōu)化學(xué)習(xí)可以分為以下兩個(gè)問(wèn)題:

??損失函數(shù)是什么樣的?

??為什么隨機(jī)梯度下降收斂?

損失函數(shù)是什么樣的?

如果要求你設(shè)想一個(gè)全局最小值,那么你腦海中浮現(xiàn)的第一個(gè)表示形式很可能是這樣的:

這是正常的,在二維世界中,發(fā)現(xiàn)問(wèn)題并不稀奇,在圍繞全局最小值的情況下,函數(shù)是嚴(yán)格的呈凸?fàn)畹模ㄟ@意味著此時(shí)黑塞矩陣的兩個(gè)特征值都是正的)。但是,在一個(gè)擁有數(shù)十億個(gè)參數(shù)的世界里,正如深度學(xué)習(xí)的情況一樣,沒(méi)有關(guān)于圍繞全局最小值方向的可能性有多大?或者相同地,黑塞矩陣不包含一個(gè)零(或幾乎為零)特征值?

SanjeevArora在教程中,第一個(gè)闡述是,損失函數(shù)中可能采用方向的數(shù)量隨著維度呈指數(shù)性地增長(zhǎng)。

那么,直觀地說(shuō),一個(gè)全局最小值看起來(lái)可能不是一個(gè)點(diǎn),而是一個(gè)連接起來(lái)的,并呈多種形式出現(xiàn)的形態(tài)。這意味著,如果已經(jīng)達(dá)到全局最小值,那么你應(yīng)該能夠在所有點(diǎn)都是最小值的平面路徑上到處移動(dòng)。這已經(jīng)被海德堡大學(xué)的一個(gè)團(tuán)隊(duì)在大型網(wǎng)絡(luò)上得到了實(shí)驗(yàn)證明,相關(guān)的論文是《神經(jīng)網(wǎng)絡(luò)能量環(huán)境的本質(zhì)無(wú)障礙》(Essentially No Barriers in Neural Network Energy Landscape)。他們提出了一個(gè)更通用的說(shuō)法,即任何兩個(gè)全局最小值都可以通過(guò)平面路徑連接。

圖1.左圖表示了一個(gè)切片,通過(guò)在CIFAR10上DenseNet-40-12的100萬(wàn)維的訓(xùn)練損失函數(shù)和經(jīng)過(guò)我們的方法找到的最小能量路徑所得到的。平面是由兩個(gè)最小值和路徑節(jié)點(diǎn)的平均值組成。右圖表示了沿著最小值和高維路徑之間的線性線段的損失。出人意料的是,沿著這條路徑的能量基本上是平的。

眾所周知,MNIST上的CNN(卷積神經(jīng)網(wǎng)絡(luò))和PTB上的RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))就是這種情況,但是這項(xiàng)研究將這一說(shuō)法擴(kuò)展到更高級(jí)的數(shù)據(jù)集(CIFAR10 and CIFAR100)上以訓(xùn)練更大型的網(wǎng)絡(luò)(DenseNets and ResNets)。為了找到這個(gè)路徑,他們使用了來(lái)自分子統(tǒng)計(jì)力學(xué)的一種啟發(fā),稱為AutoNEB。其思想是在兩個(gè)最小值之間創(chuàng)建初始路徑(例如線性的),并在該路徑上放置樞軸。然后迭代地修改樞軸的位置,使得每個(gè)樞軸的損失最小化,并確保樞軸之間的距離保持不變(通過(guò)彈性模擬樞軸之間的空間)。

如果他們沒(méi)能從理論上證明這一結(jié)果,那么就會(huì)對(duì)存在這種路徑的原因給出一些直觀的解釋:如果我們修改單個(gè)參數(shù),例如添加一個(gè)小的常數(shù),而是讓其它參數(shù)自由地適應(yīng)這個(gè)變化以將損失降到最低,那么可以認(rèn)為通過(guò)微小地調(diào)整,其它各式各樣的參數(shù)可以“彌補(bǔ)”僅對(duì)其中一個(gè)強(qiáng)加的變化。

因此,這篇論文的結(jié)果可以幫助我們以不同的方式,并通過(guò)超參數(shù)化的透鏡和高維空間來(lái)看到最小值。更廣泛地來(lái)說(shuō),當(dāng)考慮神經(jīng)網(wǎng)絡(luò)的損失函數(shù)時(shí),你應(yīng)該始終記住在所提供點(diǎn)可能的方向的數(shù)量是巨大的。另一個(gè)結(jié)果是,鞍點(diǎn)必須比局部最小值多的多:在給定的(關(guān)鍵)點(diǎn)上,數(shù)十億個(gè)可能的方向中,很可能找到一個(gè)下降的方向。

為什么隨機(jī)梯度下降收斂(或者不收斂)?

深度神經(jīng)網(wǎng)絡(luò)優(yōu)化中的第二個(gè)重要問(wèn)題與SGD的收斂特性有關(guān)。雖然這個(gè)算法長(zhǎng)久以來(lái)被認(rèn)為是梯度下降的相似版本,但是我們現(xiàn)在有證據(jù)表明SGD實(shí)際上收斂的更好、更泛化。另外,我們是不是可以將其形式化,并在數(shù)量上解釋SGD規(guī)避局部最小值或鞍點(diǎn)的能力呢?

隨即梯度下降修改損失函數(shù)

論文《另一個(gè)觀點(diǎn):SGD何時(shí)規(guī)避局部最小值?》(An Alternative View: When Does SGD Escape Local Minima?)表明,執(zhí)行SGD與在卷積損失函數(shù)上進(jìn)行規(guī)則梯度下降是一樣的?;谶@種觀點(diǎn)和某些假設(shè),他們證明了SGD將設(shè)法規(guī)避局部最小值并收斂到全局最小值附近一個(gè)較小的區(qū)域。

圖3:在一個(gè)尖峰的函數(shù)f上運(yùn)行SGD。第1行:函數(shù)f在均勻的隨機(jī)噪聲卷積之后變得平滑了。第2行:在不同的噪聲級(jí)別上運(yùn)行SGD。每一個(gè)數(shù)字是用100個(gè)不同隨機(jī)的、初始化后的試驗(yàn)獲得的。紅點(diǎn)代表這些試驗(yàn)的最后迭代,而藍(lán)條代表累積計(jì)數(shù)。沒(méi)有噪聲的SGD容易陷入各種局部的最小值,而具有適當(dāng)?shù)脑肼暭?jí)別的SGD收斂到局部的區(qū)域。第3行:為了更接近x*,可以在縮小學(xué)習(xí)速率的多個(gè)階段中運(yùn)行SGD。

SGD是由隨機(jī)微分方程控制的

SGD的另一種方法是連續(xù)的SGD,這確實(shí)改變了我對(duì)這個(gè)算法的看法。這個(gè)想法是由YoshuaBengio在ICML的非凸優(yōu)化研討會(huì)上關(guān)于隨機(jī)梯度下降、平面性和泛化的演講中提出的。SGD沒(méi)有在損失函數(shù)上移動(dòng)一個(gè)點(diǎn),而是一個(gè)點(diǎn)云,換句話說(shuō),是一個(gè)分布。

上面幻燈片中的內(nèi)容是從隨機(jī)梯度下降、平坦度和泛化中提取出來(lái)的,在2018年的ICML由Y. Bengio提供,他提出了用另一種方法來(lái)理解SGD,通過(guò)這種方法你可以用分布(點(diǎn)云)代替點(diǎn)。

這個(gè)點(diǎn)云的大?。聪嚓P(guān)分布的方差)與learning_rate/batch_size的值成正比。在一篇論文中給出了證明,《隨機(jī)梯度下降進(jìn)行變分推理,收斂到深度網(wǎng)絡(luò)的極限循環(huán)》(Stochastic gradient descent performs variational inference, converges to limit cycles for deep networks),這是他們?cè)跈C(jī)器學(xué)習(xí)幾何學(xué)研討會(huì)上提出的。這個(gè)公式非常的直觀:小批量的大小意味著非常嘈雜的梯度(因?yàn)槭窃跀?shù)據(jù)集非常小的子集上計(jì)算的),而高學(xué)習(xí)率意味著嘈雜的步驟。

將SGD看作是隨時(shí)間移動(dòng)的分布,其結(jié)果是,控制下降的方程現(xiàn)在是隨機(jī)偏微分方程。更確切地說(shuō),在某些假設(shè)的條件下,表明控制方程實(shí)際上是福克-普朗克方程(Fokker-Planck equation)。

上面的幻燈片是在2018年的ICML上,從P.Chaudhari和S.Soatto的深度網(wǎng)絡(luò)隨機(jī)梯度下降的高維幾何學(xué)與動(dòng)力學(xué)的演講中獲得的,展示了如何從離散系統(tǒng)過(guò)度到???普朗克方程所描述的連續(xù)系統(tǒng)。

在統(tǒng)計(jì)物理學(xué)中,這種類(lèi)型的方程描述了暴露于拖曳力(漂移分布,即移動(dòng)其平均值)和隨機(jī)力(擴(kuò)散分布,即提高其方差)的顆粒演變。在SGD中,拖曳力由真實(shí)梯度模擬的,而隨機(jī)力對(duì)應(yīng)于算法固有的噪聲。如上述幻燈片中看到的,擴(kuò)散項(xiàng)與溫度項(xiàng)T=1/β=learning_rate/(2*batch_size)成比例的,這再次表明了這個(gè)比率的重要性!

上圖表示???普朗克方程下分布的演化,它隨著時(shí)間的推移在左邊漂移和擴(kuò)散。(來(lái)源:維基百科)

利用這個(gè)框架,Chaudhari和Soato證明了我們的分布將單調(diào)收斂到某一穩(wěn)定分布(對(duì)KL-divergence來(lái)說(shuō)):

論文《隨機(jī)梯度下降進(jìn)行變分推理,收斂到深度網(wǎng)絡(luò)的極限循環(huán)》的主要法則之一,證明了分布到平穩(wěn)狀態(tài)(對(duì)KL-divergence來(lái)說(shuō))的單調(diào)收斂性。第二個(gè)方程表明了最小化F等于最小化某個(gè)可能的?,以及最大化分布的熵(由溫度系數(shù)1/β控制平衡)。

上面的理論有幾個(gè)有趣的地方值得在這說(shuō)明一下:

??由SGD最小化的函數(shù)可以被重寫(xiě)為兩項(xiàng)之和(見(jiàn)等式11):可能的Φ的期望值和分布的熵。溫度系數(shù)1/β控制這兩項(xiàng)之間的平衡;

??可能的Φ只取決于網(wǎng)絡(luò)的數(shù)據(jù)和體系結(jié)構(gòu)(而不是優(yōu)化過(guò)程),如果它等于損失函數(shù),那么SGD將收斂到一個(gè)全局的最小值。但是,論文里表明了這種情況很少發(fā)生,并且知道Φ與損失函數(shù)的差距,這將告訴你SGD將要收斂的可能性有多大;

??最終分布的熵取決于learning_rate/batch_size(溫度)的值。直觀地來(lái)說(shuō),熵與分布的大小有關(guān),并且具有一個(gè)高的溫度值常常歸結(jié)為具有高方差的分布,這通常意味著是一個(gè)平面的最小值。由于平面最小值通常被認(rèn)為具有更好的泛化能力,因此它與高效學(xué)習(xí)和低批量值常常導(dǎo)致更好的最小值的實(shí)驗(yàn)發(fā)現(xiàn)是一致的;

因此,看到SGD作為一個(gè)隨著時(shí)間推移的分布,向我們表明了learning_rate/batch_size的值比每個(gè)關(guān)于收斂和泛化分離的超參數(shù)更有意義。除此之外,它能夠引入與收斂相關(guān)的網(wǎng)絡(luò)潛力,并且可以為體系結(jié)構(gòu)檢索提供良好的度量。

結(jié)論

尋找深度學(xué)習(xí)理論的探索可以分為兩部分:首先,通過(guò)玩具模型和實(shí)驗(yàn),建立關(guān)于深度學(xué)習(xí)如何和為什么起作用的感知,然后將這些感知表示成數(shù)學(xué)形式,這樣就可以幫助我們解釋當(dāng)前的結(jié)果和以后產(chǎn)生新的結(jié)果。

在本文中,我們?cè)噲D表達(dá)對(duì)神經(jīng)網(wǎng)絡(luò)的高維損失函數(shù)和SGD的解釋說(shuō)明的更多感知,同時(shí)表明了新的形式主義方法正在被建立在具有深層神經(jīng)網(wǎng)絡(luò)優(yōu)化的真實(shí)數(shù)學(xué)理論的目標(biāo)中。

但是,盡管非凸性優(yōu)化是深層學(xué)習(xí)的基礎(chǔ),并且有大量網(wǎng)絡(luò)的層和參數(shù),但是它的成功主要來(lái)自于具備良好的泛化能力。這將是下一部分的目標(biāo)。

本文作者:【方向】

閱讀原文

作者:阿里云云棲社區(qū)

鏈接:http://www.itdecent.cn/p/ee1bea3a1ba1

來(lái)源:簡(jiǎn)書(shū)

簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容