back to index
Deep Learning Theory 2-4: Geometry of Loss Surfaces (Conjecture)

link |
等一下助教會講作業,請容我再講十分鐘
link |
其實今天在Deep Learning的領域有這麼一個推論
link |
它的Loss跟Global Optimum都是差不多的
link |
也就是說,你今天在做Optimization的時候
link |
走到Local Minima也不用驚慌
link |
因為Local Minima的Loss跟Global Minima的Loss
link |
而我們今天又知道說,Learning跟Optimization不一樣
link |
在你的Training Set上Loss最小的東西
link |
搞不好你只是Overfitting而已啊
link |
找一個Local Minima,它的Loss跟Global Minima差不多
link |
所以在Deep Learning有這麼樣的一個傳說
link |
是Yann LeCun在2007年的一個,還是2006年的一個演講
link |
所以十年前,Yann LeCun就已經這麼說了
link |
他就告訴我們說,在Deep Learning的時候不用害怕
link |
當你卡在Local Minima的時候,它跟Global Minima的值
link |
那當年Yann LeCun十年前講的時候
link |
但是十年後,我看到2007年的時候有一篇Paper
link |
那Yann LeCun是怎麼說的呢?
link |
我們就歸顛Descent,我們最後會停在一個Critical Point
link |
這個Critical Point,它可能是一個Settle Point
link |
也可能是一個Local Minima
link |
那它到底是Settle Point還是一個Local Minima呢?
link |
我們剛才說,我們要分析Hessian Edge
link |
那我們假設現在Network有N個參數
link |
那Hessian Edge就是一個NxN的Matrix
link |
我們剛才講過說一個NxN的對稱的矩陣
link |
它會有N個彼此之間是orthogonal的I跟Vector
link |
所以我們現在把N個I跟Vector列出來就是V1、V2
link |
每一個I跟Vector會對應一個I跟Value
link |
那這個Critical Point就是Local Minima
link |
有正有負,它就是Settle Point
link |
那現在我們隨便走到一個Critical Point
link |
它到底應該是Local Minima還是Settle Point還是Local Maxima呢?
link |
假設今天這些Λ是從某一個比如說Gaussian Distribution Sample出來的
link |
它有一半的機率是正的,有一半的機率是負的
link |
它的I跟Value應該是正的和負的的機率各一半一半
link |
那今天卡走到一個Critical Point
link |
也就是說它有二分之一的機率是Local Minima
link |
有二分之一的機率是Local Maxima
link |
除非正好是零,不然它不可能是Settle Point
link |
有一半的機率是Local Minima,有一半的機率是Local Maxima
link |
幾乎不可能是一個Settle Point
link |
Settle Point發生的機率有二分之一
link |
Settle Point發生的機率就已經大過Local Minima
link |
有非常低的機率是Local Minima
link |
那你要全部都是正的它才是Local Minima
link |
你每次走到一個Settle Point的時候
link |
走到一個Critical Point的時候
link |
它幾乎都是一個Settle Point
link |
當我們今天碰到一個Critical Point的時候
link |
它就越不可能是一個Local Minima
link |
它就越有可能是一個Settle Point
link |
你走到一個Critical Point
link |
它是Local Minima的機率幾乎是不可能的
link |
它幾乎一定是Settle Point
link |
這個機率跟你現在的Loss是有關係的
link |
是跟你現在的Loss Function的Loss
link |
就跟Loss Function的Loss是有關係的
link |
P是負的Icon Value出現的機率
link |
你找到一個Critical Point
link |
所以所有的路可能都是會讓Loss變高
link |
如果今天你所在的Arrow Surface
link |
出現負的Icon Value的機率就很小
link |
今天隨著Epsilon Loss的不同
link |
你走到一個Critical Point
link |
那今天你的這個浪達代表Icon Value
link |
你的Icon Value就會逐漸往正的那邊偏
link |
很容易是一個Local Minima
link |
Zero Point比較容易出現在Loss大的地方
link |
Local Minima比較容易出現在Loss低的地方
link |
Aero Surface的想像是長這個樣子的
link |
可能有一個Global Minima在這個地方
link |
那所有的Local Minima它的Loss都很低
link |
可能就跟Global Minima差不多低了
link |
而所有的Zero Point它的Loss都很高
link |
所有的Zero Point它都會出現在Loss比較高的地方
link |
所以如果你今天走走走走到一個Local Minima
link |
那這個Local Minima的Loss
link |
可能就跟Global Minima的Loss差不多了
link |
你也沒有必要真的一定要去找出Global Optimum
link |
也許Local Optimum的Loss已經夠低了
link |
他找到了三個Critical Point
link |
這三個Critical Point Loss分別是這三個樣子
link |
那找到那個Critical Point以後
link |
你就把它的Eigenvalue解出來
link |
把那三個黑線的Eigenvalue解出來
link |
藍色的這個Critical Point
link |
中間這個黑色的這條線代表Eigenvalue是0
link |
藍色這個Critical Point
link |
它的Eigenvalue有一部分是負的
link |
綠色的有一部分Eigenvalue是負的
link |
紅色的這個Critical Point
link |
它的Eigenvalue幾乎通通都是正的
link |
代表它是一個Low Commitment
link |
而Low Commitment是出現在Loss很低的地方
link |
就是你就Training Error就Training很多次
link |
你知道每次Initialization的值不同
link |
找到很多個Critical Point
link |
好那那些Critical Point
link |
各自有不同的Error把它們記錄下來
link |
接下來每一個Critical Point
link |
然後算出那個Hesitant的Eigenvalue
link |
它的Positive的Eigenvalue越多的話
link |
代表它越像是一個Low Commitment
link |
很難正好最後所有的Eigenvalue通通是正的
link |
那假設今天某一個Hesitant算出來的
link |
代表說它越像是一個Low Commitment
link |
代表它越像是一個Saddle Point
link |
好現在就把每一個Critical Point
link |
它像是Low Commitment的比例把它畫出來
link |
如果今天一個Critical Point
link |
它越像是Low Commitment
link |
或者是就是說一個Critical Point
link |
它越像是Low Commitment
link |
1減掉Low Commitment的Degree
link |
會正比於你的Loss Epsilon
link |
它像不像是Low Commitment的程度
link |
就他就把SpringGlass的Model
link |
Network跟SpringGlass Model
link |
Network跟SpringGlass Model是一樣的
link |
所以SpringGlass Model
link |
在左邊是SpringGlass的Model
link |
然後TrendTrendTrend看
link |
就是走到Local Minima就會卡住
link |
今天如果是一個比較小的Network
link |
我們有一個Global Optimization的方法
link |
我們可以用Gradient Descent
link |
找到Global Optimization
link |
但是它這邊其實也有一些比較不Practical的假設
link |
當然我們知道一般的Network是Fully Connected的
link |
它就變成只有一個Hidden Layer的Network
link |
它變成一個正常的Fully Connected Network
link |
但是證明只有一個Hidden Layer的Network
link |
可以找到Global Optimization
link |
SVM它也可以看作是一個Hidden Layer的Neuron Network
link |
它已經可以找到Global Optimization
link |
它的整個Algorithm看起來有點像是Boosting
link |
The Low Surface of Modern Linked Network
link |
就是試圖把Splitting Edge Model跟Network硬是連在一起
link |
Settlepoint才是真正的問題所在