首页> 中国专利> 使用云游戏网络的人工智能(AI)模型训练

使用云游戏网络的人工智能(AI)模型训练

摘要

一种用于处理游戏应用程序的人工智能(AI)模型的方法。所述方法包括:使用从多个玩家玩视频游戏的多个玩游戏过程中收集的训练状态数据和相关联成功准则来训练用于所述视频游戏的人工智能AI模型,其中,所述AI模型被配置成玩所述视频游戏;在玩家的玩游戏过程期间接收输入状态数据;将所述输入状态数据应用于所述AI模型,以确定所述玩游戏过程的预测成功程度;以及基于所述预测成功程度向玩家的设备提供关于如何玩所述视频游戏的推荐。

著录项

  • 公开/公告号CN114949861A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 索尼互动娱乐有限责任公司;

    申请/专利号CN202210481340.5

  • 申请日2019-08-30

  • 分类号A63F13/67(2014.01);A63F13/44(2014.01);A63F13/355(2014.01);

  • 代理机构北京市柳沈律师事务所 11105;

  • 代理人张晓明

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 16:36:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):A63F13/67 专利申请号:2022104813405 申请日:20190830

    实质审查的生效

说明书

J.V.贝尔特兰、D.巴特勒、K.克雷根布林克

本申请是申请日为2019年8月30日、申请号为201980086869.3、发明名称为“使用云游戏网络的人工智能(AI)模型训练”的发明专利申请的分案申请。

技术领域

本公开涉及人工智能(AI)模型训练,并且更特定地,涉及使用游戏云系统的服务器控制台网络来收集与远程玩家相关联的训练数据,所述训练数据用于AI模型训练。

背景技术

人工智能算法是为了从数据中进行学习而设计的。AI模型可以基于所学习的数据来构建,并且足够灵活,以根据提供给AI模型的输入来执行多种功能。

然而,提供数据来训练AI模型是复杂的。在不太简单的示例中,使用大量的对象图像来训练被配置用于辨识对象的AI模型。例如,使用大量的对象图像来训练AI模型。生成和收集那些图像是困难并且非常耗时的。基本上,AI模型被训练来辨识存在的每个类型的对象。试想一下为每一对象收集所述对象从不同角度拍摄的多个图像。以这种方式,当呈现对象的新图像时,AI模型可以提取各种识别特性(例如,轮廓、颜色、特征、大小等)来确定那些特征是否与所学习对象的特性相匹配。对象的数量是无限制的,并且那些对象的各种视图也是无限制的。因而,训练AI模型来辨识对象可能是一个持续性过程。

正是在这种背景下,出现了本公开的实施方案。

发明内容

本公开的实施方案涉及用于训练与游戏应用程序的玩游戏过程相关的AI模型的系统和方法。所述AI模型是通过深度学习引擎构建的,所述AI模型被配置成提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性(例如,提供推荐、发现玩家的弱点、发现游戏应用程序中的缺陷、训练玩家、向玩家提供对手等)。AI模型可以使用庞大的服务器网络(例如,服务器控制台、游戏服务器等)来训练,所述服务器网络被配置成执行游戏应用程序的实例以支持多个玩游戏过程。例如,服务器网络可以支持远程用户的玩游戏过程,每一远程用户通过对应客户端装置玩游戏应用程序。在支持远程用户的玩游戏过程的正常过程中,可以从服务器网络收集训练数据,并使用所述训练数据来训练与游戏应用程序相关的AI模型。通过从被配置成支持远程用户的玩游戏过程的现有服务器网络中收集训练数据,集中并减少了收集训练数据时所消耗的时间和精力。也就是说,通过在服务器网络上进行记录来构建输入的训练数据集所需的时间显著减少。在某种程度上,AI模型学习游戏应用程序的复杂性以及如何玩游戏应用程序。以这种方式,给定游戏应用程序的玩游戏过程的条件(例如,特定玩游戏过程的游戏状态)作为输入,AI模型可以分析所述条件并提供对所述条件的适当响应。所述响应可以取决于预定义目标。因为AI模型理解如何在给定不同目标(例如,探索性的、直接到结尾的、最容易玩的、最难玩的等)的情况下玩游戏应用程序,所以AI模型可以确定如何指导玩游戏过程(例如,确定实现对应目标所需的接下来的输入序列是什么)。具体地,AI模型可以用于执行与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性,其中功能性取决于对应的预定义目标。例如,AI模型可以用来训练职业玩家成为所有玩家中的佼佼者,方法是让学生玩家与终极对手对抗,或者引导学生玩家通过各种挑战来改善学生玩家的弱点。另外,AI模型可以通过不断收集训练数据并基于成功准则将新的训练数据与现有的训练数据进行比较来不断完善。

在一个实施方案中,公开一种方法,包括:使用从多个玩家玩视频游戏的多个玩游戏过程中收集的训练状态数据和相关联成功准则来训练用于所述视频游戏的人工智能AI模型,其中,所述AI模型被配置成玩所述视频游戏;在玩家的玩游戏过程期间接收输入状态数据;将所述输入状态数据应用于所述AI模型,以确定所述玩游戏过程的预测成功程度;以及基于所述预测成功程度向玩家的设备提供关于如何玩所述视频游戏的推荐。

在一个实施方案中,公开一种非暂时性计算机可读介质,存储用于执行方法的计算机程序,所述计算机可读介质包括:用于使用从多个玩家玩视频游戏的多个玩游戏过程中收集的训练状态数据和相关联成功准则来训练用于所述视频游戏的人工智能AI模型的程序指令,其中,所述AI模型被配置成玩所述视频游戏;用于在玩家的玩游戏过程期间接收输入状态数据的程序指令;用于将所述输入状态数据应用于所述AI模型,以确定所述玩游戏过程的预测成功程度的程序指令;以及用于基于所述预测成功程度向玩家的设备提供关于如何玩所述视频游戏的推荐的程序指令。

在一个实施方案中,公开一种计算机系统,包括:处理器;耦合到所述处理器并且其中存储有指令的存储器,如果所述指令被所述计算机系统执行,则使得所述计算机系统执行用于实现图形流水线的方法,包括:使用从多个玩家玩视频游戏的多个玩游戏过程中收集的训练状态数据和相关联成功准则来训练用于所述视频游戏的人工智能AI模型,其中,所述AI模型被配置成玩所述视频游戏;在玩家的玩游戏过程期间接收输入状态数据;将所述输入状态数据应用于所述AI模型,以确定所述玩游戏过程的预测成功程度;以及基于所述预测成功程度向玩家的设备提供关于如何玩所述视频游戏的推荐。

在一个实施方案中,公开一种用于AI训练和应用的方法,且更特定地,公开一种用于处理用于游戏应用程序的AI模型的方法。所述方法包括使用从所述游戏应用程序的情境的多个玩游戏过程中收集的训练状态数据和所述多个玩游戏过程中的每一者的相关联成功准则来从所述情境的所述多个玩游戏过程中训练所述AI模型。所述方法包括在所述情境的第一玩游戏过程期间接收第一输入状态数据。所述方法包括将所述第一输入状态数据应用于所述AI模型以生成指示所述情境的针对所述第一玩游戏过程的成功程度的输出。所述方法包括基于预定义目标来执行所述输出的分析。所述方法包括基于所分析的所述输出来执行动作以实现所述预定义目标。

在另一实施方案中,公开一种存储用于AI训练和应用的计算机程序的非暂时性计算机可读介质。所述计算机可读介质包括用于处理用于游戏应用程序的AI模型的程序指令。所述计算机可读介质包括用于使用从所述游戏应用程序的情境的多个玩游戏过程中收集的训练状态数据和所述多个玩游戏过程中的每一者的相关联成功准则来从所述情境的所述多个玩游戏过程中训练所述AI模型的程序指令。所述计算机可读介质包括用于在所述情境的第一玩游戏过程期间接收第一输入状态数据的程序指令。所述计算机可读介质包括用于将所述第一输入状态数据应用于所述AI模型以生成指示所述情境的针对所述第一玩游戏过程的成功程度的输出的程序指令。所述计算机可读介质包括用于基于预定义目标来执行所述输出的分析的程序指令。所述计算机可读介质包括用于基于所分析的所述输出来执行动作以实现所述预定义目标的程序指令。

在又一实施方案中,公开一种计算机系统,其中所述计算机系统包括处理器和存储器,所述存储器耦合到所述处理器并在其中存储有指令,所述指令如果由所述计算机系统执行则致使所述计算机系统执行所公开的用于处理用于游戏应用程序的AI模型的方法。由所述计算机系统执行的所述方法包括使用从所述游戏应用程序的情境的多个玩游戏过程中收集的训练状态数据和所述多个玩游戏过程中的每一者的相关联成功准则来从所述情境的所述多个玩游戏过程中训练所述AI模型。所述方法包括在所述情境的第一玩游戏过程期间接收第一输入状态数据。所述方法包括将所述第一输入状态数据应用于所述AI模型以生成指示所述情境的针对所述第一玩游戏过程的成功程度的输出。所述方法包括基于预定义目标来执行所述输出的分析。所述方法包括基于所分析的所述输出来执行动作以实现所述预定义目标。

在另一实施方案中,公开一种用于AI训练的方法。所述方法包括在多个服务器处执行游戏应用程序的多个实例,所述多个实例支持所述游戏应用程序的多个玩游戏过程。所述方法包括在所述多个服务器处收集与所述游戏应用程序的情境的对应玩游戏过程相关联的训练状态数据。所述方法包括定义所述训练状态数据的成功准则。所述方法包括通过向深度学习引擎提供所述训练状态数据和所述成功准则来为所述情境训练AI模型,其中被训练的AI模型针对多个输入而提供多个输出。

从以下结合附图的详细描述中,本公开的其他方面将变得显而易见,附图以示例的方式示出了本公开的原理。

附图说明

通过结合附图参考以下描述,可以最好地理解本公开,在附图中:

图1A是根据本公开的一个实施方案的用于通过执行游戏应用程序的实例的后端服务器网络来训练人工智能(AI)模型的系统,所述AI模型用于提供与游戏应用程序相关的各种功能性。

图1B示出根据本公开的一个实施方案的用于构建AI模型的示例性神经网络。

图2A示出根据本公开的一个实施方案的通过云游戏网络提供游戏的系统图200。

图2B示出根据本公开的一个实施方案的系统,所述系统向通过云游戏网络执行的游戏应用程序的多个玩家提供游戏,并且从那些玩家的玩游戏过程中收集训练数据用于训练AI模型,其中所述AI模型被配置成提供与游戏应用程序和/或游戏应用程序的玩游戏过程有关的各种功能性。

图3A是根据本公开的一个实施方案的示出用于通过执行游戏应用程序的实例的后端服务器网络来训练AI模型的方法,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

图3B1和图3B-2示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出用于通过执行游戏应用程序的实例的后端服务器网络来训练AI模型的过程,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

图3C-1是根据本公开的一个实施方案的游戏应用程序的玩游戏过程的屏幕截图,并且示出了可以用于训练理解如何玩游戏应用程序的AI模型的一种类型的成功准则。

图3C-2是根据本公开的一个实施方案的从多个玩游戏过程中收集训练状态数据的图示,其中多个实例正在多个服务器上执行以支持玩游戏过程。

图4A是示出根据本公开的一个实施方案的用于应用被配置成理解如何玩游戏应用程序的AI模型的方法的流程图,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

图4B是示出根据本公开的一个实施方案的被配置用于应用被配置成理解如何玩游戏应用程序的AI模型的AI处理器引擎的框图,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

图5A示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出用于向玩游戏应用程序的玩家提供推荐的过程,所述推荐通过执行游戏应用程序的实例的后端服务器网络训练的AI模型来提供。

图5B示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出使用通过执行游戏应用程序的实例的后端服务器网络训练的AI模型确定的玩家配置文件来平衡玩游戏应用程序的玩家团队的过程。

图5C示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出通过由AI模型指导的自动玩来训练AI模型的过程,其中AI模型通过执行游戏应用程序的实例的后端服务器网络来训练。

图5D示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出使用由AI模型指导的自动玩家自动扫掠游戏应用程序的过程,所述AI模型通过执行游戏应用程序的实例的后端服务器网络来训练。

图5E示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出为玩家提供对手的过程,其中对手由通过执行游戏应用程序的实例的后端服务器网络训练的AI模型来指导。

图5F示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出用于识别玩家的弱点并提供各种服务来训练玩家克服那些弱点的过程。

图6示出可以用以执行本公开的各种实施方案的各方面的示例性装置的部件。

具体实施方式

虽然出于说明目的,以下详细说明包含许多具体细节,但是本领域的普通技术人员将会了解,以下细节的许多变化和更改在本公开的范围内。因此,在阐明以下所描述的本公开的各个方面时,此描述的随附权利要求书的概括性没有任何损失,并且不对此权利要求书施加任何限制。

大体来说,本公开的各种实施方案描述了实现深度学习(也称为机器学习)技术以构建与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型的系统和方法。特别地,AI模型被配置成提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性,包括预测和/或确定响应于游戏应用程序的给定条件(例如,游戏状态)采取什么动作。例如,AI模型可以用来训练职业玩家成为所有游戏玩家中的佼佼者。AI模型使用服务器网络(例如,通过云游戏系统)来训练和/或构建,所述服务器网络执行支持一个或多个玩游戏过程的游戏应用程序实例。可以基于成功准则来训练AI模型,诸如通过AI模型遵循在成功准则方面比另一条相似的路径更成功的一条路径。也就是说,AI模型学会采用更成功的路径。另外,AI模型可以通过不断收集训练数据、并将新的训练数据与现有的训练数据进行比较、并基于成功准则选择最佳的训练数据来不断完善。

通过上文对各种实施方案的一般理解,现将参考各个附图描述实施方案的示例性细节。

图1A是根据本公开的一个实施方案的用于通过执行游戏应用程序的实例的后端服务器网络(例如,游戏云系统)来训练人工智能(AI)模型160的系统100A。根据本公开的一个实施方案,AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。特别地,被训练的AI模型160可以由后端服务器通过网络150(例如,互联网)来实现和/或支持,其中后端服务器提供人工智能和/或深度机器学习(例如,通过深度机器学习引擎190),用于构建和应用与游戏应用程序和/或游戏应用程序的关于全世界一个或多个位置的一个或多个玩家的玩游戏过程相关的被训练的AI模型160。被训练的AI模型160被训练来学习游戏应用程序的复杂性和/或玩游戏应用程序的复杂性(例如,通过对应的玩游戏过程)。以这种方式,给定游戏应用程序的玩游戏过程的条件(例如,特定玩游戏过程的游戏状态)作为输入,AI模型可以分析所述条件并提供对所述条件的适当响应。所述响应可以取决于预定义目标(例如,提供协助等)。例如,被训练的AI模型160能够确定游戏应用程序应如何响应,或者玩家在对应的玩游戏过程期间应如何响应。

如图所示,多个客户端装置230(例如,装置230a至230n)通过网络150(例如,互联网)连接到后端游戏云系统(GCS)201,以支持特定游戏应用程序的多个玩游戏过程。例如,多个远程玩家正在通过相应的客户端装置230玩游戏应用程序。客户端装置可以是至少具有存储器和处理器模块的任何类型的计算装置,其能够通过网络150连接到后端服务器系统(例如,GCS 201)。对应客户端装置被配置成与本地或远程执行的对应游戏应用程序的实例进行交互,以诸如通过用于驱动玩游戏过程的输入命令来实现对应玩家的玩游戏过程。

GCS 201包括执行多个游戏应用程序实例110(例如,实例110a至110n)的多个服务器205(例如,服务器205a至205n)。例如,服务器205a被配置成执行游戏应用程序实例110a,以支持对应玩家通过对应客户端装置进行对应玩游戏过程。服务器205中的每一者可以被配置成至少具有存储器和处理器模块,所述处理器模块能够诸如通过游戏应用程序的对应实例来执行游戏应用程序,以支持对应的玩游戏过程。例如,每一服务器205可以是服务器控制台、游戏控制台、计算机等。每一服务器205被配置成通过网络150将数据105(例如,对应玩游戏过程的渲染图像和/或帧)流式传输回对应客户端装置。以这种方式,计算上复杂的游戏应用程序可以响应于由对应客户端装置接收和转发的控制器输入而在后端服务器处执行。每一服务器能够渲染图像和/或帧,这些图像和/或帧然后被编码(例如,压缩)并流式传输到对应客户端装置以供显示。

在一个实施方案中,GCS 201包括分布式游戏引擎系统和/或架构。特别地,执行游戏逻辑的分布式游戏引擎被配置为游戏应用程序的对应实例。一般来说,分布式游戏引擎拥有游戏引擎的每一功能,并将那些功能分配给多个处理实体执行。各个功能可以进一步分布在一个或多个处理实体中。处理实体可以以不同的配置来配置,包括作为金属或物理硬件,和/或作为虚拟部件或虚拟机,和/或作为虚拟容器,其中容器不同于虚拟机,因为它虚拟化了在虚拟化操作系统上运行的游戏应用程序的实例。处理实体可以利用和/或依赖于GCS 201的一个或多个服务器(计算节点)上的服务器及其基础硬件,其中服务器可以位于一个或多个机架上。对赋予各种处理实体的那些功能的执行的协调、指派和管理是由分布同步层执行的。以这种方式,那些功能的执行由分布同步层控制,以响应于玩家的控制器输入,使得能够为游戏应用程序生成媒体(例如,视频帧、音频等)。分布同步层能够跨分布式处理实体有效地执行(例如,通过负载平衡)那些功能,使得关键的游戏引擎部件/功能被分布和重组以进行更有效的处理。

由游戏引擎执行的这些各种功能包括用于执行游戏应用程序和与游戏应用程序相关联的服务的基于处理器的基本功能。例如,基于处理器的功能包括2D或3D渲染、物理、物理模拟、脚本、音频、动画、图形处理、照明、着色、光栅化、射线跟踪、阴影、剔除、变换、人工智能等。此外,游戏应用程序的服务包括流式传输、编码、存储器管理、多线程管理、服务质量(QoS)、带宽测试、社交网络、社交好友的管理、与好友的社交网络的通信、通信信道、发短信、即时消息、聊天支持等。

另外,通过添加更多的处理实体,分布同步层可以容易地被缩放(在单独的分布式游戏引擎上),以处置增加的处理需求或处理复杂性。也就是说,处理能力可以基于需求弹性地增加或减少。此外,分布式游戏引擎系统可以跨许多用户缩放,每一用户由对应的分布式游戏引擎支持,诸如在游戏应用程序的多玩家游戏会话中。因而,多玩家游戏会话不受硬件限制的约束,硬件限制由于性能问题(例如,等待时间)而限制了会话中玩家的最大数量。相反,可缩放的分布式游戏引擎系统能够在没有任何硬件约束的情况下,根据参与多玩家游戏会话的玩家数量来扩大或缩小分布式游戏引擎的数量。这样,成千上万的玩家可以参与单个多玩家游戏会话。

在系统100A中,可以使用服务器网络来构建(例如,训练)AI模型160,所述服务器网络被配置成执行游戏应用程序的实例以支持多个玩游戏过程。特别地,训练数据345是从多个服务器205处的游戏应用程序实例的执行中收集的。特别地,用作训练数据的收集是在不知道与游戏应用程序的各种玩游戏过程相关联的任何远程玩家的情况下执行的。训练数据345包括用于指导对应玩游戏过程的控制器输入236、在玩游戏过程期间发生的游戏应用程序实例的游戏状态133、响应度量、成功准则135、成功度量、对玩游戏过程执行的附加分析等。在一些情况下,训练数据345可以由游戏应用程序的实例生成(例如,游戏状态元数据等)。训练数据345作为输入被提供给深度学习和/或机器学习引擎190。深度学习引擎190包括建模器120,所述建模器被配置成使用训练数据345来构建和/或训练AI模型160,如下文将关于图1B和图3A、图3B-1和图3B-2进一步描述的。

AI模型160可以在游戏应用程序的后续玩游戏过程期间(例如,在AI模型的训练之后)实现(例如,由玩家、由自动玩家等)。例如,AI模型可以在后端服务器处实现和/或执行以支持玩游戏过程,其中玩游戏过程可以在本地装置(对于玩家)上或后端服务器处执行。例如,训练的AI模型由深度学习引擎190实现,以向游戏应用程序的玩游戏过程提供各种功能性。

如图所示,分析器140被配置成利用AI模型160,所述AI模型被训练以提供与游戏应用程序的玩游戏过程相关的各种功能性。特别地,输入数据流405作为输入被提供给深度学习引擎190,所述深度学习引擎被配置成实现被训练的AI模型160。被训练的AI模型160响应于输入而提供输出,其中输出取决于被训练的AI模型160的预定义功能性和/或预定义目标。例如,被训练的AI模型160可以被分析器140用来确定在玩游戏过程期间需要采取什么动作——由玩家采取,或者由游戏应用程序的对应执行实例采取。分析器140包括动作生成器170,所述动作生成器被配置成响应于输入状态数据405并考虑被训练的AI模型160的预定义目标来执行动作。以这种方式,分析器通过使用AI模型160可以提供各种功能性,包括向玩游戏应用程序的玩家提供服务(例如,提供推荐、发现玩家的弱点、训练玩家、向玩家提供对手、发现游戏应用程序中的缺陷等)。

更特别地,分析器140被配置成执行与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。分析器140被配置成针对给定输入(例如,控制器输入236、游戏状态数据133、成功准则135)分析来自被训练的AI模型160的输出,并提供响应(例如,动作)。例如,分析器140可以提供玩游戏应用程序的玩家的配置文件;在玩家玩游戏应用程序的玩游戏过程期间向玩家提供推荐,其中所述推荐可以考虑用户配置文件来结构化;接管玩游戏过程;使用玩家配置文件来构建相当平衡的团队(例如,在游戏应用程序中相互竞争的团队);自动玩游戏应用程序,诸如为了自动训练AI模型的目的;提供机器人对手;探索游戏应用程序;确定对应玩家的弱点,并执行帮助玩家克服弱点的服务等。

图1B示出用以构建被训练的AI模型的示例性神经网络190(例如,深度学习引擎),所述AI模型部分地学习游戏应用程序的复杂性以及如何玩对应的游戏应用程序。以这种方式,给定游戏应用程序的玩游戏过程的条件(例如,特定玩游戏过程的游戏状态)作为输入,AI模型可以分析所述条件并提供对所述条件的适当响应。例如,AI模型可以用以提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性,包括预测和/或确定响应于游戏应用程序的给定条件(例如,游戏状态)采取什么动作。

更特别地,AI模型使用服务器网络(例如,通过云游戏系统)来训练和/或构建,所述服务器网络执行支持一个或多个玩游戏过程的游戏应用程序实例。根据本公开的一个实施方案,所述训练由深度学习引擎190实现。在一个实施方案中,神经网络190可以在后端服务器的AI处理器或引擎210内实现。特别地,图1A的系统100A中的深度学习引擎190的建模器120被配置成学习关于游戏应用程序的一切,以供任何玩家(例如,真实的或虚拟的)在游戏应用程序的后续玩游戏过程中使用。

具体地,深度学习或机器学习引擎190与建模器120合作被配置成分析在多个后端服务器处收集的训练数据345,所述后端服务器被配置用于执行游戏应用程序的多个实例。深度学习引擎190利用人工智能,包括深度学习算法、强化学习或其他基于人工智能的算法来构建与游戏应用程序和/或游戏应用程序的玩游戏过程相关的被训练的AI模型。以这种方式,可以有效地收集大量的训练数据,部分是为了帮助定义游戏应用程序和/或游戏应用程序的任何玩游戏过程,包括在其内可以呈现游戏应用程序的情景(例如,不同的情境,以及那些情境内的部分,如在被训练的AI模型内所定义的)。此外,可以使用AI模型(例如,在训练期间或训练之后,诸如通过AI处理器引擎210的分析器140)来在游戏应用程序的任何后续玩游戏过程中提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。因而,深度学习引擎190能够学习关于游戏应用程序和/或游戏应用程序的玩游戏过程的一切,使得被训练的AI模型可以用于为游戏应用程序的后续玩游戏过程提供最佳服务,诸如向玩家提供。例如,被训练的AI模型可用于训练职业游戏玩家成为世界上最好的玩家,或者提供旨在解决玩家弱点的各种教程会话(例如,视频教学、玩游戏过程挑战等)。深度学习引擎190可以被配置成在给定任何更新后的训练数据的情况下,持续地完善被训练的AI模型。完善是基于确定使用哪些组训练数据用于训练,所述确定是基于那些组训练数据在游戏应用程序中的表现,所述表现是基于对应的成功准则。

更具体地,在学习和/或建模阶段期间,深度学习引擎190使用训练数据345来预测和/或确定在给定一组输入数据的情况下,游戏应用程序的特定玩游戏过程将会有多成功。对于给定所述组输入数据的游戏应用程序的给定玩游戏过程,游戏应用程序的所得AI模型可以用于确定要执行的动作。也就是说,被训练的AI模型可以用于(例如,由分析器140)提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。例如,输入数据可以是游戏状态数据(例如,包括控制器输入等),并且被训练的AI模型160可以用以生成对输入数据的响应。用户可以在有或没有任何请求或知识的情况下提供响应。

例如,被训练的AI模型160可以被分析器140用来向玩游戏应用程序的玩家提供推荐。被训练的AI模型160可以被分析器140用来创建特定于游戏应用程序或游戏应用程序的情境的玩家的用户配置文件。AI模型160可以被分析器140用来控制游戏应用程序内的机器人对手,诸如当训练玩家对抗通过训练数据创建的世界上最好的对手时,当训练玩家对抗虚拟我的对手时,使得用户能够通过自我游戏(例如,与他或她自己的虚拟版本进行游戏对抗)逐渐变得更好(并且通过所述自我游戏不断地获得完善)。AI模型160可以被分析器140用来发现玩家的弱点,并提供教程会话来解决那些弱点。AI模型160可以被分析器140用来发现游戏应用程序内的问题(例如,导致小故障的代码漏洞等)。还支持其他功能性,尽管不一定描述。

神经网络190表示自动分析工具的示例,所述自动分析工具用于分析数据集以确定玩游戏应用程序的复杂性,包括在游戏应用程序的玩游戏过程期间可以确定和/或执行的响应和/或动作。不同类型的神经网络190是可能的。在示例中,神经网络190支持可以由深度学习引擎190实现的深度学习。因此,可以实现使用监督或无监督训练的深度神经网络、卷积深度神经网络和/或递归神经网络。在另一示例中,神经网络190包括支持强化学习或基于奖励的学习(例如,通过使用成功准则、成功度量等)的深度学习网络。例如,神经网络190被设置为支持强化学习算法的马尔可夫决策过程(MDP)。

通常,神经网络190表示互连节点的网络,诸如人工神经网络。每一节点从数据中学习一些信息。知识可以通过互连在节点之间交换。神经网络190的输入激活一组节点。继而,这组节点激活其他节点,从而传播关于输入的知识。这个激活过程在其他节点上重复,直到提供输出。

如图所示,神经网络190包括节点的层次结构。在最低层次结构层级,存在输入层191。输入层191包括一组输入节点。例如,这些输入节点中的每一者映射到游戏应用程序的玩游戏过程的实例,其中这些实例包括定义所述实例的一个或多个特征(例如,控制器输入、游戏状态、结果数据等)。模型的中间预测通过创建标签(例如,输出、特征、节点、分类等)的分类器来确定。

在最高层次结构层级,存在输出层193。输出层193包括一组输出节点。例如,输出节点表示与被训练的AI模型160的一个或多个部件相关的决策(例如,对于给定的一组输入数据,动作、预测、玩游戏过程的成功度的预测等)。如先前描述,输出节点可以针对给定的一组输入来识别预测的或预期的动作或学习的动作,其中输入可以定义游戏应用程序的各种情境或情境的部分。这些结果可以与预定的和真实的结果进行比较,或者与从用于收集训练数据的玩游戏过程中获得的习得的动作和结果进行比较,以便完善和/或修改深度学习引擎190使用的参数,从而迭代地确定针对给定的一组输入的适当的预测或预期的响应和/或动作。也就是说,神经网络190中的节点学习被训练的AI模型160的参数,所述AI模型用于在完善参数时做出此类决策。

特别地,隐藏层192存在于输入层191和输出层193之间。隐藏层192包括“N”个隐藏层,其中“N”是大于或等于1的整数。继而,每一隐藏层还包括一组隐藏节点。输入节点互连到隐藏节点。同样,隐藏节点互连到输出节点,使得输入节点不直接互连到输出节点。如果存在多个隐藏层,则输入节点互连到最低隐藏层中的隐藏节点。继而,这些隐藏节点互连到下一隐藏层中的隐藏节点,以此类推。下一最高隐藏层中的隐藏节点互连到输出节点。互连连接两个节点。互连具有可被学习的数值权重,使得神经网络190适应输入并能够学习。

通常,隐藏层192允许在对应于输出节点的所有任务之间共享关于输入节点的知识。为此,在一个实现方式中,通过隐藏层192将变换f应用于输入节点。在示例中,变换f是非线性的。不同的非线性变换f是可用的,包括例如整流函数f(x)=max(0,x)。

神经网络190还使用成本函数c来寻找最优解。对于给定的输入x,成本函数测量由定义为f(x)的神经网络190输出的预测与基础真值或目标值y(例如,预期结果)之间的偏差。最优解表示没有一个解的成本低于最优解的成本的情况。对于可获得基础真值标签的数据,成本函数的示例是预测和此类基础真值之间的均方误差。在学习过程期间,神经网络190可以使用反向传播算法来采用不同的优化方法来学习使成本函数最小化的模型参数(例如,隐藏层192中的节点之间的互连的权重)。此类优化方法的示例是随机梯度下降。

在示例中,神经网络190的训练数据集可以来自同一数据域。例如,神经网络190被训练用于学习对于给定的一组输入或输入数据要执行的预测或预期响应和/或动作。在所述说明中,数据域包括通过多个用户的多个玩游戏过程收集的玩游戏过程数据,以定义基线输入数据。在另一示例中,训练数据集来自不同的数据域,包括基线以外的输入数据。

因而,神经网络190可以部分地预测或确定对于给定的一组输入(游戏应用程序的条件,诸如游戏状态)要执行的预测或预期响应和/或动作。基于这些预测结果,神经网络190还可以定义被训练的AI模型160,所述AI模型用于在给定一组输入的情况下提供确定要执行的那些结果和/或动作(例如,与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性)。

图2A示出根据本公开的一个实施方案的支持用于构建和/或训练与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型的训练数据的收集的系统200A。特别地,系统图200A允许访问和玩存储在游戏云系统(GCS)201中的视频游戏。一般来说,游戏云系统GCS 201可以是云计算系统,所述云计算系统通过网络220操作以支持多个玩家通过对应的玩游戏过程来玩游戏应用程序。与那些玩游戏过程相关的数据可以被提供为训练数据,所述训练数据用于构建和/或训练与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型。特别地,系统200A包括GCS 201、一个或多个社交媒体提供商240和客户端装置230,所有这些都经由网络150(例如,互联网)连接。一个或多个用户装置可以连接到网络150,以访问由GCS 201和社交媒体提供商240提供的服务。

在一个实施方案中,游戏云系统201包括游戏服务器205、录像机271、标记处理器273、和包括用户配置文件管理器的账户管理器274、游戏选择引擎275、游戏会话管理器285、用户访问逻辑280、网络接口290和社交媒体管理器295。GCS 201可以还包括多个游戏存储系统,诸如游戏状态存储区、随机种子存储区、用户保存的数据存储区、快照存储区,它们通常可以存储在数据存储区260中。其他游戏存储系统可以包括游戏代码存储区261、所记录游戏存储区262、标记数据存储区263、视频游戏数据存储区264和游戏网络用户存储区265。在一个实施方案中,GCS 201是可以提供游戏应用程序、服务、游戏相关数字内容以及系统、应用、用户和社交网络之间的互连性的系统。GCS 201可以通过社交媒体管理器295经由网络接口290与用户装置230和社交媒体提供商240通信。社交媒体管理器295可以被配置成关联一个或多个好友。在一个实施方案中,每一社交媒体提供商240包括展示用户社交网络连接的至少一个社交图245。

玩家/用户5能够经由游戏会话管理器285来访问GCS 201提供的服务。例如,账户管理器274使得玩家5能够认证和访问GCS 201。账户管理器274存储关于成员用户/玩家的信息。例如,每一成员用户的用户配置文件可以由账户管理器274管理。以这种方式,账户管理器274可以使用成员信息来用于认证目的。例如,账户管理器2274可以用以更新和管理与成员用户相关的用户信息。另外,成员用户所拥有的游戏标题可以由账户管理器274管理。以这种方式,使得存储在数据存储区264中的视频游戏可用于拥有那些视频游戏的任何成员用户。

在一个实施方案中,例如玩家5的用户可以通过网络150上的连接借助于客户端装置230来访问由GCS 201和社交媒体提供商240提供的服务。客户端装置230可以包括具有处理器和存储器的、有线或无线的、便携式或非便携式的任何类型的装置。在一个实施方案中,客户端装置230可以是智能电话、平板计算机或以便携式外形规格提供触摸屏能力的混合形式。一个示例性装置可以包括便携式电话装置,所述便携式电话装置运行操作系统,并具备对可以通过网络150获得并在本地便携式装置(例如,智能电话、平板计算机、膝上型计算机、台式计算机等)上执行的各种应用(app)的访问权。

客户端装置230包括显示器232,所述显示器充当玩家5发送输入命令236和显示从GCS 201和社交媒体提供商240接收的数据和/或信息235的接口。显示器232可以被配置成触摸屏,或者通常由平板显示器、阴极射线管(CRT)或其他能够对显示进行渲染的装置提供的显示器。可替代地,客户端装置230可以使其显示器232与装置分离,类似于台式计算机或膝上型计算机。

在一个实施方案中,客户端装置230被配置成与GCS 201通信以使玩家5能够玩视频游戏。例如,玩家5可以经由游戏选择引擎275选择(例如,通过游戏标题等)视频游戏数据存储区264中可用的视频游戏。以这种方式,所选择的视频游戏被启用并加载,用于由游戏服务器205在GCS 201上执行。在一个实施方案中,玩游戏过程主要在GCS 201中执行,使得客户端装置230将从GCS 201接收游戏视频帧流235,并且用于驱动玩游戏过程的用户输入命令236被传输回GCS 201。在客户端装置230的显示器232中展示从流式玩游戏过程中接收的视频帧235。

在一个实施方案中,在玩家5选择可用的游戏标题来玩之后,玩家5可以通过游戏会话管理器285发起所选择的游戏标题的游戏会话。游戏会话管理器285首先访问数据存储区140中的游戏状态存储区,以检索玩家5所玩的最后一个会话的保存的游戏状态(针对所选游戏),如果有的话,使得玩家5可以从先前的玩游戏过程停止点重新开始玩游戏过程。一旦识别了恢复点或起始点,游戏会话管理器285便可以通知游戏处理器210中的游戏执行引擎以执行来自游戏代码存储区261的所选游戏标题的游戏代码。在发起游戏会话之后,游戏会话管理器285可以经由网络接口290将游戏视频帧235(即,流式视频数据)传递给客户端装置,例如客户端装置230。

在玩游戏过程期间,游戏会话管理器285可以与游戏处理器210、记录引擎271和标记处理器273通信,以生成或保存玩游戏过程或玩游戏过程会话的记录(例如,视频)。在一个实施方案中,玩游戏过程的视频记录可以包括在玩游戏过程期间输入或提供的标记内容,以及其他游戏相关元数据。标记内容还可以经由快照来保存。玩游戏过程的视频记录以及对应于所述玩游戏过程的任何游戏度量可以保存在所记录游戏存储区262中。任何标记内容都可以保存在标记数据存储区263中。

在玩游戏过程期间,游戏会话管理器285可以与游戏处理器204通信,以递送和获得用户输入命令236,所述用户输入命令用于影响视频游戏的对应玩游戏过程的结果。玩家5输入的输入命令236可以从客户端装置230传输到GCS 201的游戏会话管理器285。包括用以驱动玩游戏过程的输入命令的输入命令(例如,控制器输入)236可以包括用户交互式输入,诸如包括标记内容(例如,文本、图像、视频记录剪辑等)。游戏输入命令以及任何用户游戏度量(用户玩游戏的时长等)可以存储在游戏网络用户存储区中。与视频游戏的玩游戏过程相关的选择信息可以用于实现用户可用的多个特征。

图2B示出根据本公开的一个实施方案的提供用于构建和/或训练与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型160的训练数据的收集的系统200B,其中支持玩游戏过程的游戏应用程序的实例和/或实例化通过云游戏网络执行。另外,系统200A被配置成支持AI模型160的实现,所述AI模型被训练以提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性(例如,提供推荐、训练玩家、发现玩家的弱点、提供机器人对手等)。

如图所示,根据本公开的一个实施方案,系统200B向玩游戏应用程序的多个玩家215(例如,玩家5L、5M…5Z)提供游戏控制,所述游戏应用程序通过云游戏网络来执行。在一些实施方案中,云游戏网络可以是包括在宿主机的管理程序上运行的多个虚拟机(VM)的游戏云系统210,其中一个或多个虚拟机被配置成利用主机的管理程序可用的硬件资源来执行游戏处理器模块。在其他实施方案中,GCS 201包括执行游戏逻辑的分布式游戏引擎系统和/或架构,所述游戏逻辑被配置为游戏应用程序的对应实例。一般来说,分布式游戏引擎拥有游戏引擎的每一功能,并将那些功能分配给GCS 201的一个或多个服务器上的多个处理实体来执行。各个功能可以进一步分布在一个或多个处理实体中。现参考附图,相同的附图标记指定相同的或对应的部分。

如图所示,游戏云系统210包括提供对多个交互式视频游戏或游戏应用程序的访问的游戏服务器205。游戏服务器205可以是云中可用的任何类型的服务器计算装置,并且可以被配置为在一个或多个主机上执行的一个或多个虚拟机。例如,游戏服务器205可以管理支持游戏处理器的虚拟机,所述游戏处理器为用户实例化游戏应用程序的实例。因而,与多个虚拟机相关联的游戏服务器205的多个游戏处理器被配置成执行与多个用户215的玩游戏过程相关联的游戏应用程序的多个实例。以这种方式,后端服务器支持向多个对应用户提供多个游戏应用程序的玩游戏过程的媒体流(例如,视频、音频等)。如下文将进一步描述的,从执行游戏应用程序的实例的多个游戏处理器收集的训练数据被用于构建和/或训练与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型。

多个玩家215经由网络150访问游戏云系统210,其中玩家(例如,玩家5L、5M…5Z)经由对应客户端装置230'访问网络150。客户端装置230'可以被类似地配置为图1A的客户端装置230,或者可以被配置为瘦客户端,其提供与提供计算功能性的后端服务器的接口。特别地,对应玩家5L的客户端装置230'被配置用于请求通过诸如互联网的网络150访问游戏应用程序,并且用于渲染由游戏服务器205执行并被递送到与对应玩家5L相关联的显示装置的游戏应用程序(例如,视频游戏)的实例。例如,玩家5L可以通过客户端装置230'与在游戏服务器205的游戏处理器上执行的游戏应用程序的实例进行交互。更特别地,游戏应用程序的实例由游戏标题执行引擎211(例如,游戏引擎)执行,所述游戏标题执行引擎运行对应于游戏应用程序的游戏逻辑177。实现游戏应用程序的游戏逻辑(例如,可执行代码)177通过先前描述的数据存储区260或游戏代码存储区261或视频游戏存储区264等来存储和访问,并用于执行游戏应用程序。如图所示,游戏标题处理引擎211能够使用多个游戏逻辑177来支持多个游戏应用程序。

如先前描述,客户端装置230'可以从各种类型的输入装置11接收输入,所述输入装置诸如游戏控制器、平板计算机、键盘、由摄像机捕捉的手势、鼠标触摸板等。客户端装置230'可以是至少具有存储器和处理器模块的任何类型的计算装置,其能够通过网络150连接到游戏服务器205。而且,对应玩家的客户端装置230'被配置用于生成由远程执行的游戏标题执行引擎211执行的渲染图像,并用于在包括头戴式显示器(HMD)102的显示器上显示渲染图像。例如,对应客户端装置230'被配置成与远程执行的对应游戏应用程序的实例进行交互,以诸如通过用于驱动玩游戏过程的输入命令来实现对应玩家的玩游戏过程。

在另一实施方案中,先前描述的多玩家处理引擎119为游戏应用程序提供对多玩家游戏会话的控制。特别地,当多玩家处理引擎119正管理多玩家游戏会话时,多玩家会话控制器116被配置成建立和维持与多玩家会话中的用户和/或玩家中的每一者的通信会话。以这种方式,会话中的玩家可以在多玩家会话控制器116的控制下相互通信。

此外,多玩家处理引擎119与多玩家逻辑118通信,以便在每一玩家的对应游戏环境内实现玩家之间的交互。特别地,状态共享模块117被配置成管理多玩家游戏会话中的玩家中的每一者的状态。例如,状态数据可以包括游戏状态数据,所述数据定义了对应玩家(例如,玩家5L)在特定点的(游戏应用程序的)玩游戏过程的状态,如先前描述。此外,状态数据可以包括用户/玩家保存的数据,所述数据包括使对应玩家的视频游戏个性化的信息,如先前描述。例如,状态数据包括与用户角色相关联的信息,使得视频游戏以可能对所述用户唯一的角色(例如,外形、外貌、服装、武器等)呈现。以这种方式,使用状态共享数据117和多玩家逻辑118的多玩家处理引擎119能够将对象和角色叠加/插入到参与多玩家游戏会话的用户的游戏环境中的每一者中。这允许多玩家游戏会话中的用户经由他们相应的游戏环境中的每一者(例如,如屏幕上所显示)来进行交互。

此外,经由AI处理器210的后端服务器支持(其可以集成在GCS 201内或远离GCS201定位)可以提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的AI模型160的构建和/或训练,并且还提供AI模型160的实现方式和/或应用。特别地,后端AI处理器210包括先前描述的深度学习引擎190,所述深度学习引擎被配置用于部分地学习和/或建模针对给定的任一组输入(例如,定义游戏应用程序的玩游戏过程的条件的输入,所述条件包括游戏状态等)要执行的响应和/或动作(例如,控制器输入等),以便构建(例如,通过建模器120)和应用(例如,通过分析器140)与游戏应用程序和/或游戏应用程序的后续玩游戏过程相关的被训练的AI模型。例如,深度学习引擎190内的建模器120可以操作来设置在深度学习引擎190内定义的参数,这些参数定义了输入层191、隐藏层192和输出层193中的各种节点,以用于在深度学习引擎190内应用被训练的AI模型160。如先前描述,建模器120可以基于训练期间使用的一个或多个成功准则来设置AI模型160中的参数。以这种方式,AI模型160被训练来学习游戏应用程序的复杂性和/或玩游戏应用程序的复杂性,使得AI模型160可以用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性(例如,预测和/或确定响应于诸如游戏状态的给定条件要采取什么动作,包括控制器输入)。因而,分析器140能够分析来自AI模型160的响应于定义玩游戏过程的条件的输入的输出,并且任选地分析所述输入(例如,输入状态数据),以便提供对所述条件的适当响应,其中所述响应可以取决于预定义目标(例如,提供协助、提供指导等)。

根据本公开的一个实施方案,通过对系统100A和系统200B的各种模块的详细描述,流程图300A公开了用于通过执行游戏应用程序的实例的后端服务器网络来训练AI模型的方法,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。如先前描述,流程图300A可以在后端服务器内实现(例如,在游戏云系统201内结合深度学习引擎190实现)。

特别地,在302,所述方法包括在多个服务器执行游戏应用程序的多个实例,所述多个实例支持游戏应用程序的多个玩游戏过程。例如,多个服务器可以在先前描述的游戏云系统(例如,GCS 201)内操作,其中游戏应用程序从对应的玩家远程执行,并且媒体(例如,视频帧、音频等)通过网络被流式传输到玩家的客户端装置。在这种情况下,游戏应用程序的多个玩游戏过程由多个玩家经由对应客户端装置来控制,其中客户端装置远离服务器。在其他实现方式中,游戏应用程序在用户/玩家本地执行,并且来自正在执行的游戏应用程序的元数据通过网络被递送到后端服务器,用于分析的目的(例如,用于训练AI模型的目的),或者用于支持多玩家游戏会话。在其他实施方案中,可以自动控制多个玩游戏过程(例如,通过AI)(例如,为了自我训练AI模型)。

在304,方法包括在多个服务器处收集与游戏应用程序的情境的对应玩游戏过程相关联的训练状态数据。训练状态数据可以包括与玩游戏过程相关联的元数据,包括控制器输入、游戏状态、玩游戏过程的进程、情境的结果(例如,成功或失败)、用户配置文件信息等。也就是说,训练状态数据包括可以与理解游戏应用程序和/或游戏应用程序的玩游戏过程相关的任何数据。因为游戏应用程序的实例在后端服务器处执行,所以无需那些玩游戏过程的相关联玩家的主动参与,就可以容易地获得对训练状态数据的访问。也就是说,玩家可能甚至不知道训练状态数据被收集。

训练状态数据可以包括游戏状态数据,所述游戏状态数据定义了游戏应用程序在特定点(例如,在玩游戏过程期间)的状态和/或条件。例如,游戏状态数据可以包括游戏角色、游戏对象、游戏对象属性、游戏属性、游戏对象状态、图形叠加等。以这种方式,游戏状态数据允许生成存在于视频游戏中的对应点处的游戏环境。游戏状态数据还可以包括用于渲染玩游戏过程的每个装置的状态,诸如CPU、GPU、存储器、寄存器值、程序计数器值、可编程DMA状态、DMA的缓冲数据、音频芯片状态、CD-ROM状态等的状态。游戏状态数据还可以识别从那时起需要加载可执行代码的哪些部分来执行视频游戏。不是所有的游戏状态数据都需要被捕捉和存储,仅仅是足以让可执行代码在对应于快照的点开始游戏的数据即可。

此外,训练状态数据可以包括用户保存的数据,所述数据使对应用户的游戏应用程序个性化。这包括与用户角色相关联的信息,使得视频游戏以可能对所述用户唯一的角色(例如,外形、外貌、服装、武器等)呈现。以这种方式,用户保存的数据使得能够生成用于对应用户的玩游戏过程的角色,其中所述角色具有对应于视频游戏中与快照相关联的点的状态。例如,用户保存的数据可以包括对应玩家在玩游戏应用程序时选择的游戏难度、游戏关卡、角色属性、角色位置、剩余生命数量、可用生命的可能总数、盔甲、奖杯、时间计数器值等。用户保存的数据还可以包括识别对应玩家的用户配置文件数据。

另外,训练状态数据还可以包括通过AI生成的随机种子数据。随机种子数据可以不是原始游戏代码的一部分,但是可以被添加到叠加中,以使游戏环境对用户来说看起来更真实和/或更吸引人。也就是说,随机种子数据为存在于玩家的玩游戏过程中的对应点处的游戏环境提供了额外的特征。例如,AI角色可以随机生成并在叠加中提供。AI角色被放置在游戏环境中以增强用户体验,并且可能影响或可能不影响玩游戏过程。作为说明,这些AI角色可能在城市场景中随机行走。另外,还可以生成其他对象,并呈现在叠加中。例如,可以生成背景中的云和在空间中飞行的鸟,并呈现在叠加中。

游戏应用程序可以包括一个或多个情境。情境可以是游戏应用程序中的关键点(例如,在游戏应用程序中前进所必需的),诸如在关卡结束时与头目搏斗,或者跳过阻挡通往目的地的唯一路径的物体或障碍物,或者越过障碍物(例如,爬山、穿越具有攻击性鳄鱼的湖泊或河流等)。诸如当完成游戏应用程序中的中间任务时,情境可以是不太关键的。在这些情况下,所述情境可能涉及完成任务以获得奖励(例如,钱、重要的剑等)。为了训练AI模型而收集的数据可能限于在一个或多个感兴趣的情境期间与玩游戏过程相关的数据。以这种方式,被训练的AI模型理解在情境期间使用与所述情境相关的数据玩游戏应用程序的复杂性,并且没有来自可能与玩所述情境无关的数据的污染。

所述情境可以诸如由游戏应用程序的开发者预定义。例如,所述情境可以被设计成具有高难度,使得预期许多玩家将无法通过所述情境前进。在其他情况下,可以通过分析收集的训练状态数据来发现所述情境。也就是说,可以变得清楚的是,游戏应用程序的特定部分对于玩家来说在他们对应的玩游戏过程期间很难前进。在这种情况下,游戏应用程序的所述部分可以被识别为情境,使得在所述识别的情境的玩游戏过程期间收集训练状态数据。

在306,方法包括定义用于训练状态数据的成功准则。例如,成功准则可以由深度学习引擎用于训练AI模型的目的。具体地,当AI模型(例如,完善定义不同层的两个节点之间的相互关系的权重等)时,成功准则可以被应用于定义多层的节点之间的相互关系。例如,成功准则可以用于区分相似的训练状态数据,并给出在情境期间如何玩或选择如何玩游戏应用程序的一些见解。在简单化的示例中,情境可能涉及完成任务(例如,打败头目,穿越障碍物等),其中两组训练数据各自描述或概述如何在情境中玩的过程(例如,控制器输入、策略等)。可以利用成功准则来确定哪组训练状态数据更成功地完成任务。为了训练与游戏应用程序的情境和/或游戏应用程序的情境的玩游戏过程进行相关的AI模型,更成功的一组训练状态数据可以比不太成功的另一组训练状态数据的权重更重(例如,当定义AI模型的节点之间的相互关系时)。

在308,所述方法包括通过向深度学习引擎提供训练状态数据和成功准则来为所述情境训练AI模型,其中被训练的AI模型针对多个输入而提供多个输出。因为训练状态数据与情境相关,所以AI模型被训练为基于一个或多个成功准则来学习关于游戏应用程序中的情境和/或所述情境的玩游戏过程的一切。以这种方式,当AI模型被给予与所述情境的后续玩游戏过程相关的一组输入(例如,游戏状态、控制器输入等)时,AI模型可以提供可能对所述玩游戏过程有益的输出。在一个实施方案中,输出可以指示所述玩游戏过程的成功程度。也就是说,在给定玩游戏过程的当前条件(例如,游戏状态)的情况下,AI模型可以预测玩游戏过程的走向,并预测所述玩游戏过程在对应情境中的前进有多成功。对输出的附加分析(例如,通过分析器140)以及对所述组输入(例如,当前和过去的多组输入)的分析可以提供对所述组输入的响应。特别地,可以作为输出以及响应于所述组输入而执行动作。例如,如果所述组输入指示玩游戏过程正朝着在情境中前进不成功的方向引导(例如,经由AI模型的输出),则来自AI模型的输出可以被用于(例如,由分析器140)提供关于如何在游戏应用程序的情境的玩游戏过程期间前进通过遇到的条件的推荐或建议。如果玩游戏过程与远程玩家相关联,则可以在没有来自远程玩家的任何提示的情况下提供所述推荐,使得在玩游戏过程期间所述组输入被自动提供给被训练的AI模型。所述推荐可以帮助玩家成功地在情境中前进,有效地在情境中前进,赢得玩所述情境的最多资产,完成情境中给予玩家在游戏应用程序中的稍后阶段或情境中前进的最佳机会的任务,等等。在其他实施方案中,推荐是在远程玩家的请求下提供的,使得响应于所述请求,所述组输入被提供给AI模型。

图3B-1和图3B-2示出根据本公开的一个实施方案的数据流程图,其示出了用于通过执行游戏应用程序的实例的后端服务器网络来训练AI模型的过程。如先前描述,AI模型了解游戏应用程序和/或游戏应用程序的玩游戏过程,使得在给定输入(例如,与游戏应用程序的条件有关的输入––游戏状态等)的情况下,AI模型可以用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性(例如,提供协助等)。与由图3B-1的建模器120执行的功能性相比,图3B-2的过程提供了由建模器120'执行的不同功能性,如下文将描述。

如图3B-1和图3B-2中所示,示出游戏应用程序的多个玩游戏过程310(例如,310a至310n)。游戏应用程序的实例可以执行以支持玩游戏过程,其中这些实例在后端服务器上执行,诸如游戏云系统,如先前描述。游戏应用程序可以包括一个或多个感兴趣的情境。如图所示,游戏应用程序包括第一情境(S-1)、第二情境(S-2)和第三情境(S-3)。例如,情境可能被开发者评定为困难,或者通过游戏应用程序的玩游戏过程来发现。在其他示例中,情境可能是受玩家欢迎的游戏应用程序的有趣部分,使得这些玩家会渴望了解关于所述情境的一切。

在一个实施方案中,多个玩游戏过程310由多个玩家P-1至p-n通过相应的客户端装置来控制。在另一实施方案中,可以自动控制多个玩游戏过程310,诸如为了使用多个后端服务器来自我训练AI模型。如图所示,玩游戏过程提供各种玩游戏过程数据320a至320n。玩游戏过程数据可以包括元数据,包括游戏状态数据,如先前描述。例如,游戏状态数据描述游戏在特定点的状态,并且可以包括控制器输入数据。此外,玩游戏过程数据320a至320n可以包括玩游戏过程310a至310n的记录,以用于提取元数据和/或训练状态数据。

如图3B-1和图3B-2所示,捕捉引擎340捕捉玩游戏过程数据320a至320n,以及可以提供的其他数据,诸如成功准则330。如先前描述,成功准则可以用于区分相似的训练状态数据,以用于训练AI模型的目的。特别地,成功准则用于训练AI模型,包括定义AI模型内的各层的节点之间的相互关系,其中节点可以定义与游戏应用程序和/或游戏应用程序的玩游戏过程相关的特征(例如,控制器输入、游戏状态等)。在示例中,成功准则可以用于确定哪组训练状态数据更成功,诸如通过AI模型定义一个或多个路径(在一个或多个层的节点之间)的权重。以这种方式,AI模型可以用于在情境期间给出如何玩或选择如何玩游戏应用程序的见解(例如,策略)。捕捉的数据作为训练状态数据345被提供给深度学习引擎190。

如图3B-1和图3B-2中所示,深度学习引擎190包括建模器120,所述建模器被配置用于基于一个或多个成功准则使用训练状态数据345来训练和/或构建AI模型。建模器120可以通过各种神经网络(例如,卷积、递归等)实现人工智能。建模器120可以通过各种算法来实现AI,包括(为了说明,作为示例)深度学习、强化学习、监督学习、无监督学习、基于奖励的学习(例如,通过使用成功准则、成功度量等)、增量学习等。深度学习引擎190先前在图1B中被介绍。特别地,在构建AI模型时,建模器120识别在给定一组输入(例如,可以定义游戏应用程序的情景或条件——游戏状态——的特征)的情况下进行预测的一组特征相关规则。预测可以包括在玩情境时给定的一组输入可以有多成功。以这种方式,AI模型可以用于确定在给定一组输入的情况下要采取的动作。

如图3B-1和图3B-2中所示,深度学习引擎190的建模器120包括被配置用于识别训练状态数据的多个特征的特征识别引擎350。对于对应情境的每一玩游戏过程,训练状态数据包括特征。例如,在玩游戏过程中的特定点,可以收集训练状态数据的实例,其中所述训练实例包括一个或多个特征(例如,用于训练实例的一组特征),其中特征可以包括变量、参数、控制器输入、游戏状态元数据等。

因而,特征识别引擎350被配置成解析训练状态数据,以便从数据中识别和/或提取特征。特征识别引擎350还可以被配置成学习特征。在通过深度学习引擎190的每一训练周期,提供训练实例(例如,一组特征)作为输入,其中训练实例可以与情境的玩游戏过程中的特定点相关联。以此方式,深度学习引擎190被配置成递增地学习游戏应用程序、游戏应用程序的情境和/或游戏应用程序的情境的玩游戏过程。

如图3B-1中所示,建模器120被配置成学习定义特征和输出(例如,预测、动作等)之间的关系的规则,其中特征可以在位于被训练的AI模型160的一个或多个层次结构层级处的一个或多个节点内定义。建模器120通过链接多层之间的特征来构建AI模型160,使得给定的输入数据集导致AI模型的特定输出。因而,建模器120可以被配置成生成AI模型160的特征和/或节点,如由链接各个层的特征的规则所定义的。例如,规则可以在输入和输出之间通过AI模型链接(例如,使用包括权重的关系参数)一个或多个特征或节点。也就是说,一个或多个链接的特征生成了规则。AI模型160被训练并包括一组规则,每一规则对应于一个标记或分类的输出。下文在图3B-2中提供建模器120的功能性的更详细描述。

特别地,如图3B-2中所示,在建模器120中,由特征识别引擎130从输入数据中识别和/或提取的识别特征可以被递送到分类器360,所述分类器被配置成学习定义特征和输出(例如,预测、动作等)之间的关系的规则。这些特征可以在位于被训练的AI模型的一个或多个层次结构层级处的一个或多个节点内定义。每一特征可以与其他层的一个或多个特征链接,其中一个或多个关系参数定义在AI模型中的其他层的第一特征和其他特征(例如,第二特征、第三特征等)之间的互连。

例如,如图3B-2中所示,分类器360被配置成确定一组特征(生成规则的组)属于哪个标签或输出。也就是说,规则将给定的一组特征链接到由分类器360标记的特定输出,给定的所述组特征可以被定义为AI模型内的节点(即,描述游戏应用程序的情境的玩游戏过程中的训练实例或点的节点)。例如,规则可以在输入和输出之间通过AI模型来链接一个或多个特征或节点(通过一个或多个关系参数定义的特征之间的链接或相互关系)。分类器可以被配置成生成AI模型160的特征和/或节点,其中特征和/或节点用于定义规则,如上所述。输出可以与分类器360所生成、指派和/或确定的标签相关联。

更特别地,对于给定的一组输入和/或与游戏应用程序的情境的玩游戏过程相关的输入数据,习得的规则可以是习得的路径和/或习得的模式(例如,通过AI模型的通向输出节点的节点或特征)。例如,一个或多个链接的特征和/或节点生成了规则。被训练的AI模型是一组规则和标签(即,输出)。在监督学习环境中,针对给定的一组特征,输出是预定的,并且深度学习引擎学习将所述组特征(例如,通过标签)链接到输出的规则。在无监督学习环境中,给定的一组特征未自动绑定到输出,其中规则可以通过寻找相似性或与其他相似特征组相关的数据点集群来学习。根据为培训定义的成功准则,集群可能优于其他集群。在任一情况下,可以匹配输入特征组的现有规则,或者可以为输入特征组生成新的规则(这很可能类似于一个或多个现有规则的演进)。根据AI模型的习得的规则的所得输出可以预测当用于玩游戏应用程序的情境时,对应的输入特征组可以有多成功。此外,来自AI模型的输出(以及任选地输入特征组)可以用于(例如,经由分析器)确定在所述情境的玩游戏过程中的特定点要采取的动作过程(如由输入数据集所指示的游戏应用程序的条件或游戏状态来确定)。例如,动作可以包括作为推荐被建议的一组控制器输入、使游戏应用程序对输入作出响应的控制命令等。可以为给定的一组特征或相似的一组特征生成一个或多个规则。根据对应的成功准则或奖励准则,对于给定的一组特征或相似的一组特征,一个规则可能是优选的。对于给定的一组特征,可以为给定的所述组特征选择最成功的输出。也就是说,对于给定的一组特征(例如,输入),选择最成功的规则(和输出)在被训练的AI模型160中使用,这是增量学习的证据。

在简单的说明中,成功准则可以由赢得的分数来定义,其中生成最多分数的路径(例如,链接标签)更成功。在另一示例中,成功准则可以与玩家角色或对手的生命条的水平相关,如图3C-1中进一步描述的。其他成功准则可以基于玩家来定义。例如,通过一个或多个成功准则来识别专家,他们对应的玩游戏过程可以作为训练状态数据来使用,并且通常用于学习对于游戏应用程序的情境的玩游戏过程的给定状态或条件要采取的最佳动作。以这种方式,可以定义成功准则来确定玩家的技能水平,包括玩家的响应时间有多快、玩家瞄准一个或多个目标的准确度有多高(例如,通常,熟练的玩家具有快速触发,并且快速、果断且准确地从一个目标移动到另一目标)、控制器输入之间的周期有多快等。

如图3B-1和图3B-2中所示,建模器120构建和/或输出被训练的AI模型160,所述模型将习得的路径和/或习得的模式链接到(例如,将AI模型的标签链接到)给定的一组输入和/或与游戏应用程序的情境的玩游戏过程相关的输入数据。AI模型160可以稍后用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的一个或多个功能性。也就是说,在给定可以指示玩家后续的玩游戏过程的条件的一组输入的情况下,被训练的AI模型160的所得输出可以用于(例如,经由分析器)预测和/或确定在由对应的一组输入数据定义的情境的玩游戏过程中的特定点要采取的最佳动作过程。例如,在AI模型160已被训练之后,玩家可能正在玩游戏应用程序的情境。玩家在情境中前进时也遇到了困难,这可能反映在AI模型的输出中。新的和后续的输入状态数据(例如,游戏状态)可以与关于所述玩家的玩游戏过程中的那个特定点(在那里经历了困难)的任何数据相关。所述情境的输入状态数据被接收并经由深度学习引擎190被提供给AI模型,其中AI模型可以作为输出预测在给定游戏应用程序的给定条件下玩所述情境时玩游戏过程有多成功。来自AI模型的输出可以被分析并用于执行与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。例如,可以分析输出以确定针对所述情境的玩游戏过程中的所述特定点要采取的最佳动作过程。可以基于输出来执行动作。例如,被训练的AI模型160可以向玩家提供推荐以推进他或她的玩游戏过程。

对于给定的输入数据集,也可以基于AI模型160的输出来确定和生成其他功能性,其中功能性以输出或动作的形式表现。也就是说,在情境的第一玩游戏过程期间接收输入状态数据,并将其作为输入提供给深度学习引擎。深度学习引擎将AI模型应用于输入状态数据。基于对AI模型的输出的分析来执行动作,其中所述动作是响应于输入状态数据而执行的。图4A至图4B示出了用于游戏应用程序的给定玩游戏过程的AI模型的应用。图5A至图5F提供了根据预定义的目标可以执行的不同动作或响应的各种图示。特别地,通过深度学习引擎190实现的AI模型将给定的输入状态数据与在被训练的AI模型内定义的一个或多个规则(每一规则提供链接或互连的节点和/或特征)相匹配。每一规则与输出相关联。可以应用成功准则以生成规则。另外,分析器140获取输出并执行附加分析,以确定与对应输入数据相关的适当动作。例如,当相对于针对给定的一组输入状态数据的成功准则满足规则时,可以识别和/或执行对应的动作。

图3C-1是根据本公开的一个实施方案的游戏应用程序的玩游戏过程的屏幕截图300C,并且示出了可以用于训练理解如何玩游戏应用程序的AI模型的一种类型的成功准则。特别地,玩家P-1控制玩游戏过程。如图所示,屏幕截图300C示出奎托斯(Kratos)391和敌人396之间的战斗的正面视图。在“战神(the God of War)”游戏应用程序中,奎托斯是希腊神话中的斯巴达战士,他的任务是杀死战神阿瑞斯(Ares)。在玩游戏过程中,玩家可以控制奎托斯391。来自与屏幕截图300C相关联的玩游戏过程的训练状态数据320a被馈送到深度和/或机器学习引擎190,以用于训练AI模型的目的,如先前描述。此外,成功准则330被供应给深度和/或机器学习引擎190,其中深度学习引擎190使用成功准则来训练AI模型。例如,可以使用成功准则来区分通过AI模型的路径(其中路径横穿AI模型中的节点)。在实施方案中,可以定义一个或多个成功准则,用于训练AI模型。例如,成功准则可以包括赚取最多的分数、赚取最多的资产或最强大的资产或关键资产等。

在一个示例中,成功准则330可以由玩游戏过程期间敌人396的生命条397是否变低来定义,其中生命条指示对应角色的健康。此外,生命条392指示奎托斯391在玩游戏过程期间的健康。如图所示,敌人的生命条397极低,并且可以指示玩游戏过程是成功的或具有高度的成功。在另一示例中,成功准则可能更复杂,并且由敌人396的生命条397耗尽的速度来定义。如果生命条397快速地耗尽,这指示玩游戏过程正在由高度熟练的玩家控制。例如,高度熟练的玩家理解如何与敌人397战斗,并且知道用于击败敌人396的控制器输入序列,并且具有快速和准确地(例如,无偏差地)实现那些序列的技能和/或能力。在AI模型的训练期间,使用关注生命条耗尽的速度的成功准则可以区分成功输入和不太成功的输入,并且有助于识别要在玩游戏过程的特定条件或游戏状态期间使用的如果由另一个玩家实现则将成功的控制器输入序列。

图3C-2是根据本公开的一个实施方案的从多个玩游戏过程中收集训练状态数据的图示,其中多个实例正在多个服务器上执行以支持玩游戏过程。示出游戏应用程序的多个玩游戏过程310(例如,310a至310n)。多个玩游戏过程310由多个玩家P-1至p-n通过相应的客户端装置来控制。如图所示,玩游戏过程提供各种玩游戏过程数据320a至320n,其中提取的数据可以用作训练状态数据345。玩游戏过程数据可以包括元数据,包括游戏状态数据,如先前描述。每一玩游戏过程都是在玩游戏应用程序的情境1(S-1),其中每一玩游戏过程都是唯一的并且具有唯一的结果。也就是说,每一玩游戏过程可以与测量到的前进通过情境S-1的成功程度相关联。所述成功程度可以部分地使用成功准则330来测量,其中成功准则330可以由深度和/或机器学习引擎190的建模器120用来训练AI模型160,如先前描述。例如,成功准则可以用于区分相似的训练状态数据,以用于训练AI模型的目的。

根据本公开的一个实施方案,通过对系统100A和系统200B的各种模块的详细描述,流程图400A公开了用于应用AI模型的方法,所述AI模型基于一个或多个成功准则知道关于游戏应用程序和/或游戏应用程序的玩游戏过程的一切(例如,理解如何玩游戏应用程序),所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。如先前描述,流程图400A可以在后端服务器内实现(例如,在游戏云系统201内结合深度学习引擎190实现)。

特别地,在410,方法包括从游戏应用程序的情境的多个玩游戏过程中训练AI模型。例如,使用从游戏应用程序的情境的多个玩游戏过程中收集的训练状态数据和每一玩游戏过程的相关联成功准则来训练AI模型以用于玩所述情境。也就是说,AI模型被训练来学习游戏应用程序的复杂性和/或玩游戏应用程序或游戏应用程序的情境的复杂性。

在一个实施方案中,使用在游戏应用程序的多个玩游戏过程中收集的训练状态数据来训练AI模型,其中多个玩游戏过程由多个玩家经由多个客户端装置来控制。例如,多个服务器可以正在执行游戏应用程序的多个实例,其中这些实例支持多个玩游戏过程。在多个服务器处收集训练状态数据,其中训练状态数据与情境的对应玩游戏过程相关联。例如,训练状态数据可以包括与玩游戏过程相关联的元数据,包括控制器输入、定义游戏应用程序在玩游戏过程期间的特定点的状态和/或条件的游戏状态、玩游戏过程中的进展、情境的结果(例如,成功或失败)、用户配置文件信息等,如先前描述。也就是说,训练状态数据包括可以与理解游戏应用程序和/或游戏应用程序的玩游戏过程相关的任何数据。

另外,针对训练状态数据定义一个或多个成功准则。例如,成功准则用于训练理解如何玩游戏应用程序的AI模型。例如,成功准则可以用于定义AI模型的节点之间的有利链接,或者针对给定的一组输入数据定义通过AI模型的节点的有利路径。成功准则和训练状态数据被提供给深度学习引擎以训练AI模型。

在420,方法包括在情境的第一玩游戏过程期间接收第一输入状态数据。在一个实施方案中,第一玩游戏过程发生在训练AI模型之后。也就是说,第一玩游戏过程未用于训练AI模型。在另一实施方案中,第一玩游戏过程可以在训练期间发生,使得第一玩游戏过程用于训练AI模型(例如,自我训练模式)。在另一实施方案中,第一玩游戏过程可能最初不用于训练AI模型,并且主要用于确定在给定第一输入状态数据的情况下要采取的适当动作。其后,第一玩游戏过程(例如,第一输入状态数据)可以用于通过额外的训练来完善AI模型。

在430,方法包括将第一输入状态数据应用于AI模型以生成输出。在一个实施方案中,所述输出可以指示所述情境的针对第一玩游戏过程的成功程度。也就是说,所述输出可以预测第一玩游戏过程前进通过所述情境时将有多成功。

在440,方法包括基于预定义目标来执行对输出的分析。另外,还可以分析所述组输入(例如,当前和过去的多组输入)。根据预定义目标,分析可以产生针对情境的对应玩游戏过程中的特定点要执行的动作(如由输入数据集指示的游戏应用程序的条件或游戏状态确定)。例如,如果预定义目标是提供协助,则分析可以产生关于如何在游戏应用程序的情境的玩游戏过程期间前进通过遇到的状况的推荐或建议。如果预定义目标是提供指导,则分析可以确定玩家的弱点,并为玩家提供教程会话来解决所述弱点。支持其他预定义目标,诸如提供游戏支持、在玩游戏过程中提供对等性、自动训练AI模型、发现游戏应用程序中的缺陷、自动测试游戏应用程序等。

因而,在450,方法包括基于所分析的输出来执行动作以实现预定义目标。图5A至图5F提供了根据预定义的目标可以执行的不同动作或响应的各种图示和示例。

图4B是根据本公开的一个实施方案的被配置用于应用被配置成理解如何玩游戏应用程序的AI模型的图2B的AI处理器引擎210的框图,所述AI模型用于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。如图所示,AI处理器引擎210包括被配置成训练和/或应用AI模型160的深度学习引擎或机器学习引擎190,其中AI模型160被配置成针对给定输入而提供输出。AI处理器引擎210还包括分析器,以用于使用来自AI模型160的输出来确定对输入的响应。

特别地,输入状态数据405作为输入被提供给深度学习引擎190,所述深度学习引擎被配置成实现AI模型160。输入状态数据可以与游戏应用程序的玩游戏过程相关联,包括控制器输入、游戏状态数据、用户数据、成功准则等,如先前描述。在一些实施方案中,可以在训练AI模型160之后提供输入状态数据405。在其他实施方案中,可以在AI模型160的训练(例如,自我训练AI模型)期间提供输入状态数据405。如先前描述,AI模型160针对给定输入状态数据405而生成输出173。例如,所述输出可以指示玩游戏过程前进通过游戏应用程序的情境可以有多成功。所述输出可以由分析器140分析以提供与游戏应用程序的玩游戏过程相关的各种功能性。分析器140根据预定义目标来确定适当的动作或响应,如先前描述(例如,指导、提供协助等)。也就是说,分析器140可以使用AI模型160来确定在情境期间引导玩游戏过程进行到成功结束需要什么。因而,分析器140可以根据给定输入状态数据的预定义目标来确定和执行动作。以这种方式,分析器通过使用AI模型160可以提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

如图所示,作为分析的一部分,分析器140可以执行一个或多个功能。例如,分析器140的玩家剖析器144a被配置成执行对玩游戏应用程序的玩家的剖析(例如,确定玩家的技能水平)。分析器140的弱点识别器141a被配置成识别玩家的游戏能力中的弱点。分析器140的输入控制序列解析器147a被配置成确定玩家用来控制玩游戏过程的控制器输入序列。分析器140的序列图和/或路线跟踪器148a被配置成跟踪玩游戏过程的进度,包括跟踪游戏环境中的进度。例如,跟踪器148a被配置成跟踪在游戏环境中采取的路线,或者构建游戏环境的地图,或者构建指示游戏应用程序的进展的玩游戏过程的节点图。还支持针对给定输入状态数据405而提供对AI模型的输出的分析的其他模块。

分析器140还被配置成响应于对响应于给定输入状态数据405而确定的输出的分析,由动作生成器170来确定并执行动作。根据预定义目标来确定和执行动作。例如,所述动作可以向玩游戏应用程序的玩家提供服务(例如,提供玩游戏应用程序的玩家的配置文件;在玩家玩游戏应用程序的玩游戏过程期间向玩家提供推荐,其中所述推荐可以考虑用户配置文件来结构化;发现玩家的弱点,提供服务以解决这些弱点;训练玩家;向玩家提供机器人对手;接管玩家的玩游戏过程等)。所述动作还可以向游戏开发者或其他实体提供服务,诸如发现游戏应用程序中的缺陷,使用在游戏应用程序(诸如多玩家在线游戏)中相互竞争的玩家配置文件来构建平等的团队,通过自动玩自动训练AI模型,探索游戏应用程序的游戏环境以发现缺陷等。图5A至图5F提供了根据预定义的目标可以执行的不同动作或响应的各种图示。

特别地,图5A示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出用于向玩游戏应用程序的玩家提供推荐的过程,所述推荐通过执行游戏应用程序的实例的后端服务器网络训练的AI模型160来提供。示出了游戏应用程序的玩游戏过程501x。如先前描述,玩游戏过程可以由玩家P-x通过对应客户端装置来控制,其中游戏应用程序的实例在流式传输游戏服务(例如,云游戏系统)的后端服务器处执行。在其他实施方案中,游戏应用程序可以在客户端装置上本地执行,并且元数据被递送到后端服务器以用于AI模型支持。玩游戏过程501x在情境S-1期间发生。

来自玩游戏过程501x的输入状态数据505x被提供给分析器140,所述分析器被配置成分析被训练的AI模型160的输出,其中AI模型160通过深度学习引擎190来实现(在应用阶段而不是学习阶段)。输入状态数据505x在AI模型160被训练之后被接收,并且因此可以不是用于训练AI模型的训练状态数据的一部分,如先前描述。AI模型160被配置成提供输出173,并且分析器140被配置成基于对输出173的分析来执行或提供要执行的动作。

特别地,分析器140的动作生成器170包括推荐引擎145a,所述推荐引擎被配置成在玩家沿游戏应用程序的玩游戏过程期间向玩家提供推荐。例如,预定义目标可以是向玩家P-x提供游戏支持,如通过分析器140实现的。可以响应于玩游戏过程中的条件(例如,游戏状态)来提供推荐,诸如当玩家在游戏应用程序的特定情境中前进有困难时。在一个实施方案中,分析器140可以通过确定第一输入状态数据或第一输入状态数据中的特征不满足对应的成功准则来确定玩家正在挣扎。成功准则可以提供玩游戏过程将会有多成功的指示,并且特别是玩游戏过程的所述部分将会有多成功。例如,成功准则可以指示在所述情境期间积累了多少分数。当分析器140从AI模型160的输出确定第一输入状态数据不满足成功准则时,则可以向玩家P-x的客户端装置提供推荐515作为动作。

在一个实施方案中,所述推荐可以考虑玩家P-x的用户/玩家配置文件510x(例如,考虑玩家的技能水平),其中玩家剖析器144a可以分析来自被训练的AI模型160的输出数据和/或输入状态数据,以确定所述情境的用户配置文件510x(例如,玩家在所述情境期间如何对游戏应用程序做出反应、技能水平和其他玩家特性度量)。也就是说,所述推荐反映了玩家P-x的技能。在其他实施方案中,可以通过主题游戏应用程序以及其他游戏应用程序的历史玩游戏过程来确定用户配置文件510x。例如,如果用户配置文件510x指示玩家是专家玩家,那么针对玩家P-x的推荐515可以提供小提示而没有太多细节。另一方面,如果用户配置文件510x指示玩家P-x是新手玩家,则推荐515可以提供玩家要遵循的详细指令。

在一个实施方案中,推荐515可以包括询问玩家P-x是否想要参与自动玩特征的查询。如果是,任务自动玩引擎145b被配置成接管玩家P-x的玩游戏过程。以这种方式,任务自动玩引擎145b自动(并且成功地)执行游戏应用程序中的情境或情境内的任务。

图5B示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出使用通过执行游戏应用程序的实例的后端服务器网络训练的AI模型确定的玩家配置文件来平衡玩游戏应用程序的玩家团队的过程。示出游戏应用程序的多个玩游戏过程501(例如,501a至501n)。玩游戏过程可以由多个玩家P-1至p-n通过对应客户端装置来控制。如先前描述,游戏应用程序的实例在流式传输游戏服务(例如,云游戏系统)的后端服务器上执行,如先前描述。在其他实施方案中,游戏应用程序可以在客户端装置上本地执行,并且元数据被递送到后端服务器以用于AI模型支持。例如,玩游戏过程501a至501n可以在一个或多个情境S-1、S-2和S-3期间发生。

来自玩游戏过程501a至501n的输入状态数据505a至505n被提供给分析器140,所述分析器被配置成分析被训练的AI模型160的输出,其中AI模型160通过深度学习引擎190来实现(在应用阶段而不是学习阶段)。在一个实施方案中,多个输入状态数据505a至505n是在游戏应用程序的情境的第二多个玩游戏过程期间接收的,其中玩游戏过程可以在训练AI模型之后进行。第二多个玩游戏过程由多个玩家控制,并且其中多个输入状态数据包括多个玩家的多个玩家特性度量。将多个输入状态数据应用于AI模型,以生成指示所述情境的第二多个玩游戏过程的多个成功程度的多个输出。另外,基于多个玩家特性度量,分析多个输出以确定多个玩家配置文件。AI模型160被配置成提供输出,并且分析器140被配置成基于对输出的分析来执行或提供要执行的动作。特别地,分析器140被配置成基于对应的玩家配置文件从多个玩家中构建平衡的玩家团队,以实现预定义目标。

在分析期间,分析器140可以诸如通过玩家剖析器144a来执行用户剖析。特别地,来自被训练的AI模型160的输出被提供给玩家剖析器144a,所述玩家剖析器被配置成提供玩游戏应用程序的玩家P-1至P-n的配置文件。玩家配置文件510a至510n可以限于游戏应用程序的特定情境的玩游戏过程(例如,配置文件确定或预测对应玩家在所述情境期间如何对游戏应用程序做出反应、对应玩家的技能水平等)。例如,玩家配置文件可以基于多个玩家特性度量来定义,其中每一玩家配置文件包括一个或多个对应的玩家特性度量。可以在玩家玩游戏应用程序的玩游戏过程期间接收输入状态数据。输入状态数据包括多个玩家的多个玩家特性度量。如先前描述,输入状态数据也被应用于AI模型160以确定输出。玩家剖析器144a分析输出173和/或输入状态数据505a至505n,以确定对应玩家的对应玩家配置文件。例如,对应玩家配置文件是基于作为输入提供给被训练的AI模型的对应玩家特性度量。例如,玩家特性度量可以包括:玩家的准确性;或者对应玩家生成输入控制数据序列的速度;或者对应玩家在响应情境中的事件时的反应时间;或者对应玩家的一致性;或者对应玩家在第一目标和第二目标之间的过渡时间等。在其他实施方案中,可以通过主题游戏应用程序以及其他游戏应用程序的历史玩游戏过程来确定对应的玩家配置文件,如先前描述。

此外,分析器140的动作生成器170包括团队平衡器模块144b,所述团队平衡器模块被配置成根据预定义目标使用玩家配置文件来构建相当平衡的团队(例如,在游戏应用程序中相互竞争的团队)。例如,预定义目标可以是在玩游戏过程中(例如,在大规模多玩家在线游戏应用程序–MMO中)提供对等性,如通过分析器140实现的。例如,基于玩家配置文件510a至510n,团队平衡器144b被配置成构建相当平衡的团队(例如,在游戏应用程序中相互竞争的团队)。以这种方式,游戏应用程序在两个团队之间的玩游戏过程将是公平的、吸引人的,并且对每一团队的玩家都是有价值的。例如,平衡的团队将有助于避免毫无悬念的比赛。考虑基于一个或多个类别的技能水平进一步划分为两个组(G1和G2)的玩家配置文件。期望分散玩家,并且/或者每组玩家的技能在所有团队(例如,团队1到团队n)中得到均衡。以战斗为中心的游戏应用程序中的每一团队包括一个或多个职位,包括首领、狙击手、训练有素的杀手(例如,肉搏战)。在一个说明中,您可以将所有技能职位分组,然后在团队之间均衡地分散。在说明中,首领被排除在外,并且为了简单起见,所有首领都是从一个组G-2中选择的,使得所有的团队都有同样强的首领。假设所有其他技能职位同等重要。也就是说,每一团队应由许多技能职位组成,从每一组G1和G2中挑选相同数量的玩家。例如,每一团队包括来自组G1的一个玩家,和来自组G2的一个玩家(排除首领)。如图所示,团队1和团队2各自包括来自组G1的一个玩家(狙击手)和来自G2的一个玩家(例如,杀手)。此外,团队3包括来自组G1的一个玩家(杀手)和来自G2的一个玩家(例如,狙击手)。因而,每一团队根据用户配置文件(例如,技能水平)来平衡。

图5C示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出通过由AI模型160指导的自动玩来训练AI模型的过程。如先前描述,AI模型160通过执行游戏应用程序的实例的后端服务器网络来训练。示出游戏应用程序的多个玩游戏过程310a至310n。如先前描述,从玩游戏过程310a至310n产生玩游戏过程数据320a至320n。在一个实施方案中,在训练期间,多个玩游戏过程由AI模型160控制。以这种方式,分析器140使用来自AI模型160的数据来生成输入状态数据,其中输入状态数据由分析器140在训练期间作为先前动作提供。玩游戏过程数据可以包括元数据,包括描述特定点的游戏状态的游戏状态数据,并且可以包括控制器输入数据,并且可以包括玩游戏过程310a至310n的记录,以便提取元数据和/或训练状态数据。捕捉引擎340捕捉玩游戏过程数据320a至320n,以及可以提供的其他数据,诸如成功准则330,如先前描述。成功准则可以用于区分相似的训练状态数据,以用于训练目的。也就是说,成功准则可以由深度学习引擎190用于训练AI模型160。训练状态数据345被提供给深度学习引擎190。深度学习引擎190的功能是关于图3B1和图3B-2描述的,并且同样适用于图5C所示的深度学习引擎190。为简单起见,图5C中未示出深度学习引擎190的所有部件。通常,深度学习引擎190包括建模器120,所述建模器被配置用于使用训练状态数据345和成功准则330来训练和/或构建AI模型160。建模器120可以通过各种神经网络(例如,卷积、递归等)实现人工智能。特别地,建模器120识别在给定一组输入(例如,可以定义游戏应用程序的情景或条件——游戏状态——的特征)的情况下预测和/或确定要采取的动作的一组特征相关规则。例如,AI模型160的输出可以预测给定的一组输入数据(例如,定义游戏应用程序的玩游戏过程的条件)在游戏应用程序的情境中前进的成功度。连接特征和/或节点的一组规则构成了AI模型160。

如图所示,深度学习引擎在学习和应用阶段都起作用。特别地,玩游戏过程310诸如通过AI模型160自动地执行。以这种方式,AI模型160是自我训练的。具体地,分析器140包括输入控制序列解析器571、玩家剖析器144a和地图/路线跟踪器572,它们中的每一者先前已介绍。例如,输入控制序列解析器147a被配置成确定玩家用来控制玩游戏过程的控制器输入序列。分析器140的序列图和/或路线跟踪器148a被配置成跟踪玩游戏过程的进度,包括跟踪游戏环境中的进度。分析器140的玩家剖析器144a被配置成执行玩游戏应用程序的玩家的剖析(例如,确定玩家的技能水平)。

另外,分析器140的动作生成器170包括自动玩家143a,所述自动玩家被配置成根据预定义目标在AI模型训练器143b的指导下自动玩游戏应用程序,诸如为了自动训练AI模型的目的。例如,预定义目标可以是自动训练AI模型160。具体地,分析器140包括自动玩家143a,所述自动玩家被配置成在AI模型训练器143b的指导下自动玩游戏应用程序。例如,对于给定的一组训练状态数据,诸如对于训练实例,分析器140可以分析AI模型160的习得的输出,以确定用于控制对应玩游戏过程的下一组控制器输入。特别地,AI模型训练器143b组合的机器人选择器和输入控制选择/预测引擎537被配置成根据目标确定下一组控制器输入。例如,可以选择对于以最佳的成功度和效率完成游戏或者探索游戏应用程序的不同排列等最优化的机器人。根据目标,输入控制选择/预测引擎537被配置成预测在给定目标和所选机器人的情况下下一组控制器输入是什么。控制器输入被递送回自动玩家143a,然后自动玩家将控制器输入发送到游戏应用程序的支持对应玩游戏过程的对应实例。以这种方式,通过利用一组后端服务器来为对应的玩游戏过程310a至310n执行游戏应用程序的实例,可以快速且有效地自动生成训练状态数据345。

在一个实施方案中,对于第一输入状态数据,可以确定在第一输入状态数据之后要进行的多组输入控制或控制器输入。选择第一组输入控制,所述第一组输入控制被预测为满足成功准则并且被预测为在多组输入控制中具有最高的成功程度。以这种方式,第一组输入控制可以作为动作被递送给游戏应用程序的对应实例以供执行。

图5D示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出在AI模型160的指导下使用自动扫掠器/玩家146a自动扫掠游戏应用程序的过程,所述AI模型通过执行游戏应用程序的实例的后端服务器网络来训练。示出游戏应用程序的多个玩游戏过程501(例如,501a至501n)。可以诸如通过AI模型160自动地控制玩游戏过程。在这种情况下,AI模型160可以被配置成提供下一输入状态数据(例如,用以生成游戏状态和其他输入状态数据的控制器输入)。游戏应用程序的实例可以在流式传输游戏服务(例如,云游戏系统)的后端服务器上执行。例如,玩游戏过程501a至501n可以在一个或多个情境S-1、S-2和S-3期间发生。来自玩游戏过程501a至501n的输入状态数据505a至505n被提供给分析器140,所述分析器被配置成分析AI模型160的输出。深度学习引擎190实现AI模型160(在应用阶段而不是在学习阶段)。AI模型160被配置成提供输出,并且分析器140被配置成基于对输出的分析来执行或提供要执行的动作。

特别地,玩游戏过程310诸如通过AI模型160自动地执行。例如,在AI模型已被训练之后,预定义目标可以自动地测试游戏应用程序。例如,AI模型先前可能已自动地自我训练,并且AI模型现在可以用来测试游戏应用程序。在另一实施方案中,自动扫掠特征在训练期间执行。具体地,分析器140包括输入控制序列解析器571和地图/路线跟踪器572,它们中的每一者先前已介绍。例如,输入控制序列解析器147a被配置成确定先前测试的控制器输入序列。分析器140的序列图和/或路线跟踪器148a被配置成跟踪在测试期间玩游戏过程的进度,包括跟踪游戏环境中的进度。

在一个实施方案中,第一输入状态数据由AI模型生成,作为训练期间先前采取的动作。在AI模型的输出的分析期间,然后确定不同的排列来响应第一输入状态数据。例如,每一排列包括要获取的唯一一组控制器输入。之后,采取一个或多个动作,诸如执行不同的排列。以这种方式,系统可以被配置成发现在玩游戏应用程序时的任何异常。

特别地,分析器140的动作生成器170包括自动扫掠器引擎/玩家146a,其被配置成诸如通过使用排列引擎146b来探索游戏应用程序以确定游戏应用程序可以执行的各种排列。例如,输入控制排列引擎146b被配置成确定游戏应用程序诸如响应于给定条件(例如,特定游戏状态)可以执行的各种排列。也就是说,对于给定的输入状态数据405a至405n(例如,游戏状态),输入控制排列引擎146b能够确定下一组控制器输入应该是什么。在此情况下,排列引擎146b发现用于响应输入状态数据的不同排列,每一排列包括要采取的一组不同的动作。自动扫掠器引擎146a然后被配置成通过控制玩游戏过程401a至401n(例如,通过向游戏应用程序的执行实例提交适当的控制器输入)来经历各种排列。

此外,分析器140被配置成对游戏应用程序执行质量分析,诸如用于发现游戏应用程序中的弱点(例如,过长且无聊的序列、困难的部分等)或瑕疵(例如,小故障、循环等)。例如,地图/路线分析器441被配置成分析游戏应用程序的不同排列的输出(例如,游戏状态),以发现游戏应用程序中的弱点。在一个实现方式中,游戏代码识别器443被配置成发现游戏应用程序的编码中的问题,其中代码位置447被提供作为输出。

图5E示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出为玩家提供对手的过程,其中对手由通过执行游戏应用程序的实例的后端服务器网络训练的AI模型来指导。示出了游戏应用程序的玩游戏过程501x。如先前描述,玩游戏过程可以由玩家P-x通过对应客户端装置来控制,其中游戏应用程序的实例在流式传输游戏服务(例如,云游戏系统)的后端服务器处执行。在其他实施方案中,游戏应用程序可以在客户端装置上本地执行,并且元数据被递送到后端服务器以用于AI模型支持。玩游戏过程501x在情境S-1期间发生,并且由玩家输入控制503x控制。

来自玩游戏过程501x的输入状态数据505x被提供给分析器140,所述分析器被配置成分析被训练的AI模型160的输出,其中被训练的AI模型160通过深度学习引擎190来实现(在应用阶段而不是学习阶段)。输入状态数据505x在AI模型160被训练之后被接收,并且因此可以不是用于训练AI模型的训练状态数据的一部分,如先前描述。AI模型160被配置成提供输出,并且分析器140被配置成基于对输出的分析来执行或提供要执行的动作。

具体地,分析器140包括输入控制序列解析器571和玩家剖析器144a,它们中的每一者先前已介绍。例如,输入控制序列解析器147a被配置成确定玩家用来控制玩游戏过程的控制器输入序列。分析器140的玩家剖析器144a被配置成执行玩游戏应用程序的玩家的剖析(例如,确定玩家的技能水平)。

另外,分析器140包括机器人构建器575,其被配置成构建一个或多个机器人(用于玩游戏过程或用于控制玩游戏过程中的角色的自动玩家机器人或对手)。例如,机器人构建器575可以被配置成构建终极机器人142d,所述终极机器人由AI模型160通过应用成功准则而习得。如先前描述,对于给定的一组输入(例如,输入训练数据),学习和选择更成功的模式(例如,包括链接特征和/或标签的规则)而非不太成功的模式。以这种方式,训练在玩游戏应用程序时最成功的最佳机器人或终极机器人142d。在另一示例中,机器人构建器575被配置成构建虚拟玩家或模拟第一玩家的虚拟我机器人142c。在一个实施方案中,训练状态数据是从第一玩家在一个或多个客户端装置上玩游戏过程中获得的。也就是说,来自其他玩家的玩游戏过程的数据未用于训练虚拟我机器人142c。以这种方式,AI模型是从由第一玩家的玩游戏过程产生的元数据中习得的,并且因此,AI模型将是所述第一玩家的直接反映。

在另一示例中,机器人构建器575被配置成构建不同技能水平的一个或多个机器人。例如,不同技能的机器人可以包括专家机器人576、中等机器人577和初学者机器人578。在一个实现方式中,训练状态数据可以被解析以反映对应的技能水平,使得使用对应技能水平的数据来训练AI模型。例如,可以定义成功准则,使得只有专家玩家的玩游戏过程被用来训练AI模型,以便机器人构建器575可以构建专家机器人576。在另一示例中,可以定义成功准则,使得只有中等技能的玩家的玩游戏过程被用来训练AI模型,以便机器人构建器575可以构建中等机器人577。在又一示例中,可以定义成功准则,使得只有初学者技能的玩家的玩游戏过程被用来训练AI模型,以便机器人构建器575可以构建初学者机器人578。在又一实施方案中,特定技能水平的机器人可以通过使用虚拟终极机器人142d并且将一个或多个条件应用于终极机器人的性能来实现,包括引入随机性和/或等待时间。例如,终极机器人的性能可以通过在序列中的控制器输入的执行之间引入等待时间而折衷,或者通过将随机控制器输入引入已知在完成任务时非常成功的给定控制器输入序列而折衷。

另外,分析器140的动作生成器170包括自动玩家143a,所述自动玩家被配置成根据预定义目标在AI模型训练器143b的指导下自动玩游戏应用程序,诸如为了自动训练AI模型的目的。例如,预定义目标可以是自动训练AI模型160。具体地,分析器140包括自动玩家143a,所述自动玩家被配置成在AI模型训练器143b的指导下自动玩游戏应用程序。

分析器140包括自动玩家143a,所述自动玩家被配置成自动玩游戏应用程序,以用于提供机器人对手(例如,自动反应机器人对手)的目的。机器人对手选择器142a被配置成选择适当的机器人,诸如先前介绍的那些机器人(例如,终极机器人142d、虚拟我机器人142c和不同技能的机器人,包括专家机器人576、中等机器人577或初学者机器人578)。控制玩游戏过程的玩家可以控制与机器人对手对抗的角色。特别地,自动玩家143a被配置成实现所选择的自动机器人(机器人)。对于给定的一组输入状态数据505x,自动玩家143a可以通过分析器140分析输出,以确定用于控制在游戏应用程序中找到的机器人的下一组指令。

另外,机器人抑制机制(bot throttler)142b被配置成应用反映在对应机器人中的难度设置(例如,应用于机器人的操作)。机器人抑制机制可以从终极机器人142d或任何其他习得的机器人开始。难度设置可以由玩家主动应用,或者可以根据用户配置文件来应用。例如,如果玩家是通过配置文件所指示的专家,那么难度将被设得较高(对手机器人很难被打败)。另一方面,如果玩家是初学者,那么难度设置将较低(对手机器人容易被打败)。如图所示,机器人抑制机制142b可以包括被配置成引入随机指令的随机化器551。具有高难度的对应机器人将具有插入通常用于控制终极机器人142d的指令流中的低水平的随机指令。因而,所得机器人将类似于终极机器人142d。另一方面,具有低难度的所得机器人将具有插入通常用于控制终极机器人142d的指令流中的高水平的随机指令。因为存在随机指令,所以所得机器人会行动不稳定,并且表现不如终极机器人142d。另外,可以实现等待时间引擎553以应用难度设置。对于具有高难度的所得机器人,通常应用于终极机器人142d的指令流中引入的等待时间将是有限的或者没有等待时间。另一方面,对于具有低难度的所得机器人(例如,对于初学者),通常应用于终极机器人142d的指令流中引入的等待时间量将较大。以这种方式,具有低难度设置的所得机器人则将行动非常缓慢,诸如在攻击期间,或在防御动作期间,因此可能会很容易被击败。

图5F示出根据本公开的一个实施方案的数据流程图,所述数据流程图示出用于识别玩家的弱点并提供各种服务来训练玩家克服那些弱点的过程。示出了游戏应用程序的玩游戏过程501x。如先前描述,玩游戏过程可以由玩家P-x通过对应客户端装置来控制,其中游戏应用程序的实例在流式传输游戏服务(例如,云游戏系统)的后端服务器处执行。在其他实施方案中,游戏应用程序可以在客户端装置上本地执行,并且元数据被递送到后端服务器以用于AI模型支持。玩游戏过程501x在情境S-1期间发生,并且由玩家输入控制503x控制。

来自玩游戏过程501x的输入状态数据505x被提供给分析器140,所述分析器被配置成分析被训练的AI模型160的输出,其中被训练的AI模型160通过深度学习引擎190来实现(在应用阶段而不是学习阶段)。输入状态数据505x在AI模型160被训练之后被接收,并且因此可以不是用于训练AI模型的训练状态数据的一部分,如先前描述。AI模型160被配置成提供输出,并且分析器140被配置成基于对输出的分析来执行或提供要执行的动作。

另外,分析器140的动作生成器170包括自动玩家143a,所述自动玩家被配置成根据预定义目标在AI模型训练器143b的指导下自动玩游戏应用程序,诸如为了自动训练AI模型的目的。例如,预定义目标可以是自动训练AI模型160。

特别地,分析器140包括弱点识别器141a,所述弱点识别器被配置成确定根据预定义目标控制对应玩游戏过程的对应玩家的弱点,以提供指导。所述弱点通过分析玩家的玩游戏过程来确定。

例如,分析可以包括与成功准则进行比较。特别地,可以通过确定第一输入状态数据具有低于平均的成功程度来识别弱点,如通过对来自AI模型的输出与从相当的输入状态数据所产生的其他输出的比较的分析来确定的。作为说明,对于给定的输入状态数据(例如,第一输入状态数据),响应于第一输入状态数据产生输出的第一组互连节点在满足对应的成功准则时可能具有比针对具有相当的输入状态数据的类似玩游戏过程而确定的平均值更低的值。也就是说,所述比较是与具有相同或类似的输入状态数据的玩游戏过程进行。因而,弱点识别器141a可以确定玩家的弱点。

此外,弱点训练器141b被配置成执行帮助玩家克服弱点的服务。例如,弱点训练器141b可以提供旨在提高与玩家的弱点相关的玩家技能的一个或多个教程561(例如,视频、游戏会话等)。教程可以包括提供关于如何加强与弱点相关的玩家技能的指令的视频教程,或者包括旨在加强与弱点相关的技能的游戏会话。另外,可以经由对应客户端装置向玩家呈现解决所识别的弱点的训练会话。此外,在一个实施方案中,弱点训练器141b可以被配置成提供机器人,所述机器人专用于以暴露玩家弱点的方式指导玩游戏过程。机器人可以是玩家对抗的虚拟终极对手565。虚拟终极对手565可以是终极机器人142d,如先前描述。

图6示出可以用以执行本公开的各种实施方案的各方面的示例性装置600的部件。例如,根据本公开的一个实施方案,图6示出适于训练能够执行与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性的AI模型的示例性硬件系统。该框图示出了装置600,所述装置可以并入或可以是个人计算机、服务器计算机、游戏控制台、移动装置或其他数字装置,其中的每一者都适于实践本发明的实施方案。装置600包括用于运行软件应用和任选地操作系统的中央处理单元(CPU)602。CPU 602可以由一个或多个同构或异构处理核心构成。

根据各种实施方案,CPU 602是具有一个或多个处理核心的一个或多个通用微处理器。其他实施方案可以使用具有微处理器架构的一个或多个CPU来实现,所述微处理器架构特别适用于为深度学习、内容分类和用户分类而配置的应用的高度并行和计算密集型应用,诸如媒体和交互式娱乐应用。例如,CPU 602可以被配置成包括AI引擎(例如,深度学习)190,所述AI引擎被配置成支持和/或执行关于提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性(例如,预测)的学习操作。深度学习引擎可以包括建模器120,所述建模器被配置用于构建和/或训练AI模型,所述AI模型被配置成提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。此外,CPU 602包括被配置用于实现被训练的AI模型的分析器140。被训练的AI模型响应于输入而提供输出,其中输出取决于被训练的AI模型的预定义功能性。被训练的AI模型可以用来确定在玩游戏过程期间可以采取什么动作。分析器140确定哪一个是要采取的适当动作。也就是说,分析器140被配置成执行与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。分析器140被配置成针对给定输入(例如,控制器输入、游戏状态数据、成功准则)分析来自被训练的AI模型160的输出,并提供响应。

存储器604存储供由CPU 602使用的应用程序和数据。存储装置606为应用程序和数据提供非易失性存储装置和其他计算机可读介质并且可以包括固定磁盘驱动器、可移除磁盘驱动器、快闪存储器装置和CD-ROM、DVD-ROM、蓝光光碟、HD-DVD或其他光学存储装置,以及信号传输和存储介质。用户输入装置608将来自一个或多个用户的用户输入传达到装置600,所述装置的示例可以包括键盘、鼠标、操纵杆、触摸板、触摸屏、静态或视频记录器/摄像机和/或传声器。网络接口614允许装置600经由电子通信网络与其他计算机系统通信,并且可以包括在局域网和诸如互联网的广域网上的有线或无线通信。音频处理器612适于从由CPU 602、存储器604和/或存储装置606提供的指令和/或数据生成模拟或数字音频输出。装置600的部件,包括CPU 602、存储器604、数据存储装置606、用户输入装置608、网络接口610和音频处理器612,通过一个或多个数据总线622连接。

图形子系统614进一步与数据总线622和装置600的部件连接。图形子系统614包括图形处理单元(GPU)616和图形存储器618。图形存储器618包括用于存储输出图像的每一像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器618可以集成在与GPU 616相同的装置中,作为独立的装置与GPU 616连接和/或实现在存储器604内。像素数据可以直接从CPU 602提供给图形存储器618。可替代地,CPU 602向GPU 616提供定义期望输出图像的数据和/或指令,GPU 616根据这些数据和/或指令生成一个或多个输出图像的像素数据。定义期望的输出图像的数据和/或指令可以存储在存储器604和/或图形存储器618中。在实施方案中,GPU 616包括3D渲染能力,以用于根据定义场景的几何形状、照明、着色、纹理、运动和/或摄像机参数的指令和数据来生成输出图像的像素数据。GPU 616还可以包括能够执行着色器程序的一个或多个可编程执行单元。在一个实施方案中,GPU 616可以实现在AI引擎190内以提供附加处理能力,诸如用于AI或深度学习功能性。

图形子系统614周期性地从图形存储器618输出图像的像素数据,以显示在显示装置610上,或者由投影系统640投影。显示装置610可以是能够响应于来自装置600

的信号来显示视觉信息的任何装置,包括CRT、LCD、等离子体和OLED显示器。例如,装置600可以向显示装置610提供模拟或数字信号。

因此,在各种实施方案中,本公开描述了实现深度学习(也称为机器学习)技术的系统和方法,以使用从执行支持一个或多个玩游戏过程的游戏应用程序实例的服务器网络收集的训练数据来构建AI模型,并使用被训练的AI模型来提供与游戏应用程序和/或游戏应用程序的玩游戏过程相关的各种功能性。

应当理解,可以使用本文公开的各种特征将本文定义的各种实施方案组合或组装成具体的实现方式。因此,所提供的示例仅仅是一些可能的示例,而不限于通过组合各种元件以定义更多的实现方式而成为可能的各种实现方式。在一些示例中,一些实现方式可以包括更少的元件,而不背离所公开的或等效实现方式的精神。

本公开的实施方案可以用包括手持装置、微处理器系统、基于微处理器的或可编程的消费性电子产品、小型计算机、大型计算机等的各种计算机系统配置来实践。还可以在分布式计算环境中实践本公开的实施方案,在所述分布式计算环境中,通过基于有线或无线网络链接的远程处理装置执行任务。

考虑到以上实施方案,应理解,本公开的许多实施方案可以采用各种计算机实现的操作,这些操作涉及存储在计算机系统中的数据。这些操作是需要对物理量进行物理操纵的操作。本文中描述的形成本公开的实施方案的一部分的任何操作都是有用的机器操作。本公开的实施方案还涉及用于执行这些操作的装置或设备。所述设备可出于所需目的而专门构造而成,或所述设备可为由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。具体地,各种通用机器可与根据本文的教导编写的计算机程序一起使用,或者构造更专门的设备来执行所需操作可能更方便。

本公开还可以体现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,该数据随后可以由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附接存储装置(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。所述计算机可读介质可以包括分布在网络耦合的计算机系统上的计算机可读有形介质,使得以分布式方式存储和执行计算机可读代码。

虽然以特定的顺序描述了方法操作,但是应当理解,可以在操作之间执行其他内务操作,或者可以调整操作,使得它们在稍微不同的时间发生,或者可以将操作分布在系统中,只要以期望的方式执行叠加操作的处理,所述系统便允许以与处理相关联的各种间隔发生处理操作。

尽管为了清楚理解的目的,已经对前述公开进行了一些详细的描述,但是将显而易见的是,可在所附权利要求的范围内实践一些改变和修改。因此,本发明实施方案应被认为是说明性而非限制性的,并且本公开的实施方案不限于本文所给出的细节,而是可以在随附权利要求的范围和等效物内进行修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号