本文经人工智能新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。多了一个优化器来挑战Adam的地位。近日,一篇NeurIPS2020收录的论文提出的优化器成为深度学习社区关注的焦点,并引起广泛讨论。这就是耶鲁大学团队提出的AdaBelief。该团队在论文中表示,该优化器结合了Adam的快速收敛特性和SGD良好的泛化能力。所谓AdaBelief是指根据梯度方向的“信念”(Belief)调整训练步长。它在算法上与Adam没有太大区别。从下面的算法实现中可以很容易地看出两者之间的区别。与Adam相比,AdaBelief没有引入其他任何新参数,但在最后一步更新上有所不同,即上图中蓝色标记的地方。Adam的更新方向是,AdaBelief的更新方向是vt和st。不同的是,后者是指数移动平均线(EMA)。mt可以看作是gt的预测值。当实际值与预测值相差不大时,分母较小,步长较大,因此可以大胆更新权重。当实际值与预测值相差很大时,AdaBelief倾向于“不相信”当前梯度,此时分母更大,更新步长更短。为什么AdaBelief在最后一步做出这么小的改变,未经审查,却能产生如此大的影响?这主要是因为AdaBelief考虑了两点。1.损失函数的曲率问题理想的优化器应该考虑损失函数的曲线,而不是简单地在梯度较大的地方采取较大的步长。在“大梯度,小曲率”的情况下(图中区域3),|gt-gt-1|和|st|很小,优化器应该增加它的步长。2.分母中的梯度符号在上图损失函数的情况下,蓝色向量代表梯度,叉代表最优解。Adam优化器在y方向上振荡,并在x方向上继续前进。这是由于Adam中的更新方向在低方差情况下接近“符号下降”。在AdaBelief中,AdaBelief在x方向上迈出一大步,而在y方向上只迈出一小步,以防止振荡。实验结果在几个简单的3D损失函数表面上,AdamBelief表现出了优异的性能。图像分类是在CIFAR-10和CIFAR-100数据集上用VGG11、ResNet34和DenseNet121三个网络训练的,AdaBelief表现出更好的收敛效果。而在ImageNet数据上,AdaBelief在Top-1精度上仅次于SGD。在PennTreeBank数据集上进行时间序列建模,使用LSTM进行实验,AdaBelief做到了最低的perplexity。GAN在WGAN和WGAN-GP上的实验表明,AdaBelief训练的结果都得到了最低的FID。网友质疑虽然AdaBelief在多项任务中都取得了不错的成绩,但是这种方式还是受到了很多网友的质疑。因为这些年号称可以替代Adam的优化器数不胜数,但最终经得起时间检验的却寥寥无几。网友首先质疑实验基线的选择。有人认为在CIFAR上,很难相信2020年SOTA模型的准确率低于96%,所以AdaBelief论文可能在最终选择基线时选择了与不太好的结果进行比较.在ImageNet测试的表2中,为什么使用ResNet18而不是更标准的ResNet50?而且AdaBelief并不是最优结果,而是用粗体标示,容易引起误解。巧妙的技巧是将所提出方法的分数加粗。另外,有人在作者没测试过的NLP任务上做实验,很快AdaBelief就“崩溃”了,而SGD却能很好的收敛。AdaBelief不会是最后一个旨在取代Adam的优化器,其泛化能力还有待更多研究者进一步检验。项目地址:https://juntang-zhuang.github.io/adabelief/论文地址:https://arxiv.org/abs/2010.07468代码地址:https://github.com/juntang-zhuang/Adabelief-Optimizer
