张量流中的RMSProp优化器是否使用Nesterov动量?

时间:2017-03-04 17:48:44

标签: machine-learning tensorflow deep-learning

创建RMSPRop优化器时,它会询问动量值。这种势头是什么?是Nesterov还是另一个?如何在tf?

中使用Nesterov动量和RMSProp

这里的doc字符串中有一个公式: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/rmsprop.py#L25

output: {
    path: __dirname+"/dist",
    filename: "library.js",
    libraryTarget: "commonjs-module"
},

有人可以解释g_t术语的含义是什么,这个公式在哪里计算?

据我了解,在Nesterov动量+ rmsprop中,您首先用当前动量改变权重,计算新的渐变,将它们除以sqrt(mean_square + epsilon)并增加动量。这是发生在这里的事吗?我无法找到training_ops.apply_rms_prop的实现,因为我对tf源不是很熟悉。

我来自Geoffrey Hinton关于神经网络的课程,其中解释了这个Nesterov动量+ rmsprop算法。我如何在tf中使用它?

如果我对尼斯特罗夫势头或任何其他事情的理解我错了,请纠正我。

1 个答案:

答案 0 :(得分:0)

  1. 您明确提及的文档提及:

      

    RMSProp的这种实现使用了简单的动量,而不是Nesterov的动力。

  2. AFAIK在RMSProp中没有内置的Nesterov动力实现。您当然可以根据自己的需要调整功能。

  3. 正如@xolodec所说,g_t是渐变。