1. 引言
近些年,随着神经网络在图像处理 [1] [2] 、自然语言处理 [3] [4] 、医学治疗 [5] [6] 等领域取得突破进展,作为优化神经网络参数主要方法的梯度下降算法,已逐渐受到学者的广泛关注 [7] 。一个主流的优化算法是随机梯度下降算法(SGD),它以固定步长将模型参数朝着损失函数的负梯度方向更新。然而,SGD算法存在一个问题,它只考虑了当前步的梯度作为参数更新方向,容易导致算法陷入局部最小值。为了克服这个问题,带动量的随机梯度下降算法(SGDM)采用了梯度的指数加权移动平均值(EMA)作为迭代方向。另一方面,SGD算法中梯度的均匀缩放会导致优化效果不佳,AdaGrad算法 [8] 使用历史梯度平方和的信息来实现自适应步长。在梯度稀疏或较小时,AdaGrad算法的性能明显优于SGD算法。
AdaGrad算法是最早提出的自适应算法,它根据每个参数的历史梯度信息来调整学习率。虽然该算法在稀疏环境下表现良好,但在梯度密集的情况下,学习率会迅速减小,导致收敛速度下降。RMSProp算法改进了AdaGrad算法,通过使用梯度平方的指数移动平均来减轻学习率的快速衰减问题。这使得RMSProp算法在更广泛的问题中表现更好。Adam [9] 算法进一步综合了动量项和RMSProp算法的思想。它引入了动量项来增加梯度更新的惯性,同时使用梯度平方的指数移动平均来自适应地调整学习率。Adam算法在很多应用中取得了良好的性能,但在迭代后期可能出现有效步长过大(
)的问题 [10] 。AMSGrad算法是对Adam算法的改进,它使用历史上所有梯度平方的最大值来更新学习率,以解决Adam算法可能出现学习率问题的情况。虽然AMSGrad算法在理论上提供了一些保证,但在实际应用中表现不一定出色。因此有必要进一步改进Adam算法和AMSGrad算法。
本文贡献如下:
1) 通过对
项修正提出MAXGrad算法,使得Adam算法在不附加额外条件的情况下具有更好的收敛性。
2) 与AMSGrad算法相比,MAXGrad算法能够维持对过去梯度的长期记忆,而且不需要对新变量
进行额外初始化。
3) 本研究还进行了初步实验,结果表明MAXGrad算法在机器学习任务中,如图像分类和语言建模问题上,表现出色。这些结果暗示了MAXGrad算法在实际应用中的潜在价值。
2. MAXGrad算法
2.1. 符号说明
本文用
表示所有
正定矩阵的集合。设
、
,用
表示
,
表示
。对于
中的任意向量
,
,使用
,
,
表示按向量中的元素进行平方根、平方、最大值运算。对于
时,将投影操作 [11] 定义为
,即对于任意的
,
,
。最后将损失函数定义为
,其中
是需要优化的参数。
2.2. MAXGrad算法的提出
Luo等人 [12] 指出AMSGrad算法虽然给出Adam算法有效步长的修正方案,但在实际应用中,该算法可能并不会有较好的表现。AMSGrad算法通过引入一个新的变量
用来更新有效步长(
)。但对于二阶矩
的迭代过程,AMSGrad算法并未进行更改,这可能会导致
的值仍然会出现较大情况,进而影响算法的收敛性。本文提出MAXGrad算法对
的迭代方式进行修改,见表1。

Table 1. AMSGrad algorithm and MAXGrad algorithm pseudo-code
表1. AMSGrad算法与MAXGrad算法伪代码
AMSGrad算法维护一个历史梯度平方的移动平均
,并在更新参数时使用它来调整学习率。在每个时间步t,AMSGrad首先计算当前梯度的平方
,然后将其与上一时间步的
进行比较,较大者赋给
。最后,参数更新采用了基于
的学习率调整,以避免梯度震荡。MAXGrad算法与AMSGrad算法类似,但有所不同之处在于历史梯度平方的比较。在MAXGrad中,历史梯度平方
的更新是通过比较当前梯度平方
和上一时间步的
进行的,选择较大者作为新的
。这一不同之处使得
呈现出不减趋势,这是MAXGrad算法的独特特点。
3. 实验结果
3.1. Rastrign测试函数
Rastrign测试函数是一个标准的测试函数,定义如下:
,
,
其中全局最小点是在
处取得。如图1所示,SGDM算法在搜索过程中表现出对全局最小值的跳跃特性。这意味着它具有一定的探索性,有时会离开当前位置以寻找更好的解决方案。然而,这也可能导致它偶尔跳过全局最小值,因为它的动量可能使其跳出最小值区域。而AMSGrad算法设计目的是克服Adam算法中学习率下降过快的问题。AMSGrad倾向于更稳定地收敛,通常会收敛到局部最小值。相对于Adam算法,MAXGrad算法在搜索全局最小值时表现出更加平滑的特性。这种平滑性可能有助于它更可靠地找到全局最小值。

(a) SGDM (b) AMSGrad
(c) Adam (d) MAXGrad
Figure 1. Convergence trajectories of the four algorithms
图1. 四种算法的收敛轨迹
为了检验MAXGrad算法的性能,本文选取三个真实数据集与SGDM、Adam、AMSGrad算法进行对比。在表2中对优化算法的超参数进行设置。电脑配置如下,CPU使用AMD Ryzen 7 6800H,GPU使用NVIDIA GeForce RTX-3050。

Table 2. Hyperparameter settings in the field of image classification
表2. 在图像分类领域的超参数设置
3.2. CIFAR-10数据集
CIFAR-10数据集是一个用于图像分类的标准数据集,它包含了10个不同的图像类别。该数据集分为两部分:训练集和测试集。在训练集中,共有50,000张图片作为样本进行模型训练。而测试集则包含10,000张图片,用于评估模型的性能。每个图像都被分配到这10个类别中的一个,任务是训练一个模型来自动识别图像并将其分类到正确的类别中。如图2所示,MAXGrad算法虽然表现没有SGDM算法出色,但相比于同为自适应算法的Adam与AMSGrad,不论在训练集中还是在测试集中都有更快的收敛速度和更高的分类准确率。

(a) Accuracy of the CIFAR-10 training set (b) Accuracy of the CIFAR-10 test set
Figure 2. CIFAR-10 image classification using ResNet-34
图2. 使用ResNet-34进行CIFAR-10图像分类
3.3. CIFAR-100数据集
CIFAR-100数据集与CIFAR-10数据集类似,区别在于它包含100个不同的图像类别。如图3所示,MAXGrad算法相对于自适应算法的Adam与AMSGrad仍然具有更好的收敛结果。
3.4. PTB数据集
PTB数据集(Penn Treebank数据集)在自然语言处理领域扮演着至关重要的角色,被广泛用于训练和评估语言模型以及其他自然语言处理任务(Natural Language Processing)。一种常用于评估语言模型性能的指标是“困惑度”,它衡量了模型对输入文本序列的概率估计质量。
本文对比SGDM、Adam、AMSGrad三个优化算法在PTB数据集上的性能进行了详尽的研究和量化分析。如图4所示,对比三个优化算法的性能,MAXGrad算法表现出了最低的困惑度,将其从Adam的89.65降至88.03,这意味着它在估计语言序列的概率方面表现出色。这一发现进一步支持了MAXGrad算法在NLP中的潜在应用价值。

(a) Accuracy of the CIFAR-100 training set (b) Accuracy of the CIFAR-100 test set
Figure 3. CIFAR-100 image classification using ResNet-34
图3. 使用ResNet-34进行CIFAR-100图像分类

Figure 4. Linguistic modeling of PTB dataset using LSTM
图4. 利用LSTM对PTB数据集进行语言建模
4. 结论
本文提出一种新的有效步长更新方式,即对历史中所有
取最大值作为本次更新的选择项。这种改进代码实现非常简单,并且相对于Adam也无须引入额外超参数就可获得更好的实验结果。在今后的工作中,可以考虑将这种有效步长的更新方式推广到Adam W [13] 、AdaBound [12] 、RAdam [14] 等优化器中。
基金项目
吉林省自然科学基金(No.YDZJ202201ZYTS519),吉林省自然科学基金(No.YDZJ202201ZYTS585),国家自然科学基金(No.11426045)。
NOTES
*通讯作者。