1. 程式人生 > >tensorflow的優化器比較

tensorflow的優化器比較

標準梯度下降法:彙總所有樣本的總誤差,然後根據總誤差更新權值

隨機梯度下降:隨機抽取一個樣本誤差,然後更新權值 (每個樣本都更新一次權值,可能造成的誤差比較大)

批量梯度下降法:相當於前兩種的折中方案,抽取一個批次的樣本計算總誤差,比如總樣本有10000個,可以抽取1000個作為一個批次,然後根據該批次的總誤差來更新權值。(常用)

momentum:當前權值的改變會收到上一次權值的改變的影響,就像小球滾動時候一樣,由於慣性,當前狀態會受到上一個狀態影響,這樣可以加快速度。

NAG(Nesterov Accelerated gradient)與momentum相比,它更為聰明,因為momentum是一個路痴,它不知道去哪裡,而NAG則知道我們的目標在哪裡。也就是NAG知道我們下一個位置大概在哪裡,然後提前計算下一個位置的梯度。然後應用於當前位置指導下一步行動。

Adagrad:核心思想是對於常見的資料給予比較小的學習率去調整引數,對於不常見的資料給予比較大的學習率調整引數。它可以自動調節學習率,但迭代次數多的時候,學習率也會下降。

RMSprob :採用前t-1次梯度平方的平均值 加上當前梯度的平方 的和再開放作為分母

Adadelta :不使用學習率

Adam :會把之前衰減的梯度和梯度平方儲存起來,使用RMSprob,Adadelta相似的方法更新引數