Keras RMSprop 中 Rho 和衰减参数的区别

机器算法验证 优化 张量流 循环神经网络 喀拉斯 有效值
2022-03-28 16:00:56

我正在调整 RNN 以对时间序列数据进行预测分析。我正在测试不同的优化器,目前正在使用 RMSprop。

我已经查看了 Hinton 关于该主题的讲义,以及有关包含优化器的 Keras 文档。但是,对于我的生活,我找不到一个很好的解释 和 之间的rho区别decay

这些文档中,我知道 rho 也指衰减率,但是在这一点上,这两个参数之间的区别对我来说还不是很清楚。

keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=None, decay=0.0)
1个回答

简短说明

rho 是“梯度移动平均 [也是指数加权平均] 衰减因子”,而衰减是“每次更新的学习率衰减”

长解释

RMSProp 定义如下

在此处输入图像描述 资源

因此 RMSProp 使用“rho”来计算梯度平方的指数加权平均值。

请注意,“rho”是 RMSProp 优化器的直接参数(在 RMSProp 公式中使用)。

Decay 另一方面处理学习率衰减学习率衰减是一种通常独立于所选优化器应用的机制。为了方便起见,Keras 只是将此机制构建到 RMSProp 优化器中(就像SGDAdam等其他优化器一样,它们都具有相同的“衰减”参数)。您可能会将“decay”参数视为“lr_decay”。

起初可能会令人困惑,有两个衰减参数,但它们衰减不同的值。

  • “rho”是衰减因子或梯度平方的指数加权平均值。
  • “decay”随着时间的推移会衰减学习率,因此我们可以在训练结束时更接近局部最小值。