一种基于深度强化学习的斗地主AI改进方法技术

技术编号:34608966 阅读:28 留言:0更新日期:2022-08-20 09:14
本发明专利技术公开了一种基于深度强化学习的斗地主AI改进方法,涉及智能斗地主与深度强化学习领域,首先对斗地主牌局进行预处理,获得出牌数据集和历史出牌数据集;然后,利用二进制的思想改进牌的编码方式以及在DDQN算法为基准构建深度强化学习框架的深度神经网络中加入GRU,比较普通DDQN和改进的DDQN的实验结果,以此来验证加入GRU和二进制编码的思想是否合理。本发明专利技术公开的基于深度强化学习的斗地主AI改进方法能够通过减少编码但保留相同信息的方式来减少训练智能体所需要的时间;通过GRU能使智能体在回顾历史行为的同时做出更加合理的动作,有助于推进斗地主智能体各个领域的研究。研究。研究。

【技术实现步骤摘要】
一种基于深度强化学习的斗地主AI改进方法


[0001]本专利技术涉及深度强化学习与智能斗地主智能体
,尤其涉及一种基于深度强化学习的斗地主AI改进方法。

技术介绍

[0002]近年来,人工智能在各类博弈游戏中取得了巨大的成就,比如围棋,德州扑克,麻将,DOTA2等。各位专家学者也在斗地主当中做出了很多的努力,在牌类游戏当中流行的算法Counterfactual Regret Minimization(CFR)以及它的变体不能在三人游戏中取得很好的效果;梯度下降方法,比如说A3C不能很自然地泛化之前没有见过的动作;一些研究将斗地主中的牌认为是一种分类问题,运用CNN神经网络出牌,但这也导致了训练出来的神经网络质量十分依赖于样本,然而样本是很难采集到的。
[0003]除了上述各类研究的不足之处,斗地主当中存在着许多强化学习中的问题,第一,计算耗费长,要通过深度强化学习来得到一个效果不错的智能体所需要的时间长,在斗地主AI平台当中,一般都把手牌表示为5
×
15的矩阵,运算时较为消耗资源,第二,智能体在打牌过程中无法像人类一样回顾过去其他人出的牌导致无法做出合理的选择。第三,由于斗地主中存在不同牌型,每一局游戏每个玩家的初始手牌都不一样,这就导致了斗地主动作以及状态空间巨大,智能体难以训练好。第四,斗地主是个非完美信息博弈,即玩家不能看到其他玩家的牌,这无疑也增加了智能体训练难度。所以,运用一个适当改进的算法,合理的神经网络,以一个较少的消耗来训练出一个良好的智能体是十分必要的。
专利
技术实现思路

[0004]本专利技术所要解决的技术问题是克服现有斗地主AI存在的缺陷而提供一种基于Double Deep Q Leaning的斗地主AI改进方法,本专利技术能够减少训练斗地主AI所需要的时间;保证AI能够回顾历史玩家的动作而做出更合理的选择。
[0005]本专利技术为解决上述技术问题采用以下技术方案:
[0006]根据本专利技术提出的一种基于Double Deep Q Leaning的斗地主AI改进方法,包括以下步骤:
[0007]步骤1、在RLcard斗地主平台中对斗地主数据进行预处理,具体如下:
[0008]步骤1.1、采集多个牌局内玩家出牌的信息,形成出牌数据集;
[0009]步骤1.2、对出牌数据集进行处理,采集三个玩家最近总共的12步动作为一个数据,形成历史出牌数据集;
[0010]步骤2、利用Double Deep Q Leaning算法构建深度强化学习框架,根据Double Deep Q Leaning当中神经网络的做法,神经网络里包含四层全连接层用以形成Q值。
[0011]步骤3、将步骤1.1中的出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果。
[0012]步骤4、在RLCard斗地主平台中改变牌的编码方式,利用二进制思想对RLCard斗地
主平台当中表示牌的5
×
15矩阵缩小为3
×
15的矩阵。
[0013]步骤5、将步骤1.1中的出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果。
[0014]步骤6、更改Double Deep Q Leaning当中的神经网络,具体如下:
[0015]步骤6.1、在全连接层前面加入Gate Recurrent Unit(GRU)网络,以记住历史信息。
[0016]步骤6.2、将Gate Recurrent Unit(GRU)网络生成的矩阵和状态矩阵合并作为全连接层的输入。
[0017]步骤7、将步骤1.1中的出牌数据集和步骤1.2中的历史出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果。
[0018]步骤8、比较步骤3、5、7的实验结果。
[0019]作为本专利技术所述的基于Double Deep Q Leaning的斗地主AI改进方法,步骤1.1中采集当前智能体对战过程中产生的轨迹并更改成五元组的形式,包含当前状态出牌信息,动作,奖励值,下个状态出牌信息,是否对局结束信息,并形成出牌数据集。
[0020]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤1.2中对出牌数据集进行处理,生成最近对局中的12步动作矩阵(若最近12步动作中有pass或者小于12步动作则用零矩阵表示),形成历史出牌数据集。
[0021]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤2中利用Double Deep Q Leaning算法构建深度强化学习框架,搭建神经网络时,创建四层全连接层用以形成Q值。
[0022]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤3将步骤1.1中的出牌数据集导入Double Deep QLeaning深度强化学习框架,进行训练并与随机智能体对战,记录结果即原始版本的DDQN与随机智能体对战的胜率与消耗的时间。
[0023]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤4中利用二进制将RLcard中表示牌的5
×
15矩阵更改为3
×
15矩阵,RLcard平台中5
×
15,5代表的是牌的数量(其中第一行表示的是花色然而斗地主中可以忽略牌的花色,后面每一行就代表了一张牌),15代表的是斗地主中牌的种类,而改进的3
×
15矩阵,15表示意思不变,3则代表3行,例如在二进制中000表示0,001表示1,010表示2,011表示3,001表示4,即可以用3行来表示每一种类牌的数量,达到减少运算消耗,节省存储空间的目的。
[0024]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤5中将步骤1.1中的出牌数据集导入Double DeepQ Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果即更改过牌表示版本的DDQN与随机智能体对战的胜率与消耗的时间。
[0025]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤6.1中在神经网络前加入了Gate Recurrent Unit(GRU)网络,用于记住历史动作。
[0026]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤6.2中将状态矩阵以及步骤6.1中生成的历史动作矩阵合并作为Double Deep Q Leaning的输入。
[0027]作为本专利技术所述的一种基于Double Deep Q Leaning的斗地主AI改进方法,步骤7
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度强化学习的斗地主AI改进方法,其特征在于,具体包括以下步骤:步骤1、在RLcard斗地主平台中对斗地主数据进行预处理,具体如下:步骤1.1、采集多个牌局内玩家出牌的信息,形成出牌数据集;步骤1.2、对出牌数据集进行处理,采集三个玩家最近总共的12步动作为一个数据,形成历史出牌数据集;步骤2、利用Double Deep Q Leaning算法构建深度强化学习框架,根据Double Deep Q Leaning当中神经网络的做法,神经网络里包含四层全连接层用以形成Q值;步骤3、将步骤1.1中的出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果;步骤4、在RLCard斗地主平台中改变牌的编码方式,利用二进制思想对RLCard斗地主平台当中表示牌的5
×
15矩阵缩小为3
×
15的矩阵;步骤5、将步骤1.1中的出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果;步骤6、更改Double Deep Q Leaning当中的神经网络,具体如下:步骤6.1、在全连接层前面加入Gate Recurrent Unit网络,以记住历史信息;步骤6.2、将Gate Recurrent Unit网络生成的矩阵和状态矩阵合并作为全连接层的输入;步骤7、将步骤1.1中的出牌数据集和步骤1.2中的历史出牌数据集导入Double Deep Q Leaning深度强化学习框架,进行训练并与随机智能体对战,记录结果;步骤8、比较步骤3、5、7的实验结果。2.根据权利要求1所述的一种基于深度强化学习的斗地主AI改进方法,其特征在于,所述步骤1.1中采集当前智能体对战过程中产生的轨迹并更改成五元组的形式,包含当前状态出牌信息,动作,奖励值,下个状态出牌信息,是否对局结束信息,并形成出牌数据集。3.根据权利要求1所述的一种基于深度强化学习的斗地主AI改进方法,其特征在于,所述步骤1.2中对出牌数据集进行处理,生成最近对局中的12步动作矩阵,当最近12步动作中有pass或者小于12步动作时则用零矩阵表示,形成历史出牌数据集。4.根据权利要求1所述的一种基于深度强化学习的斗地主AI改进...

【专利技术属性】
技术研发人员:孔燕吴晓聪
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1