首页 > 技术知识 > 正文

谷歌的研究人员开源了EvoLved sIgn mOmeNtum(Lion),这是一种用于训练神经网络的优化算法,它是使用自动机器学习(AutoML)进化算法发现的。与其他优化器训练的模型相比,使用 Lion 训练的模型可以在多个基准测试上实现更高的准确性,同时收敛所需的计算周期更少。

谷歌在符号程序上使用进化搜索来发现算法。Lion比Adam(事实上的标准优化算法)使用更少的内存和指令。Lion 和其他优化器之间的一个关键区别是,Lion 只关心梯度的符号,并对每个权重应用相同的幅度更新。使用Lion,该团队为各种基准任务训练了几个模型。在 ImageNet 上经过分类训练的那个实现了最先进的准确性。由 Lion 训练的 ViT 将其 ImageNet 准确度提高了 2%,同时节省了 5 倍的计算周期训练时间。

深度学习模型通过使用梯度下降算法进行训练,以迭代方式更新网络的权重,以生成网络损失函数的最小值。两种常用的算法是Adam和Adafactor,它们已被用于训练大多数最先进的模型。虽然这些算法比早期算法有了很大的改进,但谷歌团队想知道是否有可能使用AutoML来改进它们。

为了开发Lion,该团队将他们的搜索空间定义为一组用类似于Python的命令式语言编写的函数;它们的输入是模型权重、梯度和学习率,输出是权重更新。搜索是通过改变函数代码—添加、删除或修改语句来进行的。通过使用候选函数来训练小型 ML 模型来选择候选函数;训练模型的准确性反映了候选训练函数的适应度。

在进行了几次实验后,该团队确定了最终功能,“由于其简单性,内存效率和强大的性能……”与Adam和Adafactor相比,Lion是一种更简单的算法,并且具有更少的超参数。因为它使用仅按学习率缩放的固定值更新权重,因此它需要比 Adam 小 3 到 10 倍的学习率,以及比 Adam 大 3 到 10 倍的学习率衰减。

谷歌使用 AutoML 发现更高效的 AI 训练算法-谷歌浏览器提示dns

Lion与Adam的比较

该团队使用 Lion 为一系列任务领域训练了许多以前发布的模型,包括视觉、语言和多模态;他们比较了用Lion训练的模型与用Adam或Adafactor训练的模型的准确性和训练计算要求。尽管Lion模型在许多 情况下确实优于亚当模型,但在某些情况下,性能是相似的,特别是在“数据集庞大且高质量”的任务上,例如视觉任务和掩码语言建模。作者还指出,Lion在小批量上的表现可能与Adam相同。

猜你喜欢