20

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

 3 years ago
source link: https://www.jiqizhixin.com/articles/2020-10-17
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ZBNfInz.gif!mobile

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

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

U7FBjmy.png!mobile

  • 论文链接: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 表现出了高度稳定性并提高了生成样本的质量。

算法

ymyIVnB.png!mobile

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

AdaBelief 好在哪儿?

AdaBelief考虑了损失函数的曲率

MBraAvb.png!mobile

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

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

AdaBelief考虑分母中梯度的符号

IF3iqy.png!mobile

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

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

我们假设:

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

2.低噪声假设,假设 J3ABRza.png!mobile ,可以得到 BFbQnyz.png!mobile

3.低偏置假设,假设 YvU7Jj3.png!mobile 很小,那么作为 JJbaamf.png!mobile 估计值的m_t的偏置 B77bi2m.png!mobile 就很小。此时,

Z3iU7bi.png!mobile

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

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

NVBNFr.gif!mobile

URnAJvA.gif!mobile

A7JNNjM.gif!mobile

实验

图像分类

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

yYnYRne.png!mobile

Uzyy2me.png!mobile

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

2UbIJnq.png!mobile

时间序列建模

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

AZ3y2mq.png!mobile

GAN

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

BnIN7vM.png!mobile

faUVvmq.png!mobile

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

jYNZR36.png!mobile

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK