最新公告:诚信为本:市场永远在变,诚信永远不变。 服务热线:400-123-4567

万达平台

当前位置: 首页 > 万达平台

Symbolic Discovery of Optimization Algorithms(优化算法的符号发现)research report

发布时间:2024-04-22 点击量:

该文献发表在《Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)》会议论文集中。

原文链接:arxiv.org/abs/2302.0667

项目地址:暂未开源

发表时间:2023年2月13日提交,最后一次修订 2023年2月17日。


这篇文本主要介绍了多篇关于机器学习和自然语言处理的论文,其中包括了一些新的优化算法和方法,如Lion优化器和基于程序搜索的算法设计方法。这些方法在图像分类、自然语言处理、语言模型等任务中表现出色,并且相对于其他优化器具有更高的效率和更好的泛化性能。此外,该本还提供了一些实验结果和模型参数,以及对这些方法的分析和讨论。

文章的研究背景是深度神经网络训练中的优化算法。在深度学习中,优化算法是非常重要的,因为它们可以帮助模型更快地收敛并获得更好的性能。然而,现有的优化算法可能存在一些问题,例如需要大量内存、难以泛化到新任务等。 因此,该文章旨在通过程序搜索来发现新的优化算法,以解决现有优化算法存在的问题,并提高深度神经网络训练的效率和性能。同时,希望通过发现简单而有效的优化算法来减少计算和内存开销。

一是现有的优化算法可能需要大量内存,难以适用于大规模深度神经网络训练;二是现有的优化算法可能难以泛化到新任务,因为它们通常是在小规模数据集上进行训练和测试的。

为了解决这些问题,该文提出了一种通过程序搜索来发现新的优化算法的方法,并引入了程序选择和简化策略来提高泛化能力。

提出了一种通过程序搜索来发现深度神经网络训练优化算法的方法。使用了进化搜索、抽象执行、漏斗选择和程序简化等技术,以解决在无限和稀疏的程序空间中寻找高质量算法的挑战。同时,引入了程序选择和简化策略,以弥合代理任务和目标任务之间的泛化差距。最终,发现了一种名为Lion的简单而有效的优化算法,它比Adam更节省内存,并且在不同架构、数据集和任务上都具有强大的泛化能力。

1. 提出了一种通过程序搜索来发现深度神经网络训练优化算法的方法,这种方法可以在无限和稀疏的程序空间中寻找高质量算法。

2. 引入了进化搜索、抽象执行、漏斗选择和程序简化等技术,以解决在程序空间中寻找高质量算法的挑战。

3. 引入了程序选择和简化策略,以弥合代理任务和目标任务之间的泛化差距。

4. 成功地发现了一种名为Lion的简单而有效的优化算法,它比Adam更节省内存,并且在不同架构、数据集和任务上都具有强大的泛化能力。

5. 通过实验验证了所提出的方法和发现的Lion算法在各种深度学习任务上都具有很好的性能表现。

文章的实验主要分为两个部分。第一部分是在小规模数据集上进行的,目的是验证提出的方法和发现的Lion算法是否具有良好的性能表现。第二部分是在大规模数据集上进行的,目的是进一步验证提出的方法和发现的Lion算法在各种深度学习任务上都具有很好的性能表现。 在实验中,我们使用了多个数据集和任务,包括MNIST、CIFAR-10、CIFAR-100、ImageNet等。将不同算法在这些数据集和任务上进行比较,并评估它们在训练时间、内存占用、泛化能力等方面的性能表现。同时,对Lion算法进行了详细分析,探究了其内部机制和优化效果。 总体来说,该文通过实验验证了所提出的方法和发现的Lion算法在各种深度学习任务上都具有很好的性能表现,并且比其他优化算法更加节省内存。

通过程序搜索来发现优化算法是可行的。作者提出了一系列技术来解决在无限和稀疏的程序空间中找到高质量算法以及进一步选择能够从小型代理任务推广到最先进任务的算法这两个挑战。最终,作者发现了一个简单而有效的优化算法:Lion(EvoLvedSignMomentum),该算法具有内存效率,并在不同架构、数据集和任务上实现了强大的泛化能力。

如果觉得这篇论文有价值,可以继续往下看 第八部分


该部分介绍了一种将算法发现视为程序搜索的方法,并将其应用于发现优化算法。该方法面临两个主要挑战:在无限和稀疏的程序空间中找到高质量的算法,以及进一步选择能够从小型代理任务推广到最先进任务的算法。为了解决这些挑战,作者采用了一系列技术,包括带有热启动和重启的进化搜索、抽象执行、漏斗选择和程序简化。最终,该方法发现了一个简单而有效的优化算法:Lion(EvoLvedSignMomentum)。

table 1

上表展示了BASIC-L模型在ImageNet和几个鲁棒性基准测试上的准确率。作者将Lion应用于视觉塔预训练和视觉语言对比训练阶段。该表还提供了之前最先进结果的参考,其中零样本和微调ImageNet准确率分别为86.3%和91.0%。

figure 1

Figure 1展示了两个图表。左侧图表显示了在JFT-300M上,ViT模型的预训练成本与ImageNet微调准确率之间的关系。作者使用了三个不同的ViT模型(ViT-B/16、ViT-L/16和ViT-H/14)进行实验,并发现Lion使得ViT-L/16能够与AdamW在ImageNet和ImageNet V2上训练的ViT-H/14性能相匹配,但预训练成本只有后者的三分之一。在ImageNet ReaL上,计算节省进一步提高到5倍。右侧图表显示了扩散模型在256x256图像生成上的FID值。作者使用DDPM进行1K步解码图像,没有引导。作为参考,ADM的FID为10.94

这个部分介绍了一种将算法发现视为程序搜索的方法,并将其应用于发现优化算法。作者使用符号表示形式,即程序,来表示算法,以便于分析、理解和转移到新任务。该方法可以估计不同程序的复杂性,从而更容易选择更简单、通常更具有泛化能力的程序。作者还介绍了一些技术来解决在无限和稀疏的程序空间中找到高质量算法以及进一步选择能够从小型代理任务推广到最先进任务的算法这两个挑战。最终,该方法发现了一个简单而有效的优化算法:Lion(EvoLvedSignMomentum)。

figure 2

Figure 2展示了两个图表。左侧图表显示了AdamW和随机搜索的超参数调整结果作为两个基准线(绿色和红色线),以及进行五次运行的进化搜索结果,其中计算出平均值和标准误差。进化搜索显著优于这两种基准线。由于搜索适应度的高方差,从初始程序进行多次重启非常关键(蓝色曲线),并且在原始搜索停滞时,从最佳程序重新开始进一步提高适应度(橙色曲线)。右侧图表显示了搜索适应度、缓存命中率和冗余语句百分比的示例曲线。缓存命中率和冗余语句百分比随着搜索进程增加而增加,分别达到约90%和70%。

文章的Derivation and Analysis of Lion部分介绍了Lion优化算法的推导和分析。作者使用进化搜索方法在程序空间中搜索优化算法,并发现Lion由于其简单性、内存效率和在搜索和元验证中的强大性能而成为最佳选择。此外,作者还指出,进化搜索还发现了其他现有或新颖的算法,例如一些具有更好正则化效果的算法以及类似于AdaBelief(Zhuang等人,2020)和AdaGrad(Duchi等人,2011)的算法。

作者使用进化搜索方法在程序空间中搜索优化算法,并发现Lion由于其简单性、内存效率和在搜索和元验证中的强大性能而成为最佳选择。具体来说,作者首先定义了一个程序表示形式,即一组基本操作和控制流程,用于表示优化算法。然后,作者使用进化搜索方法在程序空间中进行搜索,并使用代理任务来评估每个程序的性能。作者还介绍了一些技术来解决在无限和稀疏的程序空间中找到高质量算法以及进一步选择能够从小型代理任务推广到最先进任务的算法这两个挑战。 通过对Lion优化算法进行分析,作者发现Lion具有以下特点:(1)Lion使用动量更新规则,并且动量系数是可学习的;(2)Lion使用自适应学习率调整策略;(3)Lion使用梯度裁剪来防止梯度爆炸;(4)Lion使用权重衰减来防止过拟合。此外,作者还指出,进化搜索还发现了其他现有或新颖的算法,例如一些具有更好正则化效果的算法以及类似于AdaBelief(Zhuang等人,2020)和AdaGrad(Duchi等人,2011)的算法。

table 2

Table 2展示了Lion优化算法在ImageNet、ImageNet ReaL和ImageNet V2数据集上的准确率。其中,括号中的数字是来自Dai等人(2021)和Dosovitskiy等人(2021)的结果。作者对Lion算法进行了三次运行,并对结果进行了平均。从表格中可以看出,Lion在这三个数据集上都取得了很好的准确率表现。

这部分对Lion优化算法进行了广泛的评估,包括在各种任务和数据集上的性能比较、超参数敏感性分析、可解释性分析等。作者发现,在大多数任务和数据集上,Lion都表现出与或优于当前最先进的优化算法,例如AdamW和SGD。此外,作者还发现Lion对于超参数选择不太敏感,并且具有良好的可解释性。

对于Image Classification,作者对Lion优化算法在图像分类任务上的性能进行了评估。作者使用了多个数据集,包括ImageNet、CIFAR-10和CIFAR-100,并与当前最先进的优化算法进行了比较。实验结果表明,Lion在这些数据集上都取得了很好的性能表现,并且通常比其他算法更快收敛。此外,作者还对Lion的超参数敏感性进行了分析,并发现Lion对于学习率和权重衰减等超参数选择不太敏感。

table 3

Table 3展示了在JFT数据集上预训练后,在ImageNet数据集上微调的不同ViT模型的性能表现。其中,两个巨型ViT模型是在JFT-3B上预训练的,而较小的模型是在JFT-300M上预训练的。ViT-G/14的结果直接来自于Zhai等人(2021)的研究。从表格中可以看出,Lion优化算法在这些模型中都取得了很好的性能表现,并且通常比其他算法更快收敛。

对于Vision-Language Contrastive Learning(视觉-语言对比学习),作者对Lion优化算法在视觉语言对比学习任务上的性能进行了评估。作者使用了多个数据集,包括ImageNet、VQA和NLVR2,并与当前最先进的优化算法进行了比较。实验结果表明,Lion在这些数据集上都取得了很好的性能表现,并且通常比其他算法更快收敛。此外,作者还对Lion的超参数敏感性进行了分析,并发现Lion对于学习率和权重衰减等超参数选择不太敏感。

figure 4

Figure 4展示了在JFT-300M数据集上预训练后,在ImageNet ReaL和ImageNet V2数据集上微调的ViT模型的性能表现。左图是ImageNet ReaL的结果,右图是ImageNet V2的结果。从图中可以看出,Lion优化算法在这些模型中都取得了很好的性能表现,并且通常比其他算法更快收敛。详细的数字可以参考附录中的Table 8。

figure 5

Figure 5展示了在64×64和128×128图像生成任务中,使用Lion优化算法训练扩散模型时,与没有引导信息解码图像相比较时FID(Fréchet Inception Distance)的对比情况。左图是LiT-B/16-B模型在零样本ImageNet分类任务上的准确率曲线。从图中可以看出,在这些任务中,Lion优化算法都取得了很性能表现,并且通常比其他算法更快收敛。

table 4

Table 4提供了使用Locked-image text Tuning (LiT)和Lion、AdamW优化器在三个模型规模(LiT-B/32-B、LiT-B/16-B和LiT-g/14-L)上进行零样本图像分类的结果。该表显示了LiTs在ImageNet、CIFAR-100和Oxford-IIIT Pet数据集上的零样本准确率。作为参考,CLIP在ImageNet上的零样本准确率为76.2%。

对于Diffusion Model,作者测试了Lion在无条件图像合成和多模态文本到图像生成方面的性能。作者使用了改进的U-Net架构进行ImageNet上的图像合成,并测试了Lion在多模态文本到图像生成任务上的表现。此外,该部分还介绍了扩散模型在图像生成方面取得的巨大成功,并提供了一些相关研究的参考文献。

figure 6

Figure 6展示了Imagen text-to-image 642和642→2562扩散模型的性能比较。左图显示了Imagen text-to-image 642模型生成的图像,右图显示了642→2562扩散模型生成的图像。可以看出,Lion在生成高分辨率图像方面表现出色。

figure 7

Figure 7展示了Wiki-40B和PG-19数据集上的Log perplexity结果。左图显示了Wiki-40B数据集上的结果,右图显示了PG-19数据集上的结果。可以看出,Lion相对于AdamW优化器具有更快的训练速度,并且随着模型规模的增加,Lion带来的加速效果越来越明显。需要注意的是,在Wiki-40B数据集上最大规模的模型被省略掉了,因为作者观察到该模型存在严重过拟合问题。

对于Language Modeling and Fine-tuning,作者介绍了Lion在语言建模和微调方面的性能。作者发现,在仅涉及语言的任务中,调整β1和β2可以提高AdamW和Lion的质量。该章节还提供了有关调整细节的信息,并指出这些细节在第5节中给出了详细介绍。

table 5

Table 5提供了Lion在三个自然语言生成(NLG)和21个自然语言理解(NLU)任务上的一次性评估结果。该表还包括了GPT-3和PaLM的结果作为参考。结果显示,由Lion训练的LLMs具有更好的上下文学习能力。对于所有任务的详细结果,作者在论文附录中的Table 11里给出了(可以看原文)。

table 6

Table 6展示了T5 Base、Large和11B在GLUE dev数据集上微调性能的比较。报告的结果是每个任务的最高验证分数。可以看出,Lion相对于AdamW优化器具有更好的微调性能,并且随着模型规模的增加,Lion带来的性能提升越来越明显。

接着,作者进行了一系列的对比(Comparison with Other Popular Optimizers),作者将Lion与其他流行的优化器进行了比较,包括Adam、AdamW、SGD和RMSprop。作者使用了不同的模型和数据集进行测试,并报告了训练速度、收敛速度和最终性能等方面的结果。结果表明,Lion在大多数情况下都具有更好的性能,并且相对于其他优化器具有更快的训练速度和更快的收敛速度。此外,作者还提供了有关调整Lion超参数的详细信息,并指出这些信息将在第5节中详细介绍。

table 7

Table 7展示了使用不同优化器训练ViT-S/16和ViT-B/16模型在ImageNet数据集上(使用RandAug和Mixup)的性能比较结果。结果显示,Lion仍然是表现最好的优化器之一,并且在基准测试中没有明显的赢家。此外,作者还对四种流行的优化器进行了详细调整,并提供了有关调整超参数的详细信息。需要注意的是,AMSGrad在ViT-S/16模型上表现最佳。

figure 8

Figure 8展示了Lion和AdamW在ImageNet数据集上使用不同批次大小、学习率和权重衰减系数时的性能比较结果。左图显示了批次大小对Lion和AdamW的影响,结果表明Lion更喜欢较大的批次大小。中间图显示了当我们改变学习率和权重衰减系数时,AdamW和Lion在ViT-B/16模型上的性能变化情况。右图显示了Lion相对于AdamW更具有鲁棒性,即在不同超参数选择下仍然具有更好的性能。需要注意的是,这些结果是基于ImageNet数据集得出的,并且可能因为不同数据集或模型而有所不同。

消融实验Ablations中,作者进行了一系列实验来研究Lion优化器的不同组成部分对其性能的影响。作者通过逐步删除Lion优化器中的不同组成部分,如动量、自适应学习率和权重衰减等,来研究它们对Lion性能的影响。结果表明,这些组成部分都对Lion优化器的性能有着重要的贡献,并且在所有实验中,完整版本的Lion优化器都表现最佳。

这部分中,作者介绍了使用不同的超参数调整方法来优化Lion优化器的性能。作者比较了随机搜索和进化搜索两种方法,并发现进化搜索方法在大多数情况下都表现更好。此外,作者还研究了Lion优化器中不同组成部分对其性能的影响,并提供了有关调整超参数和其他实验细节的详细信息。这一部分提供了有关如何调整Lion优化器超参数以获得最佳性能的重要信息。

在这部分,作者介绍了Lion优化器的一些局限性。具体来说,作者指出Lion优化器在某些任务上的性能仍然不如其他优化器,例如AdamW。此外,作者还提到了Lion优化器可能需要更多的计算资源和时间来训练,并且在某些情况下可能需要更小的学习率和更大的权重衰减系数。最后,作者还提到了Lion优化器可能对于不同的数据集和模型具有不同的性能表现。总之,这一部分提供了有关Lion优化器局限性的重要信息,并提示用户在使用该优化器时应该注意这些问题。

在这部分中,作者介绍了与Lion优化器相关的一些研究领域和方法。具体来说,作者提到了自动机器学习(AutoML)和元学习、神经架构搜索、超参数优化以及遗传编程等领域的研究。作者还列举了一些相关的文献,并简要介绍了它们的主要贡献和方法。总之,这一部分提供了有关Lion优化器在相关领域中的位置和与其他方法的比较信息,为读者提供了更广泛的背景知识。

关于总结,上文分割线部分有提到,这里就不再赘述了。

(这是我的论文阅读记录,方便自己平时查看和学习,如果恰巧对你有所帮助,本人将倍感荣幸)

咨询热线:400-123-4567
站点分享:
友情链接:
电话:400-123-4567
传真:+86-123-4567
地址:广东省广州市天河区88号
版权所有:Copyright © 2002-2017 首页-万达娱乐-全球导航站 版权所有     
ICP备案编号:粤IP**********    

平台注册入口