游戏人工智能系统及其性能提升系统及方法技术方案

技术编号:24208922 阅读:19 留言:0更新日期:2020-05-20 15:56
本发明专利技术提供了一种游戏人工智能系统的性能提升方法,对多通道游戏数据使用深度并行计算框架计算节点初始值和返回信息估计;利用节点初始值形成树形结构,并填入节点初始值作为数据节点信息,然后将数据节点信息回传,更新各个数据节点保存的信息,输出最终优先度;对输入的多通道游戏数据,使用深度并行计算框架计算多通道游戏数据权重比例;对输入的多通道游戏数据,使用深度门网络模型获取权重比例,结合固定数据记录,计算两者的加权组合优先度。同时提供了一种用于执行上述方法的系统以及一种采用上述方法进行性能提升的游戏人工智能系统。本发明专利技术上有效提高了有限数据下系统的性能,并因其相对低功耗的特点,有利于普通企业或团队进行研制。

Game AI system and its performance improvement system and method

【技术实现步骤摘要】
游戏人工智能系统及其性能提升系统及方法
本专利技术涉及采用计算机构建游戏人工智能系统
,具体地,设计一种游戏人工智能系统及其性能提升方法,用以提高游戏对弈系统性能,是一种基于组合专家系统和深度并行计算框架的性能提升技术。
技术介绍
采用计算机构建游戏人工智能系统,最初的技术主要专注于设计启发函数,例如国际象棋AI程序深蓝是由多名国际象棋高手设计特征,再由计算机程序员编写极大极小搜索程序得来。但这类做法有以下局限:(1)人类对游戏的认知有限,例如对于围棋等状态空间极大的任务,人类的领域知识极为有限,从而设计的启发函数也就不可靠;(2)极大极小搜索过于暴力,耗时巨大,效率低下,仅仅在国际象棋上超越人类,而无法在围棋类对弈上取得突破进展;(3)手工线性特征过于简单,无法适应复杂的围棋类对弈,也无法发挥现代高性能计算资源的优势。随着深度并行计算框架,特别是深度卷积神经网络的发展,使得端到端的技术应用日益广泛。目前有一些将多通道游戏数据(例如棋盘)视为图像的方法出现,并取得了突破性的进展。卷积神经网络是适合处理图像的一类人工神经网络,多通道游戏数据的方格和局部模式属性使得它可以通过卷积神经网络来提取特征。例如深度Q学习用卷积神经网络代替表格模型,在Atari游戏上取得了较好的结果。对围棋类对弈智能系统来说,使用卷积神经网络代替人工特征,使得预测围棋类专家落子的准确率取得巨大提高。但上述方法不对环境建模,没有前向搜索的过程,随之带来的不稳定性是重要原因,如果引进在线的搜索技术,则可大大减少估值方差,从而提高系统的水平。围棋类对弈智能系统的研发,是几十年来业界和学术界的研发焦点之一,它的人工智能程序研发极具挑战性。目前已有用神经网络对优先度和返回值进行建模的方法,但仍然是通过自我对弈进行抽样,虽然效果很好但极其消耗硬件资源。具体地,优先度-返回值是用残差模块建立的,接收围棋类棋盘表示作为输入,估计其下一步落子概率分布和胜率,它可以看作是一种快而强大的启发函数来指导蒙特卡洛树搜索。近两年有几家企业、团队沿用这种方法,研发出高水平的围棋类对弈人工智能程序,但都仅仅是简单复现,并未有理论或方法上的创新,且耗费硬件资源和时间巨大,普通研究者或个人无法承受。机器学习手段可以用来训练、增强游戏人工智能系统。对围棋类对弈来说,可设计一个认知系统,用来初始化数据节点优先度,监督学习和强化学习都可以用于增强该认知系统。监督学习方法是用一个包含超过2000万个(多通道游戏数据-优先信息-返回值)三元组的数据集来训练优先度-返回值模型。强化学习是用自我对弈的方式产生大量数据用于增强系统,并且在迭代过程中产生更高质量的数据,而认知模块性能逐渐变强。组合多个分类器或其他学习器是很经典的技术,且在很多领域如人脸识别、房价预测、肿瘤检测等取得了很好的效果,关于目前已有较多的理论研究。组合专家系统可以看作多个函数形式的专家的线性组合,组合的权重由一个门网络控制,且与输入有关。组合专家系统的参数(包括专家的参数和门网络的参数)可通过最大似然或其他损失函数学习。因此,专家系统和门网络的参数可以同时调整,也可以固定一个,优化另一个。不过,目前组合专家系统主要用于简单模型如浅层神经网络或线性分类器,尚未有用于棋类对弈系统、组合多个深度神经网络模型的组合专家系统出现。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料。
技术实现思路
针对现有技术中存在的依赖大量数据进行机器学习、硬件消耗大的缺陷,本专利技术的目的是提供一种基于深度并行计算框架和前向模拟系统的游戏人工智能(AI)系统及其性能提升方法,训练好的游戏AI系统可以达到当今最高水平附近,且所用计算资源在4核CPU和15块普通显卡以内,可为普通企业或团队所承受。本专利技术是通过以下技术方案实现的。根据本专利技术的第一个方面,提供了一种游戏人工智能系统的性能提升方法,包括:S0:在网络上(例如https://u-go.net/gamerecords/)获取数据集(s,π,z)作为游戏人工智能系统的输入数据,其中,s为多通道游戏数据,π为S2中得到的最终优先度,z为游戏结束时游戏人工智能系统根据胜负返回的二值信息;S1:对数据集记录的多通道游戏数据,使用深度并行计算框架计算节点优先度初始值和返回信息近似值;S2:利用S1计算得到的节点优先度初始值形成树形结构,生成新的数据节点,并填入认知模块计算得到的节点优先度初始值作为数据节点信息,再将S1中得到的返回信息近似值填入数据节点,然后将数据节点信息回传,更新各个数据节点保存的信息,输出一个行动后验预测结果,即为最终优先度;S3:对数据集记录的多通道游戏数据,使用深度并行计算框架计算多通道游戏数据权重比例;S4:将数据集记录的优先度和S2中得到的最终优先度,结合S3中得到的权重比例,计算得到两种优先度的加权组合。优选地,所述S1中,深度并行计算框架,包括L层残差模块和第L+1层特征调整模块,其中,多通道游戏数据经过L层残差模块的过程数据大小不变,用于对数据进行压缩操作和批归一化处理;所述第L+1层特征调整模块包括如下两部分:-第一部分,调整特征图尺寸后经过softmax函数计算输出节点初始优先度;-第二部分,调整多通道数据尺寸后经过tanh函数计算输出对返回信息的估计;其中:节点优先度初始值,即第L+1层特征调整模块第一部分计算输出的节点初始优先度,为一个362维数组,作为S2中的计算初始值;返回信息近似值,即第L+1层特征调整模块第二部分计算输出的返回信息的估计,该估计是对游戏人工智能系统返回二值结果的近似值估计。优选地,所述S1,还包括如下步骤:所述深度并行计算框架基于数据集进行训练;其中:深度并行计算框架通过定义更新机制来更新框架的参数,其中,所述更新机制如下所示:L=-πTlogp+(z-v)2+c||θ||2式中,第一项-πTlogp是交叉熵机制,用于计算框架输出的节点优先度初始值与数据集记录的优先度之间的差异,π是S2中得到的最终优先度,p是深度并行计算框架给出的节点优先度初始值;第二项(z-v)2是平方误差损失,用于计算框架输出的返回信息近似值与根据游戏胜负返回的二值信息之间的差异,z是游戏结束时系统根据胜负返回的二值信息,v是深度并行计算框架给出的返回信息近似值;第三项c||θ||2是L2正则项,用于缩小框架的规模,θ是深度并行计算框架的全部参数,c是用于控制L2正则项的系数;所述更新机制所采用方法如下所示:其中,η是更新率,用于控制框架更新的幅度;是更新机制计算后对深度并行计算框架反馈的梯度信息,代表框架需要更新的方向。优选地,所述S2中,树形结构的数据节点间建立连接,其中每一个数据节点均用于存储如下信息:-节点优先度初始值,代表选择该数据节点的优先程度,由S1计算得到;-访问次数,代表该数据节点被访问过的次数;-平均结果信息,由S本文档来自技高网
...

【技术保护点】
1.一种游戏人工智能系统的性能提升方法,其特征在于,包括:/nS0:获取数据集(s,π,z)作为游戏人工智能系统的输入数据,其中,s为多通道游戏数据,π为S2中得到的最终优先度,z为游戏结束时游戏人工智能系统根据胜负返回的二值信息;/nS1:对数据集记录的多通道游戏数据,使用深度并行计算框架计算节点优先度初始值和返回信息近似值;/nS2:利用S1计算得到的节点优先度初始值形成树形结构,生成新的数据节点,并填入认知模块计算得到的节点优先度初始值作为数据节点信息,再将S1中得到的返回信息近似值填入数据节点,然后将数据节点信息回传,更新各个数据节点保存的信息,输出一个行动后验预测结果,即为最终优先度;/nS3:对数据集记录的多通道游戏数据,使用深度并行计算框架计算多通道游戏数据权重比例;/nS4:将数据集记录的优先度和S2中得到的最终优先度,结合S3中得到的权重比例,计算得到两种优先度的加权组合。/n

【技术特征摘要】
1.一种游戏人工智能系统的性能提升方法,其特征在于,包括:
S0:获取数据集(s,π,z)作为游戏人工智能系统的输入数据,其中,s为多通道游戏数据,π为S2中得到的最终优先度,z为游戏结束时游戏人工智能系统根据胜负返回的二值信息;
S1:对数据集记录的多通道游戏数据,使用深度并行计算框架计算节点优先度初始值和返回信息近似值;
S2:利用S1计算得到的节点优先度初始值形成树形结构,生成新的数据节点,并填入认知模块计算得到的节点优先度初始值作为数据节点信息,再将S1中得到的返回信息近似值填入数据节点,然后将数据节点信息回传,更新各个数据节点保存的信息,输出一个行动后验预测结果,即为最终优先度;
S3:对数据集记录的多通道游戏数据,使用深度并行计算框架计算多通道游戏数据权重比例;
S4:将数据集记录的优先度和S2中得到的最终优先度,结合S3中得到的权重比例,计算得到两种优先度的加权组合。


2.根据权利要求1所述的游戏人工智能系统的性能提升方法,其特征在于,所述S1中,深度并行计算框架,包括L层残差模块和第L+1层特征调整模块,其中,多通道游戏数据经过L层残差模块的过程数据大小不变,用于对数据进行压缩操作和批归一化处理;所述第L+1层特征调整模块包括如下两部分:
-第一部分,调整特征图尺寸后经过softmax函数计算输出节点初始优先度;
-第二部分,调整多通道数据尺寸后经过tanh函数计算输出对返回信息的估计;
其中:
节点优先度初始值,即第L+1层特征调整模块第一部分计算输出的节点初始优先度,为一个362维数组,作为S2中的计算初始值;
返回信息近似值,即第L+1层特征调整模块第二部分计算输出的返回信息的估计,该估计是对游戏人工智能系统返回二值结果的近似值估计。


3.根据权利要求1所述的游戏人工智能系统的性能提升方法,其特征在于,所述S1,还包括如下步骤:所述深度并行计算框架基于数据集进行训练;其中:
深度并行计算框架通过定义更新机制来更新框架的参数,其中,所述更新机制如下所示:
L=-πTlogp+(z-v)2+c||θ||2
式中,第一项-πTlogp是交叉熵机制,用于计算框架输出的节点优先度初始值与数据集记录的优先度之间的差异,π是S2中得到的最终优先度,p是深度并行计算框架给出的节点优先度初始值;第二项(z-v)2是平方误差损失,用于计算框架输出的返回信息近似值与根据游戏胜负返回的二值信息之间的差异,z是游戏结束时系统根据胜负返回的二值信息,v是深度并行计算框架给出的返回信息近似值;第三项c||θ||2是L2正则项,用于缩小框架的规模,θ是深度并行计算框架的全部参数,c是用于控制L2正则项的系数;
所述更新机制所采用方法如下所示:
θ←θ-η▽θL
其中,η是更新率,用于控制框架更新的幅度;▽θL是更新机制计算后对深度并行计算框架反馈的梯度信息,代表框架需要更新的方向。


4.根据权利要求1所述的游戏人工智能系统的性能提升方法,其特征在于,所述S2中,树形结构的数据节点间建立连接,其中每一个数据节点均用于存储如下信息:
-节点优先度初始值,代表选择该数据节点的优先程度,由S1计算得到;
-访问次数,代表该数据节点被访问过的次数;
-平均结果信息,由S1计算得到的返回信息近似值累计平均值得来;
重复以下4个步骤:
-选择:树形模拟采用最优优先原则,即每一层按高节点初始值、低访问次数、高动作值的原则访问子数据节点,最终到达的末端节点即为被选择的数据节点;
-展开:根据S1中的计算,初始化末端节点下的所有合法节点,节点初始值初始化为S1中计算的节点优先度初始值,访问次数和平均返回信息近似值初始化为0;
-评估:得到S1中对末端节点的返回信息近似值v;
-回传:向上逐层更新数据节点信息,直至初始数据节点;具体地,访问次数自增1,平均返回信息近似值累加评估v后,取平均值;
以上步骤重复多次后,利用每个子数据节点的访问次数除以所有子数据节点访问次数之和,计算选择每个行动的最终优先度。


5.根据权利要求1所述的游戏人工智能系统的...

【专利技术属性】
技术研发人员:王志伟涂仕奎徐雷
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1