DouZero斗地主AI深度解析,以及RLCard工具包介绍
莱斯大学AI博士
最近开源了DouZero(斗零)人工智能系统。鉴于大部分教程和说明都是英文的(比如论文、文档等),在这篇文章中,我将用通俗易懂的语言详细解析DouZero背后算法的原理,供大家参考。之后我会介绍RLCard,一个专门为游戏AI设计的开源工具包。RLCard也已经集成了DouZero中的算法,并且支持八种游戏实现(包括斗地主、麻将、德州扑克等)以及各种强化学习算法(比如DouZero中使用的算法DMC、DQN、CFR等)。希望这篇文章能帮助到游戏AI的研究者和开发者们,也希望我们的研究和工具包能帮助到大家。
论文:DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning
在线试玩:RLcard Showdown
论文代码:kwai/DouZero
RLCard工具包集成:datamllab/rlcard
背景
用强化学习打游戏对大家来说一定不陌生,常见的游戏AI,比如围棋、DOTA、星际争霸、王者荣耀等,都有强化学习的身影。知乎有很多介绍强化学习的回答,比如能否介绍一下强化学习(Reinforcement Learning),以及与监督学习的不同?等等。有兴趣的读者可以搜索相关问题深入阅读。在这里,我们以斗地主为例,简单介绍下强化学习的输入是什么、输出是什么,是怎么学习的。对强化学习非常熟悉的的读者可以跳过本章。
强化学习的目标是针对一个特定的任务去学习一个策略来最大化奖励。放在斗地主的环境下,任务是学打斗地主,策略是指出牌策略(先不考虑叫牌),奖励是输赢(先不考虑炸弹加倍)。那么什么是策略呢?这里我们引入强化学习中的两个概念,状态和