TensorFlow 實戰(二)—— tf train(優化演算法)
阿新 • • 發佈:2018-11-12
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
- tf 下以大寫字母開頭的含義為名詞的一般表示一個類(class)
1. 優化器(optimizer)
優化器的基類(Optimizer base class)主要實現了兩個介面,一是計算損失函式的梯度,二是將梯度作用於變數。tf.train 主要提供瞭如下的優化函式:
- tf.train.Optimizer
- tf.train.GradientDescentOptimizer
- tf.train.AdadeltaOpzimizer
- Ada delta
- tf.train.AdagradDAOptimizer
- tf.train.MomentumOptimizer
- tf.train.AdamOptimizer
- tf.train.FtrlOptimizer
- tf.train.ProximalGradientDescentOptimizer
- tf.train.ProximalAdagradOptimizer
- tf.train.RMSPropOptimizer
2. 梯度計算
TensorFlow 同時也提供了給定 TensorFlow 計算圖(computation graph)的導數。上節提到的優化器類(optimizer classes)會自動計算 computation graph 的導數,但使用者自定義優化器時,可以使用如下低級別的函式:
- tf.gradients
- tf.AggregationMethod
- tf.stop_gradient
- tf.hessians
2. 學習率衰減(decaying the learning rate)
tf.train.exponential_decay
# 實現的是如下的操作decayed_lr = lr * decay_rate ^ (global_step/decay_steps)
- 1
- 2
- 3
- 4
在其 tf 下的使用為:
- 1
lr = tf.train.exponential_decay(0.1, global_step, 100, .96, staircase=True)
- 1
tf.train.inverse_time_decay
- tf.train.natural_exp_decay
- tf.train.piecewise_constant
- tf.train.polynomial_decay