【DouZero】 强化学习+self play达到人类玩家斗地主水平。

简介: 【DouZero】 强化学习+self play达到人类玩家斗地主水平。

所解决的问题?


解决斗地主游戏,斗地主中与围棋游戏很大的不同在于非完美信息、多玩家卡牌游戏、既带有合作又带有竞争。合法动作空间巨大(1 0 4 ),与他同等级的有无限注德州扑克


背景

所采用的方法?

作者总体采用的方式还是比较简单,可能是期望在单机上能够跑起来做的牺牲。但是效果还可以。论文中描述的三个步骤如下:

首先就是基于策略π \piπ去采样,得到的采样样本用来估计Q值,对,这里没有什么花里胡哨的做法,直接就是基于采样的数据估计Q ( s , a ) 。细节可以描述为:对状态s (自己的手牌,底牌,历史出牌序列)进行编码。计算合法出牌动作。根据训练好的模型Q(s, a)对合法动作进行打分,选择得分最高的动作进行出牌a=argmaxalegalQ(s,a)。整体的训练流程就是:AI对弈产生对局数据,将数据发送到训练器。使用训练数据通过梯度下降更新模型。

第一步采样的时候采用的epsilon-greedy方法采样,也是有优化空间。

剩下的就是看看作者如何编码状态和合法动作空间了:


状态编码


状态及动作编码:

状态和动作都编码为上图所示的4 × 15 的矩阵。

之后作者将4 × 15 的矩阵展平,也就是1 × 60 , 由于只有一张大小王,因此会有6个位置始终为0,也就是每个矩阵可以转换成一个54维的向量。对于历史信息,我们考虑最近15步的历史信息,然后经过一个LSTM,不够的补0。具体特征表示如下:

作者在这里不考虑花色,虽然说花色基本不带有额外信息,但是有时候地主出牌需要考虑三张底牌花色。

当前手牌矩阵,地主牌矩阵,历史出牌序列矩阵,其他玩家出过的牌的矩阵,每位玩家剩余牌的数量,炸弹数量等等。历史出牌序列是只取了最近15轮的数据。

动作是出牌矩阵。

动作空间如下:

神经网络采用简单的六层全连接网络。斗地主中,地主上家,地主下家会存在不同的出牌风格。因此DouZero中采用三个模型。地主、地主上家、地主下家。

对于叫牌阶段,采用人类数据训练一个监督网络。叫牌阶段需要考虑的是自己的手牌和其它玩家的决策。叫牌阶段的特征如下:

叫牌阶段作者的准确率可以达到83%。

取得的效果?

评估两个算法的时候,同一套牌,会评估两次,算法A 玩农民,算法B BB玩地主和算法B玩农民,算法A玩地主。实验结果如下:

这里采用了两种衡量指标,一种是WP、另一种是ADP。

作者在实验中,最多采用了45个进程采样,并且作者发现,训练效率和模拟器几乎成线性正比的。

在4张卡的1080Ti上,48个CPU核,两天打败人类监督数据学习得到的模型。

这个监督的模型是采用,快手的斗地主上较好的人类玩家数据,训练二分类得到的。负样本是合法的动作,但是并未被采纳的。batch size为8096,决策的时候选择分数最高的那个合法动作。

斗地主这个游戏本身是存在非常的的运气成分的,所以高几个百分点就代表了水平的很大的提高了。

所出版信息?作者信息?

ICML2021上的一篇文章。一作是莱斯大学的在读博士生查道琛。共同一作谢静如,美国密歇根大学物理学博士。

参考链接

相关文章
|
5月前
|
XML 前端开发 小程序
用Prompt技巧激发无限创意
本文深入探讨当前最前沿的prompt engineering方案,结合OpenAI、Anthropic和Google等大模型公司的资料,以及开源社区中宝贵的prompt技巧分享,全面解析这一领域的实践策略。
188 13
|
6月前
|
机器学习/深度学习 编解码 人工智能
视频生成新玩家:Sora 原理探索与效果对比
视频生成新玩家:Sora 原理探索与效果对比
134 0
视频生成新玩家:Sora 原理探索与效果对比
|
6月前
|
人工智能 JSON 自然语言处理
🔍深度揭秘!如何用提示词驾驭生成式大模型,让你的创意无限飞🌈
【8月更文挑战第1天】在AI风潮中,生成式大模型因出色的内容创造能力备受创意工作者青睐。但如何巧妙运用提示词,激发模型潜力,仍是挑战。本文通过问答形式揭秘提示词技巧:理解其定义、掌握设计方法(明确目标、具象描述、考虑模型特性)、评估其影响力及调整策略(细化描述、变换风格、调节参数),并分享实用贴士,助您成为驾驭AI创作的高手。
294 7
|
8月前
|
机器学习/深度学习 人工智能 Python
你相信吗?用ChatGPT写井字棋游戏仅需几分钟
你相信吗?用ChatGPT写井字棋游戏仅需几分钟
|
8月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏中的应用:打造智能对手
【6月更文挑战第5天】强化学习,让机器通过试错在环境中学习最优策略,尤其在游戏领域中展现出强大的能力。如AlphaGo,通过学习大量围棋数据,成为顶尖对手。它不仅适用于围棋,也在现代电子游戏中让智能对手预测玩家行为,提升游戏体验。以下简短代码示例展示了使用Q-learning算法训练智能对手的基本过程,揭示了强化学习在游戏AI中的潜力。
126 1
|
机器学习/深度学习 数据采集 人工智能
强化学习打泡泡超人整体框架
强化学习打泡泡超人整体框架,泡泡超人是一款手机端炸弹超人游戏,本文设计了一款AI智能体操作手机触屏完成游戏的框架,涵盖了手机屏幕控制,智能体训练,电脑同步手机画面,电脑控制手机等功能点
103 0
两句话,ChatGPT帮我写一个打飞机的游戏
两句话,ChatGPT帮我写一个打飞机的游戏
|
算法 索引
算法创作|烂头背枪双人情况游戏随机模拟
算法创作|烂头背枪双人情况游戏随机模拟
243 0
|
人工智能 区块链
聊聊学习制作游戏的方法,以及最近大火的ChatGPT
先跟着入门课程把基础知识掌握好,把工具使用熟练,学习做游戏最重要的是动手做,尽可能完成每节课程后面的实践练习,只有做的多了,知识才能掌握的扎实,才能更快的入门。
209 0
|
传感器 人工智能 机器人
科学家正在开发带有电子毛发的机器人,可模仿人类皮肤触感,甚至感知预测触摸方向
科学家正在开发带有电子毛发的机器人,可模仿人类皮肤触感,甚至感知预测触摸方向
221 0
科学家正在开发带有电子毛发的机器人,可模仿人类皮肤触感,甚至感知预测触摸方向