模型训练方法、装置、存储介质及设备与流程

文档序号:18415091发布日期:2019-08-13 19:16阅读:198来源:国知局
模型训练方法、装置、存储介质及设备与流程

本申请涉及人工智能技术领域,特别涉及一种模型训练方法、装置、存储介质及设备。



背景技术:

ai(artificialintelligence,人工智能),是目前研究和开发用于模拟、延伸以及扩展人类智能的一门新兴科学技术。时下ai技术已经被广泛应用于多种场景下,比如游戏场景便是其中一种。

其中,游戏ai重点关注ai技术带给玩家的游戏体验,目的是让游戏表现出与人类的智能行为/活动相类似,或者与玩家的思维/感知相符合的特性。即,游戏ai通过模仿学习能够智能模拟真实玩家进行游戏。

针对游戏场景来说,智能模拟的重点便是训练算法模型,在本文中也称之为ai模型,进而通过将训练好的ai模型应用到真实的游戏场景中,来提升玩家的游戏体验。众所周知,良好的ai模型能够显著提升游戏效果,为此,如何进行模型训练,成为了本领域技术人员亟待解决的一个问题。



技术实现要素:

本申请实施例提供了一种模型训练方法、装置、存储介质及设备,能够提升模型训练效果。所述技术方案如下:

一方面,提供了一种模型训练方法,所述方法包括:

获取多个训练样本,每个所述训练样本中均包括交互画面和动作标签,所述动作标签给出了角色对象在所述交互画面中采取的交互动作;

对每个所述训练样本中包括的交互画面进行特征提取,基于提取到的特征进行聚类;

根据得到的聚类结果在所述多个训练样本中确定至少一个关键样本,所述关键样本为所述角色对象需执行特定交互动作的交互画面对应的样本;

为每个所述训练样本设置权重,基于带权重的所述训练样本更新深度网络的网络参数,每个所述关键样本的权重均大于所述多个训练样本中其他样本的权重。

另一方面,提供了一种模型训练装置,所述装置包括:

获取模块,用于获取多个训练样本,每个所述训练样本中均包括交互画面和动作标签,所述动作标签给出了角色对象在所述交互画面中采取的交互动作;

特征提取模块,用于对每个所述训练样本中包括的交互画面进行特征提取,基于提取到的特征进行聚类;

筛选模块,用于根据得到的聚类结果在所述多个训练样本中确定至少一个关键样本,所述关键样本为所述角色对象需执行特定交互动作的交互画面对应的样本;

设置模块,用于为每个所述训练样本设置权重,

训练模块,用于基于带权重的所述训练样本更新深度网络的网络参数,每个所述关键样本的权重均大于所述多个训练样本中其他样本的权重。

在一种可能的实现方式中,所述获取模块,还用于基于目标时长对当前显示的交互过程进行录制,得到初始样本;对所述初始样本进行重新采样处理,得到所述多个训练样本;

其中,所述多个训练样本中每个交互动作对应的样本数量均大于第二阈值。

在一种可能的实现方式中,与所述训练样本对应的损失函数如下:

其中,w指代所述训练样本的权重,c指代交互动作的总数量,i指代动作类别,取值为1至c,yi指代所述动作标签指示的交互动作是否属于第i个类别,指代所述深度网络输出的、在所述训练样本中包括的交互画面下执行第i个类别动作的后验概率,w的取值为0至1,c的取值为正整数。

在一种可能的实现方式中,所述装置还包括:

获取模块,用于获取应用图像;

所述特征提取模块,还用于提取所述应用图像中的特定区域;

处理模块,用于对提取到的图像区域进行缩放处理,得到预设大小的第二图像,将所述第二图像输入训练好的深度网络中;

确定模块,用于获取所述深度网络输出的后验概率,所述后验概率包括在所述应用图像反应的交互状态下采取每一个类别动作的概率;将数值最大的后验概率指示的交互动作,确定为在所述应用图像反应的交互状态下执行的动作。

另一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的模型训练方法。

另一方面,提供了一种模型训练设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的模型训练方法。

本申请实施例提供的技术方案带来的有益效果是:

在模型训练过程中,首先对当前显示的交互过程进行录制得到训练样本;之后,对每个训练样本中包括的交互画面进行特征提取,并基于提取到的特征进行聚类;之后,根据得到的聚类结果挑选关键样本,该关键样本为角色对象需执行特定交互动作的交互画面对应的样本;之后,为每个训练样本设置权重,其中,设置原则为关键样本的权重大于其他样本的权重,进而基于带权重的训练样本更新深度网络的网络参数。基于以上描述可知,本申请实施例基于聚类结果能够挑选出对应交互过程中关键时刻的关键样本,并在训练时给予关键样本更高的权重,使得关键样本的权重高于其他样本,不但能够提升关键样本对网络参数的影响,而且降低了重要性较低的其他样本对网络参数的影响,达到了更好的模型训练效果,在将训练好的深度网络应用到交互场景下时,能够显著提升交互效果。

附图说明

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

图1是本申请实施例提供的一种交互画面的示意图;

图2是本申请实施例提供的另一种交互画面的示意图;

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

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

图5是本申请实施例提供的另一种交互画面的示意图;

图6是本申请实施例提供的另一种交互画面的示意图;

图7是本申请实施例提供的另一种交互画面的示意图;

图8是本申请实施例提供的一种深度网络的结构示意图;

图9是本申请实施例提供的一种模型应用过程的流程图;

图10是本申请实施例提供的一种模型训练方法的整体执行流程图;

图11是本申请实施例提供的一种模型训练装置的结构示意图;

图12是本申请实施例提供的一种模型训练设备的结构示意图;

图13是本申请实施例提供的另一种模型训练设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些名词进行解释说明。

ai:英文全称artificialintelligence,中文名称人工智能。

示例性地,游戏ai是一种能让游戏开发者为玩家创造引人入胜的游戏体验的技术。换一种表达方式,无论采取何种手段,只要能给玩家以某种智能程度的错觉,使得游戏更能令人沉迷于其中、更具有挑战性、更好玩,那便可看作为游戏ai。即,游戏ai并不是要做到最大化成功率,并不以胜利为单一目的进行游戏ai设计,而是以让玩家有一段更美妙的游戏体验而设计。

深度网络:又称为深度神经网络,英文全称deepneuralnetworks,简称dnn。

其中,深度神经网络是深度学习的基础,而深度学习的概念源于人工神经网络的研究,深度学习是机器学习中一种基于对数据进行表征学习的方法。换一种表达方式,深度学习是机器学习研究中的一个新领域,其动机在于建立、模拟人脑进行分析学习的神经网络。

轻量级深度网络:简言之,轻量级深度网络指代网络规模小、适用于诸如智能手机等移动终端(cpu)或嵌入式设备的小型深度神经网络。

针对轻量级深度网络,其主要的设计目标是在保证一定网络精度的情况下,尽可能减少网络规模(比如参数量、计算量)。

作为一个示例,轻量级深度网络一个最直接的设计目标便是用于智能手机等移动终端(cpu)中,使得移动终端也具备ai计算能力。

深度特征:指代图像通过深度神经网络进行特征提取后最终得到的特征,其中,深度特征包含了图像的抽象信息。

玩家:在本申请实施例中也称之为用户。

其中,玩家也可称为游戏者,是一种游戏业界与游戏参与者之间的术语。广义上讲,玩家泛指玩游戏的用户,即参与任何形式游戏的人。

特殊地,在角色扮演类游戏中,玩家通常在游戏世界中扮演其中的可控角色,通过操作这些可控角色去完成游戏或是自己所设定的目标。此外,部分玩家在角色扮演类游戏中还可以作为主角或是游戏剧情的关键。

总结来讲,玩家是游戏的体验者、使用者、评价者和消费者。根据性格和喜好的差异,不同的玩家喜爱的游戏类型也各不相同。

交互活动:在本申请实施例中,交互活动是对任何类型游戏的统称。

角色对象:也可称之为游戏角色、游戏人物或玩家角色,在本申请实施例中,角色对象指代游戏中可由玩家控制的某个角色或某个对象。

聚类算法:在本申请实施例中,聚类分析又称群分析,它是研究样本或指标分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。

其中,聚类分析是由若干模式组成的,通常情况下,模式是一个度量的向量或者是多维空间中的一个点。聚类分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。

手游:通常指代运行在移动终端上的游戏应用。

在本申请实施例中,安装有手游的移动终端也称之为手游终端。

手游终端:指代手机游戏运行的移动终端设备。示例性地,手游终端通常为智能手机、或平板电脑等。

动作标签:在本申请实施例中,动作标签指代对游戏动作进行人工标注的标注数据。其中,此处的游戏动作指代游戏画面中出现的游戏角色或对象所执行的动作。

游戏样本:在本申请实施例中,一个游戏样本中包括:一帧游戏画面图像、以及在当前游戏画面图像示出的游戏状态下角色对象所采取的游戏动作。

其中,游戏画面通常由计算机设备中的游戏应用生成,并基于计算机设备中的显示模块(比如显示屏幕)进行展示。另外,该计算机设备可以是智能手机、平板电脑或者电子书阅读器等;或者,该计算机设备也可以是笔记本电脑或者固定式计算机等,本申请实施例对此不进行具体限定。以运行在移动终端上的手游为例,则上述计算机设备特指移动终端,相应的,上述计算机设备也可称之为手游终端。

重要样本:在本申请实施例中,重要样本也称之为关键样本。其中,重要样本指代在特定游戏状态下必须执行特定游戏动作的游戏样本。换一种表达方式,重要样本为角色对象需执行特定游戏动作的游戏画面图像对应的样本。

作为一个示例,参见图1所示的游戏画面图像,该游戏画面图像指示了一种特定的游戏状态,即游戏人物的前方不远处出现悬崖或缺口,在该种游戏状态下,为了获取金币以及防止游戏人物发生坠落,而必须要采取跳跃动作。

相关技术主要基于dqn(deepq-learing)算法在线训练游戏ai,该方法首先需要人工定义奖励函数;之后,在与游戏环境交互的过程中获取游戏状态、游戏动作和当前游戏状态下采取特定游戏动作所获得的奖励值;之后,通过dqn算法对模型的网络参数进行优化,优化的目标是最大化一局游戏的期望奖励。之后,更新完成的模型继续与游戏环境进行交互,利用最新采集到的游戏样本通过dqn算法继续更新网络参数。

该种训练游戏ai的方式非常依赖奖励函数定义的好坏,而且在线训练方式需要与游戏环境进行大量交互,如果没有游戏提供的接口,这种交互会耗费大量时间。即,由于该种方案需要大量与游戏环境交互的样本,而市面上的游戏大多没有提供相关接口,所以会耗费大量时间。

另外,在某些游戏状态下,游戏人物采取任何游戏动作可能都不会对游戏结局造成不良影响。比如,参见图2,在游戏人物行走在平地上这个游戏状态下,游戏人物无论采取何种游戏动作都可以,均不会对游戏结局造成不良影响。针对这类样本,其动作标签并不固定,而若在训练游戏ai过程中,为这类样本设置与重要样本相同的权重,会导致模型训练方向走偏,达不到较好的训练效果。

基于以上描述可知,dqn算法由于进行在线训练需要与游戏环境进行大量交互,因此如果没有游戏内部接口,则会耗费大量时间,无法快速训练游戏ai。而若给予每一个游戏样本相同的权重,会导致游戏ai难以达到较好的训练效果。

基于此,本申请实施例在训练游戏ai时,提出了一种基于重要样本的模仿学习方法,该方法首先通过游戏录制来获取游戏样本,无需与游戏环境进行交互,该种离线训练方式能够加速游戏ai训练;另外,还能够挑选游戏录制过程中的重要样本,并提升重要样本对网络参数的影响。即,采用该种模仿学习方法,实现了在通过游戏录制获取少量游戏样本的情况下,自动挑选出游戏样本中的重要样本,同时在训练时会给予重要样本更高的权重,从而提升游戏ai的效果。

其中,游戏样本中除重要样本之外的其他样本,在本文中也可称之为无效样本。无效样本在模仿学习过程中属于不需要模仿的样本。

综上所述,本申请实施例在游戏ai训练过程中,利用机器学习方法,挑选游戏录制过程中的重要样本并基于重要样本进行模仿学习,能够达到:

第一、通过挑选出对应游戏过程中关键时刻的重要样本,并在训练时给予重要样本更高的权重,使得重要样本的权重高于无效样本,能够提升重要样本对网络参数的影响,同时降低了重要性较低的无效样本对网络参数的影响,达到了更好的游戏ai效果。

第二、本申请实施例通过游戏录制来获取针对特定游戏的游戏样本,由于该种方式属于离线训练方式不需要与游戏环境进行交互,因此模型能够在较短时间内达到收敛。即,通过游戏录制获取游戏样本的方式,能够加快训练游戏ai的速度。

下面对本申请实施例提供的一种模型训练方法涉及的实施环境进行介绍。

参见图3,该实施环境中包括模型训练设备301和模型应用设备302。

在ai模型训练阶段,模型训练设备301完成基于重要样本的模仿学习,训练出游戏ai,主要包括如下三个阶段:

首先,模型训练设备301进行游戏录制,得到针对特定游戏的多局游戏样本。其中,一个游戏样本中包括一帧游戏画面图像和相应的动作标签。

之后,模型训练设备301采用预先训练的深度网络,提取每个游戏样本中游戏画面图像的深度特征,并使用聚类方法将提取到的深度特征聚类成多个类别;之后,统计每一个类别中出现的动作标签数量。如果一个类别中的游戏样本对应的动作标签高度一致,则该类别中的游戏样本是游戏过程中的重要样本,其中,重要样本对应游戏中的关键时刻。

反之,如果一个类别中的游戏样本对应的动作标签数量很多,则说明在这一游戏状态下可以采取多种游戏动作,该类别中的游戏样本并非游戏过程中的重要样本,该类游戏样本并不对应游戏中的关键时刻。

在模仿学习的训练过程中,模型训练设备301会将重要样本的权重提高,使之对网络参数的影响更大。而针对重要性较低的样本,则会降低其对网络的影响,减小该类游戏样本的权重。换一种表达方式,模型训练设备301能够提取游戏录制过程中生成的重要样本,进而在训练游戏ai时给予重要样本更高的权重,提升这些样本对网络参数的影响,从而实现训练效果更好的游戏ai。

在一种可能的实现方式中,上述模型训练设备301和模型应用设备302可以是具有机器学习能力的计算机设备,比如,该计算机设备可以是个人电脑、平板电脑、笔记本电脑、智能手机等,本申请实施例对此不进行具体限定。

作为一个示例,上述模型训练设备301和模型应用设备302可以是同一个设备,或者,模型训练设备301和模型应用设备302也可以是不同的设备。并且,当模型训练设备301和模型应用设备302是不同的设备时,模型训练设备301和模型应用设备302可以是同一类型的设备,比如模型训练设备301和模型应用设备302可以都是智能手机;或者,模型训练设备301和模型应用设备302也可以是不同类型的设备,比如模型训练设备301可以是智能手机,而模型应用设备302可以是平板电脑,本申请实施例对此不进行具体限定。

其中,模型训练设备301在训练好游戏ai后,模型应用设备302通过使用训练好的游戏ai能够模拟真实玩家进行游戏。

作为一个示例,如图3所示,模型应用设备302可为智能手机或平板电脑等移动终端。其中,模型应用设备302上安装有可提供游戏场景的游戏应用,该游戏应用通常需要服务器提供后台支持。玩家可通过模型应用设备302来控制游戏场景中属于自己的角色对象。

需要说明的是,针对不同类型的游戏来说,还需训练不同的游戏ai。换一种表达方式,本申请实施例提供的模型训练方法能够适用于各种游戏,仅需模型训练设备301获取不同类型游戏的游戏样本执行模型训练即可。

下面对本申请实施例提供的模型训练方法进行详细地解释说明。

另外,在下文中出现的诸如第一、第二、第三、第四等描述,仅是用于区分不同的对象,而不构成任何其他的限定。

图4是本申请实施例提供的一种模型训练方法的流程图。以训练游戏ai为例,则参见图4,本申请实施例提供的方法流程包括:

401、模型训练设备获取多个训练样本。

在本申请实施例中,训练样本的获取通过游戏录制实现。即,在目标游戏程序的运行过程中,对当前显示的游戏过程进行录制,得到多个游戏样本。

在一种可能的实现方式中,可通过人工触发进行短时间的游戏录制。比如,在检测到目标游戏程序启动后,立即对当前显示的游戏过程进行录制;或者,当在游戏过程中接收到人工触发游戏录制指令时,对当前显示的游戏过程进行录制,本申请实施例对此不进行具体限定。

作为一个示例,游戏界面中可显示游戏录制按钮。当检测到用户触发该按钮时,确定接收到游戏录制指令,启动游戏录制。另外,在启动录制后,还可通过再次触发该按钮来暂停录制。

另外,由于很多游戏一局的时长较短,而为了收集足够多的游戏样本,本申请实施例可对游戏进行多局录制,即获取针对游戏的多局游戏样本。

在一种可能的实现方式中,在进行游戏录制时还可设置录制参数。其中,录制参数包括但不限于录制频率等。作为一个示例,录制频率可设置为1秒10帧,本申请实施例对此不进行具体限定。

需要说明的是,针对不同的游戏来说,在进行游戏录制时针对的游戏动作不同。即,录制的游戏动作跟游戏类型相关。例如,参见图5至图7,针对飞车游戏,录制的游戏动作通常为左移、右移和漂移;针对酷跑游戏,录制的游戏动作通常为下蹲和跳跃。另外,还可以将动作按钮的组合定义成新的游戏动作,比如,将飞车游戏中同时按下左移按钮和漂移按钮的行为定义为左漂移动作。

在本公开实施例中,在游戏录制过程中,会保留游戏画面图像和对应的游戏动作,其中,游戏动作在游戏样本中以动作标签的形式表征。

换一种表达方式,每个游戏样本中均包括游戏画面图像和相应的动作标签,其中,动作标签给出了角色对象在该游戏画面图像中采取的游戏动作。而游戏画面图像反应了当前的游戏状态。

在游戏录制过程中,不同游戏动作对应的样本数量之间通常差异巨大,为了防止训练出的ai模型偏向于特定游戏动作,本申请实施例还会对录制的样本进行重新采样,以确保每一个游戏动作对应的样本数量均超过一个阈值,这个阈值在本文中也称之为第二阈值。

需要说明的是,在本文中将重新采样之前录制的样本称之为初始样本,题干中出现的多个游戏样本指代的是完成采样处理后用于训练游戏ai的样本。

则,对当前显示的游戏过程进行录制得到多个游戏样本,包括下述步骤:

4011、基于目标时长对当前显示的交互过程进行录制,得到初始样本。

其中,目标时长的取值可为30分钟,本申请实施例对此不进行具体限定。

4012、对初始样本进行重新采样处理,得到用于训练ai模型的多个游戏样本。其中,在这多个游戏样本中每个游戏动作对应的样本数量均大于第二阈值。

在一种可能的实现方式中,第二阈值的取值设置方式可参考下述规则:基于1/c来设置第二阈值,即每一个游戏动作对应的样本数量占比为1/c,其中,c为指代录制游戏过程中的游戏动作总数量。

402、模型训练设备对每个游戏样本中包括的游戏画面图像进行特征提取,并基于提取到的特征进行聚类。

在本申请实施例中,模型训练设备通常基于预先训练好的网络模型来提取游戏画面图像的特征。其中,该网络模型区别于图8所示的深度网络,该网络模型是用于提取游戏画面图像的深度特征,以用于后续的聚类过程。

其中,该网络模型可基于大规模数据库预先训练好,该大规模数据库可来源于公开的网络数据集,该网络模型可为cnn(convolutionalneuralnetwork,卷积神经网络),本申请实施例对此不进行具体限定。

在一种可能的实现方式中,在基于提取到的特征进行聚类时聚类算法可采取k-means算法,也称为k均值聚类算法,其是一种迭代求解的聚类分析算法。其中,k-means中的k指代类或簇的个数,means指代类或簇内数据对象的均值(这种均值是一种对类或簇中心的描述)。简言之,k-means算法是一种基于划分的聚类算法,以距离作为数据对象之间相似性度量的标准,即数据对象之间的距离越小,它们的相似性越高,它们越有可能在同一个类或簇。其中,k-means算法的聚类步骤包括:

首先,随机选取k个数据对象作为初始的聚类中心,然后计算其他每个数据对象与作为种子的各个聚类中心之间的距离,将其他每个数据对象分配给距离它最近的聚类中心。其中,聚类中心以及分配给它们的数据对象即代表一个聚类。其中,每分配一个数据对象,该聚类的聚类中心便会根据该聚类中现有的数据对象被重新计算。这个过程将不断重复直到满足某个终止条件。其中,终止条件包括但不限于:没有数据对象被重新分配给不同的聚类,或者,没有聚类中心再发生变化,误差平方和局部最小。

在本申请实施例中,数据对象即是提取到的各个游戏画面图像的特征。其中,聚类的类别个数可以根据经验设定,比如,通过k-means算法可将游戏样本分为10个类别,即是将游戏样本中包含的游戏画面图像分类为10个类别,本申请实施例对此不进行具体限定。

403、模型训练设备基于得到的聚类结果,在多个游戏样本中确定至少一个关键样本。

其中,关键样本在本文中也称之为重要样本,即关键样本为需采取特定游戏动作的游戏画面图像对应的样本。

在游戏过程中,大多情况下采用任意的游戏动作均不会对游戏结果造成不良影响,对应的游戏样本在模仿学习过程中属于不需要进行模仿的样本,考虑到这些样本不会对模型训练带来增益,而且由于这些样本中不同样本之间的外观差异很小,若不进行重要样本和无效样本区分,并对重要样本和无效样本设置不同的权重,则会让ai模型走偏,难以收敛。因此,在步骤401得到游戏样本后,还需先基于聚类算法提取游戏录制过程中的重要样本。

在一种可能的实现方式中,基于得到的聚类结果,在多个游戏样本中确定重要样本,包括但不限于:

4031、统计聚类出来的每一个类别包含的动作标签数量。

针对该步骤,统计动作标签数量即是统计每一个类别对应的游戏动作数量。由于已经基于聚类结果对游戏样本进行分类,因此基于一个类别对应的游戏样本的动作标签,便可确定该类别对应的游戏动作总数量。

作为一个示例,假设一个类别中的动作标签包括跳跃动作和下蹲动作,则动作标签数量为2个。

4032、对于聚类出来的任意一个类别,当该类别包含的动作标签数量低于第一阈值时,将该类别对应的游戏样本确定为重要样本。

针对该步骤,如果一个类别对应的动作标签较为统一,则将该类别对应的游戏样本确定为游戏过程中的重要样本。作为一个示例,第一阈值的取值可为1,即该类别包含的游戏动作唯一,本申请实施例对此不进行具体限定,比如仅包括跳跃动作。

404、模型训练设备为每个游戏样本设置权重,其中,每个关键样本的权重均大于多个训练样本中其他样本的权重。

在申请实施例中,模型训练设备可采取下述方式为每个游戏样本设置权重:对于聚类出来的任意一个类别,将该类别包含的动作标签数量的倒数,确定为该类别对应的游戏样本的权重。

作为一个示例,假设一个类别中游戏样本对应的动作标签数量为n,则将这些游戏样本的权重设置为1/n。其中,n的取值为正整数。

由于重要样本对应的类别中包含的动作标签数量要小于,无效样本对应的类别中包含的动作标签数量,因此采取上述方式为每个游戏样本设置权重后,重要样本的权重自然会大于无效样本的权重。

405、模型训练设备基于带权重的多个游戏样本,更新深度网络的网络参数。

针对设置有权重的任意一个游戏样本,模型训练设备会将该游戏样本中包含的交互画面即游戏图像作为深度网络的输入,动作标签作为优化深度网络的考量,进而训练图8所示的深度网络。其中,在训练深度网络的过程中,由于重要样本给予了相较于无效样本更高的权重,因此增大了重要样本在网络更新过程中对网络参数的影响,同时弱化了无效样本对网络参数的影响。

在一种可能的实现方式中,基于带权重的多个游戏样本,更新深度网络的网络参数,包括但不限于:

4051、对于任意一个游戏样本,提取该游戏样本包含的游戏画面图像中的特定区域,并对提取到的图像区域进行缩放处理,得到预设大小的第一图像。

作为一个示例,模型训练设备在该游戏画面图像中挑选对动作具备判别力的区域,即特定区域在本文中指代对动作具有判别力的区域,本申请实施例对此不进行具体限定。

在一种可能的实现方式中,对动作具有判别力的区域通常指代游戏画面图像中角色对象的周边区域,比如以角色对象所在位置为中心,一定范围的区域划分为特定区域。其中,该特定区域的大小可人工自行设置,本申请实施例对此不进行具体限定。

其中,预设大小可为150*150像素大小,即将提取到的图像区域缩放至150*150像素大小,然后将150*150像素大小的图像输入至图8所示的深度网络。

4052、将预设大小的图像输入深度网络中,获取深度网络输出的动作预测结果。

在本申请实施例中,为了加快网络训练速度以及减小网络消耗的计算机资源,本申请实施例采用轻量化深度网络,参见图8,该轻量化的网络结构采用8层卷积层(convolution),4层池化层(maxpooling)以及两层全连接层。

其中,输出的动作预测结果是深度网络给出的在相应游戏画面图像下执行每一个游戏动作的后验概率。

4053、基于与该游戏样本对应的损失函数,确定该游戏样本包含的实际游戏动作与动作预测结果给出的估计动作是否匹配。

在本申请实施例中,每一个游戏样本均设置有一个带权重的损失函数。作为一个示例,该损失函数可为带权重的交叉熵损失函数,本申请实施例对此不进行具体限定。其中,损失函数的公式如下:

其中,w指代游戏样本的权重,c指代游戏动作的总数量,i指代动作类别,取值为1至c,yi指代游戏样本包含的游戏动作是否属于第i个类别,指代深度网络输出的、在游戏样本包含的游戏画面图像下执行第i个类别动作的后验概率,w的取值为0至1,c的取值为正整数。

需要说明的是,上述提及的动作预测结果给出的估计动作,指代的是最大后验概率对应的游戏动作,本申请实施例对此不进行具体限定。

另外,本申请实施例基于上述带权重的损失函数,能够提升重要样本对网络参数的影响。

4054、当实际游戏动作与估计动作不匹配时,不断迭代更新深度网络的网络参数,直至深度网络收敛。

其中,实际游戏动作即指代该游戏样本包含的动作标签指示的游戏动作。

作为一个实例,可通过梯度后向传递方式来迭代更新网络参数,本申请实施例对此不进行具体限定。

本申请实施例提供的方法,至少具有以下有益效果:

本申请实施例通过游戏录制来获取针对某一游戏的游戏样本,由于该种方式属于离线训练方式不需要与游戏环境进行交互,因此深度网络能够在较短时间内达到收敛。即,通过游戏录制获取游戏样本的方式,能够加快训练游戏ai的速度。

另外,本申请实施例在获取到游戏样本后,会提取游戏样本的深度特征并根据提取到的深度特征进行聚类,进而基于聚类结果来挑选出对应游戏过程中关键时刻的重要样本,并在训练时给予重要样本更高的权重,使得重要样本的权重高于无效样本,能够提升重要样本对网络参数的影响,降低了重要性较低的无效样本对网络参数的影响,达到了更好的游戏ai效果。

综上所述,由于本申请实施例提供的基于重要样本的模仿学习方式,能提升重要样本对模型训练的权重,使得深度网络能学习更具判别力的抽象特征,学习出来的深度网络在游戏过程中也能获得更好的游戏效果。

在另一个实施例中,在训练完毕图8所示的深度网络后,可根据训练好的深度网络进行测试。其中,测试过程即可以在ai模型测试设备上执行,本申请实施例对此不进行具体限定。在测试阶段,针对特定游戏,首先得到反应当前游戏状态的游戏画面图像,然后将其输入到训练好的深度网络中,训练好的深度网络会输出在当前游戏状态下执行每个动作的后验概率。作为一个示例,可通过最大后验概率的方式来挑选当前游戏状态下角色对象应执行的动作。其中,动作的频率可为一秒10个动作,本申请实施例对此不进行具体限定。

即,参见图9,上述过程可归纳为:

901、获取应用图像,提取应用图像中的特定区域;对提取到的图像区域进行缩放处理,得到预设大小的第二图像。

902、将预设大小的第二图像输入训练好的深度网络中。

903、获取训练好的深度网络输出的后验概率,输出的后验概率包括在应用图像反应的游戏状态下采取每一个类别动作的概率。

904、将数值最大的后验概率指示的游戏动作,确定为在应用图像反应的游戏状态下执行的动作。

在另一个实施例中,若训练好的深度网络通过测试,则可在模型应用设备上部署训练好的游戏ai,从而使得模型应用设备可以模仿真实玩家进行游戏,即基于训练好的游戏ai控制角色对象在不同的游戏状态下采取适配的游戏动作。其中,模型应用设备在游戏场景下,采取诸如上述步骤901至步骤904所述的步骤为控制的角色对象挑选动作。另外,游戏ai的引入场景包括但不限于单机模式下、需要托管的模式下、玩家匹配不足的情况下,本申请实施例对此不进行具体限定。

在另一个实施例中,参见图10,本申请实施例提供的模型训练方法的整体执行流程包括:

1001、对游戏进行录制,得到游戏样本。

在本申请实施例中,可针对不同类型游戏训练不同的游戏ai,仅需对不同类型游戏进行游戏录制,获取相应的游戏样本进行训练即可。比如飞车游戏对应一个游戏ai;酷跑游戏对应另一个游戏ai。

1002、提取游戏样本的深度特征。

其中,深度特征属于游戏样本的抽象特征,通过预先训练好的深度网络模型即可提取每一个游戏样本的深度特征。

1003、根据提取到的深度特征进行聚类。

在聚类过程中,本申请实施例采用预先训练好的深度网络模型提取单帧的深度特征,然后针对各帧的深度特征采用k-means算法进行聚类。除此之外,也可以通过lstm(longshort-termmemory,长短期记忆)网络提取多帧的时序特征,将该多帧的时序特征作为聚类的根据,本申请实施例对此不进行具体限定。

1004、根据聚类结果挑选重要样本。

该步骤请参见前述步骤403中的描述。

1005、训练深度网络,在训练过程中重要样本给予更高的权重。

该深度网络的网络结构如图8所示,给予更高的权重的含义是重要样本的权重大于非重要的无效样本的权重。

在另一种实施例中,由于录制的游戏样本数量相对较少,且录制的游戏样本中冗余较多,为了防止训练出来的深度网络过拟合,还可以在深度网络的损失函数中加入正则化损失,以防止网络参数过于复杂。其中,过拟合的含义是过度的拟合了训练数据,而没有考虑到泛化能力,训练出来的网络在训练集上表现很好,但是在测试集上表现较差。为此,本申请实施例可选择使用正则化,即在损失函数中加入惩罚项(权重),即正则化项,减少测试结果对整体结果的影响。

在另一种实施例中,鉴于录制的游戏样本数量相对较少,还可采取扩充样本数量的方式来防止过拟合。在一种可能的实现方式中,可采用随机裁剪或缩放录制的游戏样本的方式来增加用于训练游戏ai的样本数量,本申请实施例对此不进行具体限定。

图11是本申请实施例提供的一种模型训练装置的结构示意图。参见图11,该装置包括:

获取模块1101,用于获取多个训练样本,每个所述训练样本中均包括交互画面和动作标签,所述动作标签给出了角色对象在所述交互画面中采取的交互动作;

特征提取模块1102,用于对每个所述训练样本中包括的交互画面进行特征提取,基于提取到的特征进行聚类;

筛选模块1103,用于根据得到的聚类结果在所述多个训练样本中确定至少一个关键样本,所述关键样本为所述角色对象需执行特定交互动作的交互画面对应的样本;

设置模块1104,用于为每个所述训练样本设置权重,

训练模块1105,用于基于带权重的所述训练样本更新深度网络的网络参数,每个所述关键样本的权重均大于所述多个训练样本中其他样本的权重。

本申请实施例提供的装置,在ai模型训练过程中,首先对当前显示的交互过程进行录制得到训练样本;之后,对每个训练样本中包括的交互画面进行特征提取,并基于提取到的特征进行聚类;之后,根据得到的聚类结果挑选关键样本,该关键样本为角色对象需执行特定交互动作的交互画面对应的样本;之后,为每个训练样本设置权重,其中,设置原则为关键样本的权重大于其他样本的权重,进而基于带权重的训练样本更新深度网络的网络参数。基于以上描述可知,本申请实施例基于聚类结果能够挑选出对应交互过程中关键时刻的关键样本,并在训练时给予关键样本更高的权重,使得关键样本的权重高于其他样本,不但能够提升关键样本对网络参数的影响,而且降低了重要性较低的其他样本对网络参数的影响,达到了更好的ai模型训练效果。

在一种可能的实现方式中,所述聚类结果将所述多个训练样本划分为至少两个类别;

筛选模块1103,还用于统计所述至少两个类别中每一个类别包含的动作标签数量;对于任意一个类别,当所述类别包含的动作标签数量低于第一阈值时,将所述类别对应的训练样本确定为所述关键样本。

在一种可能的实现方式中,设置模块1104,还用于对于任意一个类别,将所述类别包含的动作标签数量的倒数,确定为所述类别对应的训练样本的权重。

在一种可能的实现方式中,获取模块1101,还用于基于目标时长对当前显示的交互过程进行录制,得到初始样本;对所述初始样本进行重新采样处理,得到所述多个训练样本;

其中,所述多个训练样本中每个交互动作对应的样本数量均大于第二阈值。

在一种可能的实现方式中,训练模块1105,还用于对于任意一个训练样本,提取所述训练样本中包括的交互画面中的特定区域,对提取到的图像区域进行缩放处理,得到预设大小的第一图像;将所述第一图像输入所述深度网络中,获取所述深度网络输出的动作预测结果;基于与所述训练样本对应的损失函数,确定所述训练样本中包含的动作标签指示的交互动作与所述动作预测结果给出的估计动作是否匹配;当所述动作标签指示的交互动作与所述估计动作不匹配时,不断迭代更新所述深度网络的网络参数,直至所述深度网络收敛。

在一种可能的实现方式中,与所述训练样本对应的损失函数如下:

其中,w指代所述训练样本的权重,c指代交互动作的总数量,i指代动作类别,取值为1至c,yi指代所述动作标签指示的交互动作是否属于第i个类别,指代所述深度网络输出的、在所述训练样本中包括的交互画面下执行第i个类别动作的后验概率,w的取值为0至1,c的取值为正整数。

在一种可能的实现方式中,该装置还包括:

获取模块,用于获取应用图像;

所述特征提取模块,还用于提取所述应用图像中的特定区域;

处理模块,用于对提取到的图像区域进行缩放处理,得到预设大小的第二图像,将所述第二图像输入训练好的深度网络中;

确定模块,用于获取所述训练好的深度网络输出的后验概率,所述后验概率包括在所述应用图像反应的交互状态下采取每一个类别动作的概率;将数值最大的后验概率指示的交互动作,确定为在所述应用图像反应的交互状态下执行的动作。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的模型训练装置在进行模型训练时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图12示出了本申请一个示例性实施例提供的模型训练设备1200的结构框图。该设备1200可以是移动终端,比如:智能手机、平板电脑等。

通常,设备1200包括有:处理器1201和存储器1202。

处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的模型训练方法。

在一些实施例中,设备1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。

外围设备接口1203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1204用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1205用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置设备1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在设备1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在设备1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在设备1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。

定位组件1208用于定位设备1200的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1208可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1209用于为设备1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,设备1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。

加速度传感器1211可以检测以设备1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1212可以检测设备1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对设备1200的3d动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1213可以设置在设备1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在设备1200的侧边框时,可以检测用户对设备1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置设备1200的正面、背面或侧面。当设备1200上设置有物理按键或厂商logo时,指纹传感器1214可以与物理按键或厂商logo集成在一起。

光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。

接近传感器1216,也称距离传感器,通常设置在设备1200的前面板。接近传感器1216用于采集用户与设备1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与设备1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与设备1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图12中示出的结构并不构成对设备1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图13是本申请实施例提供的另一种模型训练设备的结构示意图,该设备1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1301和一个或一个以上的存储器1302,其中,所述存储器1302中存储有至少一条指令,所述至少一条指令由所述处理器1301加载并执行以实现上述各个方法实施例提供的模型训练方法。当然,该设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该设备还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由设备中的处理器执行以完成上述实施例中的模型训练方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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