基于深度强化学习方法的中国象棋博弈学习方法及系统技术方案

技术编号:30704042 阅读:40 留言:0更新日期:2021-11-06 09:45
本发明专利技术提供了一种基于深度强化学习方法的中国象棋博弈学习方法及系统,包括:步骤S1:将局面特征输入深度卷积神经网络,输出当前局面评估值和所有合法着法的概率;步骤S2:当前局面根据当前局面评估值和合法着法的概率,利用蒙特卡洛树搜索对当前局面进行决策,选择下一步的着法并执行走子,获取当前局面特征,重复触发步骤S1至步骤S2,直至棋局走到终局,得到对弈结果。本发明专利技术通过基于人类专家棋谱的监督学习和基于自我对弈的自学习的技术特征,实现快速提升模型棋力,并以迭代式方法逐步增强棋力以至模型棋力最终超过人类棋手的技术效果。果。果。

【技术实现步骤摘要】
基于深度强化学习方法的中国象棋博弈学习方法及系统


[0001]本专利技术涉及深度强化学习和中国象棋计算机博弈领域,具体地,涉及一种基于深度强化学习方法的中国象棋博弈学习方法及系统,更为具体地,涉及基于深度强化学习方法的中国象棋博弈学习算法。

技术介绍

[0002]近年来深度强化学习迅猛发展,在各种棋类游戏上的应用都取得了巨大的成功,特别是谷歌研发的AlphaGo首次在围棋上超越了人类棋手,证明了其在解决复杂问题和在现实世界中应用的潜能,例如在机器人、自动驾驶汽车、金融、智能电网等领域的应用。深度强化学习实现了强化学习和深度学习各自优势和特点的整合,这种人工智能方法更接近人类的思维方式:深度学习被认为是一种具有较强的感知和表达能力的学习方法;强化学习模仿了人类和动物的自主学习的行为,则被认为具有较强的决策能力。然而相比于围棋,传统中国象棋博弈方法依赖于纯粹的树搜索和专业知识要求高的领域知识,例如先验评估函数和大体积的审局库。而深度强化学习方法得益于表征学习的表达能力,能显著减少甚至消除对特定领域知识的依赖。因此,我们希望以深度强化学习技术为理论基础,采用深度神经网络和强化学习中的蒙特卡洛树搜索相结合的方法,设计中国象棋博弈学习算法。
[0003]专利文献CN111562844A(申请号:202010364097.X)公开了一种全自动博弈中国象棋系统。该系统中人机交互模块用于收录用户的语音信息;对弈决策模块用于根据语音信息得到棋子的移动位置;棋子移动模块用于根据棋子的移动位置确定棋子的移动路径;移动装置中每个棋子底座固定有铁片,所有落点位置中行和列分别对应行继电器和列继电器,落点位置对应电磁铁;列继电器的正极均连接至电源的正极,每个列继电器的负极与对应列的所有电磁铁连接;行继电器的负极均连接至电源的负极,每个行继电器的正极与对应行的所有电磁铁连接;处理器用于控制所有继电器的通断状态,使经过的落点位置电磁铁处于通电状态,不经过电磁铁处于断电状态。
[0004]我们的算法基于国产自主研发的针对神经网络加速的硬件DTU,其相对于其他加速卡主要有以下两个优势:针对深度学习进行汇编级的优化,相比于CPU和GPU有更高的计算效率;支持跨机柜互联,有更好的互联拓扑结构,可扩展性更高。因此,需要针对DTU硬件进行优化,充分发挥深度神经网络的效率和蒙特卡洛树搜索的并发优势

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于深度强化学习方法的中国象棋博弈学习方法及系统。
[0006]根据本专利技术提供的一种基于深度强化学习方法的中国象棋博弈学习方法,包括:
[0007]步骤S1:将局面特征输入训练后的深度卷积神经网络,输出当前局面评估值和所有合法着法的概率;
[0008]步骤S2:当前局面根据当前局面评估值和合法着法的概率,利用蒙特卡洛树搜索
对当前局面进行决策,选择下一步的着法并执行走子,获取当前局面特征,重复触发步骤S1至步骤S2,直至棋局走到终局,得到对弈结果。
[0009]优选地,获取训练数据集对深度神经网络使用多进程并行和队列边读取边消耗的方式进行多卡并行训练,得到训练后的深度卷积神经网络。
[0010]优选地,对深度卷积神经网络输入的局面特征和输出的局面评估值和所有合法着法概率特征进行设置,将棋谱数据处理为统一格式,并将棋谱翻译成输入输出向量的处理函数。
[0011]优选地,所述对深度卷积神经网络输入的局面特征和输出的局面评估值和所有合法着法概率特征进行设置采用:
[0012]步骤S3:原始获得的棋谱中的着法格式转换为四个数字构成的字符串表示着法格式,前两个数字表示起始的位置坐标;后两个数字表示到达的位置坐标,每对数字中的每个数字分别表示棋子的横坐标和纵坐标;
[0013]步骤S4:将物理的棋局局面根据预设要求转换为FEN文件格式的字符串格式;
[0014]步骤S5:将着法格式和字符串格式转为大小为预设值的向量,并利用预设值的向量表示当前局面特征输入深度卷积神经网络;
[0015]步骤S6:深度卷积神经网络输出局面评估值和合法着法概率,局面评估值用介于预设区间之间的标量表示;合法着法概率用长度为预设值的一维向量表示。
[0016]优选地,所述训练数据集采用:加载数据集,并将数据集转换为预设格式,使用one

hot标记法对棋子所在位置进行标记,得到输入数据局面状况;根据每一步着法构建策略向量policy,使用贪心法,策略向量中着法对应的那一维为1,其余为0;根据对弈结果获得局面评估值,胜为+1,负为

1,和棋为0,最终获得训练数据集。
[0017]优选地,所述蒙特卡洛树搜索采用:树搜索策略创建预设个模拟线程,每当有一个模拟线程返回,则将返回的模拟结果和path作为参数调用创建反馈线程;当所有线程的工作结束,调用选择方法在当前节点选择最优的着法作为结果返回。
[0018]优选地,在模拟过程中根据当前模拟局面的评估值对历史节点进行早反馈;
[0019]步骤S7:检查当前局面是否存在,当不存在时,则先执行扩张操作创建节点,并对扩张操作中神经网络计算所得的局面评估值V(s)执行反馈操作;
[0020]步骤S8:检查当前局面是否已经判出胜负,当出现胜负则进行反馈操作;
[0021]步骤S9:计算当前局面所有着法的置信上限U(s,a)+Q(s,a),并选择最大值对应的着法,并将N(s,a)加一;
[0022]其中,c
puct
表示决定探索程度的一个常量;b表示遍历当前所有可能着法的变量;P(s,a)表示当前着法的先验概率;N(s,a)表示当前着法在模拟时被走过几次;N(s,b)在当前局面执行着法b在模拟时被走过几次;Q(s,a)表示当前着法的平均价值;
[0023]步骤S10:根据所选着法前进到下一个局面,重复触发步骤S7至步骤S10直至出现胜负并进行反馈操作。
[0024]优选地,模拟过程中,设置公交车式的请求处理方法进行推理请求的并发处理操作,充分利用DTU算力以及降低推理请求延迟中做出平衡;
[0025]步骤S11:将推理请求抽象为一个载客量为预设数值的公交车,每个扩张操作给出的输入是乘客;
[0026]步骤S12:当有n个DTU设备可以用来推理时,则最多可同时执行n个推理请求,车站拥有n辆公交车;
[0027]步骤S13:所有乘客到车站时,都会坐上第一辆停着的公交车;每辆公交车根据时间表出发,公交车等待预设时间后,无论车是否满载都将出发;当一个DTU空闲时间预设时间后,无论是否累计了预设数值的输入,立即发起推理请求;
[0028]步骤S14:公交车的班次时间t由车站内的公交车数量n决定:k表示比例系数。
[0029]根据本专利技术提供的一种基于深度强化学习方法的中国象棋博弈学习系统,包括:
[0030]模块M1:将局面特征输入训练后的深度卷积神经网络,输出当前局本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,包括:步骤S1:将局面特征输入训练后的深度卷积神经网络,输出当前局面评估值和所有合法着法的概率;步骤S2:当前局面根据当前局面评估值和合法着法的概率,利用蒙特卡洛树搜索对当前局面进行决策,选择下一步的着法并执行走子,获取当前局面特征,重复触发步骤S1至步骤S2,直至棋局走到终局,得到对弈结果。2.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,获取训练数据集对深度神经网络使用多进程并行和队列边读取边消耗的方式进行多卡并行训练,得到训练后的深度卷积神经网络。3.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,对深度卷积神经网络输入的局面特征和输出的局面评估值和所有合法着法概率特征进行设置,将棋谱数据处理为统一格式,并将棋谱翻译成输入输出向量的处理函数。4.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,所述对深度卷积神经网络输入的局面特征和输出的局面评估值和所有合法着法概率特征进行设置采用:步骤S3:原始获得的棋谱中的着法格式转换为四个数字构成的字符串表示着法格式,前两个数字表示起始的位置坐标;后两个数字表示到达的位置坐标,每对数字中的每个数字分别表示棋子的横坐标和纵坐标;步骤S4:将物理的棋局局面根据预设要求转换为FEN文件格式的字符串格式;步骤S5:将着法格式和字符串格式转为大小为预设值的向量,并利用预设值的向量表示当前局面特征输入深度卷积神经网络;步骤S6:深度卷积神经网络输出局面评估值和合法着法概率,局面评估值用介于预设区间之间的标量表示;合法着法概率用长度为预设值的一维向量表示。5.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,所述训练数据集采用:加载数据集,并将数据集转换为预设格式,使用one

hot标记法对棋子所在位置进行标记,得到输入数据局面状况;根据每一步着法构建策略向量policy,使用贪心法,策略向量中着法对应的那一维为1,其余为0;根据对弈结果获得局面评估值,胜为+1,负为

1,和棋为0,最终获得训练数据集。6.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,所述蒙特卡洛树搜索采用:树搜索策略创建预设个模拟线程,每当有一个模拟线程返回,则将返回的模拟结果和path作为参数调用创建反馈线程;当所有线程的工作结束,调用选择方法在当前节点选择最优的着法作为结果返回。7.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,在模拟过程中根据当前模拟局面的评估值对历史节点进行早反馈;步骤S7:检查当前局面是否存在,当不存在时,则先执行扩张操作创建节点,并对扩张操作中神经网络计算所得的局面评估值V(s)执行反馈操作;步骤S8:检查当前局面是否已经判出胜负,当出现胜负则进行反馈操作;步骤S9:计算当前局面所有着法的置信上限U(s,a)+Q(s,a),并选择最大值对应的着法,并将N(s,a)加一;
其中,c
puct
表示决定探索程度的一个常量;b表示遍历当前所有可能着法的变量;P(s,a)表示当前着法的先验概率;N(s,a)表示当前着法在模拟时被走过几次;N(s,b)在当前局面执行着法b在模拟时被走过几次;Q(s,a)表示当前着法的平均价值;步骤S10:根据所选着法前进到下一个局面,重复触发步骤S7至步骤S10直至出现胜负并进行反馈操作。8.根据权利要求1所述的基于深度强化学习方法的中国象棋博弈学习方法,其特征在于,模拟过程中,设置公交车式的请求处理方法进行推理请求的并发处理...

【专利技术属性】
技术研发人员:姚建国涂冰洁赵立东鹿艳梅
申请(专利权)人:上海燧原科技有限公司
类型:发明
国别省市:

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

1