在多智能体环境(Multiagent environments)中,智能体之间对资源的恶性竞争现象无疑是通往通用人工智能(Artificial general intelligence,AGI)路上的一块绊脚石。多智能体环境具有两大实用的特性:首先,它提供了一个原生的课程(Natural curriculum)——这里环境的困难程度取决于竞争对手的能力(而如果你是与自身的克隆进行竞争,则该环境与你的能力等级是相当匹配的);其次,多智能体环境不具有稳定的平衡:因为无论智能体多么聪明,总是存在着更大压力使得它更加聪明。这些环境与传统环境有着非常大的不同,因此还有更多的研究有待进行。
据了解,来自OpenAI的研究员发明了一种新算法——MADDPG。该算法适用于多智能体环境下的集中式学习(Centralized learning)和分散式执行(Decentralized execution),并且允许智能体之间学会协作与竞争。
四个红色智能体通过MADDPG算法进行训练,它们的目标任务是追逐图中的两个绿色智能体。其中四个红色智能体为了获得更高的回报,学会了互相配合,共同去追捕其中一个绿色智能体。而与此同时,两个绿色智能体也学会了分开行动,其中一个智能体负责将四个红色智能体吸引开,然后另一个绿色智能体则乘机去接近水源(由蓝色圆圈表示)。
事实上,MADDPG算法并非完全原创,它扩展自一个被称为DDPG的增强学习(Reinforcement learning)算法,灵感则来源于基于Actor-Critic的增强学习技术。另外据贤集网了解,还有许多其它团队也正在探索这些算法的变种以及并行化实现。
该算法将模拟中的每个智能体视为一个“Actor”,并且每个Actor将从“Critic”那儿获得建议,这些建议可以帮助Actor在训练过程中决定哪些行为是需要加强的。通常而言,Critic试图预测在某一特定状态下的行动所带来的价值(比如,我们期望能够获得的奖励),而这一价值将被智能体(Actor)用于更新它的行动策略。这么做比起直接使用奖励来的更加稳定,因为直接使用奖励可能出现较大的差异变动。另外,为了使训练按全局协调方式行动的多个智能体(Multiple agents that can act in a globally-coordinated way)变得可行,OpenAI的研究员还增强了Critic的级别,以便于它们可以获取所有智能体的行为和观察,如下图所示。
据悉,MADDPG中的智能体在测试期间不需要访问中央的Critic,智能体们将根据自己的观察和对其它代理行为的预测而行动。由于每个智能体都有各自独立的集中式Critic,该方法能被用于模拟智能体之间任意的奖励结构,包括奖励冲突的对抗性案例。
OpenAI的研究员已经在多项任务中测试了该方法,并且实验结果表明,MADDPG在所有任务中的表现均优于DDPG。上边的动图自左向右依次展示了:两个AI智能体(蓝色圈)尝试前往指定地点,并且它们学会分开行动,以便于向反对智能体(红色圈)隐藏自己的目标地点;其中一个智能体将地标传达给另一个智能体;最后是三个智能体通过协调共同到达各自的地标,并且途中没有发生碰撞。
上图展示了,通过MADDPG训练的红色智能体比起通过DDPG训练的红色智能体表现出了更加复杂的行为。在上图的动画中,通过MADDPG(左图)和DDPG(右图)训练的红色智能体试图追逐绿色智能体,这期间它们可能需要通过绿色的森林或者躲避黑色的障碍物。
传统增强学习
传统的分散式增强学习(Descentralized reinforcement learning)方法,比如DDPG,actor-critic learning,deep Q-learning等等,在多智能体环境下的学习总是显得很挣扎,这是因为在每个步骤中,每个智能体都将尝试学习预测其它智能体的行动,并且同时还要采取自己的行动,这在竞争的情况下尤为如此。MADDPG启用了一个集中式Critic来向智能体提供同类代理的观察和潜在行为的信息,从而将一个不可预测的环境转换成可以预测的环境。
当前,梯度策略方法(Policy gradient methods)面临着更多的挑战。因为当奖励不一致的时候,这些方法很难得到正确的策略,并且表现出了高度的差异。另外研究员还发现,加入了Critic之后虽然提高了稳定性,但是依然无法解决多个环境之间诸如交流合作的问题。并且对于学习合作策略问题,在训练过程中综合考虑其它智能体的行为似乎是非常重要的。
初步研究
据了解,在开发MADDPG之前,OpenAI研究员采用分散技术(Decentralized techniques)的时候,他们注意到,如果Speaker发送不一致的消息,Listener通常会忽略掉发言智能体。然后,后者会将所有与Speaker的消息有关的权重设置为0,从而高效地忽略掉这些信息。
然而,一旦出现了这种情况,训练过程将难以恢复,因为缺乏了有效的反馈,Speaker永远也无法知道自己是否正确。为了解决这个问题,研究员发现了一个最近提出的分层强化学习(Hierarchical Reinforcement Learning)技术,该技术强制Listener将Speaker的消息纳入其决策过程。但是这个方案没有起到作用,因为尽管它强制Listener获取Speaker的消息,但这并不能帮助后者弄清哪些是相关的。最终,OpenAI提出的集中式Critic方法帮助解决了这些挑战,它帮助Speaker了解哪些信息可能与其它智能体的行为是有关的。如果想获取更多的结果,可以观看原文链接里的视频。
下一步
智能体建模在人工智能研究中具有丰富的历史,并且其中许多的场景已经被广泛研究过了。以前的许多研究只在拥有很短的时长和很少的状态空间的游戏中进行。但是深度学习使得研究员们可以处理复杂的视觉输入,另外增强学习为学习长时间行为提供了工具。现在,研究员可以使用这些功能来一次性训练多个智能体,而不需要了解环境的动态变化(环境在每个时间步骤中是如何变化的),并且可以在学习来自环境的高维度信息的同时,解决涉及沟通和语言的更广泛的问题。