Training | TensorFlow

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)
在其 tf 下的使用为:
lr = tf.train.exponential_decay(0.1, global_step, 100, .96, staircase=True)

tf.train.inverse_time_decay

tf.train.natural_exp_decay
tf.train.piecewise_constant
tf.train.polynomial_decay