博客专栏

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

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

发布人:机器之心 时间:2020-10-20 来源:工程师 发布文章

在一篇 NeurIPS 2020 Spotlight 论文中,来自耶鲁大学等机构的研究者提出了一种新型优化器,可以像 Adam 一样快速收敛,准确率媲美 SGD ,还能稳定训练 GAN 。

1603161485385372.gif

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

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

1603161506519021.png

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

算法

1603161543298505.png

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

AdaBelief 好在哪儿?

AdaBelief考虑了损失函数的曲率

1603161702278566.png

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

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

AdaBelief考虑分母中梯度的符号

1603161731173552.png

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

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

我们假设:

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

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

3.低偏置假设,假设1603161890524885.png很小,那么作为1603161912395697.png估计值的m_t的偏置1603161937656843.png就很小。此时,

10.png

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

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

9.gif

8.gif

8.gif

7.gif

实验

图像分类

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

1603162148144688.png

1603162185283676.png

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

1603162216452650.png

时间序列建模

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

1603162240795291.png

GAN

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

1603162263491791.png

1603162282389999.png

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

1603162301681928.png

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:

相关推荐

技术专区

关闭