動量梯度下降法(Gradient Descent with Momentum)

梯度下降法限制

在使用傳統的梯度下降法,在下降的過程中,由於非常依賴當前的損失地形,在某些情況下,可能會有飄動不穩定的問題產生,舉例來說,在山裡面遇到比較蜿蜒且陡峭的地形,會遇到在那邊繞圈圈,而找不到真正可下山的路徑,造成收斂效率降低,為了要改善傳統梯度下降法的效率,就會有momentum的概念進行修正。

梯度下降法之限制
只根據當前損失地形,進行梯度下降。
在某些情況下,可能會有飄動不穩定的現象,造成收斂效率減低,  為了解決此問題,
才會有momentum修正。

動量(momentum)介紹

什麼是momentum呢?momentum是力學的概念,定義為質量乘上速度,假設同一個物體,質量都相同,速度越快,則會造成momentum越大,速度越小,則會造成momentum越小。

什麼是momentum呢? momentum是源自於力學的概念,其定義為質量乘上速度。
同一個物體,速度快則momentum大,速度小則momentum小。

速度會直接影響momentum的大小,其中速度為加速度累積的結果,綜合所有物體加速度的值,最終就可以得到物體的速度。

舉例來說,車子一直踩油門,一直有加速,速度就會快,momentum就會大。車子一直剎車,一直減速,速度就會慢, momentum就會小。

因此,momentum其實也可以看做是加速度的累積的結果。

速度是momentum直接影響,速度是加速度的累積結果。
舉例來說
車子一直踩油門,一直有加速,速度就會快,momentum就會大。
車子一直剎車,一直減速,速度就會慢, momentum就會小。

梯度下降法的動量(momentum)

在梯度下降法的momentum修正是如何定義的呢?Momentum是梯度累積的結果。會將不同時刻的梯度,不斷累加起來,最終得到累加的結果。

在梯度下降法的momentum修正是如何定義的呢?
Momentum是梯度累積的結果。

我們以力學觀點來想像梯度,其實梯度就可以看成是加速度,momentum就是速度。梯度一直很大,就可以想像成一直加速,最終momemtum就會大。梯度一直很小,就可以想像成是一直減速,momentum就會小。

以力學觀點來想梯度:
其實梯度就可以看成是加速度,momentum就是速度。
梯度一直很大,就可以想像成一直加速,最終momemtum就會大。
梯度一直很小,就可以想像成是一直減速,momentum就會小。

其實梯度也是有方向性,momentum在累積之後,也是會有累積梯度的方向。方向的累積,舉例來說,如果一個物體一下往東走,一下又往北走,則綜合累積的方向就是會指向東北。

其實梯度也是有方向性,momentum在累積之後,也是會有累積梯度的方向。

動量梯度下降法效益

對於要快速下降至谷底的目標而言,谷底代表訓練損失最小,代表我們可得到訓練完成的模型。

如何才可快速下降到谷底呢?有兩大要素分別是需要找到對的方向 以及 快速向前走。

找到對的方向指的是可以往谷底下降的方向,快速向前走指的是可把步伐邁開,快步前進。

對於要快速下降至谷底的目標而言,谷底代表訓練損失最小。
如何才可快速下降到谷底呢?
需要找到對的方向 以及 快速向前走。

Momentum的效果是

1.因為有累積梯度的方向,所以具有穩定方向的效果,更可以朝對的方向下山。

這是因為傳統梯度下降法只根據當前地形進行下降,如果在很蜿蜒的地形,其實梯度會一直變化,就會造成會在這個地形繞來繞去。使用動量修正,不會只依照當前梯度下降,會有累積的梯度下降,所以在比較蜿蜒的地形時,反而可以穩定方向,持續往山谷下降。

2.因為綜合累積梯度,所以可以更快速下降。

因為梯度就可看成是加速度,有很多梯度累積起來,下降速度就會越來越快。

Momentum的效果是
1.因為有累積梯度的方向,所以具有穩定方向的效果,更可以朝對的方向下山。
2.因為綜合累積梯度,所以可以更快速下降。
(有加速度的累積)

就好像一顆球往山裡面滾,因為有慣性效果,越滾到後面,速度會越快的效果,越快到達山谷。

就好像一顆球往山裡面滾,因為有慣性效果,
越滾到後面,速度會越快的效果,越快到達山谷。

結論

本篇文章介紹梯度下降法的動量修正概念,而一般在機器學習的最佳化求解器,也會有此修正概念,接下來我們會逐一介紹不同的梯度下降方式,希望大家了解原理後,更可以在實作當中,選擇更適當的方法,更有效率完成開發。