網頁

2018年6月6日 星期三

Optimizer 選擇

tf.train.GradientDescentOptimizer
梯度下降法
常見梯度下降法 BGD, SGD, MBGD
BGD: Batch gradient descent
採用整個訓練集的數據來計算,所以速度慢,若遇到大量的數據集會更慢
SGD: Stochastic gradient descent
隨機採用部分的訓練集來計算,所以速度較快,但是因為更新快,會造成震盪
MBGD: Mini-batch gradient descent

tf.train.AdagradOptimizer
Adagrad 會累加之前所有的梯度平方,
對低頻的參數做較大的更新,對高頻做較小的更新,
用於處理大的希疏矩陣,可以自動變更學習速率

tf.train.AdadeltaOptimizer
Adadelta 是對 Adagrad 的擴展,甚至不需要提前設定學習率

tf.train.MomentumOptimizer
如果梯度長時間保持一個方向,則增大參數更新幅度。
可以想像成從山頂放下一個球,會越滾越快

tf.train.RMSPropOptimizer
RMSProp 和 Adadelta 都是為了解決 Adagrad 學習率急劇下降的問題

tf.train.AdamOptimizer
它綜合了 Momentum 和 RMSProp 方法,是目前最常用的優化器



沒有留言:

張貼留言