CN109032935A - 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 - Google Patents
基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 Download PDFInfo
- Publication number
- CN109032935A CN109032935A CN201810766850.0A CN201810766850A CN109032935A CN 109032935 A CN109032935 A CN 109032935A CN 201810766850 A CN201810766850 A CN 201810766850A CN 109032935 A CN109032935 A CN 109032935A
- Authority
- CN
- China
- Prior art keywords
- chessboard
- phantom
- data
- function
- game
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法。本发明方法,包括:S1、生成幻影围棋的非完美信息棋盘,得到幻影围棋的落子规则;S2、对生成的棋盘进行信息提取己方棋盘、Forbidden、Remove形成243维的Feature,和81维的Label;S3、建立深度神经网络;S4、设计损失函数,加入棋子数目限制和L2 loss;S5、预测准确率,运行程序,对比真实对方棋盘和预测棋盘的各个位置,然后计算准确率。本发明的技术方案解决了现有技术中的精炼及均衡探寻的求解方法,其缺陷在于当对方偏离均衡策略或作弊时无法得到最优策略,且仅限于双人零和博弈,对于多人博弈、合作式博弈等问题尚缺乏研究的问题。
Description
技术领域
本发明涉及博弈论领域具体而言,尤其涉及一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法。
背景技术
非完美信息博弈,是机器博弈的一个分支,非完美信息博弈是指对弈各方的状态、行动和收益等信息是部分或完全隐藏的。
在非完美信息博弈中,对手信息的缺失使博弈树节点状态高度不确定,导致博弈树展开和求解变得更加困难,总之,复杂环境下的机器博弈具有状态空间大、信息位置和行动收益不确定等特点,虽然具有广阔的应用前景,但也面临着巨大的挑战。
自从上世纪90年代开始,以棋牌类游戏为代表的非完美信息博弈收到了越来越多的关注,近年来深度学习的只是也被用来处理非完美信息博弈问题,通过大量的数据和领域专家知识进行非完美信息的预测。
目前非完美信息博弈的研究主要集中于牌类问题,大都使用精炼及均衡探寻的求解方法,其缺陷在于当对方偏离均衡策略或作弊时无法得到最优策略,且仅限于双人零和博弈,对于多人博弈、合作式博弈等问题尚缺乏研究。针对复杂度较高的棋类问题,蒙特卡洛树搜索方法取得了一定的研究进展,但仍无法处理包含不确定过程的博弈问题。
所以,非完美信息机器博弈技术仍有巨大的发展空间和进一步深入研究的必要。
发明内容
根据上述提出非完美信息机器博弈技术,仍然具体很大缺陷的技术问题,而提供一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法。本发明主要利用基于Residual Network的卷积神经网络的网络结构来对非完美信息的棋盘进行预测,从而起到已达到非完美信息博弈完美化的目的。
本发明采用的技术手段如下:
一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,包括以下步骤:
S1、生成幻影围棋的非完美信息棋盘,并对棋盘信息进行归纳整理,得到幻影围棋的落子规则。
S2、对生成的棋盘进行信息提取己方棋盘、Forbidden、Remove形成243维的Feature,和81维的Label。
S3、建立深度神经网络,利用动量算法(momentum)的优化方式进行权值初始化。
S4、设计损失函数为TensorFlow提供的交叉熵损失函数的一种——sigmoid_cross_entropy_with_logits损失函数,加入棋子数目限制和L2loss。
S5、预测准确率,运行程序,对比真实对方棋盘和预测棋盘的各个位置,然后计算准确率。
进一步地,步骤S3中,建立深度神经网络,将步骤S2提取到的数据存为二进制文件,并编写python程序来读取数据,并且为深度神经网络提供数据,网络结构采用了20层残差网络的复杂结构,加入了批量归一化处理(Batch Normalization)与leaky_Relu激活函数具体步骤如下:
S31、设定,网络输入为生成的所述二进制文件,网络输出为每个预测棋盘的准确率。
S32、数据来源于幻影围棋的非完美信息棋盘,然后网络模型采用了20层归一化残差网络模块。
S33、模块内是分为两个子模块,模块一的输入是原始输入数据,然后接一层卷积、一层Batch Normalization和一层批量归一化处理(Batch Normalization)和一层带泄露线性整流函数(leaky_Relu)。
模块一的输出作为模块二的输入,然后接一层卷积和一层Batch Normalization。
然后将模块二的输出数据与模块一的输入数据相加,然后再接一层leaky_Relu层作为非线性整流层,这样就完成了一个残差模块,采用20层残差模块。
S34、然后在步骤S32之后分别加入了一层卷积网络、Batch Normalization层、leaky_relu层、全连接层和dropout层,然后将输出接入步骤S4中的loss损失函数。
S35、采用了动量算法的优化方式,通过动量算法来得到合适的网络出事权值,以使损失函数在训练过程中收敛速度更快。
S36、加入了Tensorflow的多GPU技术,首先将本地对数据切分为一个一个batch,然后把数据分别放到送到n个GPU进行模型训练,每个GPU拿到数据不一样;接下来使用n个GPU训练,求loss得到梯度,并把梯度送回到CPU进行模型平均,然后CPU接收4个GPU传来的梯度,进行梯度平均,四个GPU更新参数,重复上述步骤直到模型收敛,加快模型训练的速度。
进一步地,步骤S1中,具体指的是对幻影围棋基础规则的研究,其下棋规则是基于围棋制定的,但是又在围棋的基础上加入了非完美信息的限制,即博弈双方只能获得本方的走子信息,对手的走子信息完全未知,但是裁判能够观测到双方全部的信息。
对弈双方每次落子之前必须向裁判询问自己选的落子点是否合法,裁判判定为不合法的点不落子,该点归入到“Forbidden”集内。
走子方继续询问直至得到合法的落子点,这些合法的落子点回归入到“legal”集内——本方棋盘。
若出现提子的情况时,裁判会向双方返回被提子的数目与位置信息,双方更换棋面的同时会将该点归入到“Remove”集内。
进一步地,步骤S2中,提取所需要的数据,生成了幻影围棋的棋盘,己方棋盘、Forbidden棋盘和Remove棋盘都为9×9,然后从提取了己方棋盘(9×9)、Forbidden棋盘(9×9)、Remove棋盘(9×9)形成了9×9×3=243维的数据作为feature,从包含全部信息的裁判棋盘中提取对方棋盘9×9=81维的数据作为label。
进一步地,步骤S4中,具体步骤为:
S41、损失函数的设计,采用了交叉熵(Cross Entropy)函数——sigmoid_cross_entropy_with_logits,公式如下:
lossij=-[yij*lnpij+(1-yij)ln(1-pij)]
式中,y=labels为标签,与之前的交叉熵函数不同的是此函数的输入不是softmax函数或者sigmoid函数的输出,它在交叉熵损失函数内部内部进行sigmoid的计算。
S42、计入棋子数目限制,即根据真实对方棋盘棋子数和预测棋盘棋子数计算差值,并乘以系数,用此作为loss。
S43、对上述的损失函数的结果进行了正则化处理,即引入了L2loss损失函数,从而防止因为在训练时参数过多导致的过拟合现象。
综上,应用本发明的技术方案针对现有非完美信息博弈博弈研究的不足,本发明提出了非完美信息博弈完美化模型对非完美信息进行预测,本发明的数据是采用幻影围棋生成的非完美棋盘,我们然后对数据进行了处理得到了需要的feature和label,并收集了100万个训练样本。
通过设计了20层残差的复杂的深度神经网络和新型的损失函数,对数据进行训练,然后对非完美棋盘来进行预测。
相比于以往的非完美信息博弈的研究不同之处在于,以往的非完美信息博弈研究主要集中在牌类问题,大都使用精炼及均衡探寻的求解方法来对对手的信息进行预测,以及使用蒙特卡洛树搜索方法解决复杂度高的棋类问题,但是这些方法都是在对博弈中的过程进行预测。
而本发明首先采用了深度神经网络对非完美信息的幻影围棋棋盘进行训练,训练次数均达到10万次以上时,预测的准确率最终收敛后均达到了80%以上。
因此,本发明的技术方案解决了现有技术中的精炼及均衡探寻的求解方法,其缺陷在于当对方偏离均衡策略或作弊时无法得到最优策略,且仅限于双人零和博弈,对于多人博弈、合作式博弈等问题尚缺乏研究,针对复杂度较高的棋类问题,蒙特卡洛树搜索方法取得了一定的研究进展,但仍无法处理包含不确定过程的博弈问题。
基于上述理由本发明可在博弈论等领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种实施方式生成幻影围棋的棋盘数据。
图2为本发明一种实施方式feature和label的数据类型。
图3为本发明一种实施方式神经网络结构模型。
图4为本发明一种实施方式残差模块结构图。
图5为本发明一种实施方式多GPU结构图。
图6为本发明一种实施方式训练结果的Tensorboard图。
图7为本发明一种实施方式测试结果的Tensorboard图。
图8为本发明一种实施方式测试结果对比图。
图9为本发明一种实施方式基于幻影围棋的非完美信息博弈完美化软件模型流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,包括以下步骤:
S1、生成幻影围棋的非完美信息棋盘,并对棋盘信息进行归纳整理,得到幻影围棋的落子规则。
具体指的是对幻影围棋基础规则的研究,非完美信息博弈的典型例子是幻影围棋,其下棋规则是基于围棋制定的,但是又在围棋的基础上加入了非完美信息的限制,即博弈双方只能获得本方的走子信息,对手的走子信息完全未知,但是裁判能够观测到双方全部的信息。
对弈双方每次落子之前必须向裁判询问自己选的落子点是否合法,裁判判定为不合法的点不落子,该点归入到“Forbidden”集内。
走子方继续询问直至得到合法的落子点,这些合法的落子点回归入到“legal”集内——本方棋盘。
若出现提子的情况时,裁判会向双方返回被提子的数目与位置信息,双方更换棋面的同时会将该点归入到“Remove”集内。
S2、对生成的棋盘进行信息提取己方棋盘、Forbidden、Remove形成243维的Feature,和81维的Label。
提取实验所需要的数据,针对上述幻影围棋问题的研究,我们利用该规则生成了大量幻影围棋的棋盘(与传统围棋不同,幻影围棋为非完美信息棋类游戏,棋盘为9×9),然后从提取了己方棋盘(9×9)、Forbidden棋盘(9×9)、Remove棋盘(9×9)形成了9×9×3=243维的数据作为feature,从包含全部信息的裁判棋盘中提取对方棋盘9×9=81维的数据作为label。
S3、建立深度神经网络,利用动量算法(momentum)的优化方式进行权值初始化;将步骤S2提取到的数据存为二进制文件,并编写python程序来读取数据,并且为深度神经网络提供数据,网络结构采用了20层残差网络的复杂结构,加入了批量归一化处理(BatchNormalization)与leaky_Relu激活函数具体步骤如下:
S31、设定,网络输入为生成的所述二进制文件,网络输出为每个预测棋盘的准确率。
S32、首先我们的研究数据来源于幻影围棋的非完美信息棋盘,然后网络模型采用了20层归一化残差网络模块。
S33、与以往残差网络不同我们的模块内是分为两个子模块,模块一的输入是原始输入数据,然后接一层卷积、一层批量归一化处理(Batch Normalization)和一层带泄露线性整流函数(leaky_Relu)。
模块一的输出作为模块二的输入,然后接一层卷积和一层Batch Normalization。
然后将模块二的输出数据与模块一的输入数据相加,然后再接一层leaky_Relu层作为非线性整流层,这样就完成了一个残差模块,我们采用20层残差模块。
S34、然后在步骤S32之后分别加入了一层卷积网络、Batch Normalization层、leaky_relu层、全连接层和dropout层,然后将输出接入步骤S4中的loss损失函数。
S35、采用了动量算法的优化方式,通过动量算法来得到合适的网络出事权值,以使损失函数在训练过程中收敛速度更快。
S36、加入了Tensorflow的多GPU技术,首先将本地对数据切分为一个一个batch,然后把数据分别放到送到n个GPU进行模型训练,每个GPU拿到数据不一样;接下来使用n个GPU训练,求loss得到梯度,并把梯度送回到CPU进行模型平均,然后CPU接收4个GPU传来的梯度,进行梯度平均,四个GPU跟新参数,重复上述步骤直到模型收敛,这样可以大大加快模型训练的速度。
S4、设计损失函数为TensorFlow提供的交叉熵损失函数的一种——sigmoid_cross_entropy_with_logits损失函数,加入棋子数目限制和L2loss。
具体步骤为:
S41、损失函数的设计,采用了交叉熵(Cross Entropy)函数——sigmoid_cross_entropy_with_logits,公式如下:
lossij=-[yij*lnpij+(1-yij)ln(1-pij)]
式中,y=labels为标签,与之前的交叉熵函数不同的是此函数的输入不是softmax函数或者sigmoid函数的输出,它在交叉熵损失函数内部内部进行sigmoid的计算。
S42、计入棋子数目限制,即根据真实对方棋盘棋子数和预测棋盘棋子数计算差值,并乘以系数,用此作为loss。
S43、对上述的损失函数的结果进行了正则化处理,即引入了L2loss损失函数,从而防止因为在训练时参数过多导致的过拟合现象。
S5、预测准确率,运行程序,对比真实对方棋盘和预测棋盘的各个位置,然后计算准确率。
本发明所提出的基于幻影围棋的非完美信息博弈完美化软件模型相比于以往的非完美信息博弈的研究不同之处在于,以往的非完美信息博弈研究主要集中在牌类问题,大都使用精炼及均衡探寻的求解方法来对对手的信息进行预测,以及使用蒙特卡洛树搜索方法解决复杂度高的棋类问题,但是这些方法都是在对博弈中的过程进行预测。
而基于幻影围棋的非完美信息博弈完美化软件模型首先采用了深度神经网络对非完美信息的幻影围棋棋盘进行训练,提取了己方棋盘(9×9)、Forbidden棋盘(9×9)、Remove棋盘(9×9)形成了9×9×3=243维的数据作为feature,从包含全部信息的裁判棋盘中提取对方棋盘9×9=81维的数据作为label,以此收集了100万个训练样本。
深度神经网络设计采用20层残差的复杂结构,同时设计了新型的损失函数,训练的迭代次数达到10万次以上时,预测的准确率最终收敛后均达到了80%以上。
如图1为基于幻影围棋的非完美信息博弈完美化软件模型生成的幻影围棋的棋盘数据。
生成的棋盘中包含的信息有“move”:表示黑白双方总第几次落子,规定黑方先行,所以偶数表示黑方落子,奇数表示白方落子。
“BlackPlay(WhitePlay)”:表示黑方(白方)行棋。
“legle”:表示此处为向裁判询问过后的合法落子点,可以落子。
“forbidden”:表示向裁判询问过后的不合法落子点,所以此时的黑方需要继续向裁判员询问,直至找到合法落子点后结束动作。
“BlackForbidden(WhiteForbidden)”:表示所有黑方(白方)选择过的不合法的落子点,可用于之后对于对手棋盘的预测。
“BlackRemove(WhiteRemove)”:表示移除的对手的棋子,可用于之后对于对手棋盘的预测;
“RealBoardInfo:81{position board([2,2,……,2,2])}”:表示的是裁判的棋盘。
为了满足本发明设计的神经网络的输入数据的要求,必须将上述生成的数据转化为feature和label的二进制文件,所以在生成的棋盘数据中去除了多余的信息,保留legle、forbidden、remove等信息,并从裁判棋盘中提取己方和对方棋盘,生成了己方棋盘(9×9)、Forbidden棋盘(9×9)、Remove棋盘(9×9)拼接起来,形成一个9×9×3=243维的向量作为feature,并提取对方棋盘的9×9=81维的向量作为label,所以feature和label信息,如图2所示。
本实施方式采用了如图3所示的20层残差网络的复杂的神经网络结构,如图4所示的是残差块的结构,假设某段神经网络的输入是x,期望输出是H(x),即H(x)是期望的复杂潜在映射,但学习难度大;如果我们直接把输入x传到输出作为初始结果,通过下图“shortcut connections”,那么此时我们需要学习的目标就是F(x)=H(x)-x,于是ResNet相当于将学习目标改变了,不再是学习一个完整的输出,而是最优解H(X)和全等映射x的差值,即残差F(x)=H(x)–x;本发明的残差模块内是分为两个子模块,模块一的输入是原始输入数据,然后接一层卷积、一层Batch Normalization和一层leaky_Relu;模块一的输出作为模块二的输入,然后接一层卷积和一层Batch Normalization;然后将模块二的输出数据与模块一的输入数据相加,然后再接一层leaky_Relu层作为非线性整流层,这样就完成了一个残差模块,我们采用了20层残差模块;如图5所示,为多GPU工作结构图,采用多GPU方式可以大大加快神经网络的训练速度。
本实施方式中,设计完网络结构后运行程序得到的结果如图6、图7、图8所示,分别为软件的训练结果、测试结果和测试结果对比,所有的训练及测试均在10万次以上,结果显示准确率最后稳定在80%以上,而且相比较来看准确率最高的为20层残差和学习率为0.001的时候。
实施例1,本发明的一种实施方式给出了基于幻影围棋的非完美信息博弈完美化软件模型的流程,如图9所示。该流程开始于步骤901。
在步骤902中对幻影围棋的规则进行归纳整理,并生成了幻影围棋的落子规则,并生成了幻影围棋的棋盘数据。
在步骤903中根据神经网络结构的输入要求将幻影围棋棋盘数据转化为己方棋盘(9×9)、Forbidden棋盘(9×9)、Remove棋盘(9×9)拼接起来形成的9×9×3=243维的向量的feature,并提取对方棋盘的9×9=81维的向量作为label。
在步骤904和步骤905中搭建本发明的深度神经网络,为20层基于ResidualNetwork的卷积网络,采用momentum的优化方式,并设计了损失函数。
在步骤906中搭建了基于幻影围棋的非完美信息博弈完美化软件模型的预测方法的准确率预测的方法,即将预测得到的棋盘与label的棋盘进行对比,从而得到准确率。
在步骤907中运行程序并根据得出的结果进行总结分析。
该流程结束于步骤908。
英文单词含义及解释:
1、momentum(动量):深度学习中的最优化方法之一,它模拟的是物体运动时的惯性,即在更新时在一定程度上保留之前的更新方向,同时利用当前的梯度微调最终的更新方向,这样一来,可以在一定程度上增加稳定性,从而学习地更快,并且还有一定摆脱局部最优的能力。
2、TensorFlow:是谷歌公司研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
3、sigmoid_cross_entropy_with_logits:为TensorFlow中的交叉熵损失函数的一种,其公式如下:
lossij=-[yij*lnpij+(1-yij)ln(1-pij)]
式中,y=labels为标签,与之前的交叉熵函数不同的是此函数的输入不是softmax函数或者sigmoid函数的输出,它在交叉熵损失函数内部内部进行sigmoid的计算;
4、Batch Normalization:BN就是通过一定的规范化手段,把每层神经网络任意神经元的输入值的分布变为均值为0方差为1的标准正太分布,从而达到让梯度变大收敛速度加快的目的。
5、leaky_Relu:带泄露线性整流函数,激活函数Relu的变种,ReLU是将所有的负值都设为零,相反,leaky_ReLU是给所有负值赋予一个非零斜率。
6、dropout:是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率(随机)将其暂时从网络中丢弃,从而达到防止过拟合的作用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,其特征在于,包括以下步骤:
S1、生成幻影围棋的非完美信息棋盘,并对棋盘信息进行归纳整理,得到幻影围棋的落子规则;
S2、对生成的棋盘进行信息提取己方棋盘、Forbidden、Remove形成243维的Feature,和81维的Label;
S3、建立深度神经网络,利用动量算法的优化方式进行权值初始化;
S4、设计损失函数,加入棋子数目限制和L2loss;
S5、预测准确率,运行程序,对比真实对方棋盘和预测棋盘的各个位置,然后计算准确率。
2.根据权利要求1所述的基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,其特征在于,
步骤S3中,建立深度神经网络,将步骤S2提取到的数据存为二进制文件,并编写python程序来读取数据,并且为深度神经网络提供数据,网络结构采用了20层残差网络的复杂结构,加入了批量归一化处理与激活函数具体步骤如下:
S31、设定,网络输入为生成的所述二进制文件,网络输出为每个预测棋盘的准确率;
S32、数据来源于幻影围棋的非完美信息棋盘,然后网络模型采用了20层归一化残差网络模块;
S33、模块内是分为两个子模块,模块一的输入是原始输入数据,然后接一层卷积、一层批量归一化处理Batch Normalization和一层带泄露线性整流函数leaky_Relu;
模块一的输出作为模块二的输入,然后接一层卷积和一层Batch Normalization;
然后将模块二的输出数据与模块一的输入数据相加,然后再接一层leaky_Relu层作为非线性整流层,这样就完成了一个残差模块,采用20层残差模块;
S34、然后在步骤S32之后分别加入了一层卷积网络、Batch Normalization层、leaky_relu层、全连接层和dropout层,然后将输出接入步骤S4中的loss损失函数;
S35、采用了动量算法的优化方式,通过动量算法来得到合适的网络出事权值,以使损失函数在训练过程中收敛速度更快;
S36、加入了Tensorflow的多GPU技术,首先将本地对数据切分为一个一个batch,然后把数据分别放到送到n个GPU进行模型训练,每个GPU拿到数据不一样;接下来使用n个GPU训练,求loss得到梯度,并把梯度送回到CPU进行模型平均,然后CPU接收4个GPU传来的梯度,进行梯度平均,四个GPU跟新参数,重复上述步骤直到模型收敛,加快模型训练的速度。
3.根据权利要求1或2所述的基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,其特征在于,
步骤S1中,具体指的是对幻影围棋基础规则的研究,其下棋规则是基于围棋制定的,但是又在围棋的基础上加入了非完美信息的限制,即博弈双方只能获得本方的走子信息,对手的走子信息完全未知,但是裁判能够观测到双方全部的信息,
对弈双方每次落子之前必须向裁判询问自己选的落子点是否合法,裁判判定为不合法的点不落子,该点归入到“Forbidden”集内,
走子方继续询问直至得到合法的落子点,这些合法的落子点回归入到“legal”集内——本方棋盘;
若出现提子的情况时,裁判会向双方返回被提子的数目与位置信息,双方更换棋面的同时会将该点归入到“Remove”集内。
4.根据权利要求1或2所述的基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,其特征在于,
步骤S2中,提取所需要的数据,生成了幻影围棋的棋盘,己方棋盘、Forbidden棋盘和Remove棋盘都为9×9,然后从提取了己方棋盘、Forbidden棋盘、Remove棋盘形成了9×9×3=243维的数据作为feature,从包含全部信息的裁判棋盘中提取对方棋盘9×9=81维的数据作为label。
5.根据权利要求1或2所述的基于幻影围棋的非完美信息博弈完美化软件模型的预测方法,其特征在于,
步骤S4中,具体步骤为:
S41、损失函数的设计,采用了交叉熵函数—sigmoid_cross_entropy_with_logits,公式如下:
lossij=-[yij*lnpij+(1-yij)ln(1-pij)]
式中,y=labels为标签,与之前的交叉熵函数不同的是此函数的输入不是softmax函数或者sigmoid函数的输出,它在交叉熵损失函数内部内部进行sigmoid的计算;
S42、计入棋子数目限制,即根据真实对方棋盘棋子数和预测棋盘棋子数计算差值,并乘以系数,用此作为loss;
S43、对上述的损失函数的结果进行了正则化处理,即引入了L2loss损失函数,从而防止因为在训练时参数过多导致的过拟合现象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810766850.0A CN109032935A (zh) | 2018-07-13 | 2018-07-13 | 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810766850.0A CN109032935A (zh) | 2018-07-13 | 2018-07-13 | 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032935A true CN109032935A (zh) | 2018-12-18 |
Family
ID=64641097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810766850.0A Pending CN109032935A (zh) | 2018-07-13 | 2018-07-13 | 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032935A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717591A (zh) * | 2019-09-28 | 2020-01-21 | 复旦大学 | 适用于多种棋类的落子策略和局面评估方法 |
CN111330255A (zh) * | 2020-01-16 | 2020-06-26 | 北京理工大学 | 一种基于深度卷积神经网络的亚马逊棋招法生成方法 |
CN112016704A (zh) * | 2020-10-30 | 2020-12-01 | 超参数科技(深圳)有限公司 | Ai模型训练方法、模型使用方法、计算机设备及存储介质 |
CN113230644A (zh) * | 2021-05-13 | 2021-08-10 | 杭州中象微科技有限公司 | 一种象棋人工智能防作弊方法 |
CN113869501A (zh) * | 2021-10-19 | 2021-12-31 | 京东科技信息技术有限公司 | 神经网络的生成方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160065456A (ko) * | 2014-12-01 | 2016-06-09 | (주)휴맥스 | 3차원 깊이 영상의 화면내 예측 방법 |
CN106680281A (zh) * | 2016-12-31 | 2017-05-17 | 中国科学技术大学 | 一种基于深度残差学习网络的柴油车尾气烟度检测方法 |
CN107480678A (zh) * | 2017-09-29 | 2017-12-15 | 北京深度奇点科技有限公司 | 一种棋盘识别方法和识别系统 |
-
2018
- 2018-07-13 CN CN201810766850.0A patent/CN109032935A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160065456A (ko) * | 2014-12-01 | 2016-06-09 | (주)휴맥스 | 3차원 깊이 영상의 화면내 예측 방법 |
CN106680281A (zh) * | 2016-12-31 | 2017-05-17 | 中国科学技术大学 | 一种基于深度残差学习网络的柴油车尾气烟度检测方法 |
CN107480678A (zh) * | 2017-09-29 | 2017-12-15 | 北京深度奇点科技有限公司 | 一种棋盘识别方法和识别系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717591A (zh) * | 2019-09-28 | 2020-01-21 | 复旦大学 | 适用于多种棋类的落子策略和局面评估方法 |
CN110717591B (zh) * | 2019-09-28 | 2023-05-02 | 复旦大学 | 适用于多种棋类的落子策略和局面评估方法 |
CN111330255A (zh) * | 2020-01-16 | 2020-06-26 | 北京理工大学 | 一种基于深度卷积神经网络的亚马逊棋招法生成方法 |
CN111330255B (zh) * | 2020-01-16 | 2021-06-08 | 北京理工大学 | 一种基于深度卷积神经网络的亚马逊棋招法生成方法 |
CN112016704A (zh) * | 2020-10-30 | 2020-12-01 | 超参数科技(深圳)有限公司 | Ai模型训练方法、模型使用方法、计算机设备及存储介质 |
CN113230644A (zh) * | 2021-05-13 | 2021-08-10 | 杭州中象微科技有限公司 | 一种象棋人工智能防作弊方法 |
CN113230644B (zh) * | 2021-05-13 | 2023-09-19 | 杭州中象微科技有限公司 | 一种象棋人工智能防作弊方法 |
CN113869501A (zh) * | 2021-10-19 | 2021-12-31 | 京东科技信息技术有限公司 | 神经网络的生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032935A (zh) | 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法 | |
Hudson et al. | Gqa: a new dataset for compositional question answering over real-world images | |
CN110008842A (zh) | 一种基于深度多损失融合模型的行人重识别方法 | |
US6449603B1 (en) | System and method for combining multiple learning agents to produce a prediction method | |
CN103106340B (zh) | 基于数据挖掘和数据融合的游戏关卡自动生成系统及方法 | |
CN109858630A (zh) | 用于强化学习的方法和设备 | |
CN110276442A (zh) | 一种神经网络架构的搜索方法及装置 | |
Małkiński et al. | Deep learning methods for abstract visual reasoning: A survey on raven's progressive matrices | |
Janusz et al. | Helping ai to play hearthstone: Aaia'17 data mining challenge | |
CN112527993A (zh) | 一种跨媒体层次化深度视频问答推理框架 | |
Min et al. | A generalized multidimensional evaluation framework for player goal recognition | |
CN112733035A (zh) | 基于知识图谱的知识点推荐方法、装置、存储介质及电子装置 | |
Harpstead et al. | Replay analysis in open-ended educational games | |
CN110245133B (zh) | 基于集体注意力流网络的在线学习课程分析方法 | |
CN115033878A (zh) | 快速自博弈强化学习方法、装置、计算机设备和存储介质 | |
Stanić et al. | Learning to generalize with object-centric agents in the open world survival game crafter | |
Koyyalagunta et al. | Playing codenames with language graphs and word embeddings | |
Walsh et al. | Introduction to cultural microevolutionary research in anthropology and archaeology | |
CN112274935B (zh) | Ai模型训练方法、使用方法、计算机设备及存储介质 | |
CN111507472A (zh) | 一种基于重要性剪枝的精度估计参数搜索方法 | |
Duan et al. | MOBA game item recommendation via relation-aware graph attention network | |
Sorochan et al. | Generating Lode Runner levels by learning player paths with LSTMs | |
Phon-Amnuaisuk | Evolving and discovering Tetris gameplay strategies | |
Snodgrass | Markov models for procedural content generation | |
CN117093733A (zh) | 媒体分类模型的训练方法、媒体数据分类方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |