type
status
date
slug
summary
tags
category
icon
password
Property
Adadelta是AdaGrad的另一种变体, 主要区别在于前者减少了学习率适应坐标的数量。 此外,广义上Adadelta被称为没有学习率,因为它使用变化量本身作为未来变化的校准。 Adadelta算法是在
Zeiler.2012
中提出的。Adadelta算法
Adadelta使用两个状态变量, 用于存储梯度二阶导数的泄露平均值, 用于存储模型本身中参数变化二阶导数的泄露平均值。
以下是Adadelta的技术细节。鉴于参数du jour是 ,获得了与
rmsprop
类似的以下泄漏更新:与
rmsprop
的区别在于,使用重新缩放的梯度 执行更新,即那么,调整后的梯度是什么?可以按如下方式计算它:
其中 是重新缩放梯度的平方 的泄漏平均值。将 初始化为 ,然后在每个步骤中使用 更新它,即
和 (例如 这样的小值)是为了保持数字稳定性而加入的。
代码实现
从零实现
Adadelta需要为每个变量维护两个状态变量,即 和 。
简洁实现
小结
- Adadelta没有学习率参数。相反,它使用参数本身的变化率来调整学习率。
- Adadelta需要两个状态变量来存储梯度的二阶导数和参数的变化。
- Adadelta使用泄漏的平均值来保持对适当统计数据的运行估计。