AlphaGo原来是这样运行的,一文详解多智能体强化学习
在这样的约束条件下,既能够使用集中式的学习方法来处理环境不稳定性问题以及考虑多智能体的联合动作效应(全局 Q 值的学习),又能够从中提取出个体策略实现分布式的控制(基于局部 Q 值的行为选择)。进一步地,该约束条件可转化为全局 Q 值和局部 Q 值之间的单调性约束关系: 令全局 Q 值和局部 Q 值之间满足该约束关系的函数表达式有多种,VDN 方法的加权求和就是其中一种,但简单的线性求和并没有充分考虑到不同个体的特性,对全体行为和局部行为之间的关系的描述有一定的局限性。QMIX 采用了一个混合网络模块(mixing network)作为整合 Qa 生成 Q_tot 的函数表达式,它能够满足上述的单调性约束。 图 10:QMIX 网络结构。图源:[12] 在 QMIX 方法设计的网络结构中,每个智能体都拥有一个 DRQN 网络(绿色块),该网络以个体的观测值作为输入,使用循环神经网络来保留和利用历史信息,输出个体的局部 Qi 值。 所有个体的局部 Qi 值输入混合网络模块(蓝色块),在该模块中,各层的权值是利用一个超网络(hypernetwork)以及绝对值计算产生的:绝对值计算保证了权值是非负的、使得局部 Q 值的整合满足单调性约束;利用全局状态 s 经过超网络来产生权值,能够更加充分和灵活地利用全局信息来估计联合动作的 Q 值,在一定程度上有助于全局 Q 值的学习和收敛。 结合 DQN 的思想,以 Q_tot 作为迭代更新的目标,在每次迭代中根据 Q_tot 来选择各个智能体的动作,有:
最终学习收敛到最优的 Q_tot 并推出对应的策略,即为 QMIX 方法的整个学习流程。 3. 多智能体强化学习的应用 3.1. 游戏应用 分步对抗游戏 这类游戏包括了围棋、国际象棋、扑克牌等,MARL 在这几种游戏中都有相关的研究进展并取得了不错的成果。其中,著名的 AlphaGo 通过在和人类对战的围棋比赛中取得的惊人成绩而进入人们的视野。围棋是一种双玩家零和随机博弈,在每个时刻,玩家都能够获取整个棋局。它一种涉及超大状态空间的回合制游戏,很难直接使用传统的 RL 方法或者是搜索方法。AlphaGo 结合了深度学习和强化学习的方法: 针对巨大状态空间的问题,使用网络结构 CNN 来提取和表示状态信息; 在训练的第一个阶段,使用人类玩家的数据进行有监督训练,得到预训练的网络; 在训练的第二个阶段,通过强化学习方法和自我博弈进一步更新网络; 在实际参与游戏时,结合价值网络(value network)和策略网络(policy network),使用 蒙特卡洛树搜索(MCTS)方法得到真正执行的动作。 图 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”)。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |