1. 程式人生 > >Tensorflow中優化器--AdamOptimizer詳解

Tensorflow中優化器--AdamOptimizer詳解

一.什麼是Adam演算法?

Adam 這個名字來源於自適應矩估計(Adaptive Moment Estimation),也是梯度下降演算法的一種變形,但是每次迭代引數的學習率都有一定的範圍,不會因為梯度很大而導致學習率(步長)也變得很大,引數的值相對比較穩定。 如果一個隨機變數 X 服從某個分佈,X 的一階矩是 E(X),也就是樣本平均值,X 的二階矩就是 E(X^2),也就是樣本平方的平均值。 Adam 演算法根據損失函式對每個引數的梯度的一階矩估計和二階矩估計動態調整針對於每個引數的學習速率。TensorFlow提供的tf.train.AdamOptimizer可控制學習速度。AdamOptimizer通過使用動量(引數的移動平均數)來改善傳統梯度下降,促進超引數動態調整。

各種優化器用的是不同的優化演算法(如:Mmentum,SGD,Adam等),本質上都是梯度下降演算法的拓展。

二. Adam演算法介紹