优化深度学习模型的更快方法

人工智能及其相关术语现在已广为人知。许多人听说过“神经网络”等术语,甚至可能将“CNN”与“卷积神经网络”联系起来,而不是新闻机构。那些对人工智能感兴趣的人甚至可能知道 AlexNet,这是 2012 年彻底改变图像识别和深度学习的开创性 CNN 架构。

鲜为人知的是优化器或优化算法的使用,它们有助于提高 AI 模型的性能。例如,计算机视觉 AI 模型需要优化器来接收数据输入(视觉图像)并正确“预测”该数据,即正确地将熊猫图像识别为“熊猫”而不是“熊”或“考拉”。

“熊猫”将是人工智能模型每次都应该正确预测的基本事实,而人工智能预测和基本事实之间的差异被量化为一个称为训练损失的数字。

“给定一个任务,AI 模型将获取输入样本并输出其预测。如果没有经过训练,AI 模型通常无法正确预测,因此在任务中表现不佳,”SMU 计算机科学助理教授周攀解释道。“优化器是为了更新 AI 模型的参数,以便 AI 模型能够做出正确的预测。”

“优化器的主要作用是将训练样本输入AI模型,然后计算训练损失,即模型预测与真实预测之间的差异,最后调整模型参数以最小化训练损失。”

解决超调问题

不同类型的深度学习网络需要不同的优化器,通常需要经过多次试验才能选择最合适的优化器,而这往往既昂贵又耗时。

简单来说,当 AI 模型的输出与训练损失近似 V 形曲线的最低点相对应时,优化器就会发挥作用,这通常被称为收敛点。此时模型已经学会了最佳参数集,因此进一步的训练迭代不会显著提高其在当前任务上的表现。

有效优化的一个关键障碍是所谓的“超调问题”,即优化器产生与 V 形曲线另一侧相对应的预测,这需要重新校准以使预测回到曲线的轮廓。

周教授的最新项目“Adan:用于更快优化深度模型的自适应 Nesterov 动量算法”试图解决超调问题。

他解释道:“Adan优化器可以加速模型寻找良好模型参数的过程。在每次训练迭代中,和其他优化器一样,Adan也会将数据输入模型,然后计算训练损失,最后计算模型参数的梯度。”

“但它在用梯度来更新参数的时候,会先一步一步的更新模型参数,看当前模型参数更新得好不好,如果好,就以较大的步长去更新模型参数;否则,就以较小的步长,慢慢的更新参数,这样就保证了参数更新总是朝着正确的方向,从而保证了更快的收敛速度。”

划时代的成就

神经网络训练的改进可以通过时期来衡量,其中一个时期是整个训练数据集的完整传递或循环。

周教授预计,Adan 将在视觉、语言和强化学习等主要深度学习任务上超越现有的最先进 (SoTA) 优化器,例如 AlphaGo 所依赖的优化器,AlphaGo 是 2017 年在古代棋盘游戏围棋中击败世界顶级人类选手的人工智能模型。

“总体而言,Adan 可以使用一半的训练迭代来实现与 SoTA 优化器相当的性能,”周教授详细阐述道。

“对于视觉任务,在用于监督图像分类任务的 ViT 和 Swin 模型上,Adan 可以使用 150 个训练 epoch 来实现与训练 300 个 epoch 的 SoTA 优化器 AdamW 类似的性能。在用于自监督图像分类任务的 MAE 模型上,Adan 可以使用 800 个训练 epoch 来实现与训练 1,600 个 epoch 的 SoTA 优化器 AdamW 类似的性能。

“对于语言任务,在 GPT2 上,Adan 可以使用 150k 次训练迭代来实现与训练 150k 次训练迭代的 SoTA 优化器 Adam 类似的性能;在 Transformer-XL 上,Adan 可以使用 100k 次训练迭代来实现与训练 200k 次训练迭代的 SoTA 优化器 Adam 相同的性能。”

对于 RL 或强化学习任务,Adan 致力于开发四款游戏,分别是 Ant、Half Cheetah、Humanoid 和 Walker2d。为简单起见,人们通常将它们称为MuJoCo 游戏。这些游戏旨在控制机器人的身体在 3D 环境中稳定而稳健地完成不同的活动,例如行走和跑步。

周教授表示: “在强化学习中,通过使用相同的训练迭代,Adan 在四项测试的游戏任务中总是取得比 SoTA 优化器 Adam 更高的性能。”

本站全部资讯来源于实验室原创、合作机构投稿及网友汇集投稿,仅代表个人观点,不作为任何依据,转载联系作者并注明出处:https://www.lvsky.net/370.html

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论