使用优化器

所以 TensorFlow 为您计算梯度。 但它还有更好的方法:它还提供了一些可以直接使用的优化器,包括梯度下降优化器。您可以使用以下代码简单地替换以前的gradients = ...training_op = ...行,并且一切都将正常工作:

  1. optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)
  2. training_op = optimizer.minimize(mse)

如果要使用其他类型的优化器,则只需要更改一行。 例如,您可以通过定义优化器来使用动量优化器(通常会比渐变收敛的收敛速度快得多;参见第 11 章)

  1. optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate, momentum=0.9)