CN116128060A - 一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 - Google Patents
一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 Download PDFInfo
- Publication number
- CN116128060A CN116128060A CN202310135726.5A CN202310135726A CN116128060A CN 116128060 A CN116128060 A CN 116128060A CN 202310135726 A CN202310135726 A CN 202310135726A CN 116128060 A CN116128060 A CN 116128060A
- Authority
- CN
- China
- Prior art keywords
- network
- chess
- opponent
- reinforcement learning
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/042—Backward inferencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供了一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法,针对棋类博弈算法决策效率低、泛化能力差的问题。该发明含有以下步骤,设计棋类算法的输入和输出,构建强化学习网络并随机初始化网络的参数;构建对手建模网络预测推理对手策略,输入强化学习策略网络形成基于对手建模的强化学习网络;构建蒙特卡洛搜索树,利用基于对手建模的强化学习网络引导蒙特卡洛树节点的搜索过程;利用蒙特卡洛搜索树进行自我对弈生成对局数据保存为训练数据集;利用以上数据集训练强化学习网络,直到网络收敛,得到最终落子决策。本技术能够克服现有棋类博弈算法中决策效率低、泛化能力差等问题,给出一种高效、稳定、泛化性强的通用棋类博弈算法。
Description
技术领域
本发明涉及机器学习技术领域,特别是涉及一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法。
背景技术
近些年来,随着机器学习算法的持续优化和创新,以及计算资源和分布式计算***带来的算力提升,人工智能技术迎来迅猛发展。深度强化学习作为决策智能领域的关键技术,整合了强化学习的决策能力和深度学习的感知及表达能力。凭借其实现智能体交互、感知、学习的优势和特性,在机器人、自动驾驶、智慧城市、智慧医疗等众多领域取得了亮眼成就,证明了其在解决复杂问题和在现实世界中应用的潜能。随着以AlphaGo为代表的人工智能算法多次打败人类棋手,基于深度强化学习的棋类博弈算法也逐渐成为一个热门的研究方向。传统棋类博弈方法依赖于纯粹的树搜索和来自人类专家的领域知识,存在算法胜率较低以及训练速度缓慢等问题。得益于深度强化学习的感知和决策能力,目前基于人工智能的棋类博弈算法能一定程度消除对专家知识的依赖,并充分利用计算机的算力资源提升训练效率。因此,本发明旨在以深度强化学习技术为理论基础,采用深度神经网络和强化学习中的蒙特卡洛树搜索相结合的方法,设计一种通用的棋类博弈算法。然而,如何进一步提高博弈算法的稳定性和泛化性,充分挖掘各类型玩家的特征信息以提高决策效率,是一个值得研究的问题。
为此,本发明引入了一种基于对手建模的强化学习算法。对手建模作为多智能体博弈对抗领域的关键技术,是一种典型的智能体认知行为建模方法,已成为强化学习决策优化领域的重要研究方向之一。智能决策的目标是让智能体在复杂博弈环境中做出决策以实现自身收益的最大化。如果可以通过挖掘对手特征信息对对手的动作、偏好等进行建模,就可以更好地预测对手策略。例如在棋类博弈中,如果一方能预测出对手下一步的落子,就能提前进行针对性的策略布局。因此,在棋类博弈场景中引入基于对手建模的强化学习方法,对智能体棋力的提升会有很大帮助,作为棋类博弈决策算法的优化方向也兼顾合理性和必要性。具体而言,在训练过程中保存历史对局信息,根据对手的历史信息(状态、观测、行为等)来预测对手未来的信息(行为、策略、目标、种类等),预测结果将作为强化学习的先验知识以辅助决策。得益于近年来深度学习的飞速发展,许多利用神经网络实现预测的方法为对手建模方法提供了新的思路。比如,贝叶斯推理作为一种以动态模型为研究对象的时间序列预测方法,不仅可以利用模型信息和数据信息实现预测,还加入了决策者的经验和判断等先验信息。长短时记忆网络(Long Short Term Memory,LSTM)模型,是一种特定形式的循环神经网络,非常适合于处理长距离的时序信息处理及预测的问题。具体而言,长时间序列中的重要事件之间可能存在未知持续时间的滞后,LSTM网络可以很好的应对梯度***和梯度消失的问题,相对于传统循环神经网络、隐马尔可夫模型等其他序列预测方法具有很大优势。
综上所述,现有的基于强化学***之内,效果不佳。2、棋类博弈游戏通常是具有高维动作空间和状态空间的复杂决策过程,盲目应用博弈搜索算法通常会导致算法奖励稀疏、计算复杂度高等问题;3、对于不同棋类规则以及不同对手策略偏好特征,来自自身智能体的策略经验不足以概括未知智能体的博弈方式,从而导致算法决策效率低、泛化能力差等问题。因此需要从技术上解决上述问题,进一步探索高效、稳定、泛化性强的通用棋类博弈算法。
发明内容
针对现有技术中棋类博弈算法中依赖人类专家知识学习时决策效率低、面对巨大决策空间时计算复杂度高、泛化能力差的问题,本发明旨在提供一种决策泛化性强、准确性高及快速适应对手博弈风格的基于对手建模与蒙特卡洛强化学习的棋类博弈方法。
本发明的技术解决方案是,提供一种具有以下步骤的基于对手建模与蒙特卡洛强化学习的棋类博弈方法:含有以下步骤,
步骤1、设计棋类算法的输入和输出,构建强化学习网络并随机初始化网络的参数;
步骤2、构建对手建模网络预测推理对手策略并输入强化学习策略网络,形成基于对手建模的强化学习网络;
步骤3、构建蒙特卡洛搜索树,利用步骤2中基于对手建模的强化学习网络引导蒙特卡洛树节点的搜索过程;
步骤4、利用步骤2中的蒙特卡洛搜索树进行自我对弈生成对局数据保存为训练数据集,用于训练强化学习网络;
步骤5、重复步骤3、4直到强化学习网络收敛,得到最终落子决策。
优选地,所述步骤1包含以下分步骤:
步骤1.1、按照不同棋类的规则初始化棋盘,根据不同棋类的棋盘大小n设置输入层以及输出层的尺寸大小,设计四个0-1特征平面表示棋盘状态,四个特征平面分别表示我方玩家的落子位置、对手玩家的落子位置、对手玩家的上一步落子位置以及我方玩家的先后手;
步骤1.2、强化学习网络的输入层:将棋面状态离散化表示为4*n*n的状态矩阵,输入三层全卷积网络,分别使用32、64和128个3*3的卷积核以及ReLu激活函数;
步骤1.3、构建动作策略网络,即策略网络:将当前棋面状态输入到策略网络,经过一层卷积网络和一个全连接层,根据当前棋面预测下一步走棋策略;
步骤1.4、构建状态价值网络,即价值网络:将棋面状态输入到价值网络,经过一层卷积网络和一个全连接层,对输入的棋面状态进行价值评估;
步骤1.5、强化学习网络的输出层:在步骤1.3、步骤1.4的基础上,输出层分为两部分:
步骤1.5.1、策略网络输出端使用4个1*1的卷积核进行降维,之后送至一个全连接层使用非线性函数softmax()输出当前棋面状态下选择每个位置的落子概率,输出向量p大小为1×n2,且p各分量和为1,分量范围为[0,1];
步骤1.5.2、价值网络输出端使用2个1*1的卷积核进行降维,再送至一个全连接层使用非线性函数tanh()输出当前棋面状态的价值评估,输出用一个标量v表示,范围为[-1,1],v值越大表示当前棋面胜率我方更高,v值越小表示当前棋面我方胜率更低;
步骤1.6、根据步骤1.1至1.5构建强化学习网络后随机初始化神经网络参数。
优选地,所述步骤2包含以下分步骤:
步骤2.1、回溯之前10-50个回合的历史棋面状态,将离散化的状态特征矩阵展开并拼接成4*n*n维向量,10个回合的历史棋面状态按行拼接形成历史走子矩阵作为输入;
步骤2.2、构建贝叶斯LSTM对手建模网络,结合贝叶斯推理以及LSTM网络预测对对手策略:
步骤2.2.1、对手建模网络中编码器由2个堆叠层和128个隐藏单元的单向LSTM网络构成,输出一个固定维度的嵌入向量;
步骤2.2.2、对手建模网络中解码器由2个堆叠层和32个隐藏单元的单向LSTM网络构成,生成对未来对手的状态预测;
步骤2.3、训练贝叶斯LSTM对手建模网络,根据历史对局信息经过两个LSTM层的训练和推理得到对手策略模型:
步骤2.3.1、训练过程中使用ADAM优化器和小批量梯度下降,如batch_size=128,采用随机Dropout将网络输出的预测结果模拟为来自目标变量后验分布的随机样本,预测结果将用于估计目标变量的后验分布并据此为每次预测创建置信区间;
步骤2.3.2、利用贝叶斯混合方法混合上述的对手策略,即预测结果,用于对对手策略进行估计和推理;
步骤2.4、将以上贝叶斯LSTM对手建模网络的输出端与步骤一中策略网络的输入端相连,将对手特征和环境特征,即对手建模结果和当前实际状态,一起隐式地编码在神经网络中,即将对手策略与当前棋面状态向量拼接输入强化学习网络中,实现基于对手建模的强化学习网络。
优选地,所述步骤3包含以下分步骤:
步骤3.1、计算当前棋面状态下所有可能落子动作的置信上限Q(s,a)+U(s,a),并选择最大值对应的动作来遍历树,如下式所示
a=arg maxa(Q(s,a)+U(s,a))
其中,a表示落子动作,s表示棋面状态,Q(s,a)表示对该动作下所有可能状态的平均价值评估,U(s,a)取决于该动作的先验概率P(s,a)和该边的访问计数N(s,a),每次访问都被增加一次,
其中,cpuct表示决定探索程度的一个常量;b表示遍历当前所有可能动作的变量;
步骤3.2、根据所选择的动作a到达下一个状态s后,继续利用强化学习网络对当前棋面进行策略价值评估,表示为s(P(s,·),Q(s,))=fθ(s),其中fθ(s)表示步骤1中构建的强化学习网络;
步骤3.3、重复步骤2.1、步骤2.2,当产生胜负结果时表示蒙特卡洛树搜索完成,返回状态s下的搜索策略其中τ表示事先设定的搜索常量;
步骤3.4、将搜索结果反向更新训练强化学习网络,训练目标是最小化评估价值v与实际价值z之间的误差,并使评估策略p与实际搜索策略π的相似度最大化,如下式所示:
loss=(z-v)2-πTlog p+c||θ||2
其中z、π表示数据集中的标签数据,z表示棋面状态价值而π表示实际搜索策略;p、v表示强化学习网络的评估值,v表示棋面状态评估价值而p表示策略网络输出的动作策略,c表示L2正则化参数。
优选地,所述步骤4包含以下分步骤:
步骤4.1、收集训练数据集,给定策略价值网络参数fθ和初始的棋面状态s:
步骤4.1.1、运行蒙特卡洛搜索树,在当前状态下模拟有限搜索步数下所有可能的走法,每次模拟从当前的棋盘状态出发,沿着最大价值的节点不断向下追溯;
步骤4.1.2、遇到陌生棋面状态,即叶子节点时,将棋面状态转换为强化学习网络的输入特征向量,使用价值网络评估价值,将棋面状态输入策略网络得到动作概率分布π=aθ(s);
步骤4.1.3、重复步骤4.1.1、4.1.2直到对弈结束分出胜负,通过最终结果对棋盘价值赋价值标签z,获得局面评估值,胜为+1,负为-1,和棋为0,每个时间步t的对弈数据可以用元组[st,πt,zt]表示;
步骤4.1.4、初始化数据集缓存库的容量为5000,将对弈数据元组存入其中,最终获得训练数据集;
步骤4.2、维护训练数据集:
步骤4.2.1、根据不同棋类规则合理地使用镜像、翻转的方法扩充对弈双方的历史状态数据集;
步骤4.2.2、随机采样m个样本对强化学习网络进行训练,删除相应数据集缓存库队尾的样本,保证缓存库中的样本为最新的数据;如果缓存区容量已满需要将最先放入的数据元组丢弃;
步骤4.3、从训练数据集中对强化学习网络进行训练:
步骤4.3.1、从数据集缓存库中进行随机采样m个样本得到一个batch的训练数据[st,πt,zt],强化学习网络的输入为棋面状态s,输出为策略p与价值v,将(π,z)作为监督学习的标签数据训练强化学习网络使(p,v)≈(π,z);
步骤4.3.2、在步骤4.3.1的基础上,策略网络的损失函数为loss=-πTlog p+c||θ||2,价值网络的损失函数为loss=(z-v)2+c||θ||2,其中L2正则化参数为c=0.0001,学习率α的初始值为0.01并且指数衰减学习率。
优选地,所述步骤5中将重复步骤3、4直到强化学习网络收敛,得到最终下子决策,包含以下分步骤:
步骤5.1、初始化算法参数,包括根据不同棋类及规则设计的输入输出大小,棋面状态矩阵大小,算法训练总轮数、初始学习率、训练样本的批次大小以及缓存区大小,我方与博弈对手的蒙特卡洛数搜索的模拟步数,贝叶斯LSTM网络的隐藏层大小等参数;
步骤5.2、评估实验结果,训练智能体棋手,评估指标为与纯蒙特卡洛强化学习算法对弈的胜率,每轮训练中对弈100-1000个回合,最后统计胜率。
与现有技术相比,本发明基于对手建模与蒙特卡洛强化学习的棋类博弈方法具有以下优点:
首先,本发明利用蒙特卡洛强化学习自生成数据集,无需人类专家的领域知识即可从0开始学习,同时具有处理具有高维决策空间的能力。本发明在遍历过程中引入强化学习网络,即蒙特卡洛强化学习,一方面利用强化学习网络实现策略价值评估以增强搜索算法,另一方面将蒙特卡洛搜索树模拟实际的对弈回合得到训练数据集作为智能体持续探索的策略助推器。本发明中的强化学习网络包括策略网络和价值网络,分别输出当前棋面状态到最佳动作的映射概率和对当前的状态的价值估计,蒙特卡洛搜索树可以汇总价值策略估计产生下一步动作,并通过获得的奖励对网络进行反向训练。通过这种方式,算法可以从0开始,从而摆脱人类专家的领域知识的依赖。同时,蒙特卡洛强化学习可以降低计算复杂度,提升算法决策效率;
其次,本发明采用对手建模的方式预测对手策略,使得决策模型能快速适应不同对手的博弈风格。本发明结合贝叶斯推理框架和LSTM网络,通过历史局面中的对手状态来预测未来的对手策略,之后将对手建模结果与当前实际状态合并输入强化学习网络。
最终,基于对手建模的强化学习可以无需任何领域知识实现对手建模,预测的对手策略作为先验知识大大加快强化学习探索的效率,使得决策模型能快速学习不同对手的博弈风格,提升算法的稳定性和泛化性。
附图说明
图1是本发明的实现流程示意图;
图2是本发明中基于对手建模的蒙特卡洛强化学习算法的示意图;
图3是本发明的仿真实验结果图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
现有基于强化学习的棋类博弈算法存在以下三个问题:
1、传统的基于纯粹树搜索的棋类博弈方法非常依赖来自人类专家的领域知识,算法效率较低,且局限于人类策略水平之内,效果不佳。
2、棋类博弈游戏通常是具有高维动作空间和状态空间的复杂决策过程,盲目应用博弈搜索算法通常会导致算法奖励稀疏、计算复杂度高等问题。
3、对于不同棋类规则以及不同对手策略偏好特征,来自自身智能体的策略经验不足以概括未知智能体的博弈方式,从而导致算法决策效率低、泛化能力差等问题。
下面结合附图和具体实施方式对本发明作进一步说明:如附图1和附图2所示,本发明的主体技术思路是:首先,结合局面状态和落子动作,将棋面状态离散化表示为0-1状态矩阵形成神经网络的输入层;其次,构建强化学习网络,分别包括策略网络和价值网络,分别输出当前棋面状态到最佳动作的映射概率和对当前的状态的价值估计。接着,蒙特卡洛搜索树用来模拟实际的对弈回合,汇总强化学习网络给出的价值策略估计产生下一步动作,并通过获得的奖励蒙特卡洛搜索树得到训练数据集;与此同时,使用贝叶斯LSTM网络处理历史状态矩阵并预测对手策略,其中贝叶斯推理结合LSTM网络可以通过历史局面中的对手状态来预测未来的对手策略,最后将对手特征和环境特征一起隐式地编码在神经网络中训练强化学习网络。
如图1所示,本发明的具体实现步骤如下。
步骤一、设计棋类算法的输入和输出,构建强化学习网络并随机初始化网络的参数;
步骤1.1、按照不同棋类的规则初始化棋盘,根据不同棋类的棋盘大小n设置输入层以及输出层的尺寸大小,设计四个0-1特征平面表示棋盘状态,四个特征平面分别表示我方玩家的落子位置、对手玩家的落子位置、对手玩家的上一步落子位置以及我方玩家的先后手;
步骤1.2、强化学习网络的输入层:将棋面状态离散化表示为4*n*n的状态矩阵,输入三层全卷积网络,分别使用32、64和128个3*3的卷积核以及ReLu激活函数;
步骤1.3、构建动作策略网络(策略网络):将当前棋面状态输入到策略网络,经过一层卷积网络和一个全连接层,根据当前棋面预测下一步走棋策略;
步骤1.4、构建状态价值网络(价值网络):将棋面状态输入到价值网络,经过一层卷积网络和一个全连接层,对输入的棋面状态进行价值评估;
步骤1.5、强化学习网络的输出层:在步骤1.3、步骤1.4的基础上,输出层分为两部分:
步骤1.5.1、策略网络输出端使用4个1*1的卷积核进行降维,之后送至一个全连接层使用非线性函数softmax()输出当前棋面状态下选择每个位置的落子概率,输出向量p大小为1×n2,且p各分量和为1,分量范围为[0,1];
步骤1.5.2、价值网络输出端使用2个1*1的卷积核进行降维,之后送至一个全连接层使用非线性函数tanh()输出当前棋面状态的价值评估,输出用一个标量v表示,范围为[-1,1],v值越大表示当前棋面胜率我方更高,v值越小表示当前棋面我方胜率更低;
步骤1.6、根据步骤1.1到1.5构建强化学习网络后随机初始化神经网络参数。
步骤二、构建对手建模网络预测推理对手策略并输入强化学习策略网络,形成基于对手建模的强化学习网络;
步骤2.1、回溯之前10个回合的历史棋面状态,将离散化的状态特征矩阵展开并拼接成4*n*n维向量,10个回合的历史棋面状态按行拼接形成历史走子矩阵作为输入;
步骤2.2、构建贝叶斯LSTM对手建模网络,结合贝叶斯推理以及LSTM网络预测对对手策略:
步骤2.2.1、对手建模网络中编码器由2个堆叠层和128个隐藏单元的单向LSTM网络构成,输出一个固定维度的嵌入向量;
步骤2.2.2、对手建模网络中解码器由2个堆叠层和32个隐藏单元的单向LSTM网络构成,用于生成对未来对手的状态预测;
具体来说,LSTM用于处理历史棋面状态,从而解决长序列训练过程中的梯度消失和梯度***问题。所设计的贝叶斯LSTM网络中的每个LSTM层之后均随机Dropout将模型输出解释为来自目标变量后验分布的随机样本。这意味着,通过多次预测可以近似后验分布的参数从而为每个预测创建置信区间。然后根据贝叶斯混合方法混合所预测的对手策略模型,实现对对手策略的估计和推理。如此,利用贝叶斯LSTM网络学习对手的历史交互信息,将对手特征和环境特征一起隐式地编码在神经网络中训练强化学习网络。
步骤2.3、训练贝叶斯LSTM对手建模网络,根据历史对局信息经过两个LSTM层的训练和推理得到对手策略模型:
步骤2.3.1、训练过程中使用ADAM优化器和小批量梯度下降(batch_size=128),采用随机Dropout将网络输出的预测结果模拟为来自目标变量后验分布的随机样本,多次预测之后估计目标变量的后验分布并据此为每次预测创建置信区间;
步骤2.3.2、利用贝叶斯混合方法混合上述的对手策略(预测结果),实现对对手策略的估计和推理,作为先验知识大大加快强化学习探索的效率;
步骤2.4、将以上贝叶斯LSTM对手建模网络的输出端与步骤一中策略网络的输入端相连,将对手特征(对手建模结果)和环境特征(当前实际状态)一起隐式地编码在神经网络中,即将对手策略与当前棋面状态向量拼接输入强化学习网络中,实现基于对手建模的强化学习网络。
步骤三、构建蒙特卡洛搜索树,利用步骤二中基于对手建模的强化学习网络引导蒙特卡洛树节点的搜索过程;
步骤3.1、计算当前棋面状态下所有可能落子动作的置信上限Q(s,a)+U(s,a),并选择最大值对应的动作来遍历树,如下式所示
a=arg maxa(Q(s,a)+U(s,a))
其中,a表示落子动作,s表示棋面状态,Q(s,a)表示对该动作下所有可能状态的平均价值评估,U(s,a)取决于该动作的先验概率P(s,a)和该边的访问计数N(s,a)(每次访问都被增加一次)
其中,cpuct表示决定探索程度的一个常量;b表示遍历当前所有可能动作的变量;
步骤3.2、根据所选择的动作a到达下一个状态s后,继续利用强化学习网络对当前棋面进行策略价值评估,表示为s(P(s,),Q(s,·))=fθ(s),其中fθ(s)表示步骤一中构建的强化学习网络;
步骤3.3、重复步骤2.1、步骤2.2,当产生胜负结果时表示蒙特卡洛树搜索完成,返回状态s下的搜索策略其中τ表示事先设定的搜索常量;
步骤3.4、将搜索结果反向更新训练强化学习网络,训练目标是最小化评估价值v与实际价值z之间的误差,并使评估策略p与实际搜索策略π的相似度最大化,如下式所示:
loss=(z-v)2-πTlog p+c||θ||2
其中z、π表示数据集中的标签数据,z表示棋面状态价值而π表示实际搜索策略;p、v表示强化学习网络的评估值,v表示棋面状态评估价值而p表示策略网络输出的动作策略,c表示L2正则化参数。
具体来说,棋类游戏的决策过程可以看作是一棵包含多种可能的树,采用蒙特卡洛树搜索的方式可以获得每一步的走法。传统蒙特卡洛树搜索MCTS是一种逼近纳什均衡的搜索策略,然而,在实际情况中有限的计算能力并不足以彻底搜索这棵巨大的树。
步骤四、利用步骤二中的蒙特卡洛搜索树进行自我对弈生成对局数据保存为训练数据集,用于训练强化学习网络;
步骤4.1、收集训练数据集,给定策略价值网络参数fθ和初始的棋面状态s:
步骤4.1.1、运行蒙特卡洛搜索树,在当前状态下模拟有限搜索步数下所有可能的走法,每次模拟从当前的棋盘状态出发,沿着最大价值的节点不断向下追溯。
步骤4.1.2、遇到陌生棋面状态(即叶子节点)时,将棋面状态转换为强化学习网络的输入特征向量,使用价值网络评估价值,将棋面状态输入策略网络得到动作概率分布π=aθ(s);
步骤4.1.3、重复步骤4.1.1、4.1.2直到对弈结束分出胜负。通过最终结果对棋盘价值赋价值标签z,获得局面评估值,胜为+1,负为-1,和棋为0,于是,每个时间步t的对弈数据可以用元组[st,πt,zt]表示;
步骤4.1.4、初始化数据集缓存库的容量为5000,将对弈数据元组存入其中,最终获得训练数据集;
步骤4.2、维护训练数据集:
步骤4.2.1、根据不同棋类规则合理地使用镜像、翻转等方法扩充数据集,因为棋类游戏的棋盘通常是对称的,可以采用镜像的方式交换对弈双方的历史状态数据集以提高效率;
步骤4.2.2、随机采样m个样本对强化学习网络进行训练,删除相应数据集缓存库队尾的样本,保证缓存库中的样本为最新的数据;如果缓存区容量已满需要将最先放入的数据元组丢弃;
步骤4.3、从训练数据集中对强化学习网络进行训练:
步骤4.3.1、从数据集缓存库中进行随机采样m个样本得到一个batch的训练数据[st,πt,zt],强化学习网络的输入为棋面状态s,输出为策略p与价值v,将(π,z)作为监督学习的标签数据训练强化学习网络使(p,v)≈(π,z);
步骤4.3.2、在步骤4.3.1的基础上,策略网络的损失函数为loss=-πTlog p+c||θ||2,价值网络的损失函数为loss=(z-v)2+c||θ||2,其中L2正则化参数为c=0.0001,学习率α的初始值为0.01并且指数衰减学习率。
步骤五、重复步骤三、四直到强化学习网络收敛,得到最终落子决策。
步骤5.1、初始化算法参数,包括根据不同棋类及规则设计的输入输出大小,棋面状态矩阵大小,算法训练总轮数、初始学习率、训练样本的批次大小以及缓存区大小,我方与博弈对手的蒙特卡洛数搜索的模拟步数,贝叶斯LSTM网络的隐藏层大小等参数,具体设置的数值如表1所示。
步骤5.2、评估实验结果,本发明在仿真实验中以五子棋游戏为例,使用基于对手建模和蒙特卡洛强化学习的博弈算法训练智能体棋手,评估指标为与纯蒙特卡洛强化学习算法对弈的胜率,每轮训练中对弈100个回合,最后统计胜率。
下面结合仿真实验对本发明作进一步说明:
1.仿真实验条件:本发明仿真实验的硬件环境:Intel Core [email protected]、64GB内存、RTX 3090GPU,软件环境:Ubuntu20.04操作***、Python3.7,Pytorch1.8.0。
2.仿真内容和结果分析:本发明的仿真实验是以五子棋游戏为例,使用基于对手建模和蒙特卡洛强化学习的博弈算法训练智能体棋手,评估指标为与纯蒙特卡洛强化学习算法对弈的胜率。本发明仿真实验的主要实验参数如表1所示。
表1仿真实验参数
参数名称 | 数值 |
棋盘大小 | 8*8 |
棋面状态矩阵大小 | 4*8*8 |
训练总轮数 | 500 |
每轮对弈回合 | 100 |
蒙特卡洛模拟步数(我方) | 200 |
蒙特卡洛模拟步数(对手) | 500 |
策略网络输出大小 | (4*64,64) |
价值网络输出大小 | (64,1) |
贝叶斯LSTM网络隐藏层大小 | 128,64 |
Dropout概率因子 | 0.5 |
训练样本的批次大小 | 128 |
缓存区大小 | 5000 |
初始学习率 | 0.002 |
使用本发明提出的基于对手建模和蒙特卡洛强化学***均可达75%。仿真结果验证了本发明提出的算法能以较快的速度适应对手,在较少的探索次数内提升自身胜率。除此之外,本发明最终能以较高的胜率完成棋类博弈任务,兼顾泛化性、稳定性和高效性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:含有以下步骤,
步骤1、设计棋类算法的输入和输出,构建强化学习网络并随机初始化网络的参数;
步骤2、构建对手建模网络预测推理对手策略并输入强化学习策略网络,形成基于对手建模的强化学习网络;
步骤3、构建蒙特卡洛搜索树,利用步骤2中基于对手建模的强化学习网络引导蒙特卡洛树节点的搜索过程;
步骤4、利用步骤2中的蒙特卡洛搜索树进行自我对弈生成对局数据保存为训练数据集,用于训练强化学习网络;
步骤5、重复步骤3、4直到强化学习网络收敛,得到最终落子决策。
2.根据权利要求1所述的基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:所述步骤1包含以下分步骤:
步骤1.1、按照不同棋类的规则初始化棋盘,根据不同棋类的棋盘大小n设置输入层以及输出层的尺寸大小,设计四个0-1特征平面表示棋盘状态,四个特征平面分别表示我方玩家的落子位置、对手玩家的落子位置、对手玩家的上一步落子位置以及我方玩家的先后手;
步骤1.2、强化学习网络的输入层:将棋面状态离散化表示为4*n*n的状态矩阵,输入三层全卷积网络,分别使用32、64和128个3*3的卷积核以及ReLu激活函数;
步骤1.3、构建动作策略网络,即策略网络:将当前棋面状态输入到策略网络,经过一层卷积网络和一个全连接层,根据当前棋面预测下一步走棋策略;
步骤1.4、构建状态价值网络,即价值网络:将棋面状态输入到价值网络,经过一层卷积网络和一个全连接层,对输入的棋面状态进行价值评估;
步骤1.5、强化学习网络的输出层:在步骤1.3、步骤1.4的基础上,输出层分为两部分:
步骤1.5.1、策略网络输出端使用4个1*1的卷积核进行降维,之后送至一个全连接层使用非线性函数softmax()输出当前棋面状态下选择每个位置的落子概率,输出向量p大小为1×n2,且p各分量和为1,分量范围为[0,1];
步骤1.5.2、价值网络输出端使用2个1*1的卷积核进行降维,再送至一个全连接层使用非线性函数tanh()输出当前棋面状态的价值评估,输出用一个标量v表示,范围为[-1,1],v值越大表示当前棋面胜率我方更高,v值越小表示当前棋面我方胜率更低;
步骤1.6、根据步骤1.1至1.5构建强化学习网络后随机初始化神经网络参数。
3.根据权利要求1所述的基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:所述步骤2包含以下分步骤:
步骤2.1、回溯之前10-50个回合的历史棋面状态,将离散化的状态特征矩阵展开并拼接成4*n*n维向量,10个回合的历史棋面状态按行拼接形成历史走子矩阵作为输入;
步骤2.2、构建贝叶斯LSTM对手建模网络,结合贝叶斯推理以及LSTM网络预测对对手策略:
步骤2.2.1、对手建模网络中编码器由2个堆叠层和128个隐藏单元的单向LSTM网络构成,输出一个固定维度的嵌入向量;
步骤2.2.2、对手建模网络中解码器由2个堆叠层和32个隐藏单元的单向LSTM网络构成,生成对未来对手的状态预测;
步骤2.3、训练贝叶斯LSTM对手建模网络,根据历史对局信息经过两个LSTM层的训练和推理得到对手策略模型:
步骤2.3.1、训练过程中使用ADAM优化器和小批量梯度下降,如batch_size=128,采用随机Dropout将网络输出的预测结果模拟为来自目标变量后验分布的随机样本,预测结果将用于估计目标变量的后验分布并据此为每次预测创建置信区间;
步骤2.3.2、利用贝叶斯混合方法混合上述的对手策略,即预测结果,用于对对手策略进行估计和推理;
步骤2.4、将以上贝叶斯LSTM对手建模网络的输出端与步骤一中策略网络的输入端相连,将对手特征和环境特征,即对手建模结果和当前实际状态,一起隐式地编码在神经网络中,即将对手策略与当前棋面状态向量拼接输入强化学习网络中,实现基于对手建模的强化学习网络。
4.根据权利要求1所述的基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:所述步骤3包含以下分步骤:
步骤3.1、计算当前棋面状态下所有可能落子动作的置信上限Q(s,a)+U(s,a),并选择最大值对应的动作来遍历树,如下式所示
a=arg maxa(Q(s,a)+U(s,a))
其中,a表示落子动作,s表示棋面状态,Q(s,a)表示对该动作下所有可能状态的平均价值评估,U(s,a)取决于该动作的先验概率P(s,a)和该边的访问计数N(s,a),每次访问都被增加一次,
其中,cpuct表示决定探索程度的一个常量;b表示遍历当前所有可能动作的变量;
步骤3.2、根据所选择的动作a到达下一个状态s后,继续利用强化学习网络对当前棋面进行策略价值评估,表示为s(P(s,·),Q(s,·))=fθ(s),其中fθ(s)表示步骤1中构建的强化学习网络;
步骤3.3、重复步骤2.1、步骤2.2,当产生胜负结果时表示蒙特卡洛树搜索完成,返回状态s下的搜索策略其中τ表示事先设定的搜索常量;
步骤3.4、将搜索结果反向更新训练强化学习网络,训练目标是最小化评估价值v与实际价值z之间的误差,并使评估策略p与实际搜索策略π的相似度最大化,如下式所示:
loss=(z-v)2-πTlog p+c||θ||2
其中z、π表示数据集中的标签数据,z表示棋面状态价值而π表示实际搜索策略;p、v表示强化学习网络的评估值,v表示棋面状态评估价值而p表示策略网络输出的动作策略,c表示L2正则化参数。
5.根据权利要求1所述的基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:所述步骤4包含以下分步骤:
步骤4.1、收集训练数据集,给定策略价值网络参数fθ和初始的棋面状态s:
步骤4.1.1、运行蒙特卡洛搜索树,在当前状态下模拟有限搜索步数下所有可能的走法,每次模拟从当前的棋盘状态出发,沿着最大价值的节点不断向下追溯;
步骤4.1.2、遇到陌生棋面状态,即叶子节点时,将棋面状态转换为强化学习网络的输入特征向量,使用价值网络评估价值,将棋面状态输入策略网络得到动作概率分布π=aθ(s);
步骤4.1.3、重复步骤4.1.1、4.1.2直到对弈结束分出胜负,通过最终结果对棋盘价值赋价值标签z,获得局面评估值,胜为+1,负为-1,和棋为0,每个时间步t的对弈数据可以用元组[st,πt,zt]表示;
步骤4.1.4、初始化数据集缓存库的容量为5000,将对弈数据元组存入其中,最终获得训练数据集;
步骤4.2、维护训练数据集:
步骤4.2.1、根据不同棋类规则合理地使用镜像、翻转的方法扩充对弈双方的历史状态数据集;
步骤4.2.2、随机采样m个样本对强化学习网络进行训练,删除相应数据集缓存库队尾的样本,保证缓存库中的样本为最新的数据;如果缓存区容量已满需要将最先放入的数据元组丢弃;
步骤4.3、从训练数据集中对强化学习网络进行训练:
步骤4.3.1、从数据集缓存库中进行随机采样m个样本得到一个brach的训练数据[st,πt,zt],强化学习网络的输入为棋面状态s,输出为策略p与价值v,将(π,z)作为监督学习的标签数据训练强化学习网络使(p,v)≈(π,z);
步骤4.3.2、在步骤4.3.1的基础上,策略网络的损失函数为loss=-πTlogp+c||θ||2,价值网络的损失函数为loss=(z-v)2+c||θ||2,其中L2正则化参数为c=0.0001,学习率α的初始值为0.01并且指数衰减学习率。
6.根据权利要求1所述的基于对手建模与蒙特卡洛强化学习的棋类博弈方法,其特征在于:所述步骤5中将重复步骤3、4直到强化学习网络收敛,得到最终下子决策,包含以下分步骤:
步骤5.1、初始化算法参数,包括根据不同棋类及规则设计的输入输出大小,棋面状态矩阵大小,算法训练总轮数、初始学习率、训练样本的批次大小以及缓存区大小,我方与博弈对手的蒙特卡洛数搜索的模拟步数,贝叶斯LSTM网络的隐藏层大小等参数;
步骤5.2、评估实验结果,训练智能体棋手,评估指标为与纯蒙特卡洛强化学习算法对弈的胜率,每轮训练中对弈100-1000个回合,最后统计胜率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135726.5A CN116128060A (zh) | 2023-02-18 | 2023-02-18 | 一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135726.5A CN116128060A (zh) | 2023-02-18 | 2023-02-18 | 一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116128060A true CN116128060A (zh) | 2023-05-16 |
Family
ID=86309914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310135726.5A Pending CN116128060A (zh) | 2023-02-18 | 2023-02-18 | 一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116128060A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881656A (zh) * | 2023-07-06 | 2023-10-13 | 南华大学 | 一种基于深度蒙特卡洛的强化学习军棋ai*** |
CN117033250A (zh) * | 2023-10-08 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 对局应用的测试方法、装置、设备及存储介质 |
-
2023
- 2023-02-18 CN CN202310135726.5A patent/CN116128060A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116881656A (zh) * | 2023-07-06 | 2023-10-13 | 南华大学 | 一种基于深度蒙特卡洛的强化学习军棋ai*** |
CN116881656B (zh) * | 2023-07-06 | 2024-03-22 | 南华大学 | 一种基于深度蒙特卡洛的强化学习军棋ai*** |
CN117033250A (zh) * | 2023-10-08 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 对局应用的测试方法、装置、设备及存储介质 |
CN117033250B (zh) * | 2023-10-08 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 对局应用的测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN109063823B (zh) | 一种智能体探索3d迷宫的批a3c强化学习方法 | |
CN112329348A (zh) | 一种面向非完全信息条件下军事对抗博弈的智能决策方法 | |
CN116128060A (zh) | 一种基于对手建模与蒙特卡洛强化学习的棋类博弈方法 | |
CN113688977B (zh) | 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质 | |
Chen et al. | An improved bat algorithm hybridized with extremal optimization and Boltzmann selection | |
CN109740741B (zh) | 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法 | |
Knegt et al. | Opponent modelling in the game of Tron using reinforcement learning | |
Hammoudeh | A concise introduction to reinforcement learning | |
Schmidhuber | Philosophers & futurists, catch up! Response to The Singularity | |
CN115238891A (zh) | 决策模型训练方法、目标对象的策略控制方法及装置 | |
WO2022247791A1 (zh) | 一种基于机器学习的棋类自学习方法及装置 | |
CN116090549A (zh) | 一种基于知识驱动的多智能体强化学习决策方法、***及存储介质 | |
Cahill | Catastrophic forgetting in reinforcement-learning environments | |
CN113509726A (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
Espinosa Leal et al. | Reinforcement learning for extended reality: designing self-play scenarios | |
CN115906673A (zh) | 作战实体行为模型一体化建模方法及*** | |
Guo | Deep learning and reward design for reinforcement learning | |
Olesen et al. | Evolutionary planning in latent space | |
Nakashima et al. | Designing high-level decision making systems based on fuzzy if–then rules for a point-to-point car racing game | |
Sun | Performance of reinforcement learning on traditional video games | |
Hui et al. | Balancing excitation and inhibition of spike neuron using deep q network (dqn) | |
Lamontagne et al. | Acquisition of cases in sequential games using conditional entropy | |
Grim | Philosophy for computers: some explorations in philosophical modeling | |
Yao et al. | Cheat-FlipIt: An Approach to Modeling and Perception of a Deceptive Opponent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |