优化器怎么选?一文教你选择适合不同ML项目的优化器
为机器学习项目选择合适的优化器不是一件简单的事。
优化器是深度学习领域的重要组成模块之一,执行深度学习任务时采用不同的优化器会产生截然不同的效果。这也是研究者们不遗余力「炼丹」的原因之一。常见的优化算法包括梯度下降(变体 BGD、SGD 和 MBGD)、Adagrad、Adam、Momentum 等,如此繁多的优化器应该如何做出抉择呢?
不久前,Lightly-ai 的机器学习工程师 Philipp Wirth 撰写了一篇指南,总结了计算机视觉、自然语言处理和机器学习领域普遍使用的流行优化器,并就如何选择合适的优化器给出了建议。
具体而言,这篇文章提出基于以下 3 个问题来选择优化器:
找到相关的研究论文,开始时使用相同的优化器; 查看表 1,并一一对照自己所用数据集的属性以及不同优化器的优缺点; 根据可用资源调整优化器。
引言
为机器学习项目选择好的优化器不是一项容易的任务。流行的深度学习库(如 PyTorch 或 TensorFLow)提供了多种优化器选择,它们各有优缺点。并且,选择不合适的优化器可能会对机器学习项目产生很大的负面影响。这使得选择优化器成为构建、测试和部署机器学习模型过程中的关键一环。
上图显示了由于优化器不同,模型性能可能会差异很大。
选择优化器的问题在于没有一个可以解决所有问题的单一优化器。实际上,优化器的性能高度依赖于设置。所以根本问题是:「哪种优化器最适合自身项目的特点?」
下文就围绕这个问题分两部分展开,第一部分简要介绍常用的优化器,第二部分讲述「三步选择法」,帮助用户为自己的机器学习项目挑选出最佳优化器。
常用优化器
深度学习中几乎所有流行的优化器都是基于梯度下降。这意味着它们要反复估计给定损失函数 L 的斜率,并沿着相反的方向移动参数(因此向下移动至假定的全局最小值)。这种优化器最简单的示例是自 20 世纪 50 年代以来一直使用的随机梯度下降(SGD)算法。21 世纪前 10 年,自适应梯度法(如 AdaGrad 或 Adam)变得越来越流行。
但最近的趋势表明,部分研究转而使用先前的 SGD,而非自适应梯度法。此外,当前深度学习中的挑战带来了新的 SGD 变体,例如 LARS、LAMB[6][7]。例如谷歌研究院在其最近的论文中使用 LARS 训练一种强大的自监督模型[8]。
本文中用 w 代表参数,g 代表梯度,α为每个优化器的全局学习率,t 代表时间步(time step)。
随机梯度下降(SGD)算法
在随机梯度下降算法(SGD)中,优化器基于小批量估计梯度下降最快的方向,并朝该方向迈出一步。由于步长固定,因此 SGD 可能很快停滞在平稳区(plateaus)或者局部最小值上。
带动量的 SGD
其中β<1。当带有动量时,SGD 会在连续下降的方向上加速(这就是该方法被称为「重球法」的原因)。这种加速有助于模型逃脱平稳区,使其不易陷入局部极小值。
AdaGrad
AdaGrad 是首批成功利用自适应学习率的方法之一。AdaGrad 基于平方梯度之和的倒数的平方根来缩放每个参数的学习率。该过程将稀疏梯度方向放大,以允许在这些方向上进行较大调整。结果是在具有稀疏特征的场景中,AdaGrad 能够更快地收敛。
RMSprop
RMSprop 是一个未发布的优化器,但在最近几年中已被过度使用。其理念类似于 AdaGrad,但是梯度的重新缩放不太积极:用平方梯度的移动均值替代平方梯度的总和。RMSprop 通常与动量一起使用,可以理解为 Rprop 对小批量设置的适应。
Adam
Adam 将 AdaGrad、RMSprop 和动量方法结合到一起。下一步的方向由梯度的移动平均值决定,步长大小由全局步长大小设置上限。此外,类似于 RMSprop,Adam 对梯度的每个维度进行重新缩放。Adam 和 RMSprop(或 AdaGrad)之间一个主要区别是对瞬时估计 m 和 v 的零偏差进行了矫正。Adam 以少量超参数微调就能获得良好的性能著称。
AdamW
Loshchilov 和 Hutter 在自适应梯度方法中确定了 L2 正则化和权重下降的不等式,并假设这种不等式限制了 Adam 的性能。然后,他们提出将权重衰减与学习率解耦。实验结果表明 AdamW 比 Adam(利用动量缩小与 SGD 的差距)有更好的泛化性能,并且对于 AdamW 而言,最优超参数的范围更广。
LARS
LARS 是 SGD 的有动量扩展,可以适应每层的学习率。LARS 最近在研究界引起了关注。这是由于可用数据的稳定增长,机器学习的分布式训练也变得越来越流行。这使得批处理大小开始增长,但又会导致训练变得不稳定。有研究者(Yang et al)认为这些不稳定性源于某些层的梯度标准和权重标准之间的不平衡。因此他们提出了一种优化器,该优化器基于「信任」参数η
如何选择合适的优化器?
如上所述,为机器学习问题选择合适的优化器可能非常困难。更具体地说,没有万能的解决方案,只能根据特定问题选择合适的优化器。但在选择优化其之前应该问自己以下 3 个问题:
类似的数据集和任务的 SOTA 结果是什么? 使用了哪些优化器? 为什么使用这些优化器?
如果您使用的是新型机器学习方法,那么可能存在一篇或多篇涵盖类似问题或处理了类似数据的优秀论文。通常,论文作者会进行广泛的交叉验证,并且给出最成功的配置。读者可以尝试理解他们选择那些优化器的原因。
例如:假设你想训练生成对抗网络(GAN),以对一组图像执行超分辨率。经过一番研究后,你偶然发现了一篇论文 [12],研究人员使用 Adam 优化器解决了完全相同的问题。威尔逊等人[2] 认为训练 GAN 并不应该重点关注优化问题,并且 Adam 可能非常适合这种情况。所以在这种情况下,Adam 是不错的优化器选择。
此外,你的数据集中是否存在可以发挥某些优化器优势的特性?如果是这样,则需要考虑优化器的选择问题。
下表 1 概述了几种优化器的优缺点。读者可以尝试找到与数据集特征、训练设置和项目目标相匹配的优化器。某些优化器在具有稀疏特征的数据上表现出色,而有一些将模型应用于先前未见过的数据时可能会表现更好。一些优化器在大批处理量下可以很好地工作,而另一些优化器会在泛化不佳的情况下收敛到极小的最小值。
举例而言:如果你需要将用户给出的反馈分类成正面和负面反馈,考虑使用词袋模型(bag-of-words)作为机器学习模型的输入特征。由于这些特征可能非常稀疏,所以决定采用自适应梯度方法。但是具体选择哪一种优化器呢?参考上表 1,你会发现 AdaGrad 具有自适应梯度方法中最少的可调参数。在项目时间有限的情况下,可能就会选择 AdaGrad 作为优化器。
最后需要考虑的问题:该项目有哪些资源?项目可用资源也会影响优化器的选择。计算限制或内存限制以及项目时间范围都会影响优化器的选择范围。
如上表 1 所示,可以看到每个优化器有不同的内存要求和可调参数数量。此信息可以帮助你估计项目设置是否可以支持优化器的所需资源。
举例而言:你正在业余时间进行一个项目,想在家用计算机的图像数据集上训练一个自监督的模型(如 SimCLR)。对于 SimCLR 之类的模型,性能会随着批处理大小的增加而提高。因此你想尽可能多地节省内存,以便进行大批量的训练。选择没有动量的简单随机梯度下降作为优化器,因为与其他优化器相比,它需要最少的额外内存来存储状态。
您可能也感兴趣:
- 韩国芯片在6月份出口134.4亿美元 连续8个月同比增长
- 中国在生成式人工智能应用领域占据领先地位
- 消息称英伟达未来几个月可能向国内客户交付超过100万颗H20
- 马斯克宣布xAI将在8月份推出Grok-2大模型 预计年底推出Grok-3
- OpenAI已训练CriticGPT模型:基于GPT-4 用于发现ChatGPT生成内容错误
观点
中式SaaS焦虑:卷完大模型,卷向海外
雷军历届年度演讲回顾 这些金句还记得吗?
新势力期中考,小鹏汽车要努力
视频 更多
9.11和9.9谁大?难倒ChatGPT的这题国内大模型完胜
热起来了 暑期档电影票房连续三天破2亿元
更轻、更薄、更强大!选折叠屏就选荣耀Magic V3
第一视角亲身体验 萝卜快跑无人驾驶
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
想在手机上看科技资讯和科技八卦吗?
想第一时间看独家爆料和深度报道吗?
请关注TechWeb官方微信公众帐号:
1.用手机扫左侧二维码;
2.在添加朋友里,搜索关注TechWeb。
今日热点
中式SaaS焦虑:卷完大模型,卷向海外,有戏?
新势力期中考,小鹏汽车要努力
萝卜快跑,在武汉踩了一脚地板油
为您推荐
雷军历届年度演讲回顾 这些金句你还记得吗?
「9.11和9.9谁大」难倒了国外三大旗舰模型,国内模型表现如何?
AIGC短剧卷起来了!没有演员全AI生成 快手抖音领衔竞速
增程技术落不落后不重要 能多卖车才重要
“萝卜快跑”怎么就在武汉火起来了?
这一次,周鸿祎点赞李彦宏
苹果加码印度制造:iPad生产重启,Mac和AirPods紧随其后
腾讯视频或推出无广告版本 需要额外付费 网友吵翻了
北京拟出台自动驾驶汽车条例 无人驾驶服务有望站上风口
更多
- 李佳琦被指卖假和田玉 美ONE回应:主品以及赠品的《宝石鉴定证书》均已通过审核
- 林更新代言去哪儿旅行、王俊凯代言夸克AI搜索,互联网公司开卷明星代言
- 百度将于8月22日发布2024年第二季度财报
- 知名打假人王海爆料:李佳琦、小杨哥卖假和田玉 出假鉴定证书者被罚10万元
- TechWeb微晚报:苹果市值屡创新高突破3.6万亿美元,特斯拉已开始大规模招聘
- 再度跌停!国内最大汽车经销商触发退市
- 沪港旅游新体验:港人用AlipayHK可“一码通行”上海地铁
- 雷军历届年度演讲回顾 这些金句你还记得吗?
- 名创优品斥资约989万港元回购股票
- Amazon Bedrock上新多项新功能,让生成式AI应用学得广、说得准、记得住
更多
- 不只是iPhone!苹果智能也有望推升iPad销量
- 法拉利首款电动汽车将在明年亮相 原型车已完成数千公里测试
- 特斯拉电动皮卡Cybertruck在得克萨斯超级工厂生产已满一年
- 苹果市值屡创新高突破3.6万亿美元 Apple Intelligence是“催化剂”
- 大裁员两个多月后 特斯拉已开始大规模招聘
- 特斯拉CEO马斯克:自动驾驶出租车前部需要进行一项重大设计更改
- 苹果iPhone 16或仅Pro系列支持Wi‑Fi 7 另外两款仍是Wi‑Fi 6E
- 分析师预计iPhone未来两个财年将出货近5亿部 平均售价也会更高
- 消息称二季度全球智能手机出货2.85亿部 小米vivo出货量同比大增
- 台积电二季度净利润有望超过72亿美元 同比大增30%环比也将增加
智能家庭 更多
Redmi K70至尊版定档7月19日
小米MIX Fold 4将采用重金打造全碳架构
vivo X200有望首发!天玑9400将搭载全球最快手机内存
云计算 更多
- 西谷云田凤宾:算力体系在标准路线、体系架构方面仍然处于起步阶段
- 微软AI暴露主观意识:会示爱、会PUA甚至威胁人类
- 青云QingCloud EHPC 打造即买即用的全流程SaaS化超算服务
- 沙利文报告:中国AI平台开发应用市场综合竞争表现 亚马逊云科技居首
- 要数据还是要环境?数据中心能耗未来将突破全球电力近10%!
- 蚂蚁链发布BTN:可将区块链网络吞吐量提升186% 带宽成本降低80%
- 蚂蚁自研数据库OceanBase宣布开源 300万行核心代码向社区开放
- 法院正式判决,小米移出军事清单:正式撤销了对小米公司的全部限制
手机游戏 更多
终于来了:开放世界武侠游戏《燕云十六声》首测6月开启
基于《无畏契约》的MMOFPS:拳头游戏《代号T项目》开发中
3天卖1000万份!《塞尔达传说:王国之泪》创系列历史纪录
排行
- 马斯克自曝猛料:过去8个月被两次暗杀
- 小米王化回应网传SU8汽车渲染图:没有SU8,
- 支付宝3天紧急上线小店点赞打赏功能 200万
- 中国在生成式人工智能应用领域占据领先地位
- 上海出口企业积极应对挑战
- 特斯拉新款Model Y内饰改款:取消怀挡设计
- 2015年十大网络流行语 它们刷爆朋友圈!
- 余承东回应华为25亿元转让问界品牌:品牌商
- 余承东直播曝光华为鸿蒙智行第四界:联合江
- 出版业不景气 《福布斯》超低价变卖总部大
图赏 更多
-
长城旗下首款MPV魏牌高山DHT-PHEV上市
-
2024款岚图梦想家上市 33.99万元起起售
-
蔚来手机NIO Phone发布:旗舰配置 机身轻薄 6499元起
-
华为Mate60 Pro图赏:高性能与创新设计的完美结合
-
摩托罗拉moto g54图赏
视频 更多
9.11和9.9谁大?难倒ChatGPT的这题国内大模型完胜
热起来了 暑期档电影票房连续三天破2亿元
更轻、更薄、更强大!选折叠屏就选荣耀Magic V3
第一视角亲身体验 萝卜快跑无人驾驶
专题 更多
- vivo影像新蓝图 暨X系列新品发布会
- 挚文集团专题
- 智能车评专题
- 2023鹤立奖年度评选
今日要闻
- 不只是iPhone!苹果智能也有望推升iPad销量
- 大裁员两个多月后 特斯拉又开始大规模招聘了
- 张雪峰回应进军私募股权行业:为考生和家长服务
- 全国最大汽车经销商扛不住了 广汇提前锁定面值退市
- 百度旗下的“萝卜快跑” 在武汉踩了一脚地板油
- 李佳琦被打假人王海指控卖假和田玉 美ONE回应
- 法拉利首款电动汽车明年亮相 已完成数千公里测试
- 特斯拉Cybertruck在得克萨斯超级工厂生产已满1年
- 消息称抖音电商将增加低价权重 上线比价频道
- Redmi K70至尊版定档7月19日:凝聚最新自研技术