CN111330255B - 一种基于深度卷积神经网络的亚马逊棋招法生成方法 - Google Patents

一种基于深度卷积神经网络的亚马逊棋招法生成方法 Download PDF

Info

Publication number
CN111330255B
CN111330255B CN202010226567.6A CN202010226567A CN111330255B CN 111330255 B CN111330255 B CN 111330255B CN 202010226567 A CN202010226567 A CN 202010226567A CN 111330255 B CN111330255 B CN 111330255B
Authority
CN
China
Prior art keywords
network
value
sub
obstacle
layers
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.)
Expired - Fee Related
Application number
CN202010226567.6A
Other languages
English (en)
Other versions
CN111330255A (zh
Inventor
施重阳
廖兆和
柴增豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Publication of CN111330255A publication Critical patent/CN111330255A/zh
Application granted granted Critical
Publication of CN111330255B publication Critical patent/CN111330255B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明涉及一种基于深度卷积神经网络的亚马逊棋招法生成方法,属于人工智能技术领域。本发明包含深度网络模型,网络模型训练,以及最优招法生成三部分。深度网络模型包括棋子移动网络和障碍放置网络。网络模型训练使用RMSProp算法优化网络权重,通过监督学习的方式训练网络。最优招法生成通过组合各网络的输出指导亚马逊棋智能系统生成可靠的最优招法及预测的胜率。对比现有技术,本发明方法的招法生成不完全依赖于人类先验知识,具有效率稳定,不受极端局面影响的优势;采用分步决策的方式,提高了招法生成效率和准确率;通过共享部分网络层的方式,体现了各决策步骤的相似性和连续性。

Description

一种基于深度卷积神经网络的亚马逊棋招法生成方法
技术领域
本发明涉及一种基于深度卷积神经网络的亚马逊棋招法生成方法,属于人工智能技术领域,按照国际专利分类表(IPC)属于人类生活必须部,保健;救生;娱乐分部。主要采用深度卷积神经网络缓解亚马逊棋智能系统的招法生成过分依赖人类先验知识的局限性,指导其更加高效地生成可靠的最优招法。
背景技术
计算机问世使得人类的计算能力得到了飞跃性的提升。计算机虽然能够提供强大的计算能力,却无法像人类一样在复杂环境中做出决策。为了解决这类问题,人工智能领域应运而生。
深度学习与大数据的兴起带来了人工智能的爆发,作为人工智能领域的重要研究方向之一,计算机博弈能够帮助人们更加深入地研究和理解人工智能。亚马逊棋作为一种计算机博弈的重要形式,结合了围棋与国际象棋的行棋规则,具有招法多样,棋局复杂的特点。
传统的亚马逊棋招法生成方法建立在人类现有的棋类知识的基础上,根据对亚马逊棋的理解手动编写估值函数,对现有局面优劣进行估值判断。这种方式难以高效的生成准确的最优招法,并且仅仅依靠估值函数一定程度上限制了亚马逊棋智能系统的棋力,因而,有必要寻找一种更为高效的招法生成方法,生成亚马逊棋博弈过程中的最优招法。
本发明针对现有亚马逊棋招法生成方法的局限性,创新性地在亚马逊棋领域引入深度卷积神经网络,使得亚马逊棋招法生成不完全依赖于人类先验知识。
本发明中涉及的相关技术如下:
1.计算机博弈
计算机博弈是人工智能领域的重要研究方向,作为机器智能、兵棋推演、智能决策系统等人工智能领域的重要科研基础,计算机博弈被认为是人工智能领域最具挑战性的研究方向之一。
亚马逊棋(Game of the Amazons)是在1988年推出的两人棋类博弈,是奥林匹亚电脑游戏程式竞赛的比赛指定棋类,由于局面过于复杂,每一步可行的招法可高达数千种,故该棋类多不用于人类之间比赛,而是用于计算机博弈相关方面的比赛与研究。
亚马逊棋的研究及实现涉及编程语言,算法思想,博弈思想等,常用的算法有蒙特卡洛算法,退火算法,遗传算法等。随着机器学习与深度学习的发展,亚马逊棋作为计算机博弈的一个项目正逐渐的被更广泛的熟知。
2.深度学习
深度学习(Deep Learning)是机器学习(Machine Learning)的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习的优势之一是其采用了非监督式或半监督式的特征学习和分层特征的方式,替代了手工获取样本特征的方式。
深度学习被广泛应用于学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对文本、图像、音频等数据的解释有很大的帮助。
深度学习在数据挖掘,计算机视觉,自然语言处理等诸多领域都取得丰富的成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了巨大进步。其最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像、音频等数据。作为一个复杂的机器学习算法,深度学习在语音和图像识别方面取得的效果,远远超过先前相关技术。
3.卷积神经网络
卷积神经网络(Convolutional Neural Network)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。
卷积神经网络模仿生物的视知觉机制设计构建,可以进行监督学习和非监督学习,其隐藏层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征(例如像素、音频)进行学习,并且有稳定的效果且对数据没有额外的特征工程要求。
卷积神经网络的相关研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络;在二十一世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被广泛应用于各种计算机视觉、自然语言处理等任务,并取得了巨大的成果。
卷积神经网络由一个或多个卷积层(Convolution Layer)和顶端的全连通层(Dense Layer)组成,同时也包括共享权重和池化层(Pooling Layer)。这一结构使得卷积神经网络能够充分利用输入数据的二维结构进行特征的提取,与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。卷积神经网络可以使用反向传播算法(Back Propagation)进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要训练的参数更少。
发明内容
本发明的目的是基于深度卷积神经网络,针对亚马逊棋的规则和先验知识,设计适用于亚马逊棋招法生成的网络结构,并基于这一网络结构实现基于深度卷积神经网络的亚马逊棋招法生成方法,从而使得亚马逊棋智能系统能在博弈对局过程中生成己方的最优招法。
本发明的目的是通过以下技术方案实现的:
一种基于深度卷积神经网络的亚马逊棋招法生成方法,包括以下内容:
针对当前棋局,使用经训练的网络模型生成最优招法(棋子移动前后的坐标以及放置障碍的坐标);
所述网络模型包括棋子移动网络和障碍放置网络,其中棋子移动网络用于生成棋子移动前后的坐标,障碍放置网络用于生成放置障碍的坐标;
(1)棋子移动网络包括走子局面价值子网和走子价值-策略转换子网,走子局面价值子网对当前局面特征矩阵F经过12层卷积层和3层Dropout层处理后得到走子局面价值张量,3层Dropout层分别处于第4、8、12层卷积层之后;走子价值-策略转换子网包含两个部分,第一部分将走子局面价值张量经过1层全连接层得到表示预估胜率的标量,第二部分包含4层卷积层和1层全连接层,走子局面价值张量经过4层卷积层后得到走子策略张量,走子策略张量经过1层全连接层后输出策略矩阵P,其中每一个元素都代表一种走法;在将P中所有非法走法所对应的概率置零后进行softmax操作,以得到所有非零元素均代表合法走法的策略矩阵Pvalid,选取Pvalid中概率最大的一点(x*,y*)通过下式映射为棋子走法:
Figure BDA0002427865640000031
其中,“/”表示整除运算,“%”表示取余运算,且棋盘坐标A,…,J与1,…,10一一对应,
Figure BDA0002427865640000041
为预测的棋子坐标,
Figure BDA0002427865640000042
为预测的落子坐标;
F由Fk组成,k∈{1,2,3,4},Fk中元素通过如下公式计算:
Figure BDA0002427865640000043
其中,局面特征矩阵Fk的第ij号元素的值
Figure BDA0002427865640000044
表示为:在棋盘矩阵中,以第k号棋子所在位置(ki,kj)与目标位置(i,j)为对角线所围成的矩形区域I各元素值之和的均值;Mxy表示棋盘矩阵M中位置(x,y)处的元素值;cardI表示集合I中元素的个数;
棋子移动网络的损失函数通过如下公式计算:
Figure BDA0002427865640000045
L1为走子局面价值张量经过全连接层处理得到的预测结果误差,具体通过如下公式计算:
Figure BDA0002427865640000046
其中
Figure BDA0002427865640000047
为棋子移动网络给出的预测值,y∈{0,1}为实际标签值;
L2为棋子移动的预测误差,具体通过如下公式计算:
Figure BDA0002427865640000048
其中(x1,y1)为数据样本选择的棋子坐标,(x2,y2)为数据样本选择的落子坐标;
(2)障碍放置网络包括障碍局面价值子网和障碍价值-策略转换子网,障碍局面价值子网对移动棋子后的局面特征矩阵F′经过12层卷积层和3层Dropout层处理后得到障碍局面价值张量,3层Dropout层分别处于第4、8、12层卷积层之后;障碍价值-策略转换子网包含两个部分,第一部分将障碍局面价值张量经过1层全连接层得到表示预估胜率的标量,第二部分包含4层卷积层和1层全连接层,障碍局面价值张量经过4层卷积层后得到障碍策略张量,障碍策略张量经过1层全连接层后输出策略矩阵P′,其中每一个元素都代表一种放置障碍的坐标;在将P′中所有非法障碍坐标所对应的概率置零后进行soft max操作,以得到所有非零元素均代表合法坐标的策略矩阵P′valid,选取P′valid中概率最大的一点(x′*,y′*)作为放置障碍物的坐标
Figure BDA0002427865640000049
其中,F′的计算方式同F的计算方法;
障碍放置网络的损失函数通过如下公式计算:
Figure BDA0002427865640000051
L′1为障碍局面价值张量经过全连接层处理得到的预测结果误差,具体通过如下公式计算:
Figure BDA0002427865640000052
其中
Figure BDA0002427865640000053
为障碍放置网络给出的预测值,y′∈{0,1}为实际标签值;
L2′为障碍放置坐标的预测误差,具体通过如下公式计算:
Figure BDA0002427865640000054
其中
Figure BDA0002427865640000055
为预测的障碍坐标,(x3,y3)为数据样本实际障碍坐标。
作为优选,所述Dropout层的丢弃概率为0.3。
作为优选,所述棋子移动网络的走子局面价值子网与障碍放置网络的障碍局面价值子网的前、后4层卷积层共享权重。
作为优选,所述网络模型训练时采用使用Nesterov动量的RMSprop算法对参数进行调整。
有益效果
对比现有的亚马逊棋招法生成方法,本发明方法具有以下优势:
(1)本发明方法相对现有的基于博弈树的招法生成方法而言,其招法生成不完全依赖于人类先验知识,具有效率稳定,不受极端局面影响的优势。
(2)本发明方法相对现有的单步决策网络而言,采用分步决策的方式,缓和了策略矩阵元素个数过多、矩阵稀疏等问题,提高了招法生成效率和准确率。
(3)本发明方法通过两个不同的决策过程共享部分网络层的方式,体现各决策步骤的相似性和连续性,模型的表达能力和泛化能力得到提高。
附图说明
图1为本发明网络结构示意图;
图2为局面特征矩阵提取模块示意图;
图3为棋子移动网络(Move-Net)结构示意图;
图4为走子局面价值子网结构示意图;
图5为走子价值-策略转换子网结构示意图;
图6为障碍放置网络(Arrow-Net)结构示意图;
图7为障碍局面价值子网结构示意图;
图8为障碍价值-策略转换子网结构示意图;
图9为初始棋盘局面示例;
图10为移动棋子并放置障碍后的棋盘局面示例。
具体实施方式
为了便于理解本发明的技术方案,现对本项发明网络模型的训练过程做进一步的说明。
具体而言,一种基于深度卷积神经网络的亚马逊棋招法生成方法由深度网络模型,网络模型训练,以及最优招法生成三部分组成。
1.深度网络模型
如图1所示,一种基于卷积神经网络的亚马逊棋网络结构(Amazons-Net)包含两个相互关联的网络,分别为棋子移动网络(Move-Net)和障碍放置网络(Arrow-Net),分别如图3和图6所示。
棋子移动网络:
如图2所示,网络中局面特征提取单元用于提取每个己方棋子的局面特征,在棋盘矩阵M中,针对第k号棋子,其对应的局面特征矩阵Fk计算方式如公式(1)所示:
Figure BDA0002427865640000061
局面特征矩阵Fk的第ij号元素的值
Figure BDA0002427865640000062
表示为:在棋盘矩阵中,以第k号棋子所在位置(ki,kj)与目标位置(i,j)为对角线所围成的矩形区域I各元素值之和的均值,k∈{1,2,3,4};Mxy表示棋盘矩阵M中位置(x,y)处的元素值,cardI表示集合I基数。根据公式(1),分别计算各个棋子所对应的局面特征矩阵,得到4×10×10的矩阵组F,作为神经网络的输入。
棋子移动网络结构图如图3所示,棋子移动网络包括走子局面价值子网和走子价值-策略转换子网,分别如图4和图5所示。在走子局面价值子网中,对输入的局面特征矩阵F,它将经过12个卷积层和3个丢弃概率为0.3的Dropout层。各个Dropout层分别处于第4,8,12个卷积层之后。
走子局面价值子网各卷积层的参数见表1。
表1走子局面价值子网各卷积层的参数
层数 卷积核大小 滤波器数目 激活函数 输出张量形状
1 6×6 128 ReLu 128×10×10
2 5×5 64 ReLu 64×10×10
3 4×4 32 tanh 32×10×10
4 2×2 16 tanh 16×10×10
5 4×4 128 ReLu 128×10×10
6 3×3 128 ReLu 128×10×10
7 3×3 64 tanh 64×10×10
8 2×2 64 tanh 64×10×10
9 3×3 64 ReLu 64×10×10
10 4×4 64 ReLu 64×10×10
11 5×5 32 tanh 32×10×10
12 6×6 16 tanh 16×10×10
其中,第1,2,3,4,9,10,11,12个卷积层与障碍放置网络中的第1,2,3,4,9,10,11,12个卷积层共享全部权重。
之后将走子局面价值子网输出的走子局面价值张量输入走子价值-策略转换子网,进行两部分并行操作:
第一部分,将走子局面价值张量传入全连接层,输出一个标量,并对数据样本中当前局面对应的胜负情况进行拟合,这一部分的误差记为:
Figure BDA0002427865640000071
其中
Figure BDA0002427865640000072
为网络给出的预测值,y∈{0,1}为实际标签值。
第二部分,将走子局面价值张量输入4层卷积层和1层全连接层,输出100×100的策略矩阵P,策略矩阵中的每一个元素都代表一种走法。
走子价值-策略转换子网各卷积层的参数见表2:
表2走子价值-策略转换子网各卷积层的参数
层数 卷积核大小 滤波器数目 激活函数 输出张量形状
1 2×2 128 ReLu 128×10×10
2 2×2 64 ReLu 64×10×10
3 2×2 32 tanh 32×10×10
4 2×2 16 tanh 16×10×10
需要注意的是:网络所给出策略矩阵P中,概率最大值所对应的棋子走法并不一定是合法走法。所以,在将策略矩阵最大值的坐标转化为棋子走法时,需要筛选合法走法,将所有非法走法所对应的概率置零,之后再进行softmax操作,以得到所有非零单元均代表合法走法的策略矩阵Pvalid。选取Pvalid中概率最大的一点(x*,y*):
Figure BDA0002427865640000081
公式(3)中,(x*,y*)隐式地表示神经网络所预测的棋子走法,(x*,y*)和棋子走子的映射关系为:
Figure BDA0002427865640000082
其中,“/”表示整除运算,“%”表示取余运算,且棋盘坐标A,…,J与1,…,10一一对应,
Figure BDA0002427865640000083
为预测的棋子坐标,
Figure BDA0002427865640000084
为预测的落子坐标。
记(x1,y1)为数据样本选择的棋子坐标,(x2,y2)为数据样本选择的落子坐标。(x*,y*)用于拟合训练数据给出的棋子选择和落子坐标。这部分误差定义为:
Figure BDA0002427865640000085
最终的训练误差定义为:
Figure BDA0002427865640000086
障碍放置网络:
障碍放置网络结构图如图6所示,下分为障碍局面价值子网和障碍价值-策略转换子网,分别如图7和图8所示。障碍放置网络在卷积层与棋子移动网络共享部分权重,以体现亚马逊棋移动棋子和放置障碍过程的连续性,并通过共享权重减少训练过程中网络参数的数量。
在障碍放置网络中,输入的棋盘矩阵不再是初始棋盘,而是正确移动亚马逊棋子后的局面,与棋子选择网络的局面特征提取操作相同,根据公式(1)计算棋盘当前局面特征矩阵F′,将其作为障碍放置网络的输入。
在障碍局面价值子网中,对局面特征矩阵F′,它将经过12个卷积层和3个丢弃概率为0.3的Dropout层。各个Dropout层分别处于第4,8,12个卷积层之后。
障碍局面价值子网各卷积层的参数见表3。
表3障碍局面价值子网各卷积层的参数
Figure BDA0002427865640000087
Figure BDA0002427865640000091
其中,第1,2,3,4,9,10,11,12个卷积层与棋子移动网络中的第1,2,3,4,9,10,11,12个卷积层共享全部权重。
之后将障碍局面价值子网输出的障碍局面价值张量输入障碍价值-策略转换子网,进行两部分并行操作:
第一部分,将障碍局面价值张量传入全连接层,输出一个标量,并对数据样本中当前局面对应的胜负情况进行拟合。这一部分的误差记为:
Figure BDA0002427865640000092
其中
Figure BDA0002427865640000093
为网络给出的预测值,y′∈{0,1}为实际标签值。
第二部分,将障碍局面价值张量输入4层卷积层和1层全连接层,输出10×10的策略矩阵P′,策略矩阵中的每一个元素均代表一种放置障碍的坐标。
障碍价值-策略转换子网各卷积层的参数见表4:
表4障碍价值-策略转换子网各卷积层的参数
层数 卷积核大小 滤波器数目 激活函数 输出张量形状
1 2×2 128 ReLu 128×10×10
2 2×2 64 ReLu 64×10×10
3 2×2 32 tanh 32×10×10
4 2×2 16 tanh 16×10×10
与棋子移动网络相同,给出策略矩阵P′中,概率最大者所代表的障碍坐标并不一定是合法走法。所以,在将策略矩阵最大值的坐标转化为障碍坐标时,也需要筛选合法坐标,将所有非法坐标所对应的概率置零。之后再进行softmax操作,以得到所有非零单元均代表合法坐标的策略矩阵P′valid。选取P′valid中概率最大的一点:
Figure BDA0002427865640000101
公式(8)中,(x′*,y′*)表示神经网络所预测的放置障碍物的坐标
Figure BDA0002427865640000102
定义该部分误差为:
Figure BDA0002427865640000103
其中,
Figure BDA0002427865640000104
为预测的障碍坐标,(x3,y3)为数据样本实际障碍坐标。
最终的训练误差定义为:
Figure BDA0002427865640000105
2.网络模型训练
网络模型训练过程可使用现有的各种梯度下降方法对网络模型参数进行调整,如SGD,Adadelta,Adagrad等,本例采用基于Nesterov动量的RMSprop算法对网络模型参数进行调整,使得模型最终的输出结果(包括招法信息和胜率信息)尽可能的与训练集数据拟合。
通过RMSProp算法的充分训练,可以得到模型预测结果与训练集尽可能一致的网络模型,将得到的模型进行保存。通过使用tf.estimator.Estimator对象的Estimator.train()函数,在训练的过程中自动保存模型文件。保存的模型包含权重和数据流图的结构。保存的网络模型将用于亚马逊棋智能系统搜索模块最优招法的评估与生成。
3.最优招法生成
最优招法生成包括模型导入,棋盘局面输入,最优招法输出三个部分。
在构建tf.estimator.Estimator对象时传入模型文件路径,将经过RMSProp算法充分训练后保存的模型导入亚马逊棋智能系统搜索算法模块中,构建相应的网络模型,并设置对应权重。
将棋盘矩阵作为网络模型的输入,按照网络模型的结构,将初始的棋盘矩阵输入棋子移动网络,计算得到棋子移动前后的坐标。使用移动棋子后的局面作为障碍放置网络的输入,计算得到放置障碍的坐标。将棋子移动网络和障碍放置网络的计算结果合并,作为招法输出,并给出该招法的胜率。
经过网络模型的计算,得到了模型预测的最优招法及其胜率。通过在亚马逊棋智能系统上运行走子命令,执行网络模型预测的最优招法。
实验结果:
1.训练数据集的获取
训练数据来自http://littlegolem.net/网页中亚马逊棋的对局记录,LittleGolem是一个在线回合制棋类游戏对局系统,棋类对局通过对弈双方在浏览器中进行,通过网络爬虫获取并记录亚马逊棋的历史对局信息,总共获得25000局的完整的对局信息,包括对局双方的走子记录,对局双方的胜负情况。
2.数据预处理
获取的25000局对局中存在部分无效的对局信息,首先需要对无效的对局信息进行筛选(包括未分出胜负的对局、走子数过少的对局等)。由于训练数据只包含全局走子信息以及最终胜负信息,需要先对数据集进行预处理,得到单步招法及其对应局面以及胜负标签。为了便于加快网络训练、数据读写,将数据修改并存储为TFRecord格式。数据的存储格式如下:
表5训练数据存储格式
Figure BDA0002427865640000111
由此,一共得到1879931条训练数据用于模型的训练,并将数据集以7:2:1划分为训练集、验证集、测试集三部分。
3.网络训练
为了便于解释网络的训练过程,我们以其中一条训练记录为例说明数据在网络中的变化过程以及参数的训练过程。
初始棋盘和走子后的棋盘分别如图9和图10所示,所走招法记为D9-E10/E5,表示移动棋盘中坐标为D9处的棋子,并将其移动到E10处,并在E5处放置一个障碍,在训练数据中,该步招法记录为移动棋子和放置障碍两部分。下面以拟合该步招法为例进行说明,训练数据的表示如下所示:
(1)移动棋子的训练数据
{'Board':
[[100,100,100,100,100,100,100,100,100,100],
[100,100,200,300,100,100,0,0,100,100],
[100,100,0,0,100,100,100,0,100,100],
[100,100,100,100,100,100,300,0,100,100],
[0,0,100,200,100,100,100,0,0,100],
[100,0,0,100,100,100,100,100,200,100],
[100,100,100,100,100,100,0,0,0,0],
[0,100,0,100,0,100,100,100,100,100],
[100,100,200,100,0,100,100,300,100,100],
[100,100,300,100,100,100,100,100,100,100]],
'Type':'Amazon',
'From':[3,1],
'To':[4,0],
'Arrow':-1,
'Result':'Lose'
}
(2)放置障碍的训练数据
{'Board':
[[100,100,100,100,300,100,100,100,100,100],
[100,100,200,100,100,100,0,0,100,100],
[100,100,0,0,100,100,100,0,100,100],
[100,100,100,100,100,100,300,0,100,100],
[0,0,100,200,100,100,100,0,0,100],
[100,0,0,100,100,100,100,100,200,100],
[100,100,100,100,100,100,0,0,0,0],
[0,100,0,100,0,100,100,100,100,100],
[100,100,200,100,0,100,100,300,100,100],
[100,100,300,100,100,100,100,100,100,100]],
'Type':'Arrow',
'From':-1,
'To':-1,
'Arrow':[4,5],
'Result':'Lose'
}
其中,0代表障碍,100代表空地,200代表黑棋,300代表白棋,在训练过程中,会将“Board”,“Type”作为特征,其他项作为标签传给神经网络。
由此在棋子移动网络中,我们得到一个初始棋盘矩阵M,作为矩阵的输入。
Figure BDA0002427865640000131
第一步,提取棋盘局面特征,第k个图像局面特征矩阵Fk的第(i,j)坐标(记作
Figure BDA0002427865640000132
)通过计算我方(例中为白方)编号为k的棋子坐标(ik,jk)与棋盘(i,j)所围成的矩形区域的元素值之和得到,由此可以得到局面特征矩阵F,F的规模为4×10×10。
以(C,1)处的白棋为例,设其编号为1,则根据公式(1)给出的计算方法,计算可以得到编号为1的棋子对应的局面特征矩阵F1
Figure BDA0002427865640000141
第二步,将局面特征矩阵F作为网络的输入,卷积层中,对输入的矩阵F,它将经过12个卷积层,和3个丢弃概率为0.3的Dropout层。3个Dropout层分别处于第4,8,12个卷积层之后。表1给出了各卷积层的参数。
第三步,对第二步输出的Tensor分别进行两部分并行操作:
第一部分,将Tensor传入全连接层,输出一个标量,并对数据样本中当前局面对应的胜负情况进行拟合,本例中标签值为0(表示白方负),误差如公式(2)所示。
第二部分,将Tensor输入4层卷积层和1层全连接层,输出100×100的策略矩阵。策略矩阵中的每一个元素都代表一种走法,这一部分的误差如公式(5)所示。表2给出了这一部分的卷积层参数。
如本例中D9-E10这一步,我们希望训练得到的策略矩阵在(83,94)处的概率取值最大,根据公式(4)所示的坐标转换关系,D9-E10与(83,94)对应。
在Arrow-Net中,棋盘为初始棋盘进行走子操作后对应的局面,以图9所示的初始棋盘为例,Arrow-Net输入的矩阵应为移动D9-E10这一步操作后的矩阵M′。
Figure BDA0002427865640000151
第一步,同棋子移动网络的第一步操作,但此时输入的矩阵不再是原始棋盘矩阵,而是移动棋子后的棋盘矩阵M′,由此得到Arrow-Net中的输入局部特征矩阵F′,F′的规模也为4×10×10。
第二步,将局面特征矩阵F′作为网络的输入,卷积层中,对输入的矩阵F′,它将经过12个卷积层,和3个丢弃概率为0.3的Dropout层。3个Dropout层分别处于第4,8,12个卷积层之后。表3给出了各卷积层的参数。
第三步,对输出的Tensor分别的进行两步部分并行操作:
第一部分,将Tensor传入全连接层,输出一个标量,并对数据样本中当前局面对应的胜负情况进行拟合,误差如公式(7)所示。
第二部分,将Tensor输入4层卷积层和1层全连接层,输出10×10的策略矩阵。策略矩阵中的每一个值都代表一种障碍坐标在该处坐标放置的概率,这一部分的误差如公式(9)所示。表4给出了各卷积层的参数。
如本例中E5处的障碍,我们希望训练得到的策略矩阵在(5,5)处的概率取值最大,策略矩阵P′与棋盘矩阵坐标一一对应,因此棋盘中的E5坐标与策略矩阵(5,5)对应。
公式(6)、公式(10)分别定义了棋子移动网络、障碍放置网络的网络误差,通过RMSProp算法,将网络的误差最小化,对网络参数进行调整。
RMSProp算法优化了损失函数在更新中存在摆动幅度过大的问题,消除了摆动幅度大的方向,使得各个维度的摆动幅度都较小,并且使得网络函数收敛更快。
通过对训练集的拟合,实现网络误差的最小化,进而得到具有招法生成功能的网络Amazons-Net,然后应用该网络生成当前棋局下的最优招法。
本发明方法相对现有的基于博弈树的招法生成方法而言,具有效率稳定,不受极端局面影响的优势。基于博弈树的剪枝搜索算法很大程度上依赖于招法的估值函数和搜索节点排列顺序,一方面,搜索节点排列顺序的不确定性导致搜索过程中不能保证搜索效率的稳定性,另一方面,搜索结果的好坏强烈依赖于估值函数的准确性,而估值函数受限于人类先验知识,无法准确估计亚马逊棋的复杂局面。在最优招法生成的过程中,基于博弈树的招法生成方法针对一部分局面能够较快的搜索出最优招法,而针对一些极端局面往往无法在一定时间内给出理想的搜索结果,而本发明提出的招法生成方法基于深度卷积神经网络,其搜索效率不依赖于局面的好坏和估值函数。对于任意给定的局面,通过计算两次前向传播即可得到最优招法,其效率与局面信息无关,因此具有对亚马逊棋局面的鲁棒性。
此外,本发明创造性地将亚马逊棋的行棋过程分离为棋子走子和放置障碍两个过程,避免神经网络单步生成最优招法时,全连接层参数矩阵过于庞大,生成效率低下以及准确率过低的缺陷。若不采用分步决策,最终策略矩阵的元素个数将会达到百万之多,且策略矩阵将过于稀疏。本发明将走子和放置障碍的过程分离,采用分步决策的方式,使得最终的决策计算分别只涉及100×100和10×10的策略矩阵,大大减少了全连接层的神经元数量,缓和了策略矩阵元素个数过多、矩阵稀疏等问题。
在采用分步决策的招法生成方式的同时,本发明又考虑了棋子走子和放置障碍这两个过程的连续性,通过共享权重的方式建立棋子移动网络和障碍放置网络之间的联系。通过两个不同的决策过程共享部分网络层的方式,各决策步骤间的相似性得以表达。同时,共享的网络层可以有效减少神经网络中的参数数目,一定程度上避免模型过拟合,提高模型的泛化能力。
为了说明本发明的内容及实施方法,本说明书给出了上述具体实施例。但是,本领域技术人员应理解,本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

Claims (4)

1.一种基于深度卷积神经网络的亚马逊棋招法生成方法,其特征在于,包括以下内容:
针对当前棋局,使用经训练的网络模型生成最优招法;
所述网络模型包括棋子移动网络和障碍放置网络,其中棋子移动网络用于生成棋子移动前后的坐标,障碍放置网络用于生成放置障碍的坐标;
(1)棋子移动网络包括走子局面价值子网和走子价值-策略转换子网,走子局面价值子网对当前局面特征矩阵F经过12层卷积层和3层Dropout层处理后得到走子局面价值张量,3层Dropout层分别处于第4、8、12层卷积层之后;走子价值-策略转换子网包含两个部分,第一部分将走子局面价值张量经过1层全连接层得到表示预估胜率的标量,第二部分包含4层卷积层和1层全连接层,走子局面价值张量经过4层卷积层后得到走子策略张量,走子策略张量经过1层全连接层后输出策略矩阵P,其中每一个元素都代表一种走法;在将P中所有非法走法所对应的概率置零后进行softmax操作,以得到所有非零元素均代表合法走法的策略矩阵Pvalid,选取Pvalid中概率最大的一点(x*,y*)通过下式映射为棋子走法:
Figure FDA0002939314680000011
其中,“/”表示整除运算,“%”表示取余运算,且棋盘坐标A,…,J与1,…,10一一对应,
Figure FDA0002939314680000012
为预测的棋子坐标,
Figure FDA0002939314680000013
为预测的落子坐标;
F由Fk组成,k∈{1,2,3,4},Fk中元素通过如下公式计算:
Figure FDA0002939314680000014
其中,局面特征矩阵Fk的第ij号元素的值
Figure FDA0002939314680000015
表示为:在棋盘矩阵中,以第k号棋子所在位置(ki,kj)与目标位置(i,j)为对角线所围成的矩形区域I各元素值之和的均值;Mxy表示棋盘矩阵M中位置(x,y)处的元素值;cardI表示集合I中元素的个数;
根据Fk的计算公式分别计算各个棋子所对应的局面特征矩阵得到矩阵组F,作为神经网络的输入;
棋子移动网络的损失函数通过如下公式计算:
Figure FDA0002939314680000021
L1为走子局面价值张量经过全连接层处理得到的预测结果误差,具体通过如下公式计算:
Figure FDA0002939314680000022
其中
Figure FDA0002939314680000023
为棋子移动网络给出的预测值,y∈{0,1}为实际标签值;
L2为棋子移动的预测误差,具体通过如下公式计算:
Figure FDA0002939314680000024
其中(x1,y1)为数据样本选择的棋子坐标,(x2,y2)为数据样本选择的落子坐标;
Figure FDA0002939314680000025
为预测的棋子坐标,
Figure FDA0002939314680000026
为预测的落子坐标;
(2)障碍放置网络包括障碍局面价值子网和障碍价值-策略转换子网,障碍局面价值子网对移动棋子后的局面特征矩阵F′经过12层卷积层和3层Dropout层处理后得到障碍局面价值张量,3层Dropout层分别处于第4、8、12层卷积层之后;障碍价值-策略转换子网包含两个部分,第一部分将障碍局面价值张量经过1层全连接层得到表示预估胜率的标量,第二部分包含4层卷积层和1层全连接层,障碍局面价值张量经过4层卷积层后得到障碍策略张量,障碍策略张量经过1层全连接层后输出策略矩阵P′,其中每一个元素都代表一种放置障碍的坐标;在将P′中所有非法障碍坐标所对应的概率置零后进行softmax操作,以得到所有非零元素均代表合法坐标的策略矩阵P′valid,选取P′valid中概率最大的一点(x′*,y′*)作为放置障碍物的坐标
Figure FDA0002939314680000027
其中,F′的计算方式同F的计算方法;
障碍放置网络的损失函数通过如下公式计算:
Figure FDA0002939314680000028
L′1为障碍局面价值张量经过全连接层处理得到的预测结果误差,具体通过如下公式计算:
Figure FDA0002939314680000029
其中
Figure FDA00029393146800000210
为障碍放置网络给出的预测值,y′∈{0,1}为实际标签值;
L′2为障碍放置坐标的预测误差,具体通过如下公式计算:
Figure FDA00029393146800000211
其中
Figure FDA00029393146800000212
为预测的障碍坐标,(x3,y3)为数据样本实际障碍坐标。
2.根据权利要求1所述的方法,其特征在于,所述Dropout层的丢弃概率为0.3。
3.根据权利要求1所述的方法,其特征在于,所述棋子移动网络的走子局面价值子网的前、后4层卷积层与障碍放置网络的障碍局面价值子网的前、后4层卷积层分别共享权重。
4.根据权利要求1-3任一所述的方法,其特征在于,所述网络模型训练时采用使用Nesterov动量的RMSprop算法对参数进行调整。
CN202010226567.6A 2020-01-16 2020-03-27 一种基于深度卷积神经网络的亚马逊棋招法生成方法 Expired - Fee Related CN111330255B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020100462222 2020-01-16
CN202010046222 2020-01-16

Publications (2)

Publication Number Publication Date
CN111330255A CN111330255A (zh) 2020-06-26
CN111330255B true CN111330255B (zh) 2021-06-08

Family

ID=71174757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010226567.6A Expired - Fee Related CN111330255B (zh) 2020-01-16 2020-03-27 一种基于深度卷积神经网络的亚马逊棋招法生成方法

Country Status (1)

Country Link
CN (1) CN111330255B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113318451A (zh) * 2021-05-28 2021-08-31 南京邮电大学 一种基于机器学习的棋类自学习方法及装置
CN113599798B (zh) * 2021-08-25 2023-03-17 上海交通大学 基于深度强化学习方法的中国象棋博弈学习方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017214968A1 (en) * 2016-06-17 2017-12-21 Nokia Technologies Oy Method and apparatus for convolutional neural networks
CN109032935A (zh) * 2018-07-13 2018-12-18 东北大学 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法
CN109146067A (zh) * 2018-11-19 2019-01-04 东北大学 一种基于FPGA的Policy卷积神经网络加速器
CN109726721A (zh) * 2018-12-06 2019-05-07 五邑大学 一种基于卷积神经网络模型的象棋识别方法
CN109923500A (zh) * 2016-08-22 2019-06-21 奇跃公司 具有深度学习传感器的增强现实显示装置
CN110119804A (zh) * 2019-05-07 2019-08-13 安徽大学 一种基于强化学习的爱恩斯坦棋博弈算法
CN110555517A (zh) * 2019-09-05 2019-12-10 中国石油大学(华东) 基于AlphaGo Zero改进的国际象棋博弈方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017214968A1 (en) * 2016-06-17 2017-12-21 Nokia Technologies Oy Method and apparatus for convolutional neural networks
CN109923500A (zh) * 2016-08-22 2019-06-21 奇跃公司 具有深度学习传感器的增强现实显示装置
CN109032935A (zh) * 2018-07-13 2018-12-18 东北大学 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法
CN109146067A (zh) * 2018-11-19 2019-01-04 东北大学 一种基于FPGA的Policy卷积神经网络加速器
CN109726721A (zh) * 2018-12-06 2019-05-07 五邑大学 一种基于卷积神经网络模型的象棋识别方法
CN110119804A (zh) * 2019-05-07 2019-08-13 安徽大学 一种基于强化学习的爱恩斯坦棋博弈算法
CN110555517A (zh) * 2019-09-05 2019-12-10 中国石油大学(华东) 基于AlphaGo Zero改进的国际象棋博弈方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"价值神经网络在计算机围棋的优化研究";王力;《中国优秀硕士学位论文全文数据库》;20181110(第11期);全文 *

Also Published As

Publication number Publication date
CN111330255A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
Justesen et al. Illuminating generalization in deep reinforcement learning through procedural level generation
Risi et al. Neuroevolution in games: State of the art and open challenges
CN103198358B (zh) 信息处理设备、信息处理方法和程序
CN107437096A (zh) 基于参数高效的深度残差网络模型的图像分类方法
CN110119804A (zh) 一种基于强化学习的爱恩斯坦棋博弈算法
CN111330255B (zh) 一种基于深度卷积神经网络的亚马逊棋招法生成方法
CN111841018B (zh) 模型训练方法、模型使用方法、计算机设备及存储介质
Martínez et al. Extending neuro-evolutionary preference learning through player modeling
CN109284812A (zh) 一种基于改进dqn的视频游戏模拟方法
CN109453524A (zh) 一种对象匹配的方法、模型训练的方法及服务器
CN111729300A (zh) 基于蒙特卡洛树搜索和卷积神经网络斗地主策略研究方法
Grad Helping ai to play hearthstone using neural networks
CN115238891A (zh) 决策模型训练方法、目标对象的策略控制方法及装置
Kim et al. Generalization of TORCS car racing controllers with artificial neural networks and linear regression analysis
CN107239827A (zh) 一种基于人工神经网络的空间信息学习方法
CN112274935A (zh) Ai模型训练方法、使用方法、计算机设备及存储介质
Singal et al. Modeling decisions in games using reinforcement learning
Espinosa Leal et al. Reinforcement learning for extended reality: designing self-play scenarios
Cen et al. Regression networks for robust win-rates predictions of AI gaming bots
CN114404976A (zh) 决策模型的训练方法、装置、计算机设备及存储介质
Chole et al. Locust Mayfly optimization-tuned neural network for AI-based pruning in Chess game
Zhang et al. Tuning Synaptic Connections instead of Weights by Genetic Algorithm in Spiking Policy Network
CN113426109A (zh) 一种基于因式分解机进行棋牌游戏行为克隆的方法
Handa Neuroevolution with manifold learning for playing Mario
Rafati et al. Learning sparse representations in reinforcement learning

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210608

CF01 Termination of patent right due to non-payment of annual fee