TensorFlow中的優化演算法

2021-09-26 19:28:35 字數 397 閱讀 9545

隨機梯度下降——sgd(stochastic gradient descen)

每次從訓練樣本中隨機抽取乙個樣本計算loss和梯度並對引數進行更新,由於每次不需要遍歷所有的資料,所以迭代速度快,但是這種演算法比較弱,往往容易走偏。

與隨機梯度下降相對應的還有批量梯度下降bgd,每次用整個訓練集計算梯度,比較穩定,就是速度非常慢

小批量梯度下降(mini-batch gradient descent),每次抽取m個樣本

2.momentum 動量

動量的方法在隨機梯度下降的基礎上,加上了上一步的梯度

3.加速梯度演算法 nag

nesterov加速梯度與動量類似,也是考慮最近的梯度情況,但是nag相對超前一點,它先使用動量m計算引數u的下乙個位置的近似值,然後在近似位置上計算梯度

tensorflow中的優化函式

gradientdescentoptimizer adagradoptimizer adagraddaoptimizer momentumoptimizer adamoptimizer ftrloptimizer rmspropoptimizer 主要有以上幾種 用法 tf.gradientdesc...

tensorflow中的優化器

1.tf.train.gradientdescentoptimizer 標準梯度下降優化器 標準梯度下降先計算所有樣本彙總誤差,然後根據總誤差來更新權值 2.tf.train.adadeltaoptimizer adadelta優化器,在sgd的基礎上 3.tf.train.adagradoptim...

tensorflow的優化器比較

標準梯度下降法 彙總所有樣本的總誤差,然後根據總誤差更新權值 隨機梯度下降 隨機抽取乙個樣本誤差,然後更新權值 每個樣本都更新一次權值,可能造成的誤差比較大 批量梯度下降法 相當於前兩種的折中方案,抽取乙個批次的樣本計算總誤差,比如總樣本有10000個,可以抽取1000個作為乙個批次,然後根據該批次...