在这篇论文中,研究者提出了一个在 reward-space 进行探究的新算法 RPG(Reward-Randomized Policy Gradient),并且在存在多个纳什均衡 (Nash Equilibrium, NE) 的挑战性的多智能工作中进行了实验验证,实验结果表明,RPG 的表现显著优于经典的 policy/action-space 探究的算法,并且发现了很多有趣的、人类可以理解的智能体行为战略。除此之外,论文进一步提出了 RPG 算法的扩展:利用 RR 失去的多样性战略池训练一个新的具备自适应能力的战略。
在法国启蒙思想家卢梭(Jean-Jacques Rousseau)的《论人类不平等起源》中,提到这样一个猎鹿(StagHunt)故事:一群猎人安静地在陷阱旁期待鹿的出现,猎到鹿的收益较大,可以让所有猎人都吃饱,但是由于鹿十分机敏,需要大家都耐心期待。这个时候一只兔子出现了,兔子体型较小,一人便可以成功捕猎,但是相应的收益也很小。
于是每一个猎人有了两个挑选:继续期待鹿的出现还是立刻跳起来捕兔?如果猎人挑选立刻捕兔,那么他可以捕到兔,失去较小的收益;如果猎人挑选继续期待鹿,若所有其他猎人也都挑选了继续期待鹿,那么他们最终可以猎到鹿,失去最大收益,但是一旦有任何一个其他猎人挑选立刻捕兔,那么挑选期待鹿的猎人只能挨饿(既没有捕兔,也没有机会再猎到鹿)。
图 1:StagHunt 游玩,a>b>=d>c
我们考虑 2 个猎人的情况,然后把各种情况的收益抽象出来,就引出了博弈论中非常经典的 2×2 矩阵游玩 StagHunt。如图 1 所示,每个猎人可以执行两种动作:猎鹿(Stag,缩写为 S)和捕兔(Hare,缩写为 H),如果两个猎人都挑选猎鹿(S,S),可以失去最大收益 a(吃饱);如果两人都挑选捕兔(H,H),失去较小收益 d(需分享兔子);如果一人猎鹿一人捕兔(S,H),那么捕兔的人失去收益 b(独自吃兔),而猎鹿的人失去最小收益 c(挨饿)。这些收益情况满足大小关系 a (吃饱)> b (独自吃兔子)>=d (两个人分享兔子)> c (挨饿)。
图 2:PPO 在 StagHunt 游玩中的表现,其中,a=4,b=3,d=1,10 个随机种子
在这个游玩中存在两个纯战略纳什均衡(Nash Equilibrium,NE):一个是 Stag NE,即两个猎人都挑选期待鹿,每一个猎人都可以失去很高的回报,但这是一个风险很高的单干战略。因为一旦其中一个猎人挑选不单干,该猎人本身的收益不会发生剧烈变化 — 从最大收益 a(吃饱)变为收益 b(独自吃兔),然而,对另一名猎人来说损失却是巨大的 — 从最大收益 a(吃饱)变为最小收益 c(挨饿)。而这个损失(也就是 a-c)越大,意味着猎人挑选单干的风险也就越高。另一个纳什均衡是 Hare NE,即两个猎人都挑选捕兔,尽管每个猎人只能失去较低的回报,但这是一个保守的战略,因为无论对方怎么选,自己都会获得一定的收益 — 对方选猎鹿,自己获得较大收益 b(独自吃兔),对方选捕兔,自己获得较小收益 d(分享兔子)。在这个工作中,现有的强化学习算法会收敛到哪个 NE 呢?作者做了一个实验,固定 a=4,b=3,d=1,变化 c 的取值,从图 2 可以看出:独自猎鹿的惩罚越大,现有的算法收敛到 Stag NE 的概率会越低,也就是更倾向于挑选保守的捕兔战略。这与之前的分析是也是吻合的。
那么,如何才能让强化学习收敛到收益最优的战略呢?为了解决这个问题,来自清华大学、北京大学、UC 伯克利等机构的研究者提出了一个简单有效的技术,奖赏随机化(Reward Randomization,RR)。不同于传统强化学习中的在状态空间(state-space)中进行探究(exploration)的方法,奖赏随机化是一个在奖赏空间(reward-space)进行探究的方法。这项研究已被 ICLR 2021 大会接收为 Poster 论文。
论文地址:https://arxiv.org/abs/2103.04564
如图 3 所示,在一个奖赏设置比较极端的游玩里,强化学习通常很难探究到最优战略(左图,灰色区域表示可能收敛到最优解的子空间,由于奖赏极端而非常狭小);但是同样的战略在其他奖赏设置的游玩中可能很容易被探究到(右图)。这就演变出论文的核心观点:通过奖赏随机化对原始游玩(StagHunt)的奖赏(reward)进行扰动,将问题转化为在扰动后的游玩中寻找单干战略,然后再回到原始游玩中进行微调(fine-tune),进而找到最优战略。
图 3:奖赏随机化的示意图
进一步地,论文将奖赏随机化和战略梯度法(Policy Gradient,PG)相结合,提出一个在 reward-space 进行探究的新算法 RPG(Reward-Randomized Policy Gradient)。实验结果表明,RPG 的表现显著优于经典的 policy/action-space 探究的算法,并且作者还利用 RPG 发现了很多有趣的、人类可以理解的智能体行为战略。
首先,论文在 GridWorld 中进行了实验,其中有一个工作叫 Monster-Hunt(如图 4 所示),这个工作设定是这样的:图中分别用黄色和蓝色表示两个智能体(Agent),他们可以在 5*5 格子中静止,红色表示怪兽(Monster),怪兽可以在格子中随机游走,并且怪兽有一个特点是它会朝着离自己最近的智能体静止。绿色表示食物苹果(Apple),苹果不能静止。如果两个智能体同时碰到了怪兽,那么每个智能体将会获得 + 5 奖赏,如果智能体单独碰到了怪兽,那么他将会受到 – 2 惩罚,智能体也可以吃苹果,每个苹果将会带来 + 2 奖赏。显然,在这个工作中存在两个纳什均衡,即两个智能体同时遇到怪兽(高风险,高收益)或者各自去吃苹果(低风险,低收益)。
图 4:Monster-Hunt 工作示意图
图 5:在 Monster-Hunt 工作中不同算法的性能对比
图 5 给出了 RPG 与不同算法对比的结果,这些算法包括标准的战略梯度法、智能体共享奖赏的战略梯度法、population-based 算法和一些探究(exploration)算法,包括 MAVEN, Count-based 和 Diayn。可以看出 RPG 在这个工作中显著优于 baseline。并且从图中可以注意到,即便 RR 阶段并没有找到最优战略,RPG 依然可以通过 fine-tune 阶段进一步提升性能,找到最优战略。那么,RPG 到底发现了哪些战略呢?除了自然的各自单独吃苹果和单独碰到 Monster,作者还发现了另外两种单干战略:图 6(a)展示的是发现的次优单干战略,游玩开始后,两个智能体会静止到 5*5 格子的同一个角落,然后合体原地不动,因为怪兽的一个特点是会朝着离自己最近的智能体静止,因此两个智能体原地不动也会一起碰到怪兽,失去较高的收益,这个单干战略看起来也十分合理,那么还有没有更优的单干战略呢?答案是有的,图 6(b)展示的是 RPG 发现的最优战略,游玩开始后,两个智能体会首先汇合,然后合体一起朝着怪兽静止,加上怪兽也会朝着智能体静止,这就大大加快了一起碰到怪兽的速度,因而可以失去更高的收益。图 7 是最优单干战略的示范动图。
图 6:Monster-Hunt 工作中两种不同单干战略
图 7 Monster-Hunt 工作中最优单干战略示范
接下来介绍在论文中首次开源的新环境 Agar.io,这也是该论文的一大贡献。Agar.io 是一个非常流行的在线多玩家游玩(游玩地址:http://agar.io),每个玩家可以通过鼠标控制运动方向来吃掉比自己小的智能体(可以是食物,也可以是其他玩家)。论文只考虑 2 个玩家的情况,下图(a)表示工作的示意图,同样用黄色和蓝色表示两个智能体。红色表示地图中随机生成的食物,玩家通过吃掉食物或者其他比自己小的玩家来获得奖赏(奖赏大小等于吃掉的品质),同理如果丢掉了品质也会受到相当的惩罚。下图(b)表示的是玩家常见的行为,例如用过分裂(Split)提高静止速度完成捕食,分裂后的部分也可以合并(Merge)。随着智能体品质的增大,静止速度也越来越慢,因此捕猎的难度也越来越大,玩家需要单干才能获得更高的收益。然而,当两个玩家距离较近时,品质较大的玩家极有可能挑选攻击对于品质较小的玩家,从而立刻获得奖赏,导致单干破裂。因此,对于品质较小的玩家,这种单干战略风险很高。
图7 Agar.io 工作示意图
如果你是玩家,你会挑选什么战略呢?带着这个问题,看一下 RPG 发现的 7 种有趣的、人类可以理解的玩家战略。
(1)Cooperative strategy(单干战略,图 8):两个玩家单干将食物驱赶至某一区域,然后分别捕食。
图 8 (a)Agar.io 工作中的单干战略(Cooperate)
图 8 (b)单干示范
(2)Aggressive strategy(倾向攻击战略,图 9):两个玩家当两个玩家距离较近时,品质较大的玩家挑选捕食品质较小玩家。
图 9 (a)Agar.io 工作中的攻击战略(Attack)
图 9 (b)攻击示范
(3)Non-cooperative strategy(非单干战略,图 10):两个玩家各自单独捕食。
图 10 Agar.io 工作中单独捕食战略(Non-cooperate)
图 11 Agar.io 工作中偶尔攻击战略(Aggressive cooperative)
(4)Aggressive cooperative strategy(偶尔攻击战略,图 11):两个玩家大部分时间挑选单干,偶尔也会发生攻击行为。
(5)Sacrifice strategy(献祭战略,图 12):游玩开始后,两个玩家各自捕食,一段时间后,品质较小的玩家会在地图边界期待,将自己献祭给品质较大的玩家,由品质较大的玩家控制所有品质进行捕食。
图 12 (a)Agar.io 工作中献祭战略(Sacrifice)
图 12 (b)献祭示范
(6)Perpetual strategy(永动机战略,图 13):游玩开始后,两个玩家各自捕食,一段时间后,品质较大的玩家会在地图边界期待,品质较小的玩家驱赶食物向品质较大玩家靠拢,然后捕食,之后品质较大的玩家会非常小心地吃掉一部分品质较小的玩家,而品质较小的玩家剩下的部分会继续出去驱赶食物。一段时间后,两个玩家会交换角色,周而复始,因此称为永动机。
图 13 (a)Agar.io 工作中永动机战略(Perpetual)
图 13 (b)永动机示范
(7)Balance strategy(均衡战略,图 14):由 RPG fine-tune 之后失去的最优战略实际上是一种在互相献祭,单独捕食和单干之间的平衡战略,从图 14 可以看出,尽管 RPG 学到的战略单干行为略低,但它的收益最高。
图 14 RPG 学出了均衡战略(Balance)
论文的最后给出了 RPG 算法的扩展:利用战略随机化失去的多样性战略池训练一个新的具备自适应能力的战略(Adaptive policy),为了验证战略的适应性,作者在 Agar.io 种做了一个很有趣的实验:在游玩玩到一半时切换对手玩家的战略,然后与 Oracle 战略进行对比,如图 15 所示。例如,当对手玩家战略由单干型切换为竞争型,Adaptive 战略失去的奖赏略低于竞争型战略,但显著高于单干型战略;当对手玩家战略由竞争型切换为单干型,Adaptive 战略失去的奖赏略低于单干型战略,但显著高于竞争型战略。证明训练后的战略确实具有自适应性。
图 15 Agar.io 工作中 Adaptive 战略与 Oracle 战略结果对比,注意,只统计切换战略后的奖赏
以上就是论文的主要内容,更多详细的实验和分析可以查看论文原文,论文的源码以及开发的 Agar.io 环境已经开源,代码指路:https://github.com/staghuntrpg/RPG。
参考链接:
论文介绍主页:https://sites.google.com/view/staghuntrpg