走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究

格伯納發表於2018-06-21

1.引言

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


大部分超引數都可以用來優化神經網路的效能。但並不是所有超引數都能"擔此重任"。優化神經網路效能需要選擇合適的優化器。而本文將為你帶來兩個最常用的優化器。

2.梯度下降優化器

梯度下降可能是最流行、最廣泛的優化器。它是一種簡單有效的神經網路優化方法。所有優化器的目標都是使成本函式達到最小值的情況下同時達到全域性最小值。如果你想構建一個三維的成本函式,它將類似於下圖所示。

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


每一次我們找到梯度,更新權值和偏差值時,我們就更接近最優值。在我們開始訓練神經網路之前,我們的成本會很高,就好比上圖所示的A點。通過神經網路的每一次迭代訓練,成本會逐步降低,並接近上圖中B點所表示的全域性最小值。下圖將提供一個更直觀的解答,幫助我們訓練以達到全域性最小值。

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


我們的成本函式並不總是像上影像所描述的那樣"平滑"。很多時候,這些成本函式是非凸的。非凸函式帶來的問題是,你有可能會陷入區域性最小值,而不會收斂到全域性最小值。如下圖所示。

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


從上面的影像中可以看到,圖中有兩個最小值,其中只有一個是全域性最小值。我們的神經網路很有可能會錯過全域性最小值,而收斂到區域性最小值。限制網路收斂的方法有:改變學習率或使用動量等。

3.學習率

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


學習率是梯度下降中不可缺少的部分,也是其他優化器的重要因素。讓我們用一個類比來更好地解釋學習率。假設成本函式是一個坑,你從坑頂開始,你的目標是到達坑的底部。你可以把學習率看作你要到達底部採取的步驟。如果你選擇一個很大的值作為學習率,你就必須對權值和偏差值進行較大的改變。也就是說,你會直接"跳到"底部。

還有一種可能性,你將超越全域性最小值(即底部),最終進入坑的另一邊。很明顯,有了過高的學習率,你就無法收斂到全域性最小值,而是在全域性最小值附近"徘徊"。如果你選擇一個較小值作為學習率,你的演算法會需要更長的時間收斂。也就是說你會"小步慢跑"到底部。另外,如果成本函式是非凸的,那麼你的演算法可能會陷入區域性最小值。學習率的選擇沒有訣竅,你得根據實驗和直覺進行選擇。

4.動量梯度下降

通常情況下,動量梯度下降演算法比標準梯度下降演算法收斂速度更快。在標準梯度下降演算法中,你需要在某個方向上採取較大的步,而在另一個方向上採取較小的步,這無疑會減緩演算法的速度。

在下面所示的影像中,你可以看到標準梯度下降在y方向上採取更大的步,在x方向上採取更小的步。這時候,你或許會想如果我們的演算法能夠減少在y方向上所採取的步,並將步的方向集中在x方向,我們的演算法就會很快收斂。

而這也正是動量梯度下降演算法的優勢之處。它限制了一個方向的振盪,這樣我們的演算法就能更快地收斂。而且,由於y方向上步的數量有限,我們可以設定較高的學習率。

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


5.RMSprop優化器

RMSprop優化器的原理類似於動量梯度下降演算法。RMSprop優化器限制了垂直方向上的振盪,使我們的演算法可以在水平方向上採取更大的步,進行更快地收斂。RMSprop優化器和梯度下降優化器的區別主要在於它們的計算方法。下面是關於RMSprop優化器和動量梯度下降演算法的方程(動量的值用beta表示,通常設定為0.9)。

走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


走入五彩斑斕神經網路世界:關於梯度下降、RMSprop優化器的研究


有時候v_dw的值可能會非常接近0,我們的權值可能會"爆炸"。為了防止梯度上升,我們在分母中加入了一個引數"ε"。

6.結語

優化器是神經網路的關鍵部分,瞭解它們的原理將有助於你的工作。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2156472/,如需轉載,請註明出處,否則將追究法律責任。

相關文章