互联网资讯 / 人工智能 · 2023年12月16日 0

训练Rainbow所需的GPU天数与强化学习的计算成本降低效果

DeepMind提出的RAInbow算法显著提升了AI在Atari游戏中的表现,但其计算成本相当高。一个主要原因是学术界通常需要在大型基准测试上评估新算法。来自谷歌的研究者通过添加和移除不同的算法组件,在有限的计算预算及中小型环境中,进行了小规模实验,并获得了与RAInbow算法相似的结果。

深度强化学习的概念,通常被认为是从DQN算法的发布开始的。DQN论文展示了将传统强化学习与深度神经网络结合的巨大潜力,证明了其能够有效控制Atari 2600游戏。尽管之后出现了多种对原始DQN的改进,但RAInbow算法结合了许多最新技术,在ALE基准测试中实现了最先进的性能。然而,这一进展导致了更高的计算成本,拥有充足计算资源的研究团队与资源有限的团队之间的差距进一步扩大。

在ICML 2021的一篇论文《RevisITINg RAInbow: ProMoting MoRe insightful and InclUSive Deep REINfoRceMent learning ReSeaRch》中,研究者探讨了RAInbow算法的计算成本。研究者通过结合多种算法组件,在小规模实验中获得与RAInbow算法一致的结果,并推广到在较小计算预算下的研究如何为科学提供有价值的见解。

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

论文地址:https://aRxiv.oRg/abs/2011.14826

RAInbow算法计算成本高的一个主要原因是,学术研究通常要求在大型基准测试(如ALE,包括57款强化学习智能体学习Atari 2600游戏)上评估新算法。通常,使用Tesla P100 GPU训练模型使其学会玩一个游戏大约需要五天的时间。此外,为了建立可靠的置信边界,通常需要至少进行5次实验。

因此,在57款游戏上训练RAInbow大约需要34,200个GPU小时(约1425天),才能获得令人信服的实验性能。这样的实验只有在可以并行训练多个GPU时才可行,这使得较小的研究团队难以承担。

RAInbow算法

与原始RAInbow算法的论文相似,ICML 2021的这篇论文评估了在原始DQN算法中添加的多个组件的效果,包括双Q学习(double Q-learning)、优先经验回放(Prioritized Experience Replay, PER)、竞争网络、多步学习、分布式强化学习及嘈杂网络。

该研究在四个经典控制环境中进行了评估。需要注意的是,与ALE游戏相比,经典控制环境的训练时间大约在10到20分钟内完成:

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

左上:在CaRtPole中,智能体通过左右移动来平衡推车上的杆子;右上:在Acrobot中,智能体需要施加力以抬高杠杆;左下:在LunarLander中,智能体的任务是将飞船降落在两个旗帜之间;右下:在MountainCar中,智能体需要借助动力将车开到右侧的山顶。

研究者探讨了将每个组件单独添加到DQN中,以及从完整RAInbow算法中删除每个组件的效果,发现总体上每个算法组件的添加确实改善了基础DQN的学习效果。然而,该研究也发现了一些重要差异,例如通常认为能改进的分布式RL不一定总能带来改善。实际上,在经典控制环境中,分布式RL仅在与其他组件结合时才会有所提升,这与RAInbow论文中的ALE结果相反。

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

上图显示了在四个经典控制环境中,向DQN添加不同组件时的训练进度。x轴为训练步数,y轴为性能(越高越好)。

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

上图显示了在四个经典控制环境中,从RAInbow中移除各种组件时的训练进度。x轴为训练步数,y轴为性能(越高越好)。

研究者还在MinAtar环境中重新运行了RAInbow实验,MinAtar环境由五个小型化的Atari游戏组成,实验结果与原RAInbow论文相似。MinAtar游戏的训练速度大约是常规Atari 2600游戏的10倍,而后者的训练速度是在最初的RAInbow算法上评估的。此外,该研究的实验结果显示了一些有趣的现象,例如游戏动态和基于像素的输入。该研究提供了一个具有挑战性的中级环境,介于经典控制和完整的Atari 2600游戏之间。

综合来看,研究者发现当前的结果与原始RAInbow论文的结果一致——每个算法组件的影响可能因环境而异。研究者建议使用单一智能体来平衡不同算法组件之间的权衡,而该研究的RAInbow版本可能与原始版本高度一致,因将所有组件结合在一起能够产生整体性能更优的智能体。然而,不同算法组件之间的一些重要细节变化,值得进行更深入的研究。

「优化器 – 损失函数」不同组合实验

DQN提出时,通常使用Huber损失和RMSProp优化器。对于研究者而言,在构建DQN时,沿用相同选择是一种常见做法,因为大部分时间都用在其他算法设计上。

该研究重新探讨了在低成本、小规模经典控制和MinAtar环境中使用的损失函数和优化器。研究者采用AdaM优化器进行一些初步实验,AdaM是当前最流行的优化器,并结合了更简单的均方误差损失(MSE)。由于在开发新算法时,优化器和损失函数的选择通常被忽视,该研究发现这两者的改变在所有经典控制和MinAtar环境中都显著改善了实验结果。

因此,研究者将两个优化器(RMSProp、AdaM)与两个损失函数(Huber、MSE)进行了不同组合,并在整个ALE平台(包括60款Atari 2600游戏)上进行了评估。结果显示,AdaM+MSE组合优于RMSProp+Huber组合。

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

在默认DQN设置下(RMSProp + Huber),评估AdaM+MSE组合带来的改进(越高越好)。

在比较各种「优化器 – 损失函数」组合过程中,研究者发现当使用RMSProp时,Huber损失通常比MSE表现得更好(实线和橙色虚线之间的差距可以说明这一点)。

训练Rainbow需要1425个GPU Day?谷歌说强化学习可以降低计算成本

对60款Atari 2600游戏的标准化得分进行汇总,比较不同的「优化器 – 损失函数」组合。

在有限的计算预算下,研究者能够在高层次上复现《RAInbow: CoMBIning IMProveMents in Deep REINfoRceMent learning》的研究,并发现新的有趣现象。显然,重新审视某事物比首次发现更容易。然而,研究者开展此项工作的目的是为了论证中小型环境实证研究的相关性和重要性。研究者相信,这些计算强度较低的环境能够更有效地分析新算法的性能、行为和复杂性。该研究希望AI研究人员能够将小规模环境视作一种有价值的工具,评审人员也应避免忽视那些专注于小规模环境的实验工作。