作者 | Jacob Buckman
编译 | MrBear
编辑 | 丛末
作为行为主义学派的重要技术,近年来,强化学习在 Atari 游戏领域大放异彩。然而,人们要想将强化学习技术真正应用于现实世界任务,还有很长的一段路要走。本文将真实世界强化学习任务抽象为「简化」和「求解」的两个步骤,从马尔科夫决策过程的角度,讨论了基于强化学习的普适性自动化技术。
对于广大研究者来说,有朝一日能够在使用很少的人力的情况下,通过强化学习为现实世界中的任务生成自动化的解决方案是梦寐以求的事情1。不幸的是,现在看来,强化学习还很难实现这一目标。到目前为止,深度强化学习基本上还没有解决任何现实世界中的问题;即使是在非常理想的简单情况下,强化学习找到的解决方案往往也是十分脆弱的,无法泛化到新的环境中去。这意味着在每个任务中,涉及的人工工作(即针对特定任务的工程工作和超参数调优)是相当多的。
与此同时,当前的强化学习算法的样本效率往往很低,这也使得数据收集和计算的开销非常巨大。目前,基于强化学习的自动化解决方案与其它的替代方案(例如,使用一组机器人来设计一个解决方案,或者根本不使用自动化技术)相比,还是很弱。
尽管如此,强化学习(尤其是深度强化学习)技术,仍然因其巨大的潜力成为令人兴奋的研究领域。人们在强化学习领域取得的研究进展,能够直接转化为使复杂的、具有很高认知要求的任务更好地实现自动化的能力,这是人们目前集中精力重点攻关的研究方向。如果我们能够真正将强化学习发扬光大,我们就可以在不使用人力的情况下,完成目前需要大量人力参与的任务:只需要通过利用少量的数据进行大量的计算。
出于这种考虑,让我们进一步思考:通过强化学习将任务自动化究竟意味着什么?基本的解决过程可以被拆解为两个步骤:首先,通过将问题改写为一个马尔科夫决策过程(MDP)或者部分可观察马尔科夫决策过程(POMDP),从而将该问题简化为一个强化学习问题,然后对这个 MDP 或者 POMDP2 问题的最优策略进行求解。接着,这个最优策略让我们能够完全地将该任务自动化,无需其它的人工工作就可以任意次地完成该任务。
尽管这个「两步走」的策略十分直接,但在我的印象中,并没有太多的强化学习研究人员从自动化的角度来思考他们的工作。而在我看来,自动化是思考强化学习的一个非常有用的视角,它确实影响了我对强化学习研究的思考方法。在本文中,我将首先更详细的介绍上面提到的「两步走」策略。
将任务简化为强化学习问题
当我们尝试通过强化学习对某个现实世界中的问题进行自动化时,首先要做的就是将该问题重构为一个马尔科夫决策过程。由于马尔科夫决策过程的框架十分通用,因此对于大多数问题来说,这一点是很容易做到的。这也正是强化学习可以节省大量人力的原因所在。除了找到解决方案,人们要做的唯一的任务就是以略有不同的形式将问题改写为马尔科夫决策过程(或部分可观察马尔科夫决策过程)。
不幸的是,并非所有的马尔科夫决策过程都同样容易解决。在大多数情况下,直接将问题简化为强化学习问题将会产生某些十分难以解决的问题。例如,如果某项任务的奖励非常稀疏,只有在任务中发生的情景结束时才能够获得奖励,那么我们很难计算出所有的奖励,更不用说解决任务了。但是,通过合理设计奖励函数(reward shaping)——加入将策略引导到真正的最优点的中间奖励,我们可以在很大程度上使强化学习算法面对的任务更加简单。
「sim2real」是另一种使我们更容易将任务简化为强化学习问题的技术,我们首先要手动设计一个模拟器(是一种能够对真实环境下的 MDP 进行近似的 MDP),然后在我们的模拟器上找到最优策略,最终将这个最优策略迁移到真实环境中。从一个模拟器中收集数据需要进行计算,但并不需要与现实世界进行交互,这种与现实世界的交互要比从模拟器中收集数据慢得多。因此,在需要收集大量数据的问题上,这是一种非常经济的方法3。
然而,这种技术也有很大的缺点:在改变 MDP 时,MDP 的最优策略也随之发生了变化。这意味着,即使我们的 MDP 求解器为我们提供了完美的解决方案(给出了确切的 MDP 最优策略),这种解决方案也可能在真实任务上表现得很糟糕!
对于「将任务简化为强化学习」的研究,是由以下问题驱动的:「我们如何才能将真实世界中的问题表示为 MDP,以致于当我们使用我们的 MDP 求解器时,最终得到的策略可以在真实任务上表现良好」?在该框架下,强化学习研究的子领域包括迁移学习、无监督强化学习、元学习、sim2real、奖励工程、人工智能安全等等。
求解 MDP
强化学习的核心是一个基本的问题:找到 MDP 的最优策略。MDP 是一种优美、简练的数学抽象,并不涉及现实世界中那些混乱的情况。在 MDP 的情况下,我们不必像在「将任务简化为强化学习问题」时那样,思考「这是正确的奖励函数吗?」或者「这样的解决方案能够迁移到其它任务上吗?」
真正完美的 MDP 只有一个,我们要做的就是找到具有最高期望收益的策略。
由于 MDP 框架具有很强的通用性,在我们发现一种能够为任意 MDP 找到最优策略的算法4之前,我们需要研究很多困难的问题。为了能够进一步进行研究,我们往往为给定的 MDP 做出一些假设。例如,我们可以假设状态空间是「表格式」的(离散的),或者是连续的(但是状态转移函数是符合利普希茨连续条件的),或者奖励函数的范围介于 [-1,1] 之间。这种简化过程使我们更容易对 MDP 进行推理,并且更容易从经验上说明我们提出的解决方案的有效性。
对二者的选择如何影响后续研究?
大多数强化学习领域的研究都关注于改进或理解上述两个方面中的某一个方面。从研究动机到评估策略,再到对结果的解释,对这二者的选择对一切后续的研究过程都会产生很大的影响。然而,研究社区目前无法很好地将二者进行区分。许多论文似乎同时涉及这两个层面,使得论文缺乏严谨性,研究人员各执一词,并且容易对结果产生误解。
具体而言,我们可以从这篇论文出发来窥探这个问题:Mnih 等人曾于 2015 年发表过一篇经典的深度强化学习论文「Human-level control through deep reinforcement learning」。这是第一篇明确说明深度强化学习算法可以利用高位像素输入进行学习,学会在玩游戏的过程中达到人类水平的文章,人们普遍认为这篇论文揭开了整个深度强化学习领域研究的序幕。首先,我想重点关注 Mnih 等人做出的一个选择:将所有的奖励裁剪到 [-1,1] 的区间中。
如果我们将这种对奖励的裁剪操作解释为对他们的 MDP 求解算法在算法层面上的选择,这显然是不合适的。「将奖励裁剪到 [-1,1] 之间并进行 Q-学习」显然是一种糟糕的算法。在求解算法找到的策略与最佳策略相差甚远的情况下随便提出一个 MDP 是十分容易的。但是,如果从另一个层面上看,我们将这种奖励裁剪操作看做一种强化学习简化技术,那么这种做法就显得十分明智了。
当我们使用一个深度神经网络函数近似器时,求解一个带有无界奖励的 MDP 问题是十分困难的,而求解带有有界奖励的 MDP 问题要容易得多。事实证明,对于大多数 Atari 游戏而言,带有 L1 有界奖励的最优策略与原始游戏的最佳策略非常相似。因此,对于这个问题,这是一种十分有用的简化技术,Mnih 等人也成功地应用过这项技术。
我们还可以找到一些其它强化学习的简化例子。首先,在折扣因子 γ= 0.99 时。由于 Atari游戏有一段一段的剧情(即每一段剧情最终都会结束),无论是否存在折扣因子,Q-学习都应该收敛。然而,由于深度强化学习是相当不稳定的,求解一个收敛较慢的 MDP 比求解一个收敛较快的 MDP 要困难一些,因此加入折扣因子是有帮助的。当然,将折扣因子从1更改为 0.99 会改变最优策略,但在本例中,这似乎无关紧要。我们最后针对于特定的 Atari 游戏的使用的简化启发式方法5是「根据生命损失决定 MDP 的终止」。当一个生命损失掉时就终止的 MDP 具有更短的情节,这使得信用分配更容易,也更容易求解;同样的,从经验上看,过早终止这些游戏似乎不会对最优策略产生太大影响。
那么,为什么我认为应该将这些算法决策视为面向强化学习简化的,而不是面向马尔科夫过程求解的呢?其中一个主要的原因就是:对算法的评估。
Mnih 等人以及此后的每一篇 Atari 深度强化学习论文,都将他们所有的游戏与原始的标准 Atari 环境进行了对比。这意味着,论文中提出的任何改进都将根据其对强化学习简化和 MDP 求解的影响自动进行评估。然而,将这两个因素交织在一起考虑是有问题的,可能会得出一些不合理的结论。
我们不妨考虑下面假设(但看起来合理)的情况。假如我们有一些用于「PONG」游戏的MDP。我们还有一种经过了各种简化处理(例如奖励裁剪以及折扣因子)的「PONG」游戏的 MDP(不妨称其为 GNOP)。令「PONG」的最优策略为 π*PONG,它能在游戏中得到 20 分的期望回报:VPONG(π*PONG)=20。类似地,GNOP 的最优策略 π*GNOP 在 GNOP 中得到了 15 分:VGNOP(π*GNOP)=15。当然,由于奖励裁剪和折扣因子,GNOP 得到的期望回报要稍稍低一些。
实验结果表明,当我们在 PONG 游戏中运行策略 π*GNOP 时,我们得到的回报为 18 分:VPONG(π*GNOP)=18。这说明,我们可以对较为简单的 MDP(即 GNOP)进行求解,然后仍然在我们真正关注的PONG 游戏的 MDP 上得到 90% 最优解,这种归约的效果还不错!但现在,不妨假设还存在另外一种策略 πmeh,使得 VGNOP(πmeh)=14,但 VPONG(πmeh)=196。
假如我是一个强化学习研究者,我想到了某种求解 MDP 的算法「novel()」,并设置了一个对比基线「baseline()」。我声称「novel()」能够比「baseline()」更好地找到最优策略。因此,我在标准的 Atari 环境下评估该算法,该评估过程在简化版的环境中进行训练但是在真实环境下进行评估。结果表明,baseline(GNOP)=πmeh,而 novel(GNOP)=π*GNOP。这真是太神奇了!
我的新算法比对比基线能够更好地找到 MDP 真正的最优策略。但是,当我在真实环境下进行评估时,我发现:VPONG(baseline(GNOP))=19,而 VPONG(novel(GNOP))=18。这时,相较于对比基线确实有所提升这一算法(确实相较于对比基线有所提升)看起来却不那么好了。如果我们只报告了在 PONG 上的评估结果,而不报告在 GNOP 上的评估结果,没有人会知道。
我认为,在当前的深度强化学习研究社区中,这样的评估标准是一个很大的问题。我怀疑,将「把任务简化为强化学习」和「求解 MDP」这两个问题交织在一起考虑,阻碍了我们对这两方面进展的认识。这个问题在 Atari 游戏中是最明显的,但在其它领域也是如此;例如,一些 MuJoCo 控制任务是具有情节的,但我们仍然使用折扣因子进行训练,并在没有折扣因子的情况下进行评估。
显然,解决这个问题的方法也是报告在 GNOP 上的评估结果。这很容易做到,我们只需要确定算法的哪些方面是面向强化学习简化的,哪些是面向 MDP 求解的,创建一个执行了所有简化操作的版本的环境,然后在这个新的 MDP 上评估算法和基线。在论文中明确指出每种简化操作的相关假设,可以更清楚地描述每种方法的局限性。
Atari 上的简化结果是无关紧要的
现在,我想进一步讨论一些可能引起争议的问题:我认为,在 GNOP 上进行的评估实际上远比在 PONG 上进行的评估更加重要。这是为什么呢?
从大的方面来看,没有人真正关心我们能否学会玩 Atari 游戏。这是一个很棒的对比基准,因为它复杂、多样,有便于比较的人类基线,而且可以以较小的开销、快速地进行仿真。但说到底,我们直接研究 MDP 的集合才是最有用的,这一过程可以用来推动算法的进步,以解决复杂的 MDP。目前,这些 MDP 太复杂了,我们无法解决。不过这也没关系,我们可以对这些 MDP 进行简化,直到它们被解决为止,然后研究那些更受限制的领域的算法。策略是否能很好地迁移到其它的(原始的)MDP 集合或多或少与这个研究过程不相关。
此外,随着时间的推移,研究者们将通过消除对他们研究的 MDP 的简化操作来推进研究工作,越来越接近求解真实的、原始的 Atari。
例如,Hessel 等人于 2018 年提出「POPART」方法消除了奖励裁剪操作的要求。这是一项十分明智的技术,也是朝着真实的 Atari 环境下的策略学习前进的一大步(因为减少了一项简化操作)。然而,它也会使得求解 MDP 变得更加困难,这意味着我们可能无法立刻看到性能的提升。为了给出公平的评估结果,POPART 应该在带有未裁剪奖励的 Atari 环境下与基线方法进行对比,而此时 POPART 方法的优势更大(详见论文中的图 2)。它学到的策略会更好地迁移到原始的环境中(因为此时的最优策略更加接近真实环境下的最优策略),还是更差呢(由于难以优化)?这并不是我们所关注的!重要的是,在这个问题的范围内,POPART 的性能优于其它方案。
当然,同时进行对强化学习简化技术的研究也是十分重要的。对于这个问题,有许多有趣的研究途径,比如哪些简化操作是有效的,对哪些类型的任务的研究可以代替对其它类型的任务的研究,等等。对于这些类型的研究,Atari 可能仍然是一个很好的对比基准,并且在原始环境下的性能问题再次成为最重要的需要回答的问题。我只是想建议尽可能地将两者分开,并强调这些区别。
后话
1. 自动化的目标是节省要付出的「工作」(effort)。粗略地说,「工作」指的是:「解决一项任务所需要的一切」。我们可以考虑许多任务中的需要付出的「工作」。在此,我想重点强调几类「工作」:人工工作、数据收集工作和计算工作。(显然还有其它类别的工作,但这里提到的是与强化学习最相关的)。这些类型的工作形成了各种层次结构。
人工工作是最昂贵的,因为它需要耗费一个人的时间和精力,人们可以利用这些时间和精力做别的事情;数据收集是第二昂贵的,因为它需要建立基础设置来与混乱的现实世界进行交互;计算是最廉价的,因为购买 CPU / GPU 的付出是相对较小的,而且算法常常可以并行化。我们几乎总是乐于将「工作」从一个更高的层次转化为一个更低的层次。例如,人人都爱计算器,它可以将两个数字相乘所需的工作从人工工作转化为计算工作。
2. 本文是从 MDP 的角度撰写的,但我所说的一切同时适用于 MDP 和 POMDP 问题。
3. 不可否认,构建模拟器也是需要耗费人力的。
4. 尽管我们并不一定需要找到所有 MDP 的最优策略,但是能够解决与我们关心的问题相关的所有 MDP 就足够了。考虑到我们所生活的世界的规律性,几乎可以肯定,这一集合要小得多。
5. 这些都是我注意到的,但如果你还发现了其它的方法,可以与大家分享!
6. 当然,实际上,对于这个特定的问题(PONG游戏,以及使用了奖励裁剪和折扣因子操作的简化环境),πmeh可能真实存在,也可能不存在。但是请允许我在此给出这个例子!通常来说,这种情况没有理由不存在。
Via:https://jacobbuckman.com/2019-09-23-automation-via-reinforcement-learning/