ICML 2018 Tutorial學習筆記
4 人贊了文章
近期和實驗室的 @佶佶國王 一起準備整理一下ICML 2018的tutorial----Toward Theoretical Understanding of Deep Learning. 希望可以從中看出一些發展趨勢,指導科研思路。由於實驗室一部分研究方向集中在優化方面,所以從優化角度來整理這篇tutorial。歡迎大家指出錯誤:)
Part 1: Optimization in deep learning
優化在深度學習中的主要困難主要是非凸的困難,很難利用凸優化的方式去求解最優點,要從中搜索出最優點將會在某種情況下面臨NP-hard的問題。
如果 那麼就會存在使得函數值下降的方向(局部地:負梯度方向)
在優化中我們把尋找最優值的目標轉化為三步的目標:
找到臨界點(梯度為 0 )
找到局部最優點(梯度為0,hessen矩陣半正定)
找到全局最優點
對於初始值的假設:
所有的初始值的收斂性
隨機的初始值的收斂性
選定的初始值的收斂性
目標:在特徵空間維數為 d 的時候,希望運行在 (多項式時間, 為精確度)
但是維度帶來的是NP-hard的搜索難度(數學上,在 中,存在 數量級的方向,使得每個方向之間的夾角大於60度)。
深度學習中的分析是一個黑箱,因為我們很難去知道深度學習所構建的函數的幾何特徵(有一些統計上的工作,但是不是那麼成功),並且沒有一個乾淨的數學表達來表示 ,那麼去找到全局最優值基本上是不可能的。
有句話叫,物理上能量守恆,數學上難度守恆,既然繞不開NP-hard的問題,我們只能退而求其次,尋找一個局部的解,使得它足夠好,所以大家把關注放在了非凸問題的局部最優值上。
梯度下降
如果hessen矩陣過大,意味著梯度的變化很快,所以向負梯度方向走一個步長,不一定能保證函數值下降,為了保證迭代後函數值下降,我們需要一個足夠小的步長,這個步長依賴於連續性(Lipschitz-ness)的要求:
我們取步長 ,可以得到:
實際上這個步長是對函數的二次上界取最小值(quadratic upper bound),二次上界的下降量可以bound住函數的下降量。
這樣可以使得函數值每次下降 ,就保證我們通過迭代可以得到一個接近0的梯度。
但梯度下降只完成了尋找臨界點的目標,並不能判斷局部最優或全局最優,要達到局部最優,還需要考慮避開鞍點。
如何避開鞍點(Saddle points)
在上面我們介紹了達到臨界值的方式,但這個臨界值可以是局部最優或者是鞍點,[Ge,Huang, Jin, Yuan15 ] 提出在梯度上增加雜訊(perturbed GD),使得可以逃離從幾何上不那麼穩定的鞍點,數學上可以證明在多項式 時間內,加入雜訊的梯度演算法可以逃離所有的鞍點[Jin et al17],並且可以使得hessen矩陣接近半正定:
(perturbed GD with large noise)這樣我們可以在得到臨界點的基礎上避開鞍點得到局部最優點。
實際上一般情況下不推薦使用perturbed GD,SGD能夠達到同樣的效果(避開鞍點)。
二階優化演算法
在凸優化中,二階演算法充分利用了函數的二階性質,使得收斂的速度比一節演算法快,二階演算法中最著名的是牛頓法:
[Pearlmutter』94]提出對於任意的向量 , 計算 只需要線性時間。
在高維的情況下,計算hessen矩陣的逆,會消耗很大的計算量,[Agarwal et al』17, Carmon et al』17] 提出用近似的方法估計矩陣的逆:
在實際操作中往往使用有限階擬合。
二階方法雖然可以更快的達到收斂,但依然沒有能力找到更好的局部最優值。
去黑箱的分析
由於深度學習的理論體系不是很完善,但是在效果上卻擊敗了很大一部分傳統的機器學習演算法,所以大家對於深度學習的內部原因一直以來都有很大的興趣。
很多機器學習的問題實際上是一種二層網路的深度學習問題:
經常對網路結構和數據分布等有假設
使用除了隨機梯度以外演算法(eg, tensor decomposition, alternating minimization, convex optimization …)
Example:Matrix completion,假設我們有 的rank為 矩陣 ,其中有一些缺失元素:
目標是恢復這些缺失元素,這個問題可以當作2層神經網路來學習。
來自於tutorial的例子:
Topic modeling [A., Ge, Moitra』12] [A. et al』13] Sparse coding [A., Ge, Ma, Moitra』14, 『15] [Anandkumar et al』14] Phase retrieval [Candes et al』15] Matrix completion [Many papers, eg Jain et al.』13] Matrix sensing Learning Noisy Or nets [A., Ge, Ma』17]
深度學習中的局部最優點
一些統計上的理論提出很多局部最優基本上和全局最優一樣好,能夠找到一個有效的局部最優點已經足以滿足應用上的需求,使用SGD在深度網路訓練出來的模型能夠擁有足夠好的效果。
多層網路的理論
現存的理論大部分是針對線性的網路的(激活函數 ) ([Baldi, Hornik』88], [Saxe et al 『13] (dynamics of training) [Kawaguchi』16] [Hardt and Ma』16] (landscape of linear resnets); [A., Cohen, Hazan』18])),但是線性網路依然還是一個線性變換,無法捕捉數據中的非線性關係。打開深度學習的黑箱,依然是一個巨大的挑戰。
推薦閱讀:
※TensorFlow成員說:深度學習的未來,在單片機的身上
※Patchouli的機器學習系列教程六:非監督學習——『器』
※從數據中識別動力系統
※機器學習需要哪些數學基礎
※深度學習在文本分類中的應用
TAG:數學 | 機器學習 | 深度學習DeepLearning |