IJCAI 2019 | 有趣!这是一篇玩倩女幽魂的多智能体强化学习研究
IJCAI 2019 将于 8 月 10-16 号在中国澳门举办,本次会议一共收到 4752 篇提交论文,最终接收 850 篇,接收率降低到 17.9%。本文介绍了天津大学郝建业课题组与网易伏羲人工智能实验室合作的 IJCAI 2019 论文《Deep Multi-Agent Reinforcement Learning with Discrete-Continuous Hybrid Action Spaces》。该论文主要提出了两种深度强化学习架构,旨在解决离散—连续混合动作空间下的多智能体学习问题。
链接:https://arxiv.org/abs/1903.04959
一、背景介绍
混合动作空间:与离散动作空间或连续动作空间不同,拥有混合动作空间的智能体在每一步执行动作时都需要选择一个离散动作以及该离散动作对应的一个或多个连续性动作参数的值。带有此类动作空间的问题在现实中广泛存在。比如在实际应用场景机器人足球世界杯中,一个足球机器人可以选择带球(离散)到某个位置(连续坐标)或者用力(连续)将球踢(离散)到某个位置等混合动作;在一些大型游戏中,玩家控制的每个角色在选择释放哪个技能(离散)后还需选择技能释放的位置(连续坐标)。传统的深度强化学习方法大多只能支持解决仅拥有离散或连续动作空间的问题,如 Qmix [Rashid et al., 2018],MADDPG[Lowe et al., 2017]。
近年来,在单智能体领域,有部分文章针对混合动作问题提出了较为合理的解决方法,如 P-DDPG [Hausknecht and Stone, 2016], P-DQN [Xiong et al., 2018]. 然而在实际中更为普遍且环境更为复杂的多智能体环境中,依然缺乏有效的方法和架构。本文从现有单智能体环境中处理混合动作空间问题的方法出发,考虑多智能体合作的环境,提出了两种全新的深度强化学习架构 Deep MAPQN 和 Deep MAHHQN。
二、Deep MAPQN
Deep MAPQN 是对 P-DQN [Xiong et al. 2018] 在多智能体环境下的自然扩展,利用 Qmix [Rashid et al., 2018] 架构实现多智能体的集中训练,分散执行架构。
执行阶段:在每一个时间步,每个智能体先分别由自身的连续性策略网络给出对应于每个可选离散动作 k_i 的连续动作参数 x_(k_i ),然后通过计算各自的 Q 网络计算每个混合动作组的 Q 值选出每个智能体要执行的混合动作组
训练阶段:根据 Qmix 架构,采用一个混合网络对单智能体局部值函数进行合并,并在训练学习过程中加入全局状态信息辅助,来提高算法性能。网络的更新过程如下。
通过最小化:
来更新 Q 网络的参数。通过:
来更新策略函数。
Deep MAPQN 的架构存在着高计算复杂度的问题,当混合动作空间中的离散部分具有很高维度时该问题尤为严重。这是因为不管是在训练还是执行过程,每次计算最后的 Q 值时,Deep MAPQN 需要先计算出对应于每个可选离散动作的所有连续性参数,而实际最优的只有一组,这就造成了很大的冗余计算量。
三、Deep MAHHQN
针对上述问题,论文提出了另一种架构 Deep MAHHQN, 在减少了计算复杂度的同时提高了不同 agent 之间的合作程度,缓解了环境不稳定的问题。
该方法的提出受实际中人的决策过程启发:人往往先决定做什么,再决定怎么做,或做到什么程度。于是 Deep MAHHQN 借鉴了分层学习的思想,通过两层网络分别输出混合动作中的离散部分和连续动作参数,得到最优的混合动作组。Deep MAHHQN 依然遵循了集中训练,分散学习的结构,在训练过程中上下层通过不同的 Q 网络来考虑所有智能体的总体动作的效益,并进行策略更新。
执行阶段:每个智能体通过各自的上层 Q 网络输出决定执行的混合动作的离散部分,之后将该离散动作和原输入状态组合成新的状态,作为下层策略网络的输入。下层策略网络的输出即为对应于该离散动作的连续性参数。
训练阶段:上下层网络分开训练,同时训练过程中也会考虑到各自现行策略的信息,分别通过混合 Q 网络和集中式 critic 网络实现更高层次的合作。具体来说,通过最小化:
来更新上层网络参数。注意这里混合网络 hypernetwork 的输入除了全局状态外,还有每个智能体下层的连续性参数。通过:
来更新下层网络参数,这里每个智能体的 critic 都借用了全局信息来学习。
此外在训练过程中,我们决定让下层网络先单独训练一定轮数后再同时训练上层和下层网络。主要原因在于训练上层网络时,下层策略的优劣对上层策略的评价体系有较大影响,开始训练时下层网络的噪声太大会对上层网络的训练产生恶劣的影响。
四、实验结果
我们在 HFO 和网易游戏《倩女幽魂》上分别进行了实验,并将两种方法与现有最优的单智能体方法 P-DQN 进行了比较,均取得了不错的结果。
HFO 是一种在计算机上模拟的机器人足球游戏。在 HFO 环境中,每个智能体的动作空间如下:踢球 Kick_to (x, y, speed); 带球 dribble_to (x, y); 无球移动 move_to (x, y); 停球 intercept( ). 采取纯随机的策略几乎不可能完成进球或者成功地防守。我们分别对 2v1 进攻和 1v2 防守模式进行了测试,使用本文提出的模型控制一方的两名球员来合作对抗内置 AI 控制的另一方球员。
可以看到在两种模式中,Deep MAPQN 和 Deep MAHHQN 相比于 P-DQN 均得到了更好的训练结果(进球率和防守成功率)。另一方面,后者的训练结果表现更优于前者,这说明我们对 Deep MAHHQN 集中训练部分的改进在一定程度上加深了不同智能体之间的交流,提高了算法稳定性。进一步观察习得的策略,可以发现 Deep MAPQN 和 Deep MAHHQN 所训练的两名球员能够在比赛开始时就自动分工(比如在防守时,一方负责守门,一方负责抢球),以取得更好的防守效果。
在倩女幽魂游戏中,我们选取了「3v3」的游戏模式进行测试,即控制三个同一方的角色与内置 AI 控制的另一方进行对战。在该环境中,动作空间和状态空间相比 HFO 都复杂了许多。每个智能体控制的角色可以释放不同技能(离散)到不同的地点(连续的坐标),在技能释放地周围的角色都会受到影响,包括对该角色造成伤害,或是使该角色带上降低/升高攻击力或防御力的 buff(有时间限制),因此取得一局游戏的胜利需要不同角色间的高度合作。我们取得的实验结果与在 HFO 中所得类似,Deep MAPQN 和 Deep MAHHQN 均表现出了更为优异的训练策略,实际测试中两者控制的一方均能达到百分之七十五以上的游戏胜率。此外,在这个规模更大,环境更为复杂的游戏中,Deep MAHHQN 所需要的实际训练时间(小于一天)远小于 Deep MAPQN 所需的实际训练时间(约为三天),这个结果进一步验证了前文对两种方法计算复杂度的估计。