基于人工智能的游戏对局方法、装置、设备及存储介质

文档序号:1347388 发布日期:2020-07-24 浏览:32次 >En<

阅读说明:本技术 基于人工智能的游戏对局方法、装置、设备及存储介质 (Game game-play method, device, equipment and storage medium based on artificial intelligence ) 是由 杜雪莹 石贝 王亮 付强 于 2020-03-24 设计创作,主要内容包括:本申请提供了一种基于人工智能的游戏对局方法、装置、设备及存储介质;所述方法包括:响应于接收到的加入游戏对局的操作指令,获取在所述游戏对局中所有参与者的游戏对局数据流;通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块;基于所述预测结果确定目标游戏策略;将所述目标游戏策略发送至服务器。如此,能够提高游戏策略的准确性。(The application provides a game match method, a device, equipment and a storage medium based on artificial intelligence; the method comprises the following steps: responding to a received operation instruction for joining the game play, and acquiring game play data streams of all participants in the game play; carrying out prediction operation on the game match data stream through a trained neural network model to obtain a prediction result, wherein the trained neural network model at least comprises a self-attention coding module; determining a target game strategy based on the prediction result; and sending the target game strategy to a server. Thus, the accuracy of the game strategy can be improved.)

基于人工智能的游戏对局方法、装置、设备及存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的游戏对局方法、装置、设备及存储介质。

背景技术

人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。从诞生以来,人工智能理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。例如通过人工智能技术实现的阿尔法狗(Alpha zero),已经在棋类游戏里战胜了最顶尖的人类。

相比棋类游戏,多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA),例如DOTA 2、英雄联盟、王者荣耀,游戏机制更加复杂,且更接近真实世界的场景。由于在MOBA游戏中,玩家需要对抗和合作的游戏单元数量众多,丰富的游戏单元既使得游戏场景更加多元化,也增加了游戏AI策略模块的学习复杂度。因此如何在瞬息万变的游戏对抗中,确定准确的游戏策略是提升游戏AI能力的关键。

发明内容

本申请实施例提供一种基于人工智能的游戏对局方法、装置及存储介质,能够提高游戏AI能力。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种基于人工智能的游戏对局方法,包括:

响应于接收到的加入游戏对局的操作指令,获取在所述游戏对局中所有参与者的游戏对局数据流;

通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块;

基于所述预测结果确定目标游戏策略;

将所述目标游戏策略发送至服务器。

本申请实施例提供一种基于人工智能的游戏对局装置,包括:

第一获取模块,用于响应于接收到的加入游戏对局的操作指令,获取在所述游戏对局中所有参与者的游戏对局数据流;

预测模块,用于通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块;

第一确定模块,用于基于所述预测结果确定目标游戏策略;

发送模块,用于将所述目标游戏策略发送至服务器。

本申请实施例提供一种基于人工智能的游戏对局设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。

本申请实施例具有以下有益效果:

在本申请实施例提供的基于人工智能的游戏对局方法中,在接收到游戏对局请求后,获取在所述游戏对局中所有参与者的游戏对局数据流;进而通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块,并基于所述预测结果确定目标游戏策略;将所述目标游戏策略发送至服务器,如此能够通过自注意力机制将注意力集中到当前操作的目标上,从而使得AI更有效的选择目标,提高AI的微操能力。

附图说明

图1A为相关技术中Open AI Five采用的网络结构示意图;

图1B为本申请实施例游戏对局方法的网络架构示意图;

图2是本申请实施例提供的游戏对局终端100的组成结构示意图;

图3为本申请实施例提供的基于人工智能的游戏对局方法的一种实现流程示意图;

图4为本申请实施例提供的利用自注意力编码模块进行编码的实现流程示意图;

图5为本申请实施例提供的进行游戏对局的网络模型的结构示意图;

图6为本申请实施例自注意力编码模块的结构示意图;

图7为本申请实施例提供的可视化AI的注意力热力图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

1)MOBA游戏,这类游戏的玩法是:在战斗中一般需要购买装备,玩家通常被分为两队,两队在分散的游戏地图中互相竞争,每个玩家都通过一个RTS风格的界面控制所选的角色;

2)神经网络,又可以称为神经网络模型,是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。

3)全连接层,每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。

4)注意力机制,一种可以使得神经网络具备专注于其输入(或特征)子集的能力:选择特定的输入的机制。注意力机制核心目标是从众多信息中选择出对当前任务目标更关键的信息。

5)自注意力机制,是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。

6)游戏对局数据流:是指在游戏对局中将多个对局数据帧进行编码形成的适用于在网络中传输的码流。

为了更好地理解本申请实施例,首先对相关技术中的游戏对局方法及存在的确定进行说明。

MOBA游戏的典型玩法是5v5,即两支分别由5个玩家组成的队伍之间进行对抗,每个玩家控制一个英雄角色,先推掉对方水晶基地的一方为获胜方。在游戏中,玩家所扮演的英雄角色除了要与敌方玩家的英雄进行对抗之外,还存在小兵、野怪、防御塔等游戏单元与英雄角色进行对抗,我们把小兵,野怪,防御塔,英雄统称为游戏单元(Unit)。

MOBA游戏中玩家需要对抗和合作的游戏单元数量众多,以王者荣耀为例,一局游戏中包含10个英雄,22座塔,20多种不同的野怪以及不断重生的几十只小兵,同时存在的游戏单元有上百种。丰富的游戏单元既使得游戏场景更加多元化,也增加了游戏AI策略模块的学习复杂度。在瞬息万变的游戏对抗中,每一个决策都与这些游戏单元息息相关。如何对上百种游戏单元进行有效的表达,是MOBA类游戏AI学好策略模块的关键因素之一。

在相关技术中,进行游戏对局的技术方案是同为MOBA游戏AI的Open AI Five,一个基于DOTA2的游戏AI方案。DOTA2与其他MOBA游戏类似,也包含英雄、小兵、野怪、塔等多个游戏单元。图1A为相关技术中Open AI Five采用的网络结构示意图,如图1A所示,该网络为全连接网络,其中包括两个全连接层和一个最大池化层,最大池化层和输出层中间还用了长短期记忆层(Long Short Term Memory,LSTM)。Open AI Five的输入为多个游戏单元的特征向量,输出为英雄的执行策略,包含英雄动作、移动、攻击目标、偏移量和延时。

上述游戏对局方法存在的缺点包括以下几点:

第一、该方案的模型将游戏单元按照英雄、塔、小兵、野怪几种类别分开,每个类别单独进行编码,利用最大池化层来找到最重要的小兵、塔、英雄、野怪,但却缺乏对不同类别游戏单元的比较,导致AI难以学习到有效的攻击目标。

第二、简单地通过全连接层和最大池化层来编码游戏单元,会有信息丢损,次要信息会被更重要的信息覆盖,从而影响游戏AI的决策能力。

第三、游戏AI的目标选择与游戏单元强相关,该方案模型未能将游戏单元的编码与策略模块的目标选择统一建模,导致AI学习策略模块的难度较大。

基于此,本申请实施例提供一种游戏对局方法,提供一种基于自注意力机制的编码模型,通过更加合理的模型设计,提高游戏AI的目标选择能力,从而提升游戏AI的决策水平。

下面说明实现本申请实施例的装置的示例性应用,本申请实施例提供的装置可以实施为终端设备。下面,将说明装置实施为终端设备时涵盖终端设备的示例性应用。

参见图1B,图1B为本申请实施例游戏对局方法的网络架构示意图,如图1B所示,在该网络架构中至少包括游戏对局终端100(在图1B中示例性地示出游戏对局终端100-1和游戏对局终端100-2,其中游戏对局终端100-1由真人操控,游戏对局终端100-2为本申请实施例提供的游戏对局方法所应用的终端)、服务器200和网络300。为实现支撑一个示例性应用,游戏对局终端100-1和游戏对局终端100-2分别通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。

游戏对局终端100-1和游戏对局终端100-2中可以安装有游戏客户端,进而通过该游戏客户端进行游戏,但是游戏客户端也不是必须的,游戏对局终端100还可以通过网页进行游戏。在进行游戏对局时,对局双方会进行一定的操作并将操作数据发送至服务器,以使得服务器根据操作数据进行游戏判决。在本申请实施例中,游戏对局终端100-2在游戏对局过程中,获取所有参与方的游戏对局数据后,利用训练好的神经网络模型,对游戏对局数据流进行预测处理,得到目标策略,并将目标策略发送至服务器,以进行游戏对局。该训练好的神经网络模型至少包括基于自注意力编码模块,从而保证目标策略的目标对象和采用的技能都更加准确。

本申请实施例提供的装置可以实施为硬件或者软硬件结合的方式,下面说明本申请实施例提供的装置的各种示例性实施。

根据图2示出的游戏对局终端100的示例性结构,可以预见游戏对局终端100的其他的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。

图2所示的游戏对局终端100包括:至少一个处理器110、存储器140、至少一个网络接口120和用户接口130。游戏对局终端100中的每个组件通过总线系统150耦合在一起。可理解,总线系统150用于实现这些组件之间的连接通信。总线系统150除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统150。

用户接口130可以包括显示器、键盘、鼠标、触感板和触摸屏等。

存储器140可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Acces s Memory)。本申请实施例描述的存储器140旨在包括任意适合类型的存储器。

本申请实施例中的存储器140能够存储数据以支持游戏对局终端100的操作。这些数据的示例包括:用于在游戏对局终端100上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。

作为本申请实施例提供的方法采用软件实施的示例,本申请实施例所提供的方法可以直接体现为由处理器110执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器140,处理器110读取存储器140中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器110以及连接到总线150的其他组件)完成本申请实施例提供的方法。

作为示例,处理器110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的游戏对局方法。

为了更好地理解本申请实施例提供的方法,首先对人工智能、人工智能的各个分支,以及本申请实施例提供的方法所涉及的应用领域进行说明。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。以下对各个方向分别进行说明。

计算机视觉技术(CV,Computer Vision)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OC R、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR,AutomaticSpeech Recognition)和TTS技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。

自然语言处理(NLP,Nature Language processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。

自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自定驾驶技术有着广泛的应用前景。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

本申请实施例提供的方案涉及人工智能的机器学习等技术,具体通过如下实施例进行说明。

参见图3,图3为本申请实施例提供的基于人工智能的游戏对局方法的一种实现流程示意图,应用于图1所示的游戏对局终端,将结合图3示出的步骤进行说明。

步骤S101,游戏对局终端响应于加入游戏对局的操作指令,获取在游戏对局中所有参与者的游戏对局数据流。

这里,游戏对局终端可以是移动电话(手机)、平板电脑、笔记本电脑等具有无线通信能力的移动终端,还可以实施为不便移动的具有计算功能的台式计算机、桌面电脑等。游戏对局终端中安装有游戏客户端,当然,游戏对局终端中还可以安装有其他应用客户端,例如可以安装有游戏应用客户端、购物应用客户端、浏览器应用客户端等。

通过游戏对局终端安装的游戏客户端,接收加入游戏对局的操作指令,以请求加入游戏对局,进而可以与其他游戏对局终端进行对局游戏。该加入游戏对局的操作指令中携带有游戏对局的标识。步骤S101在实现时,可以是游戏对局终端接收到加入游戏对局的操作指令后,响应于该操作指令,向服务器发送数据获取请求,以获取在游戏对局中所有参与者的游戏对局数据流。服务器在接收到数据获取请求后,解析该数据获取请求,得到游戏对局标识,进而根据游戏对局标识,获取在该游戏对局中所有参与者的游戏对局数据流,并将该游戏对局数据流发送至游戏对局终端。

游戏对局数据流是在游戏对局中用于描述参与者的游戏行为的相关数据。示例性地,游戏对局数据流可以包括所有参与者的基本数据和所有参与者在多轮对局操作中对应的操作序列。

步骤S102,通过训练好的神经网络模型对该游戏对局数据流进行预测操作,得到预测结果。

这里,该训练好的神经网络模型至少包括自注意力编码模块,通过自注意力机制,对AI的目标选择标签和编码模块统一建模,帮助AI更有效的选择目标,提高AI的微操能力,以保证得到的预测结果是将注意力集中在当前操作的目标上。在本申请实施例中,预测结果包括各个要释放的技能的概率,各个释放对象的概率以及各个技能参数的概率。

步骤S103,基于该预测结果确定目标游戏策略。

这里,目标游戏策略中至少包括目标技能、目标技能的释放对象(也即目标释放对象)、目标技能参数。步骤S103在实现时,可以是根据预测结果确定出各个要释放的技能中概率值最高的技能作为目标技能、将各个释放对象中概率值最高的释放对象作为目标释放对象、将各个技能参数中概率值最高的技能参数作为目标技能参数。其中目标技能参数表征释放目标技能的位置相对于目标释放对象的偏移量。

步骤S104,将该目标游戏策略发送至服务器。

这里,将目标游戏策略发送至服务器后,服务器基于该目标游戏策略确定目标技能、目标释放对象和目标技能参数,进而依据目标技能参数向目标释放对象释放目标技能,以实现游戏对局。

在本申请实施例提供的游戏对局方法中,在接收到游戏对局请求后,获取在所述游戏对局中所有参与者的游戏对局数据流;进而通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块,并基于所述预测结果确定目标游戏策略;将所述目标游戏策略发送至服务器,如此能够通过自注意力机制将注意力集中到当前操作的目标上,从而使得AI更有效的选择目标,提高AI的微操能力。

在一些实施例中,在图1所示的步骤S101之前,需要先得到训练好的神经网络模型。在实际实现过程中,可以通过下述的步骤S001至步骤S003训练神经网络模型:

步骤S001,获取训练游戏数据流。

这里,训练游戏数据流是真实的游戏玩家在进行游戏对局时采集到的数据流。在训练游戏数据流中同样包括所有参与者的基本数据和所有参与者在多轮对局操作对应的操作序列。其中,基本数据可以包括参与者的角色信息(例如庄周/韩信/蔡文姬/花木兰,队友/敌对)、身份信息(例如新手/老手,游戏级别)、游戏装备信息、游戏能力值信息等。参与者在多轮对局操作中对应的操作序列可以包括:释放的技能、释放对象等。

步骤S002,对该训练游戏数据流进行解析,以提取出训练特征和训练策略标签。

在实际实现过程中,步骤S002可以通过以下步骤实现:

步骤S021,对所述训练游戏数据流进行解析,确定所述训练游戏数据流中的各个游戏单元。

在本申请实施例中,游戏单元不仅包括游戏中的角色,例如包括游戏中的各个英雄,还包括游戏中的小兵、野怪等,还包括防御塔等固定建筑。

步骤S022,提取各个游戏单元的基础属性特征和关系特征。

这里,所述基础属性特征至少包括生命力特征、位置特征、攻击特征,其中,生命力特征可以用血量表征,攻击特征可以包括物理攻击、法术攻击等,在一些实施例中,基本属性特征还可以包括游戏单元的韧性。所述关系特征至少包括所述游戏单元与其他游戏单元之间的相对位置特征。在一些实施例中,关系特征还可以包括游戏单元与地图信息的相对位置。

步骤S023,提取所述训练游戏数据流中对应的训练技能类型标签、训练目标标签和训练技能参数标签。

在本申请实施例中,采用三层标签的设计:技能类型+目标+技能参数。第一层标签为技能类型标签:表示待释放的技能类型;第二层标签为目标标签,表示待释放技能的目标;第三层标签技能参数标签,表示释放技能位置相对于释放目标的偏移量。分层标签能够模仿人类的操作习惯,并将目标标签与编码网络中的自注意力模块相结合,从而能够更好的学习攻击目标和策略模块。

步骤S003,根据所述训练特征和训练策略标签对神经网络模型进行训练。

这里,步骤S003在实现时,可以是将训练特征输入到神经网络模型中进行处理,从而得到训练特征对应的处理结果,进而再根据处理结果和训练策略标签对神经网络进行反向传播训练,以对神经网络中的参数进行调整。

需要说明的是,上述对神经网络模型进行训练的实现过程可以是由游戏对局终端实现的,也可以是由其他终端设备实现的,其中,这里的其他终端设备可以是服务器,还可以是其他计算能力较高的终端设备。当上述对神经网络模型进行训练的过程是由其他终端设备实现时,在步骤S003之后,在步骤S102之前,所述方法还包括:游戏对局终端获取训练好的神经网络。进一步地,在实现时,可以是游戏对局终端向该终端设备发送模型获取请求,以获取训练好的神经网络模型。

在一些实施例中,上述的步骤S003“根据所述训练特征和策略标签对神经网络模型进行训练”可以通过下述的步骤S031至步骤S032实现,以下对各个步骤进行说明。

步骤S031,将所述各个游戏单元的基础属性特征和关系特征输入至神经网络模型,得到预测技能类型标签、预测目标标签和预测技能参数标签。

在本申请实施例中,步骤S031可以通过以下步骤实现:

步骤S311,将所述各个游戏单元的基础属性特征和关系特征输入至神经网络模型的隐藏层,得到隐藏层输出向量。

这里,步骤S311在实现时可以是将各个游戏单元的基础属性特征和关系特征输入至神经网络模型中的全连接层,并得到各个游戏单元的全连接层的输出向量,进而将各个单元的全连接层的输出向量进行拼接,从而得到隐藏层输出向量。

步骤S312,将所述隐藏层输出向量输入至所述神经网络模型中的自注意力编码模块,得到编码结果和注意力向量。

在本申请实施例中,编码结果表征各个游戏单元被强化或者被弱化的训练特征,注意力向量表征各个游戏单元对其他游戏单元的关注程度。

步骤S313,将编码结果输入至该神经网络模型中的策略预测模块,得到参考策略向量。

这里,步骤S313在实现时,可以是将编码结果输入值策略预测模块中的池化层,进行池化处理得到池化层输出向量,进而再将池化层输出向量输入至L STM层,并得到参考策略向量。其中池化层可以是最大池化层,还可以是平均池化层。

在一些实施例中,步骤S313在实现时,还可以是将编码结果输入值策略预测模块中的全连接层,得到全连接输出向量,进而再将全连接输出向量输入至LSTM层,并得到参考策略向量。

步骤S314,基于该注意力向量和参考策略向量确定预测技能类型标签、预测目标标签和预测技能参数标签。

这里,步骤S314在实现时,可以是将注意力向量和参考策略向量进行点乘或者进行求和运算,从而得到预测策略向量,并基于预测策略向量确定预测技能类型标签、预测目标标签和预测技能参数标签。

步骤S032,利用训练技能类型标签、训练目标标签、训练技能参数标签、预测技能类型标签、预测目标标签和预测技能参数标签对所述神经网络模块进行反向传播训练。

这里,利用训练技能类型标签、训练目标标签、训练技能参数标签预测技能类型标签、预测目标标签和预测技能参数标签对所述神经网络模块进行反向传播训练,以对神经网络模型中的参数进行调整,以使得利用神经网络模型的参数满足预设的优化目标,从而得到训练好的神经网络模型。

通过上述步骤S031至步骤S032,能够得到训练好的神经网络模型,并且利用该训练好的神经网络模型在对游戏策略进行预测时,利用自注意力机制将注意力集中到当前操作的目标对象,从而提高游戏策略的准确性。

在一些实施例中,步骤S312“将该隐藏层输出向量输入至该神经网络模型中的自注意力编码模块,得到编码结果和注意力向量”可以通过如图4所示的步骤S3121至步骤S3123实现,以下对各个步骤进行说明。

步骤S3121,基于该神经网络模型的投影参数,对该隐藏层输出向量进行线性投影,得到投影结果。

在实现时,可以是基于神经网络模型的投影参数Wq、Wk、Wv,对该隐藏层输出向量进行线性投影,分别得到隐藏层输出向量在三个空间的投影向量,也即分别得到投影结果Q、K、V。

步骤S3122,基于该投影结果和预设的归一化指数函数确定注意力向量。

这里,该注意力向量表征各个游戏单元对其他游戏单元的关注程度。步骤S3122在实现时,可以按照公式(1-1)利用softmax函数和投影结果确定注意力向量:

其中,Attention(Q,K,V)为注意力向量,dk为投影结果K的维度。

步骤S3123,基于该注意力向量对各个游戏单元的训练特征进行编码,得到编码结果。

这里,步骤S3123在实现时,可以是将该注意力向量与各个游戏单元的训练特征进行点乘,从而得到编码结果,也即该编码结果表征各个游戏单元被强化或者被弱化的训练特征。

通过上述的步骤S3121至步骤S3123,能够实现通过自注意力编码模块,对隐藏层输出向量进行编码,从而得到表征强化或者弱化的训练特征的编码结果以及注意力向量,从而能够使得在策略预测模块中得到的预测结果的注意力集中到当前操作的对象。

在一些实施例中,步骤S314“基于该注意力向量和参考策略向量确定预测技能类型标签、预测目标标签和预测技能参数标签”可以通过下述的步骤S3141至步骤S3142实现,以下对各个步骤进行说明。

步骤S3141,将该注意力向量和参考策略向量进行点乘或者求和运算,得到各个策略标签对应的概率值。

这里,参考策略向量中为各个策略标签的参考概率值,而注意力向量表征的是各个游戏单元对其他游戏单元的关注度,因此将注意力向量和参考策略向量进行点乘或者求和运算,以使得各个策略标签对应的概率值更加合和准确。

步骤S3142,基于各个策略标签对应的概率值确定预测技能类型标签、预测目标标签和预测技能参数标签。

这里,步骤S3142在实现时,可以是基于各个策略标签对应的概率值将概率值最高的技能类型标签确定为预测技能类型标签,将概率值最高的对象标签确定为预测目标标签,将概率值最高的技能参数标签确定为预测技能参数标签。

基于前述的实施例,本申请实施例再提供一种基于人工智能的游戏对局方法,应用于图1B所示的网络架构,该方法包括以下步骤:

步骤S401,响应于启动游戏客户端的操作指令,游戏对局终端启动游戏客户端。

这里,启动游戏客户端的操作指令可以是用户点击游戏对局终端中游戏客户端的图标操作而触发的,还可以是用户发出启动游戏客户端的预设语音而触发的,在一些实施例中,还可以是用户做出启动游戏客户端的预设手势而触发的。在接收到启动游戏客户端的操作指令后,响应于该操作指令,游戏对局终端启动该游戏客户端,并在游戏对局终端的显示界面中显示游戏主页面。

步骤S402,游戏对局终端响应于加入游戏对局的操作指令,向服务器发送游戏对局请求。

这里,在游戏主页面中可以显示有可以加入的游戏,用户可以根据自己的兴趣爱好选择要加入游戏对局,进而针对要加入的游戏对局而做出加入游戏对局的操作,以向服务器发送游戏对局请求。在本申请实施例中,游戏对局终端还可以根据所有可以加入的游戏,按照预设规则自动确定待加入的游戏,并触发加入游戏对局的操作指令。也即加入游戏对局的操作指令可以是由用户操作而触发的,还可以是自动触发的。

在游戏对局请求中携带有该局游戏的标识,以及游戏对局终端的标识,进一步地,游戏对局终端的标识可以是用户在游戏客户端的用户名。在一些实施例中,在游戏对局请求中还可以携带游戏对局终端对应用户的游戏等级等信息。

步骤S403,服务器在接收到游戏对局终端发送的游戏对局请求后,对游戏对局终端的身份信息进行验证。

这里,步骤S403在实现时,可以是服务器对游戏对局终端的游戏等级、游戏装备等信息进行验证,以确定游戏对局终端的游戏等级、游戏装备等信息是否满足请求加入的游戏对局的条件,当游戏对局的游戏等级、游戏装备等信息满足请求加入的游戏对局的条件时,确定游戏对局终端通过验证。

步骤S404,当游戏对局终端通过验证后,服务器向游戏对局终端发送加入成功响应。

这里,当游戏对局终端通过验证后,服务器会向游戏对局终端发送加入成功响应消息。在一些实施例中,在游戏对局终端接收到加入成功响应时,可以是输出确认加入游戏对局的按钮控件,当接收到确认加入游戏对局的操作指令时,开始游戏,并进入步骤S405;在一些实施例中,为了便于快速进入游戏,在游戏对局终端接收到加入成功响应后,间隔一定时长,例如5秒,自动开始游戏,并进入步骤S405。

步骤S405,服务器将游戏对局数据流发送至游戏对局终端。

步骤S406,游戏对局终端通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果。

这里,所述训练好的神经网络模型至少包括自注意力编码模块,以利用注意力机制,保证将注意力集中到当前操作的对象中。在本申请实施例中,训练好的神经网络模型可以是由游戏对局终端训练得到的,还可以是游戏对局终端从服务器或者从其他终端设备获取的。在本申请实施例中,预测结果包括各个要释放的技能的概率,各个释放对象的概率以及各个技能参数的概率。

步骤S407,游戏对局终端基于该预测结果确定目标游戏策略。

这里,目标游戏策略中至少包括目标技能、目标技能的释放对象(也即目标释放对象)、目标技能参数。步骤S103在实现时,可以是根据预测结果确定出各个要释放的技能中概率值最高的技能作为目标技能、将各个释放对象中概率值最高的释放对象作为目标释放对象、将各个技能参数中概率值最高的技能参数作为目标技能参数。其中目标技能参数表征释放目标技能的位置相对于目标释放对象的偏移量。

步骤S408,游戏对局终端将该目标游戏策略发送至服务器。

步骤S409,服务器基于接收到的目标游戏策略针对目标对象释放目标技能,以进行游戏对局。

在本申请实施例提供的基于人工智能的游戏对局方法中,游戏对局终端在启动游戏客户客户端后,响应于加入游戏对局的操作,从服务器获取游戏对局中所有参与者的游戏对局数据流,进而通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,所述训练好的神经网络模型至少包括自注意力编码模块,并基于所述预测结果确定目标游戏策略;将所述目标游戏策略发送至服务器,如此能够通过自注意力机制将注意力集中到当前操作的目标上,从而使得AI更有效的选择目标,提高AI的微操能力。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

在本申请实施例中,针对MOBA游戏复杂的游戏单元场景,提供一种游戏对局方法,通过设计一套对AI目标选择和游戏单元统一编码的模型,该模型基于自注意力机制,进一步通过引导AI学会将“注意力”关注在当前选择的目标上,来帮助AI提升微操能力和团战决策能力。

在本申请实施例提供的方法中,主要通过数据采集模块、数据抽取模块和网络训练模块来实现,其中,数据采集模块主要用来采集人类玩家中高水平游戏数据;数据抽取模块主要用于基于数据采样模块采集到的数据进行特征和策略标签的抽取;网络训练模块主要用于通过强化学习/监督学习来训练网络模型。

为了模仿人类的观测状态,在本申请实施例中,为游戏单元定义两种类型的输入特征:基础属性特征和关系特征。游戏单元的基础属性特征,包含血量、位置、物理攻击、法术攻击、韧性等游戏单元的基础属性特征;游戏单元的关系特征,包含游戏单元的相对位置、游戏单元与地图信息的相对位置等关系特征。

在本申请实施例中,AI的操作空间(Action Space)采用三层标签的设计:技能类型+目标+技能参数。第一层标签为技能类型标签:表示AI要释放的技能类型;第二层标签为目标标签,表示AI要释放技能的目标;第三层标签技能参数标签,表示释放技能位置相对于释放目标的偏移量。分层标签模仿人类的操作习惯,并针对AI的网络设计做出了调整,将目标标签与编码网络中的自注意力模块相结合,帮助AI更好的学习攻击目标和策略模块。

以下以王者荣耀为例,对本申请实施例提供的神经网络模型进行说明。

在王者荣耀的一场对局中,是有5个真实玩家(英雄)组成一个阵营来对抗。为了建模出多个玩家的协作能力,在本申请实施例中仿照人类玩家,对一个王者荣耀的英雄进行统一建模。图5为本申请实施例提供的进行游戏对局的网络模型的结构示意图,如图5所示,在该网络模型中,包括全连接层501、拼接模块502、自注意力编码模块503、最大池化层504、LSTM层505和策略模块506,其中,将各个游戏单元的特征向量输入到全连接层,而全连接层输出的向量通过隐藏层进行拼接,进而通过自注意力模块编码所有游戏单元的隐藏层输出,并将所有游戏单元的编码结果输出给下层的池化层和LSTM层,与此同时,自注意力编码模块输出注意力热力图(对应其他实施例中的注意力向量),并将该注意力热力图输出到Action Space的目标选择标签上,以辅助AI做目标选择的操作,使得AI操作目标更加合理和有效,最终输出为AI的策略决策。

需要说明的是,在图5中,将池化层示例性地示出为最大池化层,在实际实现过程中,还可以是平均池化层。在一些实施例中,图5所示的池化层还可以由全连接层代替。

图6为本申请实施例自注意力编码模块的结构示意图,如图6所示,将各个游戏单元在隐藏层的输出向量进行线性投影,得到投影向量,再基于投影向量生成注意力热力图,进而再将注意力热力图对应的注意力向量进输入全连接层,得到各个全连接层输出向量z0、z1、z2。在一些实施例中,可以将z0、z1、z2作为编码结果,进行后续的处理过程。而为了得到更加优化、准确的注意力热力图,还可以如图6所示,在得到z0、z1、z2之后,再将z0、z1、z2作为输入向量进行线性投影,再次生成注意力热力图,并将注意力热力图对应的注意力向量进行全连接,从而得到各个全连接层输出向量z0’、z1’、z2’,此时将z0’、z1’、z2’确定为编码结果。

在本申请实施例中,可以依据图6中的601和602所示实现流程进行线性投影和注意力热力图的生成过程。在图6所示的自注意力编码模块中的602中的6021所示,是通过乘性注意力的方式计算注意力,在其他实施例中,还可以通过加性注意力等方式计算注意力。

为了更直观地验证本申请实施例提供的模型和方法,图7为本申请实施例提供的可视化AI的注意力热力图,在图7中的702中显示有在该游戏对局中的十个英雄、友方塔、敌方塔、野怪、敌方野怪、公共野怪的注意力热力图,且颜色越深表征注意力值越高,如图7所示,在阿珂、吕布、安琪拉、蔡文姬、孙策、庄周、司马懿、韩信、花木兰、百里守约中,庄周的关注度最高,而根据图7中的701可知,注意力编码模型确实将“注意力”关注在了当前操作的目标(庄周)上。

利用本申请实施例提供的基于自注意力机制的编码模型,通过自注意力机制,对AI的目标选择label和编码模块统一建模,帮助AI更有效的选择目标,提高AI的微操能力。将该方案以应用于王者荣耀AI项目,相比之前的版本,首次学会了团战刺杀脆皮英雄,打龙团抢龙的操作,在AI目标选择能力上有明显提升。

下面继续说明本申请实施例提供的基于人工智能的游戏对局装置80(以下简称游戏对局装置)的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器140的游戏对局装置80中的软件模块可以包括:

第一获取模块81,用于响应于接收到的加入游戏对局的操作指令,获取在所述游戏对局中所有参与者的游戏对局数据流;

预测模块82,用于通过训练好的神经网络模型对所述游戏对局数据流进行预测操作,得到预测结果,其中,该训练好的神经网络模型至少包括自注意力编码模块;

第一确定模块83,用于基于该预测结果确定目标游戏策略;

发送模块84,用于将该目标游戏策略发送至服务器。

在一些实施例中,该装置还包括:

第二获取模块,用于获取训练游戏数据流;

解析模块,用于对该训练游戏数据流进行解析,以提取出训练特征和训练策略标签;

训练模块,用于根据该训练特征和策略标签对神经网络模型进行训练,得到训练好的神经网络模块。

在一些实施例中,该解析模块还用于:

对所述训练游戏数据流进行解析,确定所述训练游戏数据流中的各个游戏单元;

提取各个游戏单元的基础属性特征和关系特征;其中,所述基础属性特征至少包括生命力特征、位置特征、攻击特征,所述关系特征至少包括所述游戏单元与其他游戏单元之间的相对位置特征;

提取所述训练游戏数据流中对应的训练技能类型标签、训练目标标签和训练技能参数标签。

在一些实施中,该训练模块还用于:

将所述各个游戏单元的基础属性特征和关系特征输入至神经网络模型,得到预测技能类型标签、预测目标标签和预测技能参数标签;

利用训练技能类型标签、训练目标标签、训练技能参数标签预测技能类型标签、预测目标标签和预测技能参数标签对所述神经网络模块进行反向传播训练。

在一些实施例中,该训练模块还用于:

将各个游戏单元的基础属性特征和关系特征输入至神经网络模型的隐藏层,得到隐藏层输出向量;

将该隐藏层输出向量输入至所述神经网络模型中的自注意力编码模块,得到编码结果和注意力向量;

将该编码结果输入至所述神经网络模型中的策略预测模块,得到参考策略向量;

基于所述注意力向量和参考策略向量确定预测技能类型标签、预测目标标签和预测技能参数标签。

在一些实施例中,该训练模块还用于:

基于所述神经网络模型的投影参数,对所述隐藏层输出向量进行线性投影,得到投影结果;

基于所述投影结果和预设的归一化指数函数确定注意力向量,其中,所述注意力向量表征各个游戏单元对其他游戏单元的关注程度;

基于所述注意力向量对各个游戏单元的训练特征进行编码,得到编码结果,所述编码结果表征各个游戏单元被强化或者被弱化的训练特征。

在一些实施例中,该训练模块还用于:

将所述注意力向量和参考策略向量进行点乘或者求和运算,得到各个策略标签对应的概率值;

基于各个策略标签对应的概率值确定预测技能类型标签、预测目标标签和预测技能参数标签。

本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3和图4示出的方法。

在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种外挂检测方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类