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

奖励随机化发现多智能体游戏中多样性策略行为,研究者提全新算法

时间:2023-03-13 23:49:54 科技观察

在这篇论文中,研究人员提出了一种新的算法RPG(Reward-RandomizedPolicyGradient)来探索奖励空间,并在具有挑战性的多智能任务中存在多个纳什均衡(NashEquilibrium,NE),实验结果表明,RPG的性能明显优于经典的policy/action-spaceexploration算法,并且发现了许多有趣的、人类可理解的代理行为策略。此外,论文进一步提出了RPG算法的扩展:利用RR得到的多样性策略池来训练新的自适应策略。在法国启蒙思想家让-雅克·卢梭的《论人类不平等起源》中,他提到了这样一个猎鹿的故事:一群猎人在陷阱旁静静地等待鹿的出现,猎鹿的好处更大,这可能会让所有猎人都吃饱,但由于鹿非常警觉,所以每个人都需要耐心等待。这时,一只兔子出现了。兔子体型小,一个人就能成功猎杀,但相应的收入也很少。所以每个猎人都有两个选择:继续等待鹿的出现,还是马上跳起来捉兔子?如果猎人选择立即捕捉兔子,那么他可以捕捉到兔子并获得微利;如果猎人选择继续等待鹿,如果所有其他猎人也选择继续等待鹿,那么他们最终可以猎杀鹿并获得最大利润,但是一旦任何其他猎人选择立即抓住兔子,选择等待鹿的猎人只能饿死(既抓不到兔子也没有机会再次猎到鹿)。图1:StagHuntgame,a>b>=d>c我们考虑2个猎人的情况,然后抽象出每种情况的收益,从而引出了博弈论中非常经典的2x2矩阵游戏StagHunt。如图1所示,每个猎人可以执行两个动作:猎鹿(Stag,缩写为S)和猎兔(Hare,缩写为H)。如果两个猎人都选择猎鹿(S,S),他们可以获得最大的收益a(满意度);如果两个人选择抓兔子(H,H),得到较小的利润d(需要分享兔子);如果一个人猎鹿而另一个人抓兔子(S,H),那么兔子的人获得收益b(单独吃兔子),而猎鹿人获得最小收益c(饥饿)。这些收入情况满足大小关系a(饱)>b(独自吃兔子)>=d(两人共享兔子)>c(饿)。图2:PPO在猎鹿游戏中的表现,其中a=4,b=3,d=1,10个随机种子,本游戏有两种纯策略纳什均衡(NashEquilibrium,NE):一种是StagNE,即双方猎人都选择等鹿,每个猎人都可以获得高额回报,但这是一种高风险的合作策略。因为一旦其中一个猎人选择不合作,猎人自己的收入不会发生翻天覆地的变化——从最大收入a(吃饱)到收入b(一个人吃兔子),而另一位猎人的损失却是巨大的——-从最大收益a(吃饱)到最小收益c(饥饿)。而损失越大(即a-c),猎人选择合作的风险就越大。另一个纳什均衡是HareNE,即两个猎人都选择猎杀兔子。虽然每个猎人只能获得较低的收益,但这是一种保守的策略,因为无论对方选择什么,他都会获得一定的收益--如果对方选择猎鹿,你将获得更大的收益b(单独吃兔子),如果对方选择猎杀兔子,你将获得较小的收益d(分享兔子)。在这个任务中,现有的强化学习算法会收敛到哪个神经元?作者做了一个实验,固定a=4,b=3,d=1,改变c的值。从图2可以看出,单独猎鹿的惩罚越大,现有算法收敛到StagNE的概率就会越低,即越倾向于选择保守的猎兔策略。这也与前面的分析一致。那么,强化学习如何收敛到回报最好的策略呢?为了解决这个问题,来自清华大学、北京大学、加州大学伯克利分校等机构的研究人员提出了一种简单有效的技术,奖励随机化(RewardRandomization,RR)。不同于传统强化学习在状态空间(state-space)中探索的方法,奖励随机化是一种在奖励空间(reward-space)中探索的方法。该研究已被ICLR2021会议接受为Poster论文。论文地址:https://arxiv.org/abs/2103.04564如图3所示,在具有极端奖励设置的游戏中,强化学习通常很难探索出最优策略(左侧灰色区域表示它可能会收敛到最优解的子空间,由于极端奖励而非常狭窄);但在其他奖励设置游戏(右面板)中可以很容易地探索相同的策略。这就演化出了论文的核心观点:通过奖励随机化扰动原游戏(StagHunt)的奖励(reward),将问题转化为在扰动游戏中寻找合作策略,然后回到原游戏进行fine-tuning(微调),然后找到最优策略。图3:奖励随机化示意图此外,论文将奖励随机化与策略梯度(PG)相结合,提出了一种用于奖励空间探索的新算法RPG(Reward-RandomizedPolicyGradient)。实验结果表明RPG的性能明显优于经典的policy/action-spaceexploration算法,作者还利用RPG发现了许多有趣且人类可理解的agent行为策略。首先,论文在GridWorld中进行了实验,其中有一个名为Monster-Hunt的任务(如图4所示)。任务设置如下:图中,两个代理(Agents)分别用黄色和蓝色表示,他们可以在5*5的格子里移动,红色代表怪物(Monster)。怪物可以在格子中随机行走,怪物的特点之一就是会向离自己最近的代理移动。绿色表示食物苹果(Apple),苹果不能动。如果两个智能体同时接触怪物,那么每个智能体都会得到+5的奖励,如果智能体单独接触怪物,那么他会得到-2的惩罚,智能体也可以吃苹果,每个苹果会给+2奖励。显然,这个任务有两个纳什均衡,即两个智能体同时遇到怪物(高风险,高回报)或者分别吃苹果(低风险,低回报)。图4:Monster-Hunt任务示意图图5:Monster-Hunt任务中不同算法的性能比较图5显示了RPG与不同算法的比较结果,这些算法包括标准的策略梯度法和策略代理共享奖励梯度方法、基于种群的算法和一些探索算法,包括MAVEN、Count-based和Diayn。可以看出,RPG在这个任务中明显优于baseline。并且从图中可以看出,即使在RR阶段没有找到最优策略,RPG仍然可以通过fine-tune阶段进一步提升性能,找到最优策略。那么,RPG发现了哪些策略呢?除了自然吃苹果和单独遇到Monster之外,作者还发现了另外两种合作策略:图6(a)显示了找到的次优合作策略。游戏开始后,两个agent会移动到5*5格子的同一个角,然后一起原地不动,因为怪物的一个特点就是会向离自己最近的agent移动,所以两个智能体在静止不动的时候也会一起触碰怪物,得到更高的结果。这个合作策略看起来很合理,那么有没有更好的合作策略呢?答案是肯定的。图6(b)显示了RPG找到的最优策略。游戏开始后,两个智能体会先汇合,然后一起向怪物移动,怪物也会向智能体移动。这大大加快了一起遭遇怪物的速度,从而可以获得更高的收益。图7是最优合作策略的演示动画。图6:Monster-Hunt任务中两种不同的合作策略图7Monster-Hunt任务中最优合作策略的演示接下来介绍论文中首次开源的新环境Agar.io,这也是论文的一大贡献。Agar.io是一款非常流行的在线多人游戏(游戏地址:http://agar.io),每个玩家都可以用鼠标控制移动方向吃掉比自己小的智能体(可以是食物,或者是另一个玩家)。论文只考虑了2个玩家的情况。下图(a)为任务示意图,同样用黄色和蓝色代表两个agent。红色表示地图中随机生成的食物。玩家可以通过吃掉比自己小的食物或其他玩家获得奖励(奖励的大小等于吃掉的品质),同样,如果品质丢失,也会受到惩罚。下图(b)展示了玩家常见的行为,比如使用Split来增加移动速度来完成掠夺,而分裂的部分也可以合并(Merge)。随着智慧体质量的增加,移动速度越来越慢,狩猎的难度也越来越大。玩家需要合作才能获得更高的收益。但是,当两个玩家距离很近时,质量较高的玩家很可能会选择攻击质量较低的玩家,以便立即获得奖励,从而导致合作破裂。因此,对于素质较低的玩家来说,这种合作策略风险很大。图7Agar.io任务图如果你是玩家,你会选择什么策略?考虑到这一点,让我们来看看角色扮演游戏发现的7种有趣的人类可理解的玩家策略。(1)合作策略(cooperativestrategy,图8):两个玩家合作将食物驱赶到一定区域,然后各自捕食。图8(a)Agar.io任务中的合作图8(b)合作演示(2)Aggressivestrategy(Tendencytoattackstrategy,图9):当两个玩家距离很近时,质量较大的玩家选择捕食在较小的大众玩家上。图9(a)Agar.io任务中的攻击策略(Attack)图9(b)攻击演示(3)非合作策略(Non-cooperativestrategy,图10):两个玩家独立捕食。图10Agar.io任务中的Non-cooperate图11Agar.io任务中的Aggressivecooperate(4)Aggressivecooperativestrategy(occasionalattackstrategy,图11):两个玩家大部分时间选择合作,偶尔攻击。(5)牺牲策略(sacrificestrategy,图12):游戏开始后,双方玩家互相捕食。一段时间后,品质较低的玩家会在地图边缘等待,为品质较高的玩家牺牲自己。质量较大的玩家控制所有质量以进行捕食。图12(a)Agar.io任务中的牺牲图12(b)牺牲演示(6)永续策略(Perpetualmotionstrategy,图13):游戏开始后,双方玩家互相捕食一段时间最后,质量大的玩家会在地图边界等待,质量小的玩家会把食物驱赶到质量大的玩家附近,然后捕食。剩下的体量少的玩家就继续出去开菜了。一段时间后,两人角色互换,如此循环往复,故称为永动机。图13(a)Agar.io任务中的永动策略(Perpetual)图13(b)永动演示(7)平衡策略(balancestrategy,图14):RPGfine-tune后得到的最优策略其实是相互牺牲、个体捕食和合作之间的平衡策略。从图14可以看出,虽然RPG学习到的策略合作行为略低,但收益最高。图14RPG学习到平衡策略(Balance)论文最后给出了RPG算法的扩展:利用策略随机化得到的多样性策略池来训练新的自适应策略(Adaptivepolicy),以此来验证策略的Adaptability,作者在Agar.io做了一个有趣的实验:在游戏中途切换对方玩家的策略,然后与Oracle策略进行对比,如图15所示。比如当对方玩家的策略是从合作到竞争,自适应策略的回报略低于竞争策略,但显着高于合作策略;当对手的策略从竞争策略切换到合作策略时,Adaptive策略的奖励是合作策略的奖励略低,但明显高于竞争策略。证明经过训练的策略确实是自适应的。图15Agar.io任务中Adaptive策略和Oracle策略的结果对比。请注意,仅计算切换策略后的奖励。以上是论文的主要内容。更详细的实验和分析可以查看论文原文,论文源代码,开发的Agar.io环境已经开源,代码指南:https://github.com/staghuntrpg/角色扮演游戏。