本发明涉及人工智能,尤其涉及一种智能对战学习样本自动生成方法和装置。
背景技术:
1、计算机棋类游戏在人工智能领域一直被研究者广泛关注,训练ai选手战胜人类选手是大家所追求的方向,深入研究训练ai选手的方法有助于研究者更深层的理解机器智能中的相关问题。值得注意的是,选用深度神经网络作为知识的载体是完全合理的,在无法穷举所有棋局状态的前提下,利用自对弈棋局学习样本生成器获得大量数据集,为训练ai选手提供有力支撑,通过学习棋局的下法最终得到更优的ai选手是可实现的。
2、关于计算机棋类游戏的相关研究,经典代表有chinook、深蓝和alphazero。其中,chinook程序基于多名人类专家的先验知识,尽可能分析棋局上的每一种可能,将涉及到大概5万亿亿种组合的最佳走法进行学习判断;深蓝的设计亮点主要在于硬件设计上,结合α-β剪枝和mcts算法,利用专门定制的寄存器使得搜索棋盘局面的速度有了很大提高;alphazero提出自对弈的设计理念,它仅通过自对弈学习的方式就能从零开始掌握多种棋类游戏,通过使用蒙特卡洛搜索算法进行自对弈,并使用自对弈生成的数据集不断训练神经网络,在整个过程中除下棋规则外无任何人工指导。
3、需要注意的是,当前棋类智能游戏研究的目标多聚焦于人工智能选手与人类选手比赛的输赢结果上,但却很少将关注点聚焦在学习样本的生成及质量上,导致在一定时间内很难生成大量高质量的学习样本。特别是针对下棋规则复杂度较高的棋类游戏,学习样本所需要的硬件环境成本高昂不易获得,并且对于已经相当成熟的蒙特卡罗仿真等算法难以产生足够的重视,虽然在一段有限时间内可以得出相应结果,但仍无法快速生成大量学习样本,这会在某种程度上影响人工智能选手下棋水平的训练。
4、目前常见的学习样本生成方式主要分为三大类:
5、(1)根据已有棋局和专家知识库,采用人工干预的方式生成学习样本。这种生成方式优点在于棋局是已知的,学习目标是很明确的,但是获取代价极高,并且无法保证学习样本的覆盖率。
6、(2)基于多选手对弈的遗传变异进化方法获得学习样本,全程无人工干预,需在下棋完全结束后再进行学习优化。这种方式就是物竞天择、适者生存,在群体中筛选出最优选手,但需要有效的组织方式作为支撑,确保群体的参与度,任何外界因素都可能会影响训练结果。
7、(3)采用自对弈加蒙特卡洛仿真的方式获取学习样本,全程无人工干预,下棋和训练ai选手同步进行。在整个学习过程中成本低、易于实现,并且棋局覆盖率高,每个棋局都可被完整保存,但智力来源于自身,ai选手训练效果会受限于自身。
技术实现思路
1、为了降低学习样本生成方法的时间和空间复杂度,本发明提供一种智能对战学习样本自动生成方法和装置。
2、一方面,本发明提供一种智能对战学习样本自动生成方法,包括:
3、步骤1:设置对弈双方采用相同的神经网络模型;
4、步骤2:对双方进行第一次优化以获取初始权重信息;第一次优化过程具体包括:在设定的自对弈下棋次数n1中,每次对弈时,双方均先进行随机初始化权重作为初始权重再进行自对弈下棋,并记录每次对弈过程中的下棋步骤、双方权重信息和输赢结果作为学习样本存储至第一学习样本集中;当完成设定的自对弈下棋次数n1后,双方分别从第一学习样本集中自己胜m1子的棋局中随机选择一个,将选中棋局对应的权重信息作为自己的初始权重信息;
5、步骤3:对双方进行后续优化迭代,直至达到设定迭代次数n;其中,每次优化过程具体包括:在设定的自对弈下棋次数n2中,每次对弈时,双方均以上次优化后的最终权重信息作为初始权重再进行自对弈下棋,并记录每次对弈过程中的下棋步骤、双方权重信息和输赢结果作为学习样本存储至第二学习样本集中;当完成设定的自对弈下棋次数n2后,从第二学习样本集中选出所有双方胜m2子的学习样本并存储至第三学习样本集中;利用所述第三学习样本集使双方互相学习,得到双方本次优化后的最终权重信息;其中,m2<m1。
6、进一步地,该方法还包括:
7、步骤4:当达到设定迭代次数n后,将最后一次优化完成的己方权重信息作为最优权重,若具有最优权重的一方与具有随机初始化权重的另一方进行对弈的胜率达到设定阈值,则结束,反之则将n值重置为2并返回步骤3。
8、进一步地,所述自对弈下棋的过程包括:
9、步骤a1:判断当前棋局状态是否已经分出胜负;
10、若未分出胜负且当前步的待下棋方为己方,则罗列己方可选择的所有走子方式,将所有走子方式依次作为己方神经网络的输入值以计算得出每种走子方式的分值,从中选择分值最大的走子方式作为己方的下一步行棋状态;并将此时的棋局状态作为一个新的根节点进行保存;
11、若未分出胜负且当前步的待下棋方为对方,则罗列对方可选择的所有走子方式,将所有走子方式依次作为对方神经网络的输入值以计算得出每种走子方式的分值,从中选择分值最小的走子方式作为对方的下一步行棋状态;并将此时的棋局状态作为一个新的根节点进行保存;
12、步骤a2:重复步骤a1,直至双方分出胜负。
13、进一步地,利用所述第三学习样本集使双方互相学习,得到双方本次优化后的最终权重信息,具体包括:
14、假设第三学习样本集中己方胜m2子的学习样本数量为m个,将m个学习样本划分为m个小训练集;
15、针对每个小训练集,依次获取每个学习样本的下棋步骤,从棋局第一步开始,将对方本步面临的棋局状态作为对手神经网络的输入值,计算出原始分值,再用己方下一步的棋局状态和权重信息作为对方神经网络的输入值,计算出目标分值,以此类推完成全部棋局状态的学习,并结合adam优化算法优化对方神经网络;
16、当完成所有的小训练集的学习后,将对方最后优化完成的权重信息作为本次优化后的最终权重信息;
17、按照对方神经网络的上述优化过程对己方神经网络进行优化得到己方本次优化后的最终权重信息。
18、进一步地,在利用所述第三学习样本集使双方互相学习的过程中,利用交叉熵损失函数根据原始分值和目标分值计算得到损失。
19、进一步地,所述神经网络模型采用七层的全连接神经网络。
20、另一方面,本发明提供一种智能对战学习样本自动生成装置,包括:
21、对弈双方构建优化模块,用于设置对弈双方采用相同的神经网络模型;
22、第一优化模块,用于对双方进行第一次优化以获取初始权重信息;第一次优化过程具体包括:在设定的自对弈下棋次数n1中,每次对弈时,双方均先进行随机初始化权重作为初始权重再进行自对弈下棋,并记录每次对弈过程中的下棋步骤、双方权重信息和输赢结果作为学习样本存储至第一学习样本集中;当完成设定的自对弈下棋次数n1后,双方分别从第一学习样本集中自己胜m1子的棋局中随机选择一个,将选中棋局对应的权重信息作为自己的初始权重信息;
23、第二优化模块,用于对双方进行后续优化迭代,直至达到设定迭代次数;其中,每次优化过程具体包括:在设定的自对弈下棋次数n2中,每次对弈时,双方均以上次优化后的最终权重信息作为初始权重再进行自对弈下棋,并记录每次对弈过程中的下棋步骤、双方权重信息和输赢结果作为学习样本存储至第二学习样本集中;当完成设定的自对弈下棋次数n2后,从第二学习样本集中选出所有双方胜m2子的学习样本并存储至第三学习样本集中;利用所述第三学习样本集使双方互相学习,得到双方本次优化后的最终权重信息;其中,m2<m1。
24、进一步地,包括:
25、测试模块,用于当达到设定迭代次数后,将最后一次优化完成的己方权重信息作为最优权重,判断具有最优权重的一方与具有随机初始化权重的另一方进行对弈的胜率是否达到设定阈值。
26、本发明的有益效果:
27、在收集学习样本的过程中,下棋双方采用自对弈的方式边下棋边收集学习样本,仅通过对棋面进行评分就确定下一步走子方式,很大程度上降低了分析时间及空间复杂度,对计算能力和内存占用的要求也都大大降低。同时,通过让黑白双方相互学习,迭代优化各自棋手的棋力,将最终优化后的白方棋手(也就是己方棋手)的权重信息保存下来,看作是一名相对比较优秀的ai选手。
1.智能对战学习样本自动生成方法,其特征在于,包括:
2.根据权利要求1所述的智能对战学习样本自动生成方法,其特征在于,还包括:
3.根据权利要求1所述的智能对战学习样本自动生成方法,其特征在于,所述自对弈下棋的过程包括:
4.根据权利要求1所述的智能对战学习样本自动生成方法,其特征在于,利用所述第三学习样本集使双方互相学习,得到双方本次优化后的最终权重信息,具体包括:
5.根据权利要求4所述的智能对战学习样本自动生成方法,其特征在于,在利用所述第三学习样本集使双方互相学习的过程中,利用交叉熵损失函数根据原始分值和目标分值计算得到损失。
6.根据权利要求1至5任一项所述的智能对战学习样本自动生成方法,其特征在于,所述神经网络模型采用七层的全连接神经网络。
7.智能对战学习样本自动生成装置,其特征在于,包括:
8.根据权利要求7所述的智能对战学习样本自动生成装置,其特征在于,包括: