当前位置: 首页 > 科技观察

训练Rainbow需要1425GPUDays?Google说强化学习可以降低计算成本

时间:2023-03-20 14:19:23 科技观察

DeepMind提出的Rainbow算法可以大大提高AI玩Atari游戏的水平,但是这种算法的计算成本非常高。主要原因之一是学术研究发布的标准通常需要在大型基准上评估新算法。谷歌的研究人员通过添加和删除不同的组件,在计算预算有限和中小型环境的小规模实验中获得了与Rainbow算法一致的结果。人们普遍认为,将传统强化学习与深度神经网络相结合的深度强化学习始于DQN算法的开创性发布。DQN论文展示了这种组合的巨大潜力,表明它可以产生玩Atari2600游戏的有效代理。从那以后,有多种方法可以改进原始DQN,Rainbow算法结合了许多最新进展,在ALE基准测试中实现了SOTA性能。但是,这种进步带来了非常高的计算成本,进一步拉大了计算资源充足和计算资源不足的差距。在ICML2021的一篇论文《Revisiting Rainbow: Promoting more Insightful and Inclusive Deep Reinforcement Learning Research》中,研究人员首先讨论了与Rainbow算法相关的计算成本。研究人员探索了如何结合多个算法组件在小规模实验中获得与Rainbow算法一致的结果,以及如何将这一想法进一步扩展到以较小的计算预算进行的研究,从而提供有价值的科学见解。论文地址:https://arxiv.org/abs/2011.14826Rainbow计算成本高的主要原因之一是学术研究发布的标准通常需要在大型基准测试(如ALE,其中包含57个可以学习玩Atari2600游戏的强化学习代理)来评估新算法。使用TeslaP100GPU训练模型学习玩游戏通常需要大约五天时间。此外,如果要建立有意义的置信界限,通常至少要运行5次。因此,在全套57个游戏上训练Rainbow需要大约34,200个GPU小时(约1425天)才能提供令人信服的性能实验数据。此类实验只有在可以在多个GPU上并行训练时才可行,这禁止较小的研究小组进行。Rainbow算法与原始Rainbow算法论文相同。在这篇ICML2021论文中,研究人员评估了在原始DQN算法中添加以下组件的效果:双Q学习(doubleQ-learning)、优先体验回放(prioritizedexperience)replay、PER)、竞争网络、多-步骤学习、分布式强化学习和嘈杂网络。该研究在四种经典控制环境中进行了评估。请注意,这些环境可以在10-20分钟内完成训练,而ALE游戏需要5天:右上:在Acrobot中,有两个杠杆和两个连接点,智能体需要对两个杠杆之间的连接点施加力,才能将下杠杆提升到一定高度要求以上。左下:在LunarLander中,智能体的任务是将航天器降落在两面旗帜之间;右下:在MountainCar中,agent需要在两个山丘之间以一定的动量将汽车开到右边的山顶。研究人员探索了将每个组件单独添加到DQN以及从完整Rainbow算法中删除每个组件的效果,发现添加每个算法组件确实改善了底层DQN的整体学习。然而,该研究也发现了一些重要的差异,例如通常被认为可以改进的分布式RL本身并不总是会产生改进。事实上,与Rainbow论文中的ALE结果相反,在经典控制设置中,分布式RL只有在与其他组件结合时才会产生改进。上图显示了在4个经典控制环境中向DQN添加不同组件时的训练进度。x轴是训练步骤,y轴是性能(越高越好)。上图展示了Rainbow在4个经典控制环境下去掉各种组件后的训练进度。x轴是训练步骤,y轴是性能(越高越好)。研究人员还在MinAtar环境中重新运行了Rainbow实验,该环境由一组五个小型化的Atari游戏组成,结果与原始Rainbow论文相似。MinAtar游戏的训练速度比常规Atari2600游戏快约10倍,后者是在原始Rainbow算法上进行评估的。此外,这项研究的实验结果还有一些有趣的方面,例如游戏动态和向代理添加基于像素的输入。因此,该研究提供了一个具有挑战性的中间环境,介于经典控件和完整的Atari2600游戏之间。综上所述,研究人员发现现在的结果与Rainbow论文的原始结果一致——每个算法组件的影响可能因环境而异。研究人员建议使用单个代理来平衡不同算法组件之间的权衡,并且这项研究的Rainbow版本很可能与原始版本高度一致,因为将所有组件组合在一起会产生整体性能更好的代理。然而,有一些重要的细节因不同的算法组件而异,值得更彻底的探索。当提出“优化器-损失函数”实验DQN的不同组合时,同时使用了Huber损失和RMSProp优化器。研究人员在构建DQN时使用相同的选择是一种常见的做法,因为研究人员将大部分时间花在其他算法设计上。然而,这项研究重新审视了DQN在低成本、小规模经典控制和MinAtar设置中使用的损失函数和优化器。研究人员使用Adam优化器(目前最流行的优化器)结合更简单的损失函数(均方误差损失(MSE))进行了一些初步实验。由于在开发新算法时经常忽略优化器和损失函数的选择,本研究发现对两者进行更改可以显着改善所有经典控制和MinAtar环境中的实验结果。因此,研究人员对两个优化器(RMSProp、Adam优化器)和两个损失函数(Huber、MSEloss)做了不同的组合,并在整个ALE平台(包括60个Atari2600游戏)上进行了评估。发现Adam+MSE组合优于RMSProp+Huber组合。在默认的DQN设置(RMSProp+Huber)下,评估Adam+MSE组合带来的提升(越高越好)。此外,在比较各种“优化器-损失函数”组合时,研究人员发现,当使用RMSProp时,Huber损失往往比MSE表现更好(这通过橙色实线和虚线之间的差距来说明)。汇总60个Atari2600游戏的归一化分数,以比较不同的优化器-损失函数组合。在有限的计算预算下,这项研究的研究人员能够在高水平上重现论文《Rainbow: Combining Improvements in Deep Reinforcement Learning》的研究,并发现新的有趣现象。显然,重新审视某事比第一次发现它更容易。然而,研究人员开展这项工作是为了证明中小型环境实证研究的相关性和重要性。研究人员认为,这些计算密集度较低的环境非常适合对新算法的性能、行为和复杂性进行更关键和彻底的分析。该研究希望人工智能研究人员将小规模环境视为一种有价值的工具,并希望审稿人避免忽视专注于小规模环境的实验工作。