
對深入學習更好了解的說法,是在2017年12月在神經資訊處理系統大會(NIPS)的頒獎典禮上,阿裡·拉希米(Ali Rahimi)的論文《關于時間的考驗(Test-of-Time)》的核心思想。通過比較深度學習與煉金術,Ali的目的不是為了颠覆整個領域,而是“打開對話”。這個目标已經實作了,并且人們還在争論現在的深度學習實踐是否應該被看作是煉金術、工程學還是科學。
七個月之後,在斯德哥爾摩召開了機器學習國際大會(ICML),有超過5000人參加,發表了629篇論文,這是關于基礎機器學習研究的最重要的活動之一。深度學習理論已成為大會最重要的主題之一
大家在第一天就顯露出濃厚的興趣了,大會最大的會議室擠滿了機器學習的愛好者,他們準備聽SanjeevArora的《深入學習的理論認識》講座。在普林斯頓大學計算機科學系教授的講話中,總結了目前深度學習理論研究的領域,并将其分為四大分支:
·
非凸性優化:我們如何了解與深度神經網絡相關的高度非凸性損失函數?為什麼會出現随機梯度下降甚至收斂?
過度參數化和泛化:在傳統統計學理論中,泛化取決于參數的數量,而并不是在深度學習中。為什麼呢?我們能找到另一個更好的泛化方式嗎?
深度的作用:深度是如何幫助神經網絡進行收斂的呢?深度和泛化之間的聯系是什麼樣的?
生成的模型:我們可以用什麼理論特性來防止GANs的波動或避免模式崩潰?
在本系列文章中,特别關注一下2018年的ICML,我們基于最新的文章将嘗試在以上四個領域中建立一些基本認識。
文章的第一部分将重點讨論深度網絡的非凸性優化的奧秘。
我猜想,很多人都嘗試過從零開始訓練自己的深度網絡,然後當放棄的時候感覺很糟糕,因為無法讓深度網絡發揮作用。我認為這不是你的錯,而是梯度下降的問題。
随機梯度下降(SGD)是深度學習的基石,它應當找到一個高度非凸性優化問題的解決方案,并且确定是否有效,這是我們在深層學習理論中必須解決的最基本問題。更具體地說,深度神經網絡的非凸性優化學習可以分為以下兩個問題:
· 損失函數是什麼樣的?
· 為什麼随機梯度下降收斂?
損失函數是什麼樣的 ?如果要求你設想一個全局最小值,那麼你腦海中浮現的第一個表示形式很可能是這樣的:
這是正常的,在二維世界中,發現問題并不稀奇,在圍繞全局最小值的情況下,函數是嚴格的呈凸狀的(這意味着此時黑塞矩陣的兩個特征值都是正的)。但是,在一個擁有數十億個參數的世界裡,正如深度學習的情況一樣,沒有關于圍繞全局最小值方向的可能性有多大?或者相同地,黑塞矩陣不包含一個零(或幾乎為零)特征值?
SanjeevArora在教程中,第一個闡述是,損失函數中可能采用方向的數量随着次元呈指數性地增長。
那麼,直覺地說,一個全局最小值看起來可能不是一個點,而是一個連接配接起來的,并呈多種形式出現的形态。這意味着,如果已經達到全局最小值,那麼你應該能夠在所有點都是最小值的平面路徑上到處移動。這已經被海德堡大學的一個團隊在大型網絡上得到了實驗證明,相關的論文是《
神經網絡能量環境的本質無障礙》(Essentially No Barriers in Neural Network Energy Landscape)。他們提出了一個更通用的說法,即任何兩個全局最小值都可以通過平面路徑連接配接。
圖1.左圖表示了一個切片,通過在CIFAR10上DenseNet-40-12的100萬維的訓練損失函數和經過我們的方法找到的最小能量路徑所得到的。平面是由兩個最小值和路徑節點的平均值組成。右圖表示了沿着最小值和高維路徑之間的線性線段的損失。出人意料的是,沿着這條路徑的能量基本上是平的。
衆所周知,MNIST上的CNN(卷積神經網絡)和PTB上的RNN(循環神經網絡)就是這種情況,但是這項研究将這一說法擴充到更進階的資料集(CIFAR10 and CIFAR100)上以訓練更大型的網絡(DenseNets and ResNets)。為了找到這個路徑,他們使用了來自分子統計力學的一種啟發,稱為AutoNEB。其思想是在兩個最小值之間建立初始路徑(例如線性的),并在該路徑上放置樞軸。然後疊代地修改樞軸的位置,使得每個樞軸的損失最小化,并確定樞軸之間的距離保持不變(通過彈性模拟樞軸之間的空間)。
如果他們沒能從理論上證明這一結果,那麼就會對存在這種路徑的原因給出一些直覺的解釋:如果我們修改單個參數,例如添加一個小的常數,而是讓其它參數自由地适應這個變化以将損失降到最低,那麼可以認為通過微小地調整,其它各式各樣的參數可以“彌補”僅對其中一個強加的變化。
是以,這篇論文的結果可以幫助我們以不同的方式,并通過超參數化的透鏡和高維空間來看到最小值。更廣泛地來說,當考慮神經網絡的損失函數時,你應該始終記住在所提供點可能的方向的數量是巨大的。另一個結果是,鞍點必須比局部最小值多的多:在給定的(關鍵)點上,數十億個可能的方向中,很可能找到一個下降的方向。
為什麼随機梯度下降收斂 ( 或者不收斂 )?深度神經網絡優化中的第二個重要問題與SGD的收斂特性有關。雖然這個算法長久以來被認為是梯度下降的相似版本,但是我們現在有證據表明SGD實際上收斂的更好、更泛化。另外,我們是不是可以将其形式化,并在數量上解釋SGD規避局部最小值或鞍點的能力呢?
随即梯度下降修改損失函數論文
《另一個觀點:SGD何時規避局部最小值?》(An Alternative View: When Does SGD Escape Local Minima?)表明,執行SGD與在卷積損失函數上進行規則梯度下降是一樣的。基于這種觀點和某些假設,他們證明了SGD将設法規避局部最小值并收斂到全局最小值附近一個較小的區域。
圖3:在一個尖峰的函數f上運作SGD。第1行:函數f在均勻的随機噪聲卷積之後變得平滑了。第2行:在不同的噪聲級别上運作SGD。每一個數字是用100個不同随機的、初始化後的試驗獲得的。紅點代表這些試驗的最後疊代,而藍條代表累積計數。沒有噪聲的SGD容易陷入各種局部的最小值,而具有适當的噪聲級别的SGD收斂到局部的區域。第3行:為了更接近x*,可以在縮國小習速率的多個階段中運作SGD。
SGD是由随機微分方程控制的SGD的另一種方法是連續的SGD,這确實改變了我對這個算法的看法。這個想法是由YoshuaBengio在ICML的非凸優化研讨會上
關于随機梯度下降、平面性和泛化的演講中提出的。SGD沒有在損失函數上移動一個點,而是一個
點雲,換句話說,是
一個分布。上面幻燈片中的内容是從随機梯度下降、平坦度和泛化中提取出來的,在2018年的ICML由Y. Bengio提供,他提出了用另一種方法來了解SGD,通過這種方法你可以用分布(點雲)代替點。
這個點雲的大小(即相關分布的方差)與learning_rate/batch_size的值成正比。在一篇論文中給出了證明,《
随機梯度下降進行變分推理,收斂到深度網絡的極限循環》(Stochastic gradient descent performs variational inference, converges to limit cycles for deep networks),這是他們在機器學習幾何學研讨會上提出的。這個公式非常的直覺:小批量的大小意味着非常嘈雜的梯度(因為是在資料集非常小的子集上計算的),而高學習率意味着嘈雜的步驟。
将SGD看作是随時間移動的分布,其結果是,控制下降的方程現在是随機偏微分方程。更确切地說,在某些假設的條件下,表明控制方程實際上是福克-普朗克方程(Fokker-Planck equation)。
上面的幻燈片是在2018年的ICML上,從P.Chaudhari和S.Soatto的深度網絡随機梯度下降的高維幾何學與動力學的演講中獲得的,展示了如何從離散系統過度到福克-普朗克方程所描述的連續系統。
在統計實體學中,這種類型的方程描述了暴露于拖曳力(漂移分布,即移動其平均值)和随機力(擴散分布,即提高其方差)的顆粒演變。在SGD中,拖曳力由真實梯度模拟的,而随機力對應于算法固有的噪聲。如上述幻燈片中看到的,擴散項與溫度項T=1/β=learning_rate/(2*batch_size)是成比例的,這再次表明了這個比率的重要性!
上圖表示福克-普朗克方程下分布的演化,它随着時間的推移在左邊漂移和擴散。(來源:維基百科)
利用這個架構,Chaudhari和Soato證明了我們的分布将單調收斂到某一穩定分布(對KL-divergence來說):
論文《
》的主要法則之一,證明了分布到平穩狀态(對KL-divergence來說)的單調收斂性。第二個方程表明了最小化F等于最小化某個可能的ϕ,以及最大化分布的熵(由溫度系數1/β控制平衡)。
上面的理論有幾個有趣的地方值得在這說明一下:
· 由SGD最小化的函數可以被重寫為兩項之和(見等式11):可能的Φ的期望值和分布的熵。溫度系數1/β控制這兩項之間的平衡;
可能的Φ隻取決于網絡的資料和體系結構(而不是優化過程),如果它等于損失函數,那麼SGD将收斂到一個全局的最小值。但是,論文裡表明了這種情況很少發生,并且知道Φ與損失函數的差距,這将告訴你SGD将要收斂的可能性有多大;
· 最終分布的熵取決于learning_rate /batch_size(溫度)的值。直覺地來說,熵與分布的大小有關,并且具有一個高的溫度值常常歸結為具有高方差的分布,這通常意味着是一個平面的最小值。由于平面最小值通常被認為具有更好的泛化能力,是以它與高效學習和低批量值常常導緻更好的最小值的實驗發現是一緻的;
是以,看到SGD作為一個随着時間推移的分布,向我們表明了learning_rate/batch_size的值比每個關于收斂和泛化分離的超參數更有意義。除此之外,它能夠引入與收斂相關的網絡潛力,并且可以為體系結構檢索提供良好的度量。
結論尋找深度學習理論的探索可以分為兩部分:首先,通過玩具模型和實驗,建立關于深度學習如何和為什麼起作用的感覺,然後将這些感覺表示成數學形式,這樣就可以幫助我們解釋目前的結果和以後産生新的結果。
在本文中,我們試圖表達對神經網絡的高維損失函數和SGD的解釋說明的更多感覺,同時表明了新的形式主義方法正在被建立在具有深層神經網絡優化的真實數學理論的目标中。
但是,盡管非凸性優化是深層學習的基礎,并且有大量網絡的層和參數,但是它的成功主要來自于具備良好的泛化能力。這将是下一部分的目标。
數十款阿裡雲産品限時折扣中,趕緊點選領劵開始雲上實踐吧!本文由北郵
@愛可可-愛生活老師推薦,
阿裡雲雲栖社群組織翻譯。
文章原标題《Recent Advances for a Better Understanding of Deep Learning − PartI 》
作者:Arthur Pesah
譯者:奧特曼,審校:袁虎。
文章為簡譯,更為詳細的内容,請檢視
原文