Adadelta算法是Adagrad算法的延伸,与RMSProp算法一样,是为了解决Adagrad中学习率不断减小的问题,RMSProp是通过移动加权平均的方式,Adadelta也一样,并且Adadelta不需要学习率这个参数
RMSProp算法
Adadelta的分母和RMSProp的分母一致
需要更新参数的变化量为
分子表示的是每次更新梯度变化量的累加量
最后的参数更新如下
实现
optimizer = torch.optim.Adadelta(net.parameters(), rho=0.9)
参数列表
rho指的是上面的ρ