之间有什么区别
tf.train.RMSPropOptimizer(self.lr_rate).apply_gradients()
和
<html class="specific-page">
如果存在差异,请说我想使用@media only screen and (min-device-width: 700px) {
html.specific-page {
font-size: 19px;
}
.specific-page h1 {
font-size: 1.5rem;
}
}
,哪一个更受青睐?
谢谢!
答案 0 :(得分:1)
不,如果您的唯一目标是获得渐变,那么这两者之间没有区别,因为RMSPropOptimizer
(或任何特定的优化器)必须导入具有{{3}的基类Optimizer
函数反过来使用此处的tf.gradients
实现compute_gradients
来计算渐变,这与仅使用tf.gradients
相同。
相反,如果您正在训练需要计算渐变的神经网络,那么使用tf.train.RMSPropOptimizer(..)
是可取的,因为RMSProp
优化是在小批量设置中加快学习的方法之一
RMSProp:将权重(w)的学习率(lr)除以该权重的近期梯度幅度的平均值。
将(Momentum,AdaGrad,RMSProp)等不同优化应用于渐变的想法是,在计算渐变之后,您希望对它们进行一些处理,然后应用这些处理过的渐变。这是为了更好的学习。
因此,在RMSProp中,您不会始终使用恒定的学习率。它取决于“近期梯度的运行平均值”
而tf.gradients(..)
只计算渐变。如果您使用tf.gradients中的一个优化器,它会自动计算图表上的渐变。