梯度下降法限制
在使用傳統的梯度下降法,在下降的過程中,由於非常依賴當前的損失地形,在某些情況下,可能會有飄動不穩定的問題產生,舉例來說,在山裡面遇到比較蜿蜒且陡峭的地形,會遇到在那邊繞圈圈,而找不到真正可下山的路徑,造成收斂效率降低,為了要改善傳統梯度下降法的效率,就會有momentum的概念進行修正。
動量(momentum)介紹
什麼是momentum呢?momentum是力學的概念,定義為質量乘上速度,假設同一個物體,質量都相同,速度越快,則會造成momentum越大,速度越小,則會造成momentum越小。
速度會直接影響momentum的大小,其中速度為加速度累積的結果,綜合所有物體加速度的值,最終就可以得到物體的速度。
舉例來說,車子一直踩油門,一直有加速,速度就會快,momentum就會大。車子一直剎車,一直減速,速度就會慢, momentum就會小。
因此,momentum其實也可以看做是加速度的累積的結果。
梯度下降法的動量(momentum)
在梯度下降法的momentum修正是如何定義的呢?Momentum是梯度累積的結果。會將不同時刻的梯度,不斷累加起來,最終得到累加的結果。
我們以力學觀點來想像梯度,其實梯度就可以看成是加速度,momentum就是速度。梯度一直很大,就可以想像成一直加速,最終momemtum就會大。梯度一直很小,就可以想像成是一直減速,momentum就會小。
其實梯度也是有方向性,momentum在累積之後,也是會有累積梯度的方向。方向的累積,舉例來說,如果一個物體一下往東走,一下又往北走,則綜合累積的方向就是會指向東北。
動量梯度下降法效益
對於要快速下降至谷底的目標而言,谷底代表訓練損失最小,代表我們可得到訓練完成的模型。
如何才可快速下降到谷底呢?有兩大要素分別是需要找到對的方向 以及 快速向前走。
找到對的方向指的是可以往谷底下降的方向,快速向前走指的是可把步伐邁開,快步前進。
Momentum的效果是
1.因為有累積梯度的方向,所以具有穩定方向的效果,更可以朝對的方向下山。
這是因為傳統梯度下降法只根據當前地形進行下降,如果在很蜿蜒的地形,其實梯度會一直變化,就會造成會在這個地形繞來繞去。使用動量修正,不會只依照當前梯度下降,會有累積的梯度下降,所以在比較蜿蜒的地形時,反而可以穩定方向,持續往山谷下降。
2.因為綜合累積梯度,所以可以更快速下降。
因為梯度就可看成是加速度,有很多梯度累積起來,下降速度就會越來越快。
就好像一顆球往山裡面滾,因為有慣性效果,越滾到後面,速度會越快的效果,越快到達山谷。
結論
本篇文章介紹梯度下降法的動量修正概念,而一般在機器學習的最佳化求解器,也會有此修正概念,接下來我們會逐一介紹不同的梯度下降方式,希望大家了解原理後,更可以在實作當中,選擇更適當的方法,更有效率完成開發。