11.9. Adadelta¶ SageMaker Studio Lab
Adadelta是AdaGrad的另一种变体( 11.7节),
主要区别在于前者减少了学习率适应坐标的数量。
此外,广义上Adadelta被称为没有学习率,因为它使用变化量本身作为未来变化的校准。
Adadelta算法是在 (Zeiler, 2012)中提出的。
与
11.8节的区别在于,我们使用重新缩放的梯度\(\mathbf{g}_t'\)执行更新,即
那么,调整后的梯度\(\mathbf{g}_t'\)是什么?我们可以按如下方式计算它:
其中\(\Delta \mathbf{x}_{t-1}\)是重新缩放梯度的平方\(\mathbf{g}_t'\)的泄漏平均值。我们将\(\Delta \mathbf{x}_{0}\)初始化为\(0\),然后在每个步骤中使用\(\mathbf{g}_t'\)更新它,即
和\(\epsilon\)(例如\(10^{-5}\)这样的小值)是为了保持数字稳定性而加入的。
对于每次参数更新,选择\(\rho = 0.9\)相当于10个半衰期。由此我们得到:
为了简洁实现,我们只需使用高级API中的Adadelta算法。