|AlphaGo原来是这样运行的,一文详解多智能体强化学习( 八 )


|AlphaGo原来是这样运行的,一文详解多智能体强化学习
本文插图

|AlphaGo原来是这样运行的,一文详解多智能体强化学习
本文插图
最终学习收敛到最优的 Q_tot 并推出对应的策略 , 即为 QMIX 方法的整个学习流程 。
3. 多智能体强化学习的应用
3.1. 游戏应用
分步对抗游戏
这类游戏包括了围棋、国际象棋、扑克牌等 , MARL 在这几种游戏中都有相关的研究进展并取得了不错的成果 。 其中 , 著名的 AlphaGo 通过在和人类对战的围棋比赛中取得的惊人成绩而进入人们的视野 。 围棋是一种双玩家零和随机博弈 , 在每个时刻 , 玩家都能够获取整个棋局 。 它一种涉及超大状态空间的回合制游戏 , 很难直接使用传统的 RL 方法或者是搜索方法 。 AlphaGo 结合了深度学习和强化学习的方法:
针对巨大状态空间的问题 , 使用网络结构 CNN 来提取和表示状态信息;
在训练的第一个阶段 , 使用人类玩家的数据进行有监督训练 , 得到预训练的网络;
在训练的第二个阶段 , 通过强化学习方法和自我博弈进一步更新网络;
在实际参与游戏时 , 结合价值网络(value network)和策略网络(policy network) , 使用 蒙特卡洛树搜索(MCTS)方法得到真正执行的动作 。
|AlphaGo原来是这样运行的,一文详解多智能体强化学习
本文插图

图 11:AlphaGo 在 2016 年击败人类玩家 。 图源:https://rlss.inria.fr/files/2019/07/RLSS_Multiagent.pdf
实时战略游戏
MARL 的另一种重要的游戏应用领域 , 是实时战略游戏 , 包括星际争霸 , DOTA , 王者荣耀 , 吃鸡等 。 该类游戏相比于前面提到的国际象棋、围棋等回合制类型的游戏 , 游戏 AI 训练的难度更大 , 不仅因为游戏时长过长、对于未来预期回报的估计涉及到的步数更多 , 还包括了多方同时参与游戏时造成的复杂空间维度增大 , 在一些游戏设定中可能无法获取完整的信息以及全局的形势(比如在星际争霸中 , 不知道迷雾区域是否有敌方的军队) , 在考虑队内合作的同时也要考虑对外的竞争 。
OpenAI Five 是 OpenAI 团队针对 Dota 2 研发的一个游戏 AI [13] , 智能体的策略的学习没有使用人类玩家的数据、是从零开始的(learn from scratch) 。 考虑游戏中队内英雄的协作 , 基于每个英雄的分布式控制方式(即每个英雄都有各自的决策网络模型) , 在训练过程中 , 通过一个超参数 “team spirit” 对每个英雄加权、控制团队合作 , 并且使用基于团队整体行为的奖励机制来引导队内合作 。 考虑和其他团队的对抗 , 在训练过程中使用自我对抗的方式(也称为虚拟自我博弈 , fictitious self-play ,FSP)来提升策略应对复杂环境或者是复杂对抗形势的能力 。 这种自我对抗的训练方式 , 早在 2017 年 OpenAI 就基于 Dota2 进行了相关的研究和分析 , 并发现智能体能够自主地学习掌握到一些复杂的技能;应用在群体对抗中 , 能够提升团队策略整体对抗的能力 。
AlphaStar 是 OpenAI 团队另一个针对星际争霸 2(Starcraft II)研发的游戏 AI , 其中在处理多智能体博弈问题的时候 , 再次利用了 self-play 的思想并进一步改进 , 提出了一种联盟利用探索的学习方式(league exploiter discovery) 。 使用多类个体来建立一个联盟(league) , 这些个体包括主智能体(main agents)、主利用者(main exploiters)、联盟利用者(league exploiters)和历史玩家(past players)四类 。 这几类智能体的策略会被保存(相当于构建了一个策略池) , 在该联盟内各类智能体按照一定的匹配规则与策略池中的其他类智能体的策略进行对抗 , 能够利用之前学会的有效信息并且不断增强策略的能力 , 解决普通的自我博弈方法所带有的 “循环学习” 问题(“Chasing its tail”) 。


推荐阅读