不断发展的强化学习算法

强化学习 (RL) 研究的一个长期总体目标是设计一种能够解决各种问题的通用学习算法。然而,由于 RL 算法分类非常庞大,并且设计新的 RL 算法需要进行大量的调整和验证,因此这个目标非常艰巨。一个可能的解决方案是设计一种元学习方法,可以设计新的 RL 算法,并自动推广到各种任务。

近年来,AutoML在自动化机器学习组件(例如神经网络架构和模型更新规则)设计方面取得了巨大成功。神经架构搜索(NAS) 就是一个例子,它已用于开发更好的图像分类神经网络架构和在手机和硬件加速器上运行的高效架构。除了 NAS,AutoML-Zero还表明甚至可以使用基本的数学运算从头开始学习整个算法。这些方法的一个共同主题是神经网络架构或整个算法由一个图表示,并使用单独的算法来针对某些目标优化该图。

这些早期的方法是为监督学习 而设计的,其中整体算法更加简单。但在 RL 中,算法的更多组件可能是设计自动化的潜在目标(例如,代理网络的神经网络架构、从重放缓冲区中采样的策略、损失函数 的整体公式),并且并不总是清楚什么是集成这些组件的最佳模型更新程序。之前对自动化 RL 算法发现的努力主要集中在模型更新规则上。这些方法学习优化器或 RL更新程序本身,并且通常使用神经网络(例如RNN或CNN)来表示更新规则,可以使用基于梯度的方法进行有效优化。但是,这些学习到的规则是不可解释或不可推广的,因为学习到的权重是不透明的并且特定于领域。

在我们被ICLR 2021接受的论文“不断发展的强化学习算法”中,我们展示了通过使用图形表示和应用来自 AutoML 社区的优化技术,可以学习新的、可分析解释和可推广的强化学习算法。具体来说,我们将用于根据代理的经验优化代理参数的损失函数表示为计算图,并使用 正则化进化在一组简单的训练环境中发展计算图的种群。这会导致强化学习算法越来越好,并且发现的算法可以推广到更复杂的环境,甚至是具有视觉观察的环境,例如 Atari 游戏。

强化学习算法作为计算图

受 NAS 思想的启发,NAS 可在表示神经网络架构的图空间中进行搜索,我们通过将 RL 算法的损失函数表示为计算图来元学习 RL 算法。在这种情况下,我们对损失函数使用有向无环图,其中节点表示输入、运算符、参数和输出。例如,在DQN的计算图中,输入节点包括来自重放缓冲区的数据,运算符节点包括神经网络运算符和基本数学运算符,输出节点表示损失,将使用梯度下降将其最小化。

这种表示法有几个好处。这种表示法具有足够的表现力,不仅可以定义现有算法,还可以定义新的、未被发现的算法。它也是可解释的。这种图形表示法可以像人类设计的 RL 算法一样进行分析,这使得它比在整个 RL 更新过程中使用黑盒函数逼近器的方法更具可解释性。如果研究人员能够理解为什么学习到的算法更好,那么他们既可以修改算法的内部组件来改进它,也可以将有益的组件转移到其他问题上。最后,这种表示法支持可以解决各种问题的通用算法。

1729052580863.jpg

计算平方贝尔曼误差的 DQN 的示例计算图。

我们使用PyGlove库 实现了这种表示,它可以方便地将图形转换为可以通过正则化进化进行优化的搜索空间。

不断发展的强化学习算法

我们使用基于进化的方法来优化感兴趣的 RL 算法。首先,我们用随机图初始化一组训练代理。这组代理在一组训练环境中并行训练。代理首先在障碍环境中进行训练 - 一个简单的环境,例如CartPole,旨在快速淘汰表现不佳的程序。

如果代理无法解决障碍环境,则训练将提前停止,得分为零。否则,训练将进入更困难的环境(例如,月球着陆器、简单的MiniGrid环境等)。算法性能经过评估并用于更新种群,其中更有希望的算法会进一步变异。为了减少搜索空间,我们使用功能等效性检查器,如果新提出的算法在功能上与之前检查过的算法相同,它将跳过它们。随着新的变异候选算法得到训练和评估,这个循环将继续。在训练结束时,我们选择最佳算法并在一系列未见过的测试环境中评估其性能。

实验中的种群规模约为 300 个代理,我们观察到在 2 万到 5 万次突变之后,良好的候选损失函数的演变,这需要大约三天的训练时间。我们能够在 CPU 上进行训练,因为训练环境很简单,可以控制训练的计算和能源成本。为了进一步控制训练成本,我们使用人工设计的 RL 算法(例如 DQN)来播种初始种群。

1729052568307.jpg

元学习方法概述。新提出的算法必须首先在障碍环境中表现良好,然后才能在一组更难的环境中进行训练。算法性能用于更新种群,其中性能更好的算法进一步变异为新算法。在训练结束时,在测试环境中评估性能最佳的算法。

学习算法

我们重点介绍了两种表现出良好泛化性能的已发现算法。第一个是DQNReg,它以 DQN 为基础,在正常的平方贝尔曼误差上添加了 Q 值的加权惩罚。第二个学习到的损失函数DQNClipped更复杂,尽管它的主导项形式很简单——Q 值和平方贝尔曼误差的最大值(模一个常数)。这两种算法都可以看作是一种正则化 Q 值的方法。DQNReg 增加了一个软约束,而 DQNClipped 可以解释为一种约束优化,如果 Q 值过大,它会最小化 Q 值。我们表明,这种学习到的约束在训练的早期阶段发挥作用,此时高估 Q 值是一个潜在问题。一旦满足这个约束,损失就会最小化原始的平方贝尔曼误差。

进一步分析表明,虽然像 DQN 这样的基线算法通常会高估 Q 值,但我们学习到的算法以不同的方式解决了这个问题。DQNReg 低估了 Q 值,而 DQNClipped 的行为与double dqn类似,因为它会缓慢接近基本事实而不会高估它。

值得一提的是,当进化以 DQN 为种子时,这两种算法始终会出现。从头开始学习,该方法重新发现了TD 算法。为了完整起见,我们发布了在进化过程中发现的 1000 个表现最佳的算法的数据集。好奇的读者可以进一步研究这些学习到的损失函数的属性。

1729052556697.jpg

高估值通常是基于价值的 RL 中的一个问题。我们的方法学习已找到一种方法来规范 Q 值的算法,从而减少高估。

学习算法的泛化性能

在强化学习中,泛化通常是指经过训练的策略在各个任务中的泛化。然而,在这项研究中,我们感兴趣的是算法泛化性能,即算法在一组环境中的表现如何。在一组经典控制环境中,学习到的算法可以在密集奖励任务(CartPole、Acrobot、LunarLander)上达到基线水平,并在稀疏奖励任务MountainCar上胜过 DQN 。

1729052544823.jpg

学习算法与基线在经典控制环境下的性能。

在一组稀疏奖励 MiniGrid 环境中,我们测试了各种不同的任务,我们发现 DQNReg 在训练和测试环境中的表现都远远优于基线,无论是在样本效率还是最终性能方面。事实上,这种效果在测试环境中更为明显,因为测试环境的大小、配置和新障碍物(如熔岩)各不相同。

1729052530946.jpg

训练环境性能与训练步骤的关系,以 10 个训练种子的事件回报来衡量。DQNReg 在样本效率和最终性能方面可以匹敌或超越基线。

1729052515979.jpg

DQNReg 在未知的测试环境中的表现可以大大超越基线。

我们在几个 MiniGrid 环境中可视化了普通 DDQN 与学习算法 DQNReg 的性能。这些环境的起始位置、墙壁配置和物体配置在每次重置时都是随机的,这要求代理进行泛化,而不是简单地记住环境。虽然 DDQN 通常很难学习任何有意义的行为,但 DQNReg 可以有效地学习最佳行为。

分布式量子网络1729052495231.jpg1729052501439.jpg1729052508136.jpg

DQNReg(已学习)1729052451437.jpg1729052476656.jpg1729052485187.jpg

即使在基于图像的 Atari 环境中,我们也观察到了性能的提高,尽管训练是在非基于图像的环境中进行的。这表明,在具有可泛化算法表示的一组廉价但多样化的训练环境上进行元训练可以实现彻底的算法泛化。

1729052438687.jpg

环境 深度Q网络 分布式量子网络 多酚氧化酶 动态规划

小行星 1364.5 734.7 2097.5 2390.4

保龄球 50.4 68.1 40.1 80.5

拳击 88.0 91.6 94.6 100.0

公路跑者   39544.0    44127.0    35466.0    65516.0  

学习算法 DQNReg 在几款 Atari 游戏中相对于基线的性能。每 100 万步对 200 个测试集进行性能评估。

结论

在这篇文章中,我们讨论了如何学习新的可解释强化学习算法,方法是将其损失函数表示为计算图,并在该表示上演化出一个代理群体。计算图公式允许研究人员在人工设计的算法的基础上进行构建,并使用与现有算法相同的数学工具集来研究学习到的算法。我们分析了一些学习到的算法,并可以将它们解释为一种熵正则化形式,以防止价值高估。这些学习到的算法可以超越基线并推广到看不见的环境。表现最佳的算法可供进一步分析研究。

我们希望未来的工作能够扩展到更多不同的强化学习设置,例如演员评论算法或离线强化学习。此外,我们希望这项工作能够促进机器辅助算法的开发,其中计算元学习可以帮助研究人员找到新的方向,并将学习到的算法融入到自己的工作中。

致谢

我们感谢我们的合著者 Daiyi Peng、Esteban Real、Sergey Levine、Quoc V. Le、Honglak Lee 和 Aleksandra Faust。我们还感谢 Luke Metz 在论文早期的讨论和反馈中提供的帮助,感谢 Hanjun Dai 在相关研究想法的早期讨论中提供的帮助,感谢 Xingyou Song、Krzysztof Choromanski 和 Kevin Wu 在基础设施方面的帮助,感谢 Jongwook Choi 在环境选择方面的帮助。最后,我们感谢 Tom Small 为本文设计动画。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论