Press "Enter" to skip to content

速度堪比Adam,准确率媲美SGD,还能稳定训练GAN:全新优化器成为NeurIPS爆款

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

最常用的深度学习优化器大致可分为自适应方法(如Adam)和加速方案(如带有动量的随机梯度下降(SGD))。与 SGD 相比,许多模型(如卷积神经网络)采用自适应方法通常收敛速度更快,但泛化效果却较差。对于生成对抗网络(GAN)这类的复杂情况,通常默认使用自适应方法,因为其具有稳定性。

 

在 NeurIPS 2020 的一篇 Spotlight 论文中,来自耶鲁大学、伊利诺伊大学香槟分校等机构的研究者提出了一种名为「AdaBelief」的新型优化器,可以同时满足 3 个优点:自适应方法的快速收敛、SGD 的良好泛化性、训练稳定性。论文代码也已经放出。

 

 

论文链接:https://arxiv.org/pdf/2010.07468.pdf

 

论文页面:https://juntang-zhuang.github.io/adabelief/

 

代码链接:https://github.com/juntang-zhuang/Adabelief-Optimizer

 

AdaBelief 根据当前梯度方向上的「belief」来调整步长,将嘈杂梯度的指数移动平均(EMA)当作下一步的梯度预测。如果观察到的梯度大大偏离了预测,那幺就不信任当前的观察,采取一个较小的步长;如果观察到的梯度接近预测值,那幺就相信当前的观察,并采取一个较大的步长。

 

研究者用实验验证了 AdaBelief 的效果。在图像分类和语言建模方面, AdaBelief收敛迅速,准确率高,性能优于其他方法。具体来说,在 ImageNet 上, AdaBelief 的准确率可与 SGD 媲美。

 

此外,在 Cifar10 上训练 GAN 期间,与经过调整的 Adam优化器相比, AdaBelief 表现出了高度稳定性并提高了生成样本的质量。

 

算法

 

 

Adam和AdaBelief的算法如上图所示,不同之处已经用蓝色字体标注。从图中可以看出,AdaBelief没有引入额外的参数。为了简便,研究者省略了偏置矫正步骤。具体来说,在Adam中,更新方向是 ,其中,v_t是 的指数移动平均值(EMA)。在AdaBelief中,更新方向是 ,其中,s_t是 (g_t−m_t)^2的EMA。直观来看,将m_t看作g_t的预测,当观察结果g_t与预测结果m_t接近时,AdaBelief步长较大;当g_t与m_t相差较大时,AdaBelief步长较小。

 

AdaBelief 好在哪儿?

 

AdaBelief考虑了损失函数的曲率

 

 

一个理想的优化器会考虑损失函数的曲率,而不是在梯度很大(或很小)的地方采取很大(或很小)的步长。上图中的区域③展示了AdaBelief在「梯度大,曲率小」的情况下相较于Adam的优势。

 

在这种情况下,|g_t|和v_t都很大,但|g_t−g_[t−1]|和s_t都很小。发生这种情况是因为学习率α很小。此时,理想的优化器应该增加步长。SGD采用了一个很大的步长(∼ α|g_t|);在Adam中,分母v_t很大,因此步长很小;而在AdaBelief中,分母s_t很小,因此步长和理想优化器一样大。

 

AdaBelief考虑分母中梯度的符号

 

 

在左图中,我们考虑一个损失函数f(x,y)=|x|+|y|。蓝色的向量表示梯度,x表示最优点。优化器在y方向上震荡,在x方向上继续前进。右图是左图对应的优化过程。我们可以观察到,在Adam中, ,因此,它在x方向和y方向上步长一样。但在AdaBelief 中, ,因此它在x方向上步长较大,在y方向上步长较小。

 

在方差较小时,Adam中的更新方向接近于「符号下降」

 

我们假设:

 

1.g_t来自一个平稳分布,因此,在偏置矫正之后,

 

2.低噪声假设,假设 ,可以得到

 

3.低偏置假设,假设 很小,那幺作为 估计值的m_t的偏置 就很小。此时,

 

 

在这种情况下,Adam的表现很像「符号下降」。在2D 的例子中,更新是 ±45°,因此偏离了真正的梯度方向。符号更新效应可能导致自适应方法和SGD之间的泛化差距。但在AdaBelief中,当g_t的方差对于所有坐标都相同时,更新方向会与梯度方向匹配。当方差不均匀时,AdaBelief会在方差大(小)时采取小(大)

 

以下是几个简单问题的验证结果:

 

 

 

 

实验

 

图像分类

 

研究者在Cifar10和Cifar100数据集上利用VGG11、ResNet34和DenseNet121进行了实验。如下图4所示,AdaBelief与自适应方法(如Adam)一样实现了快速收敛,同时比SGD和其他方法具有更高的准确率。

 

 

 

研究者还在ImageNet上训练了ResNet18,验证集上的准确率如表2所示。从结果可以看出,AdaBelief优于其他自适应方法,并达到了与SGD相当的准确率(70.08VS70.23),这缩小了自适应方法与SGD之间的泛化差距。

 

 

时间序列建模

 

研究者在Penn TreeBank数据集上利用LSTM进行了实验,测试集上的困惑度(perplexity)如图5所示(越低越好)。对2层和3层LSTM模型来说,AdaBelief都实现了最低的困惑度,验证了其具有自适应方法的快速收敛性和良好的准确率。对于1层模型而言,AdaBelief的性能接近于其他优化器。

 

 

GAN

 

研究者利用Wasserstein-GAN(WGAN)和WGAN-GP进行了实验。对于每个优化器,在其最佳超参数设置下,研究者进行了5轮实验,实验结果如图6和图7所示。AdaBelief明显由于其他优化器,并且其FID分值最低。

 

 

 

虽然效果看起来不错,但论文发布后也引发了一些质疑,比如:「在Cifar10和Cifar100的数据中,SGD的性能在150个epoch之后才开始下降。他们在150个epoch处进行了微调。在此之前,AdaBelief并没有其他优化器性能好。」

 

 

如果你也有类似疑问,可以向论文作者提出反馈(联系方式见论文介绍界面)。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注