共计 1644 个字符,预计需要花费 5 分钟才能阅读完成。
出品人:Towhee 技术团队
优化算法,即优化器,在训练神经网络中起着根底作用。
近年来引入了大量手工优化器,其中大部分是自适应优化器。然而,具备解耦权重衰减的 Adam,也称为 AdamW,和具备因数二次矩的 Adafactor,依然是训练大多数深度神经网络的事实上的规范优化器,尤其是最近最先进的语言、视觉和多模态模型。
另一个方向是主动发现这样的优化算法。学习优化 (L2O) 办法倡议通过训练参数化模型(例如神经网络)来发现优化器以输入更新。然而,那些通常在无限数量的小工作上训练的黑盒优化器很难推广到最先进的设置,在这些设置中,更大的模型须要更多的训练步骤来训练。
另一类办法利用强化学习或蒙特卡洛采样来发现新的优化器,其中搜寻空间由由预约义操作数和运算符组成的树定义。为了使搜寻易于治理,他们通常通过应用固定操作数和限度树的大小来限度搜寻空间,从而限度发现的可能性。因而,所发现的算法尚未达到最先进的程度。
Google 和 UCLA 提出 Lion (EvoLved Sign Momentum) 优化算法,以优越的性能和良好的成果超过了经典的优化算法。Lion 通过程序搜寻来发现优化算法,并且用其改良深度神经网络训练。它可能解决在有限、稠密空间的搜寻挑战。
除了更具效率以外,Lion 还具备弱小的泛化能力,逾越了体系结构、数据集和工作的限度。在图像分类方面,Lion 在 ImageNet 上将 ViT 的准确性进步了高达 2%,并在 JFT 上节俭了高达 5 倍的预训练计算。
在视觉语言比照学习方面,Lion 在 ImageNet 上实现了 88.3% 的 zero-shot 和 91.1% 的微调准确度,别离超过了之前的最佳后果 2% 和 0.1%。在扩散模型上,Lion 的体现优于 Adam,实现了更好的 FID 得分并将训练计算缩小了高达 2.3 倍。对于自回归、掩码语言建模和微调,Lion 也体现出与 Adam 相当或更好的性能。
Lion 利用了高效的搜寻技术来摸索有限稠密的程序空间。为了弥合代理和指标工作之间的狭义间隙,它还引入了程序抉择和简化策略。与自适应优化器不同,Lion 对于通过符号操作计算的每个参数都采纳了雷同的幅度的更新。它的性能增益随着训练批次大小的减少而减少。因为符号函数产生的更新的范数更大,它还须要较小的学习率。
AdamW vs. Lion optimizer.
上图为 AdamW 与 Lion 优化算法的比照。
能够看到,与 AdamW 和各种自适应优化器须要同时保留一阶和二阶矩相比,Lion 只须要动量,将额定的内存占用减半。这在训练大型模型和 / 或大批量时很有用。
例如,AdamW 须要至多 16 个 TPU V4 芯片来训练图像大小为 224、批量大小为 4,096 的 ViT-B/16,而 Lion 只须要八个。
另一个理论益处是,因为 Lion 的简略性,Lion 在咱们的试验中具备更快的运行工夫(步数 / 秒),通常比 AdamW 和 Adafactor 提速 2-15%,具体取决于工作、代码库和硬件。
因而,Lion 是一种表现出色的优化器,比 AdamW 体现更弱小。Lion 具备更疾速和更节俭显存的特点,无望成为将来支流优化器之一。如果你在训练时,感觉保留的训练过程中的状态太大,导致性能迟缓,无妨试试用 Lion。
自从 Adam 被提出以来,因为其疾速收敛的个性,已成为许多模型的默认优化器。然而,一些学者放心这种景象可能导致所有的模型改良都朝着有利于 Adam 的方向倒退。因而,发现比 Adam 更简略、更无效的优化器是很重要的。Lion 可能取得更好的泛化性能,这可能是因为它引入了额定的噪声,使得模型进入了更平坦但未必更小的损失区域。尽管 Lion 有更强的鲁棒性,但它并不是完满的,比方在小的 batch_size 时,Lion 的体现不如 AdamW,因为噪声必须适量能力更好地发挥作用。
相干材料:
- 代码地址:https://github.com/google/automl/tree/master/lion
- 论文链接:Symbolic Discovery of Optimization Algorithms