title: Does RMSProp optimizer in tensorflow use Nesterov momentum?
body: <p>When you create RMSPRop optimizer, it asks for the momentum value. What is this momentum? Is it Nesterov or the other one? How do I use Nesterov momentum with the RMSProp in tf?</p>
  
  <p>There is a formula in the doc string here:
  <a href="https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/rmsprop.py#L25" rel="nofollow noreferrer">https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/rmsprop.py#L25</a></p>
  
  <pre><code>mean_square = decay * mean_square{t-1} + (1-decay) * gradient ** 2
  mom = momentum * mom{t-1} + learning_rate * g_t / sqrt(mean_square + epsilon)
  delta = - mom
  </code></pre>
  
  <p>Could someone explain what's the g_t term mean and where is this formula being computed?</p>
  
  <p>As far as I understand, in Nesterov momentum+rmsprop you first change the weights with the current momentum, compute new gradients, divide them by the sqrt(mean_square+epsilon) and add to the momentum. Is this what's happening here? I wasn't able to find the implementation of training_ops.apply_rms_prop since I'm not very familiar with the tf source.</p>
  
  <p>I'm coming from coursera Geoffrey Hinton course about neural networks, where this Nesterov momentum+rmsprop algorithm is explained. How do I use it in tf?</p>
  
  <p>Please, correct me if I'm wrong in my understanding of Nesterov momentum or any other thing.</p>