萧箫 发自 凹非寺 量子位 报告 | 公众号 QbitAI
想要优化自己的神经网络,却不晓得哪种优化器更适合自己?
又或,想晓得深度学习中梯度下降的算法到底都有那些?
此刻,最全面的优化算法分析来了。
它整理了自1964年败兴,几乎所有的优化办法 (约130种),将它们进行了归类。
另外,它还给出了几种基准测试办法,并用它分析了1344种可能的配置方法。
在运行了35000次测试后,它给出了非常全面的优化器算法分析介绍,并告诉你怎样用这些基准测试,为自己的深度学习模型选取最好的优化方法。
优化办法详细都有哪几种?
从下图这份密密麻麻的图表来看,迄今为止,提出的优化算法已然有130种上下。
日前她们还看不出来区别,但在测试结果中能够发掘,这些优化器显著能被分成两类,一种适用于VAE(变分自编码器),另一种则不适用于VAE。
而从这些优化器中的常用参数来看,α0暗示初始学习率,αlo和αup表率上下界,∆t暗示切换衰减样式的周期,k暗示衰减因子。
能够看出,这些学习率的参数重点能够被分为常数、梯度下降、平滑下降、周期性、预热、超收敛等几种。
那样,130多种优化器,哪种才是最适用的?而对这些参数进行调节,到底能对优化器起到多大的功效?
用基准测试办法来测测,就晓得了。
8种基准测试办法
如下图,作者提出了8种优化任务,在这些任务上面进行测试,以得到对比结果。
从图中看来,无论是数据集(MNIST、CIFAR-10等)、模型(VAE、CNN、RNN等),还是任务(归类、NLP等)和标准(损失率、精度)都不同样。
另外,batchsize亦思虑在内(看来实验设备性能不错)。制作这些测试的目的在于,多方向考量出这些优化办法的恰当性。
测试根据下图流程走,整体算下来,共有1344种配置,共运行接近35000次。
为了得知哪种优化办法更合适,这般做亦是很拼了。
怎样选取适合自己的优化办法?
那样,详细怎样选取适合的优化办法呢?
下图是作者随机选择的14个优化器。
下图是这些优化器在上面8种基准测试下的表现结果。
其中,红色的I暗示误差范围。能够看出,在必定误差范围内,某一类优化办法的性能几乎非常类似:它们在各样基准测试上的表现都不错。
为了验证这些测试办法的稳定性,作者特意对其中有些算法进行了参数调节,下图是经典算法RMSProp和RMSProp(2)的调优结果。
可见,区别的参数能给优化算法的性能带来不小的波动变化。
更直接地,倘若增多(性能)预算,从下图能够看出,性能的改进亦会有所增多。(图中橙色为所有灰线的中值)
亦便是说,即使优化算法的性能不错,恰当调参仍然不可或缺。
那样,到底有多少优化器存在“改进参数,竟然能大幅增多优化能力”的问题呢?
还不少。
从下图来看,绿色暗示优化过后,优化算法能更好地运行。
换而言之,只要某种优化算法的结果是一片绿,那样它原来的默认参数就真的很糟糕……
例如,AMSGrad、Mom、NAG的默认参数都存在很大的改进空间。相比而言,AMSBound因为自适应,默认参数都还非常不错,不需要再有大改进。
对这些优化器进行评定后,科研者们得出以下几个结论:
1、优化器的性能,在区别的任务中有很大差异;
2、事实上,大部分优化器的性能惊人地类似,日前尚无“最通用”的优化办法;
3、对优化器进行(参数)微调,其实和选取优化器同样重要、乃至更重要。
不外,虽然这份表格已然非常仔细,还是有细心的网友发掘了盲点:像SWA这般非常简单有效的办法,还是在分析时被遗漏了。
当然,就提出的几种基准测试来讲,已然适合用于分析大部分优化器的选取方法。
日前,作者已然在ArXiv论文页面,开源了基准测试办法的Code,感兴趣的小伙伴可戳论文位置查看~
作者介绍
这几位作者都来自于德国图宾根大学。
Robin M. Schmidt,计算机专业科研生,重点科研方向是人工智能,感兴趣的方向在深度学习、强化学习及优化上。
Philipp Hennig,设备学习教授,兼任马普所专家,曾于海德堡大学和帝国理工学院修读理学,并在剑桥大学得到设备学习博士学位。
Frank Schneider,设备学习博士生,科研行业是设备学习的优化办法。日前在钻研深度学习的超参数,使深度神经网络的训练自动化。
论文位置:https://arxiv.org/abs/2007.01547— 完 —
量子位 QbitAI · 头条号签约
关注咱们,第1时间获知前沿科技动态
|