AI杀入斗地主领域,快手开发DouZero对标AlphaZero,干掉344个AI获第一

Posted QbitAl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI杀入斗地主领域,快手开发DouZero对标AlphaZero,干掉344个AI获第一相关的知识,希望对你有一定的参考价值。

梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI

AlphaGo在围棋界大杀四方时就有人不服:有本事让AI斗地主试试?

试试就试试。

快手团队开发的斗地主AI命名为DouZero,意思是像AlphaZero一样从零开始训练,不需要加入任何人类知识。

只用4个GPU,短短几天的训练时间,就在Botzone排行榜上的344个斗地主AI中排名第一

而且还有在线试玩(链接在文章最后),手机也能运行。

在线试玩中演示的是三人斗地主,玩家可以选择扮演地主、地主的上家或下家。

选择当地主来玩玩看,可以打开显示AI手牌功能,更容易观察AI决策过程。另外可以设置AI考虑时间,默认是3秒。

在AI的回合,会显示面临的决策和每种打法的预测胜率。

有时可以看到AI并不是简单的选择当前胜率最高的打法,而是有更全局的考虑。

斗地主对AI来说,很难

从博弈论的角度看,斗地主是“不完全信息博弈”。

围棋是所有棋子都摆在棋盘上,对弈双方都能看到的完全信息博弈。

而斗地主每个玩家都看不到其他人的手牌,对于AI来说更有挑战性。

在棋牌类游戏中,虽然斗地主的信息集的大小和数量不如麻将,但行动空间有10^4,与德州扑克相当,而大多数强化学习模型只能处理很小的行动空间。

斗地主的所有牌型总共有27472种可能。

像下图的手牌就有391种打法。

且斗地主的行动不容易被抽象化,使搜索的计算成本很高,像Deep Q-Learning和A3C等强化学习模型都只有不到20%的胜率。

另外作为不对称游戏,几个农民要在沟通手段有限的情况下合作并与地主对抗。

像扑克游戏中最流行的“反事实后悔最小化”(Counterfactual Regret Minimization)算法,就不擅长对这种竞争和合作建模。

全局、农民和地主网络并行学习

首先将手牌状态编码成4x15的独热(one-hot)矩阵,也就是15种牌每种最多能拿到4张。

DouZero是在Deep Q-Learning的基础上进行改进。

使用LSTM(长短期记忆神经网络)编码历史出牌,独热矩阵编码预测的牌局和当前手牌,最终用6层,隐藏层维度为512的MLP(多层感知机)算出Q值,得出打法。

除了“学习者”全局网络以外,还用3个“角色”网络分别作为地主、地主的上家和下家进行并行学习。全局和本地网络之间通过共享缓冲区定期通信。

学习者和角色的算法

DouZero在48个内核和4个1080Ti的一台服务器上训练10天击败了之前的冠军,成为最强斗地主AI。

下一步,加强AI间的协作

对于之后的工作,DouZero团队提出了几个方向:

一是尝试用ResNet等CNN网络来代替LSTM。

以及在强化学习中尝试Off-Policy学习,将目标策略和行为策略分开以提高训练效率。

最后还要明确的对农民间合作进行建模。好家伙,以后AI也会给队友倒卡布奇诺了。

柯洁在围棋被AlphaGO击败以后,2019年参加了斗地主锦标赛获得了冠军。

不知道会不会有AI“追杀”过来继续挑战他。

在线试玩:
https://www.douzero.org

GitHub项目地址:
https://github.com/kwai/DouZero

论文地址:
https://arxiv.org/pdf/2106.06135.pdf

参考链接:
[1]https://www.sohu.com/a/285835432_498635

以上是关于AI杀入斗地主领域,快手开发DouZero对标AlphaZero,干掉344个AI获第一的主要内容,如果未能解决你的问题,请参考以下文章

斗地主老是输?一起用Python做个AI出牌器,欢乐豆蹭蹭涨!

斗地主老是输?一起用Python做个自动出牌器,欢乐豆蹭蹭涨!

斗地主老是输?一起用Python做个自动出牌器,欢乐豆蹭蹭涨!

生成式 AI:百度“文心一言”对标 ChatGPT?什么技术趋势促使 ChatGPT 火爆全网?

快手AI 实验室Y-Lab 招聘

快手AI 实验室Y-Lab 招聘