AI模型训练方法、模型使用方法、计算机设备及存储介质与流程

文档序号:23135079发布日期:2020-12-01 13:10阅读:335来源:国知局
AI模型训练方法、模型使用方法、计算机设备及存储介质与流程

本申请涉及人工智能领域,尤其涉及一种ai模型训练方法、模型使用方法、计算机设备及存储介质。



背景技术:

随着人工智能(artificialintelligence,ai)技术的快速发展,在游戏娱乐领域,利用人工智能技术可以实现虚拟ai与真人之间的对局,且可以战胜顶级的职业选手。目前人工智能技术训练的ai模型出于预测准确率和竞技水平的考量,主要使用深度强化学习的方式训练强化学习模型。但由于强化学习模型只考量最终的输赢,导致训练出的强化学习模型较为生硬,导致训练的ai模型的用户体验较差。



技术实现要素:

本申请提供了一种ai模型训练方法、模型使用方法、计算机设备及存储介质,以提高训练出的强化学习模型的拟人性。

第一方面,本申请提供了一种ai模型训练方法,所述方法包括:

获取多个样本生成模型,并根据多个所述样本生成模型进行对弈,得到第一对弈数据;获取第二对弈数据,并根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练,所述第二对弈数据为真实对弈数据;当所述待训练模型收敛时,将所述待训练模型作为待评测模型,与对比模型进行多次对弈,并得到对弈结果;当所述对弈结果达到预设指标时,确定所述待评测模型为ai模型,完成ai模型训练。

第二方面,本申请还提供了一种模型使用方法,所述方法包括:

获取当前对弈数据,并对所述当前对弈数据进行特征提取,得到当前类图像特征和当前向量特征;根据所述当前类图像特征和当前向量特征输入ai模型,得到预测的主策略标签和从策略标签,所述ai模型为根据权利要求1-8任一项所述的ai模型训练方法训练得到的模型;根据所述预测的主策略标签和从策略标签确定对应的预测动作,输出所述预测动作,以与真实用户进行对弈。

第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的ai模型训练方法以及模型使用方法。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的ai模型训练方法以及模型使用方法。

本申请公开了一种ai模型训练方法、模型使用方法、计算机设备及存储介质,通过获取多个样本生成模型,然后根据多个样本生成模型进行对弈,得到第一对弈数据;获取第二对弈数据,并根据第一对弈数据和第二对弈数据对待训练模型进行训练;当待训练模型收敛时,将待训练模型作为待评测模型,与对比模型进行多次对弈,得到对弈结果;最终当对弈结果达到预设指标时,确定待评测模型为ai模型,完成ai模型训练。在对待训练模型进行模型训练时,加入真实的第二对弈数据,以此来提高得到的待训练模型的拟人性。在得到待训练模型后对模型进行评测,进而确定最终的ai模型,保证了得到的ai模型的预测准确率和竞技水平。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的ai模型的训练以及使用场景示意图;

图2是本申请实施例提供的训练子模块的架构示意图;

图3是本申请实施例提供的一种ai模型训练方法的示意流程图;

图4是本申请实施例提供的确定样本生成模型的示意流程图;

图5是本申请实施例提供的一种待训练模型的层级结构示意图;

图6为本申请实施例中类图像特征的示意图;

图7为本申请实施例提供的模型使用方法的流程示意图;

图8是本申请实施例提供的一种计算机设备的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

随着人工智能(artificialintelligence,ai)在各个领域的飞速发展,棋牌博弈类程序中的ai技术也得到了突破。无论是在完美信息博弈的棋类ai,还是非完美信息博弈的牌类ai都已经表现出了战胜顶级职业对手的能力(例如,alphago,alphazero,pluribus和suphx)。从博弈结果上来看,这些ai的水平无可厚非都是顶级水准,然而无论是完美信息博弈还是非完美信息博弈的ai,它们都有一个共同存在的问题:不够拟人。

这是因为目前训练的ai模型出于预测准确率和竞技水平的考量,主要使用的是深度强化学习的方式来训练强化学习模型。但由于强化学习模型在训练过程中脱离了人类所产生的实际样本数据,仅根据环境反馈进行学习,这导致训练出的强化学习模型较为生硬,拟人性不足,可能会出现一些不影响输赢,但真实玩家不会采取的一些操作,例如可以一次出完的牌,拆分成很多个单张。

从竞技的角度,如果需要去展现ai超人的水准,这个问题可能是次要的,但对于需要大批量给到人类玩家去体验的ai,拟人化无疑是评估ai整体能力十分重要的一环。在实际应用场景中(例如冷启动,陪玩等),理想情况下的ai不光需要能够对弈的足够合理、高水平,并且需要能够让人类玩家无法发觉对手是一个ai程序。这样才能够让ai技术在博弈类应用中有其实用的价值。因此,提高训练得到的ai模型的拟人性是十分必要的。

为此,本申请实施例提供一种ai模型的训练方法、模型使用方法、计算机设备及存储介质。其中,该ai模型的训练方法可应用于服务器,其中,该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1是本申请实施例提供的ai模型的训练以及使用场景示意图。如图1所示,模型训练服务器包括ai训练模块和模型部署模块。ai训练模块中又包括训练子模块和测评子模块。

训练子模块用于调用样本生成模型,生成第一对弈数据,然后将第一对弈数据结合缓存的第二对弈数据对待训练模型进行训练,并在待训练模型收敛时,将待训练模型作为待评测模型。

测评子模块用于对待评测模型进行模型评测,评估待评测模型的性能,例如待评测模型的胜率等,以根据待评测模型的评测得分来从多个待评测模型中选择出优秀模型作为最终的ai模型,并将ai模型通过模型部署模块进行部署在ai服务器中。

在使用ai模型时,玩家与前端服务器建立连接,同时ai服务器也会与前端服务器连接。前端服务器将当前对弈数据(比如当前玩家手牌,对方玩家手牌数量等信息)发送给ai服务器,ai服务器调用部署的ai模型预测当前这一帧应该打出什么牌,经过标签到具体牌的转换,将预测结果发送给前端服务器具体执行,进行玩家与ai模型之间的对弈。

以斗地主游戏为例,训练得到的ai模型的使用场景例如可以是新手教学、掉线托管以及人机挑战等多种场景。

在新手教学场景中,可以利用ai模型指导新手玩家如何将自己手牌的牌力发挥到最大的价值,以赢取收益。

在掉线托管场景中,可以利用ai模型在玩家掉线的情况下帮助玩家叫出合理的牌最大化本局对弈的收益或最小化本局对弈的损失,并且避免影响其他玩家的体验。

在人机挑战场景中,对于高水平的玩家,可以接入高水平出牌的ai模型让玩家挑战得分,增加活跃度。

请参阅图2,图2是本申请实施例提供的训练子模块的架构示意图。如图2所示,训练子模块中包括样本生成部分、存储部分以及学习部分。

样本生成部分用于选择样本生成模型,并进行样本生成模型之间的自对弈,从而产生第一对弈数据。其中,在选择样本生成模型时,可以从历史模型库中选择样本生成模型进行自对弈。历史模型库中保存了ai训练模块所产生的所有模型以及用户额外添加至历史模型库中的模型。

以斗地主游戏为例,样本生成部分从历史模型库中获取三个样本生成模型,每个样本生成模型均对应一个参与方。由于斗地主游戏中三个参与方的角色有所不同,有两个参与方的角色为农民,一个参与方的角色为地主,因此,可以利用叫分模块来在对弈开始前进行模拟叫分,从而确定每个参与方的角色。其中,叫分模块可以是采用监督学习方法预先训练出的叫分模型。

在经过叫分确定每个参与方的角色后,各个参与方即可基于游戏逻辑来进行对弈。其中,游戏逻辑包括对弈逻辑,例如:下家出的牌与上家出的牌的类型相同,且下家出的牌大于上家出的牌,或者下家出的牌与上家出的牌的类型不同,且下家出的牌为4个相同的牌或为两个大小王牌。

在对弈过程中,各个参与方将上家所打出的牌作为本次打牌的输入特征,然后利用各自对应的样本生成模型,基于该输入特征输出出牌标签,并根据到具体牌的转换,打出与出牌标签对应的牌,循环多次,直至分出胜负,完成一次对弈。将一次对弈过程中所产生的数据作为第一对弈数据。

在一实施例中,样本生成部分会运行大量的镜像实例自对弈进行样本的生产工作,采用多线程同时进行自对弈,提高产生的第一对弈数据的数据量。

将第一对弈数据缓存在存储部分,以便于学习模块消费,进行模型训练。同时,存储部分中也缓存有第二对弈数据,也即真实对弈数据,用于进行拟人化训练。其中,存储部分例如可以是redis服务器。

学习部分则对存储部分中存储的第一对弈数据和第二对弈数据进行消费,对待训练模型进行强化训练。其中,在进行训练时,可以采用ppo算法来进行强化训练,通过环境反馈对待训练模型的神经网络的价值函数以及策略进行迭代优化。

其中,学习部分每次训练所产生的模型都可以保存在历史模型库中,以便于样本生成部分选择样本生成模型来进行自对弈。在训练过程中,可以采用多线程异步训练,来加快训练速度以及收敛速度。

请参阅图3,图3是本申请实施例提供的一种ai模型训练方法的示意流程图。该ai模型训练方法在模型训练过程中加入了第二对弈数据,也即真实对弈数据,实现提高训练得到的ai模型的拟人程度。

如图3所示,该ai模型训练方法,具体包括:步骤s101至步骤s104。

s101、获取多个样本生成模型,并根据多个所述样本生成模型进行对弈,得到第一对弈数据。

其中,样本生成模型是指用于进行自对弈,从而生成第一对弈数据的模型。样本生成模型可以是利用该ai模型训练方法训练得到的模型。

在一实施例中,历史模型库中保存有多个可供选择的模型,可以从历史模型库中随机调用模型来作为样本生成模型。

多个样本生成模型之间按照对弈规则进行自对弈,即可生成第一对弈数据。其中,第一对弈数据中包括出牌特征、出牌策略标签、环境反馈以及预测得分。出牌策略标签包括主策略标签和从策略标签。对弈规则可以根据牌类游戏的类型进行设置,本申请对此不作具体限定。

以斗地主游戏为例,主策略标签为主牌标签,主牌标签包括但不限于单牌、单顺子、对子、双顺子、三张、三顺子、四张、火箭和要不起等各自对应的标签,该从策略标签为带牌标签,带牌标签包括但不限于单牌、两个单张、一个对子、两个对子和不带牌等对应的标签。

对弈规则包括:下家出的牌与上家出的牌的类型相同,且下家出的牌大于上家出的牌,或者下家出的牌与上家出的牌的类型不同,且下家出的牌为4个相同的牌或为两个大小王牌。

在一实施例中,获取样本生成模型的数量可以根据游戏的游戏逻辑来确定,游戏逻辑可根据牌类游戏的类型进行设置,本申请对此不作具体限定。

例如,斗地主游戏的游戏逻辑包括:参与方数量为三个,即需要选择三个样本生成模型;三个参与方中的一个参与方的角色为地主,另外两个参与方的角色为农民;角色为地主的参与方的参与内容是随机的20张牌,角色为农民的参与方的参与内容是随机的17张牌,角色为地主的参与方先出完20张牌,则角色为地主的参与方取得胜利,而任一个角色为农民的参与方先出完17张牌,则两个角色为农民的参与方取得胜利。

具体地,模型训练服务器从预设的游戏逻辑中获取参与方数量,并按照该参与方数量,创建对应数量的参与方,创建的每个参与方分别与一个样本生成模型对应;为每个参与方分配角色,并根据总牌数分别为每个参与方分配各自的手牌。

以斗地主为例,模型训练服务器创建三个参与方,给一个参与方分配地主角色,给另外两个参与方分配农民角色,给地主角色的参与方分配的手牌共有20张牌,且这20张牌为r222aaakkk101099874433,其中,地主角色分配到的20张牌中包括三张底牌,底牌为r23,给两个农民角色的参与方分配的手牌共有17张牌,且这两个17张牌分别为b2akqjj101099874433,qqqjj887766665555。

在一实施例中,模型训练服务器在为每一个参与方分配角色时,可以根据预先训练的叫分模型来模拟叫分过程,从而确定每个参与方的身份。其中,叫分模型可以是采用监督学习的方式训练得到的。

在一实施例中,所述样本生成模型包括监督学习模型。请参阅图4,图4是本申请实施例提供的确定样本生成模型的示意流程图。如图4所示,所述方法包括步骤s201和步骤s202。

s201、将多个所述监督学习模型进行循环对弈,确定每个所述监督学习模型的选择概率。

其中,所述监督学习模型为根据所述第二对弈数据采用监督学习的方法训练得到的。在一实施例中,将得到的监督学习模型也放入历史模型库中,以便于在第一对弈数据生成阶段模型的调用。

在利用第二对弈数据得到多个监督学习模型后,将多个监督学习模型进行循环对弈,从而确定每个监督学习模型的选择概率。

在一实施例中,可以根据多个监督学习模型进行循环对弈后,每个监督学习模型的平均胜率来确定每个监督模型的选择概率。所述确定每个监督学习模型的选择概率,包括:获取每个所述监督学习模型在所述循环对弈中的平均胜率;基于每个所述监督学习模型的平均胜率计算每个所述监督学习模型的选择概率。

从多个监督学习模型中选出一个监督学习模型,将其与其他的全部监督学习模型进行循环对弈,然后根据对弈结果计算出每个监督学习模型的平均胜率。然后根据每个监督学习模型的平均胜率,按照计算公式计算出每个监督学习模型的选择概率。

例如,共有个监督学习模型,表示第个监督学习模型,对于所有的个监督学习模型进行离线循环赛,也即每一个模型会与其他的个模型分别对战5000局,由此计算出每个模型的平均胜率。

记为第个监督学习模型在循环赛中的平均胜率,采用计算公式计算第个监督学习模型的选择概率,计算公式例如可以为:

s202、根据所述选择概率,从多个所述监督学习模型中确定目标模型并作为样本生成模型。

根据监督学习模型的选择概率,从多个监督学习模型中确定目标模型,并将确定的目标模型作为样本生成模型,参与自对弈,生成第一对弈数据。

需要说明的是,在自对弈过程中,选择的样本生成模型中并不必然包括监督学习模型。

以斗地主游戏为例,在从历史模型库中选择样本生成模型时,由于样本生成模型的选择数量为三个,因此有33%的概率选择监督学习模型来作为样本生成模型,在选择出的样本生成模型中包括监督学习模型时,再根据各个监督学习模型的选择概率,来选择最终的目标模型,并将目标模型作为样本生成模型参与自对弈,生成第一对弈数据。

在历史模型库中加入监督学习模型,使历史模型库中的强化学习模型能够接触到近似人类作为对手的博弈情况,产生多样性的数据,有效地学习如何与人类对战。并且多个监督学习模型又不至于让强化学习模型找到其中某一个监督学习模型的弱点陷入到局部优化中。

s102、获取第二对弈数据,并根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练。

其中,第二对弈数据为真实对弈数据,也即真实的用户在进行对弈过程中所产生的对弈数据,第二对弈数据包括真实出牌特征和真实策略标签。在得到第二对弈数据后,可以根据第二对弈数据和第一对弈数据共同对待训练模型进行训练。在训练时,采用模型生成的数据和真实数据共同进行训练,提高训练得到的待训练模型的拟人程度。

在一实施例中,在根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练时,可以将第一对弈数据和第二对弈数据按照一定的比例进行混合,混合后共同对待训练模型进行训练。例如,可以将第一对弈数据和第二对弈数据按照8:2的比例进行混合,也即用于训练待训练模型的数据中,第一对弈数据所占的比例为80%,第二对弈数据所占的比例为20%。

在一实施例中,请参阅图5,图5是本申请实施例提供的一种待训练模型的层级结构示意图。如图5所示,待训练模型包括第一全连接层、残差网络层、拼接层和第二全连接层。第一全连接层与和残差网络层分别与拼接层连接,拼接层与第二全连接层连接。其中,第一全连接层中包括多个全连接层,例如可以是三个,第二全连接层中也包括多个全连接层,例如可以是两个。

所述根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练,包括:根据所述第二对弈数据和所述第一对弈数据构建样本数据,并对所述样本数据进行特征提取得到样本向量特征和样本类图像特征,所述样本数据包括环境反馈;通过所述第一全连接层对所述样本向量特征进行处理,得到第一目标向量;通过所述残差网络层对所述样本类图像特征进行处理,得到第二目标向量;通过所述拼接层对所述第一目标向量和第二目标向量进行拼接,得到拼接向量;通过所述第二全连接层基于所述拼接向量,确定主策略标签的概率分布、从策略标签的概率分布以及预测得分;根据所述主策略标签的概率分布、从策略标签的概率分布、预测得分和环境反馈,对所述待训练模型的神经网络参数进行训练。

根据缓存的第一对弈数据和第二对弈数据构建样本数据用于进行强化学习,并对样本数据进行特征提取,得到样本类图像特征和样本向量特征。类图像特征用于对牌的分布进行建模,表示牌型的分布以及数量的分布。

以斗地主游戏为例,类图像特征的横轴为所有牌的字符按从大到小排列,该类图像特征的纵轴为每种牌对应字符的个数,如果字符的个数为1,则纵轴为[1000],如果字符的个数为2,则纵轴为[1100],如果字符的个数为3,则纵轴为[1110],如果字符的个数为4,则纵轴为[1111],该类图像特征包括14个通道,分别为当前参与方自己的手牌信息(1个通道)、最近第一轮三个参与方输出的出牌信息(3个通道)、最近第二轮三个参与方输出的出牌信息(3个通道)、最近第三轮三个参与方的出牌信息(3个通道)、最近第三轮之前输出的全部出牌信息(1个通道)、未输出的全部牌的信息(1个通道)和除自身以外另外两个参与方的手牌信息(2个通道)。

图6为本申请实施例中类图像特征的示意图,该类图像特征包括14个通道,图6中的a图为当前参与方自己的手牌信息ebakkqq73的特征表达,图6中的b图为当前参与方上一轮的出牌信息22的特征表达。

向量特征包括参与方的角色、手牌数量、叫分倍数、上家参与方的出牌数量、当前参与方的手牌中是否有比上家参与方的出牌更大的牌,目前出过的四张相同牌的数量以及未出现的牌中可能出现的四张相同牌的数量。

例如,角色为地主,则角色编码为1,若角色为农民,则角色编码为0,手牌数量的编码处于00000(持0张牌)至10100(持20张牌)之间,上家参与方的出牌数量的编码处于00000(出0张牌)至10100(出20张牌)之间,当前参与方的手牌中有比上家参与方的出牌更大的牌,则对应的编码为1,反之当前参与方的手牌中没有比上家参与方的出牌更大的牌,则对应的编码为0。

三个参与方的角色分别为地主、农民和农民,三个参与方的持牌数分别为15、12和8,上家参与方的出牌数量为5,当前参与方的手牌中有比上家参与方的出牌更大的牌,则对应的向量特征为:[1,0,0,01111,01100,01000,00101,1]。

其中,在进行编码时,对于未出现的牌可能出现的四张相同牌的数量可以采用multi-hot进行编码,对于目前出过的四张相同牌的数量可以采用one-hot进行编码。

模型训练服务器利用第一全连接层对样本向量特征进行处理,得到第一目标向量;通过残差网络层对样本类图像特征进行处理,得到第二目标向量;通过拼接层将第一目标向量和第二目标向量进行拼接,得到拼接向量;最终通过第二全连接层基于拼接向量输出主策略标签的概率分布、从策略标签的概率分布以及预测得分,并根据得到的主策略标签的概率分布、从策略标签的概率分布、预测得分和环境反馈对待训练模型的神经网络参数进行更新。需要说明的是,神经网络参数的更新算法可基于实际情况进行设置,本申请对此不作具体限定,可选地,基于反向传播算法更新人工智能模型的神经网络参数。

预测得分是指待训练模型输出的对于本次对弈的预测分数,若预测得分为正,则说明该待训练模型认为自己会在本地对弈中获胜,若预测得分为负,则说明该待训练模型认为自己会在本次对弈中落败。

在训练过程中,可以采用级联的方式,先进行主策略标签的预测,再根据主策略标签来进行从策略标签的预测,也即先进行主牌的动作预测,再根据主牌的动作进行带牌的动作预测。

在一实施例中,所述根据所述主策略标签的概率分布、从策略标签的概率分布、预测得分和环境反馈,对所述待训练模型的神经网络参数进行训练,包括:根据所述主策略标签的概率分布计算对应的第一损失值;根据所述从策略标签的概率分布计算对应的第二损失值;根据所述预测得分和所述环境反馈计算对应的第三损失值;根据所述第二对弈数据以及所述待训练模型输出的所述主策略标签的概率分布和从策略标签的概率分布,计算第四损失值;根据所述第一损失值、第二损失值、第三损失值和第四损失值,确定所述待训练模型是否收敛;若所述待训练模型收敛,则执行当所述待训练模型收敛时,将所述待训练模型作为待评测模型,与对比模型进行多次对弈,并得到对弈结果的步骤。

在对待训练模型的神经网络参数进行更新的过程中,根据主策略标签的概率分布、从策略标签的概率分布和预测得分可以确定人工智能模型的模型损失值。

损失函数为(loss)=loss1+loss2+loss3+loss4,loss1根据输出的主策略标签的预测确定,loss2根据输出的从策略标签的预测确定,loss1和loss2可以是surrogateloss和entropyloss。loss3根据输出的预测得分和环境反馈确定,loss3为l2函数。loss4为监督损失函数,例如可以是交叉熵损失函数,以第二对弈数据中真实的主策略和从策略作为参考,计算待训练模型输出的主策略标签的概率分布和从策略标签的概率分布的损失函数,使模型在考虑最大化收益的同时向真实用户的出牌策略靠近。

在一实施例中,所述第二对弈数据包括平均动作次数;所述根据所述预测得分和所述环境反馈计算对应的第三损失值,包括:根据所述平均动作次数和所述环境反馈得到目标得分,并基于所述目标得分和所述预测得分计算对应的第三损失值。

平均动作次数也即平均出牌次数。统计真实对局中局后平均出牌次数,并以此为标准,结合环境反馈作为待训练模型的神经网络损失函数优化的目标得分,从而使训练的待训练模型的平均出牌次数与真实用户更加接近。可以根据第二对弈数据中的平均动作次数和环境反馈得到目标得分,基于目标得分和预测得分计算对应的第三损失值。

例如,可以使用以下公式计算目标得分:

其中,表示角色(地主/地主上家/地主下家)统计出的真实平均动作次数,表示本局游戏中角色的出牌次数,表示角色的目标得分,表示角色的环境反馈。

基于该公式计算出目标得分,并基于该目标得分和预测得分计算对应的第三损失值,使待训练模型能够持续朝着使用接近真实用户的出牌次数来在对弈中获胜。由于斗地主游戏属于零和博弈,因此,该目标得分也有助于待训练模型能够更有效的学习策略。

需要说明的是,由于斗地主游戏属于零和博弈,因此,在的情况下,若此时角色表示地主,则说明地主在本地对弈中落败,则地主上家和地主下家的目标得分为,若此时角色表示农民,则说明地主在本地对弈中获胜,则地主的目标得分为

在一实施例中,确定所述待训练模型是否收敛包括:计算所述第一损失值、第二损失值、第三损失值和第四损失值的和,将所述第一损失值、第二损失值、第三损失值和第四损失值的和作为总损失值;若所述总损失值小于或等于预设的损失值阈值,则确定所述待训练模型收敛。需要说明的是,上述损失值阈值可基于实际情况进行设置,本申请对此不作具体限定。

s103、当所述待训练模型收敛时,将所述待训练模型作为待评测模型,与对比模型进行多次对弈,并得到对弈结果。

其中,对比模型是指尚未进行模型的迭代训练的基础模型,基础模型是采用监督学习的方式训练得到的。当待训练模型收敛时,将待训练模型作为待评测模型与对比模型进行多次对弈,得到对弈结果,以根据对弈结果来确定待评测模型是否为可以部署的模型。

在一实施例中,当待训练模型收敛时,将待训练模型保存至历史模型库中,以进行样本生成工作。

s104、当所述对弈结果达到预设指标时,确定所述待评测模型为ai模型,完成ai模型训练。

当对弈结果达到预设指标时,认为此时待评测模型为可以部署的模型,将该待评测模型作为ai模型,完成ai模型训练。预设指标可以是预先设置的一些阈值。

在一实施例中,所述对弈结果包括所述待评测模型与所述对比模型进行多次对弈的平均得分和/或胜率;所述当所述对弈结果达到预设指标时,确定所述待评测模型为ai模型,包括:当所述平均得分和/或胜率达到预设阈值时,确定所述待评测模型为ai模型。

将待评测模型与两个基础模型进行多次对弈,并且在多次对弈中平均分配待评测模型的角色,最终计算待评测模型的平均得分和胜率,从而得到待评测模型的性能,当平均得分或者胜率中的任一种达到预设阈值时,确定该待评测模型为ai模型,完成ai模型训练。

需要说明的是,模型评测的过程可以与待训练模型的训练过程同时进行,也即在训练出第一个待训练模型后,开始训练第二个待训练模型,同时第一个待训练模型作为第一个待评测模型与对比模型进行对弈,进行模型评测。

上述实施例提供的ai模型训练方法,通过获取多个样本生成模型,然后根据多个样本生成模型进行对弈,得到第一对弈数据;获取第二对弈数据,并根据第一对弈数据和第二对弈数据对待训练模型进行训练;当待训练模型收敛时,将待训练模型作为待评测模型,与对比模型进行多次对弈,得到对弈结果;最终当对弈结果达到预设指标时,确定待评测模型为ai模型,完成ai模型训练。在对待训练模型进行模型训练时,加入真实的第二对弈数据,以此来提高得到的待训练模型的拟人性。在得到待训练模型后对模型进行评测,进而确定最终的ai模型,保证了得到的ai模型的预测准确率和竞技水平。

请参阅图7,图7为本申请实施例提供的模型使用方法的流程示意图。

如图7所示,该模型使用方法包括步骤s301至步骤s303。

s301、获取当前对弈数据,并对所述当前对弈数据进行特征提取,得到当前类图像特征和当前向量特征。

在实际使用过程中,玩家接入前端服务器,ai服务器也接入前端服务器,前端服务器获取到当前对弈数据,并将当前对弈数据发送给ai服务器,ai服务器在接收到当前对弈数据后,对当前对弈数据进行特征提取,从而得到当前对弈数据对应的当前类图像特征和当前向量特征。

其中,当前对弈数据中可以包括当前手牌、对方手牌数量、当前角色等信息。

例如,以斗地主游戏为例,在一局对弈游戏中有真实玩家异常掉线后,ai服务器会接入前端服务器,从前端服务器处获取掉线玩家的玩家角色(地主或者农民)、掉线玩家的手牌以及对方玩家的手牌数量等等信息。

s302、根据所述当前类图像特征和当前向量特征输入ai模型,得到预测的主策略标签和从策略标签。

将得到的当前类图像特征和当前向量特征输入ai模型,以通过ai模型输出预测的主策略标签和从策略标签,也即输出预测的主牌标签和带牌标签。其中,该ai模型为采用前述的ai模型训练方法训练得到的模型。

s303、根据所述预测的主策略标签和从策略标签确定对应的预测动作,输出所述预测动作,以与真实用户进行对弈。

预测动作也即需要打出的牌。根据ai模型输出的主策略标签,将预测的主策略标签转换为需要打出的具体主牌,同样的,根据ai模型输出的从策略标签,将预测的从策略标签转换为需要打出的具体带牌,根据需要打出的主牌和需要打出的带牌得到预测动作。

ai服务器输出该预测动作,也即向前端服务器下发打牌指令,使前端服务器根据ai服务器输出的预测动作打出对应的牌,进行与真实玩家之间的对弈。

上述实施例提供的模型使用方法,获取当前对弈数据,并对当前对弈数据进行特征提取,得到当前类图像特征和当前向量特征,然后将当前类图像特征和当前向量特征输入ai模型,得到预测的主策略标签和从策略标签,最终根据预测的主策略标签和从策略标签确定预测动作,并将预测动作进行输出,与真实用户进行对弈。在需要调用ai模型与真实用户共同进行游戏时,基于训练ai模型能够根据当前对弈数据做出相应动作,实现ai模型的快速调用,有效提高真实用户的用户体验。

请参阅图8,图8是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。

参阅图8,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。

非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种ai模型训练方法和/或模型使用方法。

处理器用于提供计算和控制能力,支撑整个计算机设备的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种ai模型训练方法和/或模型使用方法。

该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取多个样本生成模型,并根据多个所述样本生成模型进行对弈,得到第一对弈数据;获取第二对弈数据,并根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练,所述第二对弈数据为真实对弈数据;当所述待训练模型收敛时,将所述待训练模型作为待评测模型,与对比模型进行多次对弈,并得到对弈结果;当所述对弈结果达到预设指标时,确定所述待评测模型为ai模型,完成ai模型训练。

在一个实施例中,所述待训练模型包括第一全连接层、残差网络层、拼接层和第二全连接层;所述处理器在实现所述根据所述第二对弈数据和所述第一对弈数据对待训练模型进行训练时,用于实现:

根据所述第二对弈数据和所述第一对弈数据构建样本数据,并对所述样本数据进行特征提取得到样本向量特征和样本类图像特征,所述样本数据包括环境反馈;通过所述第一全连接层对所述样本向量特征进行处理,得到第一目标向量;通过所述残差网络层对所述样本类图像特征进行处理,得到第二目标向量;通过所述拼接层对所述第一目标向量和第二目标向量进行拼接,得到拼接向量;通过所述第二全连接层基于所述拼接向量,确定主策略标签的概率分布、从策略标签的概率分布以及预测得分;根据所述主策略标签的概率分布、从策略标签的概率分布、预测得分和环境反馈,对所述待训练模型的神经网络参数进行训练。

在一个实施例中,所述处理器在实现所述根据所述主策略标签的概率分布、从策略标签的概率分布、预测得分和环境反馈,对所述待训练模型的神经网络参数进行训练时,用于实现:

根据所述主策略标签的概率分布计算对应的第一损失值;根据所述从策略标签的概率分布计算对应的第二损失值;根据所述预测得分和所述环境反馈计算对应的第三损失值;根据所述第二对弈数据以及所述待训练模型输出的所述主策略标签的概率分布和从策略标签的概率分布,计算第四损失值;根据所述第一损失值、第二损失值、第三损失值和第四损失值,确定所述待训练模型是否收敛;若所述待训练模型收敛,则执行当所述待训练模型收敛时,将所述待训练模型作为待评测模型,与对比模型进行多次对弈,并得到对弈结果的步骤。

在一个实施例中,所述第二对弈数据包括平均动作次数;所述处理器在实现所述根据所述预测得分和所述环境反馈计算对应的第三损失值时,用于实现:

根据所述平均动作次数和所述环境反馈得到目标得分,并基于所述目标得分和所述预测得分计算对应的第三损失值。

在一个实施例中,所述处理器在实现所述根据所述第一损失值、第二损失值、第三损失值和第四损失值,确定所述待训练模型是否收敛时,用于实现:

计算所述第一损失值、第二损失值、第三损失值和第四损失值的和,将所述第一损失值、第二损失值、第三损失值和第四损失值的和作为总损失值;若所述总损失值小于或等于预设的损失值阈值,则确定所述待训练模型收敛。

在一个实施例中,所述样本生成模型包括监督学习模型,所述监督学习模型为根据所述第二对弈数据训练得到的;所述处理器用于实现:

将多个所述监督学习模型进行循环对弈,确定每个所述监督学习模型的选择概率;根据所述选择概率,从多个所述监督学习模型中确定目标模型并作为样本生成模型。

在一个实施例中,所述对弈结果包括所述待评测模型与所述对比模型进行多次对弈的平均得分和/或胜率;所述处理器在实现所述当所述对弈结果达到预设指标时,确定所述待评测模型为ai模型时,用于实现:

当所述平均得分和/或胜率达到预设阈值时,确定所述待评测模型为ai模型。

在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取当前对弈数据,并对所述当前对弈数据进行特征提取,得到当前类图像特征和当前向量特征;根据所述当前类图像特征和当前向量特征输入ai模型,得到预测的主策略标签和从策略标签,所述ai模型为根据权利要求1-8任一项所述的ai模型训练方法训练得到的模型;根据所述预测的主策略标签和从策略标签确定对应的预测动作,输出所述预测动作,以与真实用户进行对弈。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项ai模型训练方法和/或模型使用方法。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1