2.10 局部最优的问题-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
| 2.9 學習率衰減 | 回到目錄 | 2.11 總結 |
局部最優的問題 (The Problem of Local Optima)
在深度學習研究早期,人們總是擔心優化算法會困在極差的局部最優,不過隨著深度學習理論不斷發展,我們對局部最優的理解也發生了改變。我向你展示一下現在我們怎么看待局部最優以及深度學習中的優化問題。
這是曾經人們在想到局部最優時腦海里會出現的圖,也許你想優化一些參數,我們把它們稱之為 W1W_1W1? 和 W2W_2W2? ,平面的高度就是損失函數。在圖中似乎各處都分布著局部最優。梯度下降法或者某個算法可能困在一個局部最優中,而不會抵達全局最優。如果你要作圖計算一個數字,比如說這兩個維度,就容易出現有多個不同局部最優的圖,而這些低維的圖曾經影響了我們的理解,但是這些理解并不正確。事實上,如果你要創建一個神經網絡,通常梯度為零的點并不是這個圖中的局部最優點,實際上成本函數的零梯度點,通常是鞍點。
也就是在這個點,這里是 W1W_1W1? 和 W2W_2W2? ,高度即成本函數 JJJ 的值。
但是一個具有高維度空間的函數,如果梯度為0,那么在每個方向,它可能是凸函數,也可能是凹函數。如果你在2萬維空間中,那么想要得到局部最優,所有的2萬個方向都需要是這樣,但發生的機率也許很小,也許是 2?200002^{-20000}2?20000 ,你更有可能遇到有些方向的曲線會這樣向上彎曲,另一些方向曲線向下彎,而不是所有的都向上彎曲,因此在高維度空間,你更可能碰到鞍點。
就像下面的這種:
而不會碰到局部最優。至于為什么會把一個曲面叫做鞍點,你想象一下,就像是放在馬背上的馬鞍一樣,如果這是馬,這是馬的頭,這就是馬的眼睛,畫得不好請多包涵,然后你就是騎馬的人,要坐在馬鞍上,因此這里的這個點,導數為0的點,這個點叫做鞍點。我想那確實是你坐在馬鞍上的那個點,而這里導數為0。
所以我們從深度學習歷史中學到的一課就是,我們對低維度空間的大部分直覺,比如你可以畫出上面的圖,并不能應用到高維度空間中。適用于其它算法,因為如果你有2萬個參數,那么 JJJ 函數有2萬個維度向量,你更可能遇到鞍點,而不是局部最優點。
如果局部最優不是問題,那么問題是什么?結果是平穩段會減緩學習,平穩段是一塊區域,其中導數長時間接近于0,如果你在此處,梯度會從曲面從從上向下下降,因為梯度等于或接近0,曲面很平坦,你得花上很長時間慢慢抵達平穩段的這個點,因為左邊或右邊的隨機擾動,我換個筆墨顏色,大家看得清楚一些,然后你的算法能夠走出平穩段(紅色筆)。
我們可以沿著這段長坡走,直到這里,然后走出平穩段。
所以此次視頻的要點是,首先,你不太可能困在極差的局部最優中,條件是你在訓練較大的神經網絡,存在大量參數,并且成本函數 JJJ 被定義在較高的維度空間。
第二點,平穩段是一個問題,這樣使得學習十分緩慢,這也是像Momentum或是RMSprop,Adam這樣的算法,能夠加速學習算法的地方。在這些情況下,更成熟的優化算法,如Adam算法,能夠加快速度,讓你盡早往下走出平穩段。
因為你的網絡要解決優化問題,說實話,要面臨如此之高的維度空間,我覺得沒有人有那么好的直覺,知道這些空間長什么樣,而且我們對它們的理解還在不斷發展,不過我希望這一點能夠讓你更好地理解優化算法所面臨的問題。
課程PPT
| 2.9 學習率衰減 | 回到目錄 | 2.11 總結 |
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的2.10 局部最优的问题-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.9 学习率衰减-深度学习第二课《改善
- 下一篇: 2.11 总结-深度学习第二课《改善深层