《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告

1.背景介绍

近年来,人工智能领域取得了长足的发展。许多人工智能方法在围棋,Dota游戏,Atari游戏等领域都取得了接近甚至超越人类顶级玩家的水平。然而,这些游戏有一个共同点,那就是它们都是被设计成对抗类型的游戏。用博弈论的术语来说就是这些游戏都是零和博弈。但是,与游戏的虚拟世界不同的是,现实世界的成功往往需要不同人类个体的合作和交流。在最近几年,解决卡牌游戏Hanabi被公认为一个新的人工智能领域的挑战。它填补了人工智能在这一领域的空缺。卡牌游戏Hanabi和“思维理论”有着密切的关系——即需要人们高效的从动作推理出其他参与者的打算,意图,与行为准则。 同时学着做出富有深意的动作以便于让其他参与者推测出动作发出者当前的处境。 从根本上讲强化学习需要智能体一边探索一边发现有效的行动策略, 然而如果一味的贪恋已经发现的最优策略,将可能在训练中忽略更有深意的策略。 这篇论文提出来了一个新的多智能体深度强化学习方法:Simplified Action Decoder(SAD),解决了中央训练时的这一矛盾。在训练时,SAD方法允许智能体做出两个动作:1.基于当前观测和已知策略做出的最优动作。2.随机的动作。 其中1,2都会被所有智能体观察到,但只有动作2会被执行并且对环境产生影响。通过这种简单的直觉方法,SAD在2-5人的Hanabi游戏中达到了一个新的SOTA水平。

2.相关的工作,之前的方法如何解决

在多智能体强化学习中,有几种通用的方法

大多数先前的hanabi最优方法中都是一些启发性的算法打败了多智能体深度强化学习方法,这可能是由于“标准的深度强化学习”方法无法解决以下矛盾:一方面智能体需要随机探索,经历错误和失败,以此来发现更加有效的策略,另一方面,智能体的这种探索行为又会不可避免地在训练过程中引入很多噪声,这使得它们的行为变得更加没有“深意”,这对它们的队友来说是很不友好的。

针对这一困难,一种可能的解决方法是在确定的部分策略的空间中探索,而不是在动作空间中探索。并且对这些策略以一个带有贝叶斯信念的分布进行采样,这就是大名鼎鼎的Bayesian Action Decoder(BAD),目前为止,唯一的一个深度强化学习方法,是所有深度强化学习方法中,在Hanabi纸牌问题上的最优解。虽然这是一个令人振奋的成就,但是它的计算复杂度和普适性都不尽如人意。BAD方法,是利用表演者和批评家方法(actor and critic)训练的,这种方法的样本利用率低并且容易陷入局部最优。为了解决这一问题,BAD有用大量人口为本的训练,这更加增加了样本需求数。

3.方法

3.1基本设置

$$假设在一个部分可观测的环境之中,有N个智能体,在每一步智能体a(a属于1...N)\\会获得一个观测,o_t^a=O(s_t,a),这里的s_t\in S 是马尔科夫状态并且O(s_t,a)是确定的观测方程\\一维我们对思维理论(theory-of- mind)感兴趣,因此在我们的设置中包括了当前执行\\动作的智能体所采取的最新的动作,这个动作将会在下一时间点被所有智能体观察到。这里要注意的\\是东顾总不仅仅在游戏中是会被普遍观测到的,在现实生活中动作也会被普遍观察到\\为了简化问题,我们限制在每一部只有应该执行动作的智能体才能采取动作u_t^a,而这一动作\\是从他们自己的策略中采样而来的u^a\sim \pi_\theta^a(u^a|\tau^a),\tau^a是智能体a的动作和观测历史记录。\\而T是一轮所需要的时间数,而\theta是函数模拟器的参数,比如长短期记忆网络的参数,\\或者全连接神经网络的参数。\\ 和其他的合作类型的多智能体强化学习方法一样,智能体们的目标是最大化整个epsiode的预期回报,\\J_\theta$$

3.2中央训练和非中央控制

$$Q-学习最直接的多智能体的应用就是相互独立的q学习(Independent Q-learning),\\这是一种吧各个智能体是为相互独立的个体,分别估计他们的回报的方法。\\具体执行时,只把每个智能体本身作为一个智能体训练,而把其他智能体全部视为环境的一部分。\\相互独立的Q学习算法的一个问题是各个智能体是相互独立的,探索行为未通过引导中的max\\运算符更正其他代理的错误。同时,值得注意的是IQL方法并没有好好的利用中央训练,\\非中央控制的方法(centralized~ training~ with ~decentralized ~control,简称CT/DC),\\这种方法在训练阶段可以看到所有智能体的信息,而在控制执行部分只能看到当前智能体的信息。\\在CT/DC框架下,有多种方法针对学习连续的q函数(joint~Q~functions)。比如价值分解网络\\(Value-Decomposition-Networks (VDN) (Sunehag et al., 2017)等。 )$$

3.3 思维理论和贝叶斯推理

$$想要从另一个智能体的行为中推理出有用信息,一个很关键的点就是贝叶斯推理\\(Bayesian ~reasoning)。根本上来说,想要看出一个被其他智能体给定的动作到底隐含着什么样的信息,\\就需要彻底理解所有的状态和理解为什么这个动作被采用了。\\要打到这一点,我们开始任取一个智能体a。它的动作和观测历史为\tau_t 设B(\tau_t)=P(\tau_t|\tau_t^a)\\,紧接下来智能体观察到上一智能体a'采取了动作u_t^{a'}然后它可以得到以下图形式的贝叶斯更新\\从这里开始,我们使用O(a',\tau_t)来替代原来的\tau_t^a为新的动作今儿观察历史。$$

《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告_第1张图片

显然,由于智能体在集中培训期间可以使用其队友的政策,我们原则上可以评估这种明确的贝叶斯信念。然而,除了计算这个明确的信念,当它被用作策略的输入时,它将导致令人望而却步的结果昂贵的高阶信念。

作为上面方法的替代,在我们的工作中将会依靠循环神经网络(recurrent neural network)来学习动作所隐含的表征。在给定动作观察历史的马尔可夫状态分布上,注意到由于上述问题,它们不太可能恢复准确的信念。

3.3简化的动作编码

在这片论文中,一个关键点创新点就是简化的动作解码。这是一种更简单高效的方法。我们注意到以前方法中,关键的一个噪音,

$$\begin{align} 在这片论文中,一个关键点创新点就是简化的动作解码。这是一种更简单高效的方法。\\我们注意到以前方法中,关键的一个噪音,就是\epsilon-greedy 中的\epsilon,这个\epsilon在探索中是\\不可或缺的,但是对于其他的队友智能体来说是一个很大的噪声干扰。更何况,为了其他的\\队友智能体能够在其执行某一个动作后进行进准无误的贝叶斯更新,这一个greedy的动作\\并不一定需要被环境执行。具体而言,如果我们假设其他的队友智能体能够在每一步观察\\到这个贪婪动作u^*,并且依照贝叶斯信念更新,则\epsilon 就可以在贝叶斯信念更新中被完全取代: \end{align}$$

《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告_第2张图片

$$\begin{align} 因此我们这个简化动作解码要做的就是允许每一个智能体在集中训练时每一步采取两个动作,这两个\\ 动作中的第一个动作是u^a是一个会被环境执行的动作,这个动作也会被所有其他队友智能体在下一回\\合中观测到就像背景介绍中提到的那样。第二个动作u^*则是当前智能体的贪婪行为,是当前智能体结\\合目前已知可观测信息而做出的最优选择,这个动作并不会被环境执行,但是它任然会被作为一种额外\\信息被输入训练网络中,并且同动作一一样,会在下一回合被所有其他队友智能体观察到,但是不同的\\是,它并不会被环境所采纳执行。这样其他智能体在下一步的训练中就可以得到有用的信息来进行训练\\一目了然的是,在分部控制时(decentralized control),我们并不会允许传递额外信息,幸运的\\是,我们也不需要这样做。因为我们在测试模型性能时把\epsilon设置成了0,我们就可以直接利用动作2作为\\动作1的输入,即就是贪婪的动作同时也是被环境所执行的动作,同时也会被所有其他队友智能体所观\\察。显而易见的是,这个idea相比于其他深度强化学习算法只是一点小小的改动,在实际运用时,\\我们用了循环神经网络版本的深度Q网络,并且加上了分布式训练(distributed~ training),\\ dueling~ networks ~优先回放(prioritized~ replay)等技巧。这在一定程度上缩短了训练时间。 \end{align}$$

4.实验分析

4.1 矩阵游戏

为了测试SAD的性能,我们可以先从一个简单问题入手。即矩阵游戏,它是一个猥琐版本的hanabi游戏,它一共有两位玩家,也需要玩家从队友的动作中推测出当前环境,进而做出更加好的动作选择。游戏规则如下:游戏开始时,每位玩家会获得一张私密的卡牌,卡牌上画着点数1或者2.在观察过自己的私密卡牌后,第一位玩家从1到3之间选取一个数字,第二位玩家在观察过自己的卡片和第一位玩家的动作后也从三种行动中选择一种执行,回报方程式这两位玩家私密牌的点数和两位采取的动作的函数如下图所示:

《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告_第3张图片

我们很容易注意到,当两个玩家同时选择动作2时无论什么情况都会得到至少8点的回报,这种明显的策略显然是不需要任何的交流 的。不过想要的到更高的回报则需要两个玩家学着用它们的动作进行富有深意的交流,在这种情况下,是有可能让每一种情况下两个玩家都能达到高达十点的回报值的。

如下图所示,在4000epoch次训练之后IQL可以稳定在9.5到9.6分左右,BAD可以稳定在9.5分,而SAD可以稳定在接近10分的水平(准确一点9.97 ± 0.02.)

《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告_第4张图片

4.2 Hanabi游戏

游戏设置:

· 将八个传讯指示物放进盒子里,三个错误指示物放在盒子外。

· 将五十张花火牌洗好,面朝下放着做为牌库。(基本版不会用到多色牌。)

· 发给每个人起始的手牌:

2-3人游戏:每个人五张手牌。

4-5人游戏:每个人四张手牌。

* 玩家们不能看到自己手牌的牌面,手牌必须以牌面背对自己,只能看到牌背的方式拿着,所以除了你之外,其他人都可以看到你的手牌。

开始游戏

回合流程

· 身上穿的衣服有最多颜色的人为起始玩家,以顺时针轮流进行游戏。

· 在玩家的回合中,玩家只能从以下三种行动中选择一个执行:

1.传递讯息给其他人。

要传达讯息,你必须从盒子里移出一个传递指示物到盒子外。

如果盒子里已经没有传递指示物,则不能选择此行动执行。

指定一名玩家,告诉他一种颜色或一个数字的所有的牌。

* 玩家必须告诉对方完整的讯息,比如玩家选择告诉他有绿色的牌,就必须把绿色牌全部点。

2.弃掉一张手牌。

弃掉的牌面朝上放在弃牌堆里,然后你可以从盒子外补充一个传递指示物放回盒子里。

从牌库中抽一张新的牌加入自己的手牌中。同样 的,也不能看自己新抽出的手牌。

* 如果传递指示物都在盒子内,就不能选择此行动执行。

3.打出一张手牌。

手牌中打出一张牌使用,并且会发生以下两种情况之一:

·将这张牌加入花火之中,然后从牌库抽一张新的牌加入手牌中。

·如果这张牌无法加入花火之中,就将此牌丢进弃牌堆,并将一个错误指示物放进盒子内,然后从牌库抽一张新的牌加入手牌中。

组建花火。条件如下:

1、花火牌只能加在同颜色的花火组里。

2、每组花火只能由一种颜色组成。

3、花火必须由数字1 依序排到数字 5。

4、花火内每个数字只能各有一张。

当有玩家打出数字5的牌并加入花火中,完成一组花火后,就可以获得奖励,将一个传递指示物从盒子外移入盒子内。

* 如果传递指示物都在盒子内,就无法获得此奖励。

游戏结束

花火是合作游戏,身为同一个团队的成员,玩家们必须协力制造漂亮的花火。

所以游戏只有共同的获胜或是失败。

达成下述三种条件之一,游戏就结束:

·如果第三个错误指示物被放进盒子里,则这场游戏就失败。

·如果五组花火都完成,则这场游戏获得满分二十五分。

·当牌库的最后一张牌也被抽走后,所有玩家再轮流进行最后一个回合,游戏结束。

游戏结束后,组建的花火总共有几张牌,这场游戏就获得几分。

如下图所示,只有在三玩家情况下SAD的训练效果稍逊于VDN(Baseline),在2玩家四玩家五玩家的情况下,《SIMPLIFIED ACTION DECODER FOR DEEP MULTI-AGENT REINFORCEMENT LEARNING 》调研报告_第5张图片

5.论文之间的关系分析

文中引用了Jakob Foerster 等人的Bayesian action decoder for deep multi-agent reinforcement learning.这是Hanabi问题的先前的SOTA,也是SAD方法更新的理论基石。该方法主要难题在于运算复杂和样本利用率低,作者就着重在这几点上突破,并且保留其更新理论方法,用在SAD上可谓是取其精华,改其糟粕。

6.个人的思考

从IQL方法上,我突然发现,原来单个智能体的方法,可以在一定条件下运用于多智能体,还是要开放思维,举一反三,推而广之。从SAD在BAD的改进上我感到,对于结构的创新可能会有意想不到的奇效,如果不是这个论文,我从来不会想到原来动作可以只被观察不被执行,一举两得。不能被深度网络的条条框框框住思想,要勇于创新。

7.参考文献

[1]Jakob Foerster, Francis Song, Edward Hughes, Neil Burch, Iain Dunning, Shimon Whiteson, Matthew Botvinick, and Michael Bowling. Bayesian action decoder for deep multi-agent reinforcement learning. In International Conference on Machine Learning, pp. 1942–1951, 2019.

[2]Hengyuan Hu and Jakob N Foerster. Simplified Action Decoder for Deep Multi-Agent Reinforcement Learning. arxiv.org/abs/1912.02288v1 (4): 1912.02288, 2021

你可能感兴趣的:(强化学习,深度学习,人工智能,机器学习,大数据)