CN116322916A - 用于人工智能的高效游戏玩法训练 - Google Patents
用于人工智能的高效游戏玩法训练 Download PDFInfo
- Publication number
- CN116322916A CN116322916A CN202280006847.3A CN202280006847A CN116322916A CN 116322916 A CN116322916 A CN 116322916A CN 202280006847 A CN202280006847 A CN 202280006847A CN 116322916 A CN116322916 A CN 116322916A
- Authority
- CN
- China
- Prior art keywords
- gameplay
- gaming application
- data model
- actor
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013473 artificial intelligence Methods 0.000 title claims description 20
- 238000012549 training Methods 0.000 title abstract description 17
- 238000013499 data model Methods 0.000 claims abstract description 121
- 230000009471 action Effects 0.000 claims abstract description 82
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012360 testing method Methods 0.000 claims description 20
- 238000010801 machine learning Methods 0.000 claims description 13
- 230000033001 locomotion Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 21
- 230000003993 interaction Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000011511 automated evaluation Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009870 specific binding Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6027—Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
描述了用于训练本地执行的演员组件以基于由远程学习服务生成的一个或多个游戏玩法数据模型来执行游戏应用中的实时游戏玩法动作的系统和方法。用于游戏应用的游戏玩法数据模型是从执行远程学习服务的一个或多个服务器计算系统向客户端计算设备提供的。观测数据是由本地演员组件基于由本地演员组件至少部分地基于由演员组件使用所提供的游戏玩法数据模型生成的推断执行的人工游戏玩法动作的游戏内结果而生成的。基于接收到的观测数据,远程学习服务修改游戏玩法数据模型,并且向本地演员组件提供修改后的游戏玩法数据模型以改进未来的人工游戏玩法动作。
Description
背景技术
消费级图形处理单元(GPU)、广泛的宽带可用性和市场力量已经组合,以创建相当大范围和复杂性的游戏。现代游戏不仅比它们的前任更复杂,而且它们反映了设计和玩游戏的方式的根本变化。简单的线性室内水平已经被巨大的真实感室外空间所取代,脚本化的序列已经被动态模拟所取代,并且程序主义已经使世界拥有几乎无限的多样性。
尽管玩游戏的方式发生了这些巨大的转变,但测试游戏的方式很大程度上保持不变。游戏基本上是模拟,在高维状态空间内部的系统之间具有复杂而紧急的交互,这限制了以代码为中心的方法(如单元测试)的实用。因此,游戏测试主要是手动过程,高度依赖于反复玩游戏并查找缺陷的人类。遗憾的是,这些团队不再能够适应现代游戏的复杂性,从而导致发布延迟以及产品质量降低。
发明内容
本文描述了其中本地执行的演员组件被训练以基于由远程学习服务生成的一个或多个游戏玩法数据模型来在游戏应用中执行实时游戏玩法动作的实施例。用于游戏应用的游戏玩法数据模型是从执行远程学习服务的一个或多个服务器计算系统向客户端计算设备提供的。观测数据是由本地演员组件基于由本地演员组件至少部分地基于由演员组件使用所提供的游戏玩法数据模型生成的推断执行的人工游戏玩法动作的游戏内结果而生成的。基于接收到的观测数据,远程学习服务修改游戏玩法数据模型,并且向本地演员组件提供修改后的游戏玩法数据模型以改进未来的人工游戏玩法动作。基于观测数据来修改游戏玩法数据模型可以具体地包括使用由远程客户端计算设备本地生成并且从远程客户端计算设备接收的观测数据来(例如实时地)更新游戏玩法数据模型。
在某些实施例中,一种方法可以包括:经由编程接口从一个或多个服务器计算系统向远程客户端计算设备提供用于在远程客户端计算设备上执行的游戏应用的游戏玩法数据模型;经由编程接口从远程客户端计算设备接收观测数据,该观测数据是根据由在远程客户端计算设备上执行的演员组件至少部分地基于由演员组件使用所提供的游戏玩法数据模型生成的推断在游戏应用内执行的人工游戏玩法动作而生成的;由所述一个或多个服务器计算系统基于接收到的观测数据来修改游戏玩法数据模型;以及经由编程接口向远程客户端计算设备提供修改后的游戏玩法数据模型。
该方法可以进一步包括由所述一个或多个服务器计算系统经由编程接口接收控制信息,该控制信息将游戏应用的一种或多种输出状态中的每种输出状态与在远程客户端计算设备上执行的演员组件的输入变量相关联。游戏应用的所述一种或多种输出状态可以包括包含以下项的组中的一项或多项:游戏应用的虚拟环境内的玩家参考位置、对象相对于游戏应用的虚拟环境内的玩家参考位置的位置、相对于游戏应用的虚拟环境内的玩家参考位置的与对象相关联的运动向量、关于游戏应用的虚拟环境的一个或多个方面的几何信息、和/或与游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
该方法可以进一步包括由所述一个或多个服务器计算系统经由编程接口接收控制信息,该控制信息将演员组件的一个或多个输入变量中的每个输入变量与对游戏应用的人类用户可用的动作相关联。
修改游戏玩法数据模型可以进一步基于附加观测数据,该附加观测数据是基于由游戏应用的人类用户在游戏应用内执行的游戏玩法动作而生成的。
基于接收到的附加观测数据来修改游戏玩法数据模型可以包括使用深度学习人工智能来修改游戏玩法数据模型。
该方法可以进一步包括基于人工游戏玩法动作来生成用于游戏应用的测试数据。
该方法可以进一步包括:在将观测数据(例如以一批观测数据的形式)传输给所述一个或多个服务器计算系统之前,在远程客户端计算设备处聚合观测数据。这可以减少在所述一个或多个服务器计算系统与远程客户端计算设备之间的通信中的数据流量。然后,基于接收到的观测数据来修改游戏玩法数据模型可以响应于满足至少一个预定义标准的观测数据的聚合来执行。例如,所述至少一个标准可以包括定义的持续时间段、定义的观测数据量(例如以字节或其他测量量测量)以及在远程客户端计算设备处接收到的显式请求(例如来自所述一个或多个服务器计算系统)中的至少一个。
在某些实施例中,服务器可以包括网络接口、一个或多个处理器以及存储可执行指令集的存储器。可执行指令集可以在由所述一个或多个处理器执行时操纵所述一个或多个处理器:至少部分地基于将游戏应用的一种或多种输出状态中的每种输出状态与输入变量相关联的控制信息来生成用于游戏应用的游戏玩法数据模型;经由编程接口向在远程客户端计算设备上执行的演员组件提供所生成的游戏玩法数据模型;经由编程接口从演员组件接收观测数据,该观测数据是根据由演员组件基于由演员组件使用所生成的游戏玩法数据模型生成的推断在游戏应用内执行的人工游戏玩法动作而生成的;基于接收到的观测数据来修改所生成的游戏玩法数据模型;以及经由编程接口向演员组件提供修改后的游戏玩法数据模型,以供演员组件在游戏应用内执行附加人工游戏玩法动作时使用。
远程客户端计算设备可以执行游戏应用的实例,使得观测数据是根据由演员组件在由远程客户端计算设备执行的游戏应用的实例内执行的人工游戏玩法动作而生成的。
可执行指令集可以进一步操纵所述一个或多个处理器经由编程接口接收控制信息,该控制信息将游戏应用的一种或多种输出状态中的每种输出状态与在远程客户端计算设备上执行的演员组件的输入变量相关联。游戏应用的所述一种或多种输出状态可以包括包含以下项的组中的一项或多项:游戏应用的虚拟环境内的玩家参考位置、对象相对于游戏应用的虚拟环境内的玩家参考位置的位置、相对于游戏应用的虚拟环境内的玩家参考位置的与对象相关联的运动向量、关于游戏应用的虚拟环境的一个或多个方面的几何信息、和/或与游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
可执行指令集可以进一步操纵所述一个或多个处理器经由编程接口接收控制信息,该控制信息将演员组件的一个或多个输入变量中的每个输入变量与对游戏应用的人类用户可用的动作相关联。
可执行指令集可以进一步操纵所述一个或多个处理器经由编程接口接收附加观测数据,该附加观测数据是根据由游戏应用的人类用户在游戏应用内执行的游戏玩法动作而生成的,并且其中,修改游戏玩法数据模型进一步基于接收到的附加观测数据。
基于接收到的附加观测数据来修改游戏玩法数据模型可以包括使用深度学习人工智能来修改游戏玩法数据模型。
在某些实施例中,一种客户端方法可以包括:通过由一个或多个处理器执行的演员组件经由编程接口从在一个或多个远程服务器计算系统上执行的机器学习组件接收用于游戏应用的游戏玩法数据模型;由所述一个或多个处理器执行游戏应用的实例;经由编程接口向机器学习组件提供观测数据,该观测数据是根据由演员组件至少部分地基于由演员组件使用游戏玩法数据模型生成的推断在游戏应用的执行实例内执行的人工游戏玩法动作而生成的;以及经由编程接口从在所述一个或多个远程服务器计算系统上执行的机器学习组件接收至少部分地基于所提供的观测数据的修改后的游戏玩法数据模型。
客户端方法可以进一步包括至少部分地基于由演员组件使用修改后的游戏玩法数据模型生成的附加推断来执行一个或多个附加人工游戏玩法动作。
客户端方法可以进一步包括基于人工游戏玩法动作来生成用于游戏应用的测试数据。
游戏玩法数据模型可以至少部分地基于控制信息,该控制信息将游戏应用的一种或多种输出状态中的每种输出状态与演员组件的输入变量相关联。游戏应用的所述一种或多种输出状态可以包括包含以下项的组中的一项或多项:游戏应用的虚拟环境内的玩家参考位置、对象相对于游戏应用的虚拟环境内的玩家参考位置的位置、相对于游戏应用的虚拟环境内的玩家参考位置的与对象相关联的运动向量、关于游戏应用的虚拟环境的一个或多个方面的几何信息、和/或与游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
游戏玩法数据模型可以至少部分地基于控制信息,该控制信息将演员组件的一个或多个输出变量中的每个输出变量与对游戏应用的人类用户可用的动作相关联。
客户端方法可以进一步包括生成附加观测数据,该附加观测数据是根据由游戏应用的人类用户在游戏应用内执行的游戏玩法动作而生成的,使得修改后的游戏玩法数据模型进一步基于附加观测数据。
附图说明
通过参照附图,可以更好地理解本公开,并且使本公开的许多特征和优点对于本领域技术人员来说显而易见。在不同附图中使用相同的附图标记指示类似或相同的项目。
图1描绘了根据一些实施例的示例联网游戏训练系统。
图2描绘了根据一些实施例的另一示例联网游戏训练系统。
图3描绘了根据一个或多个实施例实施的游戏玩法训练器(GT)系统的示意性框图。
图4是图示了根据一个或多个实施例的GT系统的操作例程的概述的方块流程图。
具体实施方式
本文描述的技术的实施例允许游戏应用的开发者(也称为“游戏开发者”)利用人工智能(AI)来训练可执行演员组件,该可执行演员组件可以玩和测试一个或多个游戏应用(例如,视频游戏或其他模拟)。为了便于参考,其各种实施例在本文中可以被称为游戏玩法训练器(GT)系统的这种技术可以利用游戏开发者可以链接到游戏应用中的软件开发工具包(SDK)和SDK用于训练与特定游戏应用相关联的游戏玩法模型的远程学习服务两者。因此,在非常高的级别上,游戏和GT系统之间的交互可能类似于游戏和人类玩家之间的交互。游戏产生输出,该输出被发送给GT系统;GT系统评估如何响应该输出,并且发送回GT系统想要执行的人工游戏玩法动作。然后,游戏应用这些动作,产生新的输出,并且循环重复。
在某些实施例中,游戏玩法训练器结合本地执行的人工智能(AI)演员组件向游戏开发者提供远程学习服务,以使用游戏玩法数据模型来玩和测试一个或多个游戏应用中的每个游戏应用。在至少一些实施例中,由本地执行的演员组件使用的游戏玩法数据模型由GT系统(经由GT学习服务)基于观测数据生成,该观测数据是从由演员组件在游戏应用内执行的人工游戏玩法动作收集的。因此,GT系统提供对游戏开发的各种目标定制的解决方案,包括成本敏感性、可预测性和易集成性。GT系统的某些实施例由此提供了一种解决方案,该解决方案允许游戏开发者将GT系统快速集成到游戏应用中并且生成有用的游戏玩法数据模型。
在某些实施例中,GT系统可以提供一个或多个应用编程接口(API,如本文所使用的,它可以指示应用编程接口或任何其他合适的编程接口),诸如以便支持流行的框架和/或利用公共参考术语。在各种实施例中,可以提供平台特定的软件开发工具包(SDK),以便游戏应用开发者将这种API的使用集成到游戏应用中。
游戏玩法训练器系统为游戏开发者提供了有用的、灵活的、可训练的解决方案,并且该解决方案能够实现目标,而不仅仅是在游戏应用中‘获胜’。作为一个非限制性示例,用于游戏应用的游戏玩法数据模型可以允许GT系统的演员组件确定游戏世界的一个或多个区域,在该一个或多个区域中,游戏应用的人类玩家可能无法在游戏世界中继续,即,人类玩家可能会被‘卡住’。作为另一非限制性示例,游戏玩法数据模型可以允许GT系统的演员组件确定一个或多个游戏世界对手的能力与他们在游戏世界中的地位不相称,即,与例如在角色扮演游戏中遇到中级或低级人物所保证的相比,他们更强大或更弱。因此,在某些实施例中,GT可以强调用于游戏应用的多个游戏玩法数据模型的快速开发,每个游戏玩法数据模型与游戏世界中的一个或多个不同目标相关联。备选地,GT系统可以开发单个游戏玩法数据模型,该单个游戏玩法数据模型包括或以其他方式实现多个目标,诸如经由提供给GT系统的一个或多个用户指定参数标识和/或由GT系统自身标识的目标。
尽管本文关于游戏应用描述了技术和实施例,但是将认识到,替代实施例可以结合各种模拟场景来使用,以在其他场境(例如自主车辆、自主机器人等)中生成行为数据模型和/或自动化代理。类似地,尽管本文关于游戏应用测试描述了技术和实施例,但是这种行为数据模型和/或自动化代理可以在其他场境(例如自动化游戏代理或“机器人”开发、游戏内自主同伴人物、用于与人类玩家一起玩的通用自动化代理的开发等)中被生成和/或使用。
GT系统的实施例可以为期望测试其相应游戏应用的一个或多个方面的一个或多个开发者提供各种优点。作为一个示例,开发者测试远程运行的游戏可能是有利的。在某些实施例中,GT演员组件相对于由GT系统测试的游戏应用的执行实例在本地执行。然而,GT系统经由连接至跨越公共互联网的游戏实现了这种测试,其中公共互联网包括其所暗示的带宽和时延限制。
作为另一示例,GT系统可以减少用于这种测试的计算资源,其对于游戏开发者来说通常是一笔不小的费用。尽管本文描述的技术使得测试能够扩展到游戏应用的大量个体实例,但这种技术也使得GT系统能够从单个实例有效地训练有用的AI。
作为另一示例,GT系统可以经由对一个或多个相关联的游戏引擎的本机支持(通常是提供诸如游戏物理和图形渲染等常见低级服务的大型代码库)来实现对一个或多个游戏应用的测试。在各种实施例中,与GT系统相关联的一个或多个SDK可以针对各种这种游戏引擎(例如Unity、Unreal和纯C++)中的每个游戏引擎以及用于共享逻辑的预编译库来提供。
在某些实施例中,GT系统可以基于为游戏应用定义的一个或多个参数来生成用于该游戏应用的初始游戏玩法模型。通常,定义的参数通常向GT演员组件提供三种类型的信息:观测(玩家在任何给定时刻经历的游戏状态);动作(玩家可以在游戏中执行的逻辑交互);以及奖励(GT演员组件做得好或差的指示)。
图1描绘了联网游戏训练系统100的示例实施例。联网游戏训练系统包括在本地计算系统110上执行的GT演员组件105的实例,该本地计算系统110还执行从GT演员组件接收游戏玩法动作128的游戏应用115。GT演员组件105经由一个或多个计算机网络101(诸如互联网或其他介入网络)被通信地耦合至在一个或多个远程服务器125上执行的GT学习服务120。在所描绘的实施例中,GT演员组件105生成人工游戏玩法动作128并且将其提供给游戏应用115,从游戏应用接收观测数据和游戏内奖励指示符112,并且将该信息中的一些或全部作为观测经验数据130提供给GT学习服务120。反过来,GT学习服务120使用接收到的观测经验数据115来生成、细化和/或向GT演员组件105提供与游戏应用115相关联的一个或多个游戏玩法模型135,以改进整体游戏玩法和GT演员组件向游戏应用提供的个体人工游戏玩法动作两者。
在该过程中的各个点处,GT系统100(经由GT学习服务120和/或GT演员组件105)可以生成与游戏应用115相关的测试数据。在某些实施例中,与游戏应用115相关联的游戏开发者可以(诸如经由GT学习服务120和/或GT演员组件105的编程接口)指定这种测试数据的一种或多种类型和方式。另外,在某些实施例中,GT系统可以确定要生成的测试数据的一个或多个方面,诸如基于由GT系统存储的定义的标准。在这种实施例中,定义的标准可以与游戏应用115被确定为符合的一种或多种类型的游戏应用相关联。例如,用于测试将由GT系统生成的数据的第一组定义的标准可以与二维平台游戏类型相关联,其中第二组与三维平台游戏类型相关联,第三组与赛车游戏类型相关联,第四组与开放世界角色扮演游戏相关联等。
如上面提到的,在某些场景中,GT演员组件105的人工游戏玩法动作可以至少部分地基于由GT系统100基于为游戏应用115定义的一个或多个参数而生成的一个或多个游戏玩法数据模型135。这种参数可以由游戏应用115的开发者(作为非限制性示例)经由GT系统100的编程接口提供。例如,初始游戏玩法模型可以基于控制信息,该控制信息将游戏应用115的一种或多种输出状态中的每种输出状态与GT演员组件105的输入变量相关联,和/或将游戏应用的一种或多种输入状态中的每种输入状态与GT演员组件105的输出变量相关联。在某些实施例中,这种控制信息可以将GT演员组件105的那些输入和/或输出变量中的一个或多个中的每个输入和/或输出变量与对游戏应用的人类用户可用的观测或动作相关联。例如,GT演员组件105的输出变量可以表示游戏应用中的虚拟人物的移动,其中输出变量对应于该虚拟人物经由物理输入设备的移动,该物理输入设备将由人类用户在游戏玩法期间使用。GT演员组件105的这种输出变量可以对应于在这种游戏玩法期间对于人类用户可用的任何动作或观测。在某些实施例中,GT API允许游戏应用开发者使用GT SDK之后映射到GT控制信息中的高级原语(例如“操纵杆”、“实体”等)描述输入和输出,以使API可访问,而不需要游戏应用开发者在机器学习中锻炼专业知识。
在某些实施例中,控制信息可以包括游戏应用115的一种或多种输出状态,以供GT演员组件105用作输入变量。作为非限制性示例,这种输出状态可以包括游戏应用115的虚拟环境内的玩家参考位置、对象相对于游戏应用115的虚拟环境内的玩家参考位置的位置、相对于游戏应用115的虚拟环境内的玩家参考位置的与对象相关联的运动向量、关于游戏应用115的虚拟环境的一个或多个方面的几何信息、和/或与游戏应用115内的游戏玩法相关联的分数或其他游戏内奖励指示符。通常,控制信息可以将对于人类玩家将可观测的游戏应用的任何方面与GT演员组件105输入变量相关联。
在一些实施例中,GT系统100还可以接收从由一个或多个人类玩家提供给游戏应用115的游戏玩法动作产生的观测经验数据,诸如以便以类似于在接收从GT演员组件105的人工游戏玩法动作产生的观测经验数据130时使用的方式的方式来生成或修改与该游戏应用115相关联的一个或多个游戏玩法模型。作为一个示例,GT演员组件105的输出变量可以允许GT演员组件105指示游戏应用115内的辅助状态,诸如如果GT演员组件105在游戏应用115中遇到了GT演员组件105在定义的持续时间或尝试量内无法克服的障碍,则GT系统100可以发起通信以提示一个或多个人类玩家提供一个或多个游戏玩法动作来说明克服该障碍。从那些人类提供的游戏玩法动作产生的观测经验数据被提供给GT学习服务120,该GT学习服务120然后以允许GT演员组件105在随后遇到该障碍和/或其他障碍时克服该障碍和/或其他障碍的方式修改游戏玩法模型135。
用于训练可以玩游戏的AI的一种方法是强化学习(RL)。在RL中,开发者为获胜提供奖励,并且为失败提供惩罚,这是AI然后用于自主学习日益优化的策略的信号。遗憾的是,尽管RL已经演示了非常令人印象深刻的结果,但RL算法通常与高数据消耗(低效采样)相关联,高数据消耗诸如训练玩家的数百万或数十亿帧数据,这是通常在时间和计算资源两方面对开发者都有影响的成本。这些算法也倾向于具有高度可变的结果,利用重要的领域知识和超参数调谐以便实现可接受的结果。
因此,某些实施例利用模仿学习(IL)机器学习技术,其基于观测一个或多个人类玩家玩游戏来训练AI。与其中代理需要自己发现最优策略的RL不同,IL有效地重新创建人类专家的行为。通用IL策略在与人类演示中捕获的场景类似但不相同的场景中表现良好。该问题在游戏中尤为严重,游戏通常是在少数常见主题(机制)上被构建为大量变型(级别)。只能学习特定变型但无法学习潜在主题的AI将不是非常有效的工具。
GT系统100使用有效概括的观测。例如,以自我为中心的观测(其中3D信息是相对于GT演员组件105的视角而不是绝对坐标来表达的)允许GT学习服务120生成游戏玩法数据模型135,该游戏玩法数据模型135包括独立于其训练环境的移动和瞄准策略。
因此,在各种实施例中,GT系统100可以基于一个或多个附加标准(即,除了面对困难障碍之外的标准)来确定接收从人类提供的游戏玩法动作产生的观测经验数据130,以用于细化相关游戏玩法模型135。作为非限制性示例,GT系统100可以在定期或以其他方式调度的间隔期间;对于与已经选择提供这种数据的一个或多个标识的人类玩家相关联的所有会话或会话子集;对于与游戏应用115的一个或多个标识部分相关联的游戏玩法动作等,接收这种数据。
在一些实施例中,开发者可以简单地通过实时播放游戏应用115来向GT学习服务提供训练数据,其中GT学习服务120修改一个或多个游戏玩法模型135并且相应地更新GT演员组件105。通过这种方式,GT系统100向开发者提供关于GT学习服务120的质量的交互式反馈,并且允许他们在GT系统100遇到问题时提供及时校正。在一些实施例中,开发者可以根据期望创建GT演员组件105的尽可能多的同时实例,从而允许他们大规模地玩和测试游戏应用。此外,在某些实施例中,GT系统100可以基于各种奖励标准来评估多个游戏玩法数据模型135,诸如以确定哪个或哪些游戏玩法数据模型135相对于那些游戏内奖励标准表现得更好。GT系统100因此可以选择表现最佳的游戏玩法数据模型135作为用于任何即将到来的推断的游戏玩法数据模型。这种自动化评估使GT系统100能够“打磨”训练后的游戏玩法数据模型。
图2描绘了另一联网GT系统200的示例实施例。与图1的联网系统100一样,联网系统200包括在本地计算系统110上执行的GT演员组件105的实例,该本地计算系统110还执行游戏应用115。GT演员组件105(其经由计算机网络101被通信地耦合至GT学习服务120)向游戏应用115提供人工游戏玩法动作128,从游戏应用115接收观测数据112,并且向GT学习服务120提供所得的观测经验数据130。然而,此处,游戏应用115可以从GT演员组件105接收人工游戏玩法动作128,并且还在各个时间根据各种标准从一个或多个人类玩家250接收其他游戏玩法动作260,该一个或多个人类玩家250以正常游戏会话的方式感知由游戏应用115生成的显示信息255(通常包括音频、视觉、触觉和/或其他感知到的信息)。无论游戏应用115是从GT演员组件105、从人类玩家250还是两者接收到游戏玩法动作,GT演员组件115都从游戏应用115接收观测数据112,并且将所得的观测经验数据130提供给GT学习服务120。
如上面提到的,在某些实施例和实施方式中,GT演员组件105可以包括游戏玩法训练器SDK,其包括开发者可以通信地连接(或“链接”)至游戏应用115(诸如通过将SDK集成到游戏应用的程序代码中)的可执行指令和预编译库以及开发者可以被用于实现与GT系统200的一个或多个组件的编程交互的API。在某些实施例中,GT系统200可以包括不同的SDK,以支持若干流行的游戏开发框架中的每个游戏开发框架,诸如Unity、Unreal和C++(例如用于专有引擎)。这些SDK中的每个SDK都可以提供相同的能力(诸如观测/动作收集/传输和设备上推断),但通常使用语言和引擎特定的绑定以惯用方式实现。
图3描绘了根据一个或多个实施例实施的GT系统300的示意性框图。在所描绘的实施例中,一个或多个远程GT服务器325包括GT API 399、存储设施312和GT学习服务360的执行实例。客户端计算系统310正在执行游戏应用315的实例以及GT演员组件305的实例。GT服务器325和客户端计算系统310中的每一个可以是固定的或移动的,并且可以包括各种计算设备的实例,诸如但不限于台式计算机或其他计算机(例如平板计算机、平板电脑等)、数据库服务器、网络存储设备和其他网络设备、智能电话和其他蜂窝电话、消费电子产品、游戏机系统、数字音乐播放器设备、手持式游戏设备、PDA、寻呼机、电子记事本、互联网设备、基于电视的系统(例如,使用机顶盒和/或个人/数字录像机)以及包括适当通信能力的各种其他消费产品。
如本文其他地方提到的,GT学习服务360与GT演员组件305交换各种信息(例如,认证信息、游戏玩法数据模型、观测数据)。在所图示的实施例中,GT学习服务360的实施例在远程GT服务器325的存储器(未示出)中执行,以便执行所描述的技术中的至少一些,诸如通过使用一个或多个硬件处理器来以将远程GT服务器325配置为执行实现那些所描述的技术的自动化操作的方式执行GT学习服务360的软件指令。作为这种自动化操作的一部分,GT学习服务360可以存储和/或检索各种类型的数据,包括在存储设施312的数据结构中存储和/或检索。
存储设施312存储由GT系统300(并且尤其是GT学习服务360)用于生成和存储游戏玩法数据模型334的各种信息,作为向一个或多个客户端计算系统(例如,客户端计算系统310)提供那些游戏玩法数据模型的一部分。由存储设施312存储的其他信息包括开发者信息338(其可以包括关于一个或多个游戏应用开发者的访问和项目信息);游戏应用信息340(其可以包括控制信息341、游戏玩法观测数据、对该游戏玩法观测数据的分析和/或评估、以及关于一个或多个特定游戏应用的历史信息);游戏会话信息342和训练数据336(其可以由GT学习服务360使用和存储作为其对一个或多个游戏玩法数据模型334的生成的一部分以及用于其他操作)。在某些实施方式中,存储设施312可以被并入到在GT系统300内或以其他方式由GT系统300直接操作;在其他实施方式中,由存储设施312提供的功能中的一些或全部可以由一个或多个第三方网络可访问的存储服务提供商提供。在某些实施例中,GT学习服务360还包括用于认证开发者并且跟踪关于其项目的元数据的逻辑,诸如通过利用和修改开发者信息338的各方面。
与GT学习服务360的交互(例如游戏应用开发者和/或客户端计算系统310的交互)经由GT API 399来执行。在所描绘的实施例中,GT API 399提供访问控制设施380以及用于在远程GT服务器345和客户端计算系统310之间传递游戏玩法数据模型382和观测数据384的编程接口。在某些实施例中,GT系统300的使用可以受到一个或多个可撤销API密钥381限制,诸如可以作为开发者信息338的一部分与关于与所标识的开发者相关联的一个或多个项目的各种其他信息一起存储。例如,这些密钥可以被用于索引由开发者提交的所有数据,包括观测和游戏玩法动作(人工的或由人类玩家生成的)。在这种实施例中,开发者只能访问他们已经提交的数据,并且可以进一步控制该数据的各个方面(例如传送和/或删除)。因此,在某些实施例中,API请求可能要求开发者提供有效的、服务器提供的API密钥,该API密钥被用于认证,并且可以在与GT学习服务的整个交互中被使用。通过这种方式,GT系统300确保API调用和收集的数据与发起开发者相关联。
在面向开发者的GT API 399之后,GT学习服务360实现演员/学习者模式,其中GT演员组件305收集和生成用于GT学习服务360的游戏玩法观测,以通过生成和更新/修改与游戏应用315相关联的一个或多个游戏玩法数据模型来变换为游戏玩法动作。在所描绘的实施例中,基于已经经由GT API 399从GT学习服务360接收的一个或多个本地游戏玩法数据模型306,GT演员组件305及其机器学习平台(MLP)302执行与游戏应用315的各种交互,以模拟游戏应用的人类玩家的动作。例如,基于本地游戏玩法数据模型306的游戏玩法动作可以经由动作施加器316被供应给游戏应用315,该动作施加器316操作控制器模块318以经由否则将由人类玩家250操作的游戏控制器的功能来模拟那些游戏玩法动作的执行。那些游戏玩法动作经由动作报告器319被报告给MLP 302。游戏玩法动作本身经由GT演员组件305的输出变量(未示出)导致对模拟320的改变,并且附加环境观测322被收集作为用于生成本地观测数据304的基础。
在各种实施例中,GT演员组件305可以由GT SDK(开发者链接到其游戏应用中并且用于经由GT API 399进行交互的代码和预编译库,未示出)包含和/或使用该GT SDK生成,并且执行设备上推断(例如使用游戏玩法数据模型来生成游戏内行为和结果的一个或多个预测作为推断303),以收集和生成本地观测数据。GT学习服务360提供从SDK摄取数据、经由存储设施312存储数据、训练新的游戏玩法数据模型334以及经由GT API 399将那些游戏玩法数据模型提供回到GT演员组件305所必需的基础设施。通过这种方式,GT SDK提供观测/动作收集和设备上推断,并且还充当面向开发者的API和GT学习服务360之间的适配器。GT学习服务360由远程GT服务器325执行,并且使用各种算法训练游戏玩法数据模型。在某些实施例中,模型训练算法中的一种或多种可以是基于机器学习平台(MLP)332的操作,诸如TensorFlow或其他机器学习平台。类似地,设备上推断可以使用MLP 302(其同样可以包括TensorFlow或其他机器学习平台)来执行。本地游戏玩法数据模型306是从GT学习服务360检索的,并且在某些实施例中,可以包括描述如何将观测和动作映射到游戏玩法数据模型的输入和输出变量中的控制信息。
GT API 399使游戏应用开发者能够定义描述游戏应用的逻辑输入和输出的参数以及关于AI在任何时刻做得如何的反馈。具体地,GT系统允许开发者为一个或多个游戏应用(例如游戏应用315)中的每个游戏应用定义一个或多个观测参数、动作参数和奖励参数。观测参数(导致观测数据的生成)描述玩家在任何给定时刻经历的游戏状态,其可以包括第一人称射击游戏中可见敌人的地点或者赛车游戏中玩家的汽车到赛道壁的距离等信息。动作参数描述玩家在游戏中可以采取的逻辑游戏玩法动作,诸如在平台游戏中跳跃或赛车游戏中方向盘的位置。奖励参数建立一个或多个度量,以提供关于GT演员组件305表现如何的反馈,以及因此响应于游戏玩法动作的游戏应用的输出状态。在某些场景和实施例中,这种参数可以包括类似于玩家如何在游戏应用中获得积分的数值,但也可以包括其他参数。例如,奖励参数可以包括玩家在遭遇中、在定义的持续时间内或在特定游戏会话期间所造成的平均或最大伤害量以及在游戏会话结束时的简单获胜/失败信号。
该方法允许以几百Kbit/s(而针对4K视频则是几十Mbit/s)发送所有相关输出,并且允许GT演员组件305专注于学习如何玩游戏应用315而不同时解决复杂的计算机视觉问题。在该过程中,游戏应用开发者被提供有对他们与GT学习服务360共享的数据的更多控制。此外,该方法同样适用于独立游戏客户端和基于服务器的游戏应用。另外,GT系统300的运行不会受到在游戏发送观测和接收回动作的时间之间不可避免的数十毫秒(或更长)时延的显著负面影响。考虑到游戏应用通常以大于每秒30帧(即每帧小于33.3毫秒)的速度运行,这种时延对于依赖于服务器输入的游戏玩法动作的替代解决方案来说可能是特别有问题的,每帧小于33.3毫秒很可能是比服务器和客户端计算系统之间的往返时间更短的时间。
在某些实施例中,GT系统300可以在远程GT服务器325和客户端计算系统310之间异步地操作——例如,基于一帧来生成观测数据,推进模拟,并且然后在若干帧之后应用一个或多个游戏玩法动作。这种异步操作被GT系统的演员/学习者架构所利用,其中GT演员305使用游戏玩法数据模型来将游戏玩法观测快速变换为游戏玩法动作,并且其中GT学习服务360基于由演员组件及其与游戏应用315的交互生成的观测数据、动作和奖励来产生新的游戏玩法数据模型。将AI操作分离为这两个组件允许演员组件将游戏观测变换为游戏玩法动作,而不会引发比执行推断的时间更长的时延,同时GT学习服务360利用安全的机器学习算法和大量计算资源。
除了避免与遍历公共互联网相关联的时延之外,该架构还有许多益处。该架构与训练(其是非常计算密集的)和推断(其可以在单个CPU的一小部分上执行)之间的不对称性天然地一致。通过在GT演员组件305中批量处理和压缩经验,GT系统300可以将每秒的关联查询(QPS)减少约30倍,并且将带宽减少约10倍。
游戏是固有的交互式媒介。遗憾的是,传统的ML工作流根本不是交互式的,从提交数据到基于该数据生成模型需几分钟或几小时。GT系统300通过实时训练游戏玩法数据模型来解决这个问题。在某些实施例中,一旦GT学习服务360接收到观测数据(无论是基于由GT演员组件305使用现有游戏玩法数据模型执行的动作还是基于由一个或多个人类玩家执行的动作),GT学习服务360就启动为该数据训练模型,通常建立在先前的演示和/或游戏玩法数据模型的结果上。由于观测和动作的紧凑表示,新的游戏玩法数据模型可以在几秒钟内生成。这些游戏玩法数据模型可以针对由人类玩家提交的演示不断地进行评估,使得只有当新的游戏玩法数据模型优于由GT演员组件使用中的当前游戏玩法数据模型时,它才被提供给GT演员组件305。
因此,如上所述,GT系统300为游戏应用开发者提供完全实时的且交互式的训练体验。尽管使得游戏应用开发者能够定义和提供控制信息,该控制信息将游戏应用的一种或多种输出状态中的每种输出状态与在客户端计算设备上执行的演员组件的输入变量相关联,但是为了训练AI,游戏应用开发者还可以通过简单地拿起游戏控制器并且玩游戏来训练AI。在玩了几轮游戏之后,游戏应用开发者可以放下控制器,并且观看AI玩游戏。如果AI遇到问题状态,则游戏应用开发者简单地拿起控制器,演示正确的行为,然后让AI再次获取控制。结果是一种高度经验的且可控的服务。
为了使GT学习服务360生成游戏玩法数据模型,GT演员组件305定期向GT学习服务传输本地观测数据304(其包括游戏玩法观测、动作和奖励)。当从人类游戏玩法的演示(诸如经由人类玩家250)学习时,该观测数据从人类在玩游戏时所采取的动作导出。在某些实施例中,该经验数据可以由游戏开发公司的员工、由消费者玩家或其某种组合生成。
在接收到新的一批观测数据之后,GT API 399生成新的指派344,每个指派344表示生成新的游戏玩法数据模型的请求。指派经由指派队列346被提供给GT学习服务360。GT学习服务360包括组合游戏玩法动作、观测数据、奖励和指派中所包含的特定参数、将它们变换为由MLP 332可理解的格式、以及生成/评估新的游戏玩法数据模型所必需的逻辑。这种游戏玩法数据模型被设计为一次性的,并且在某些实施例中可以将它们的状态表达为可恢复的ML检查点。
一旦GT学习服务360已经完成了指派工作,响应地生成的游戏玩法数据模型被存储作为游戏玩法数据模型334的一部分。GT学习服务360然后将更新的游戏玩法数据模型提供给GT演员组件305,以用于在客户端计算系统310内的设备上推断中使用。
在至少一些实施例中,GT演员组件305能够执行毫秒量级的推断,诸如以便支持与开发者的游戏的实时交互。在服务器侧,在某些实施例中,GT学习服务360可以在数十秒量级的持续时间内(诸如在少于30秒的时间内)将附加观测数据变换为新的游戏玩法数据模型。
尽管为了图示组件级结构和某些数据流操作的目的,本文中指示的个体组件和模块被提供为示例,但是将认识到,在各种实施例中,特定组件和模块的其他布置可以实现本文呈现的技术。
图4是图示了GT系统的操作例程400的概述的方块流程图,该操作例程400包括在GT学习服务器401和客户端计算系统402两者处的操作。根据一个或多个实施例,客户端计算系统402执行游戏应用和GT演员组件(诸如图1和图2的GT演员组件105或图3的GT演员组件305)。
例程开始于框405,其中GT学习服务器401向客户端计算系统402提供游戏玩法数据模型410,该客户端计算系统402在框415处经由GT API 499接收游戏玩法数据模型。如本文其他地方更详细地描述的,在某些实施例中,最初由GT学习服务器401提供的游戏玩法数据模型410可以基于为该游戏应用定义的一个或多个参数,并且可以包括游戏观测参数、游戏动作参数(诸如控制信息)和游戏奖励参数的组合。另外,初始游戏玩法数据模型410(以及后续的游戏玩法数据模型)可以至少部分地基于从一个或多个人类玩家生成的观测数据。
在框415中接收到游戏玩法数据模型410之后,例程前进到框420,其中客户端计算系统402使用游戏玩法数据模型来生成关于游戏玩法的观测数据。在框425处,客户端计算系统402经由API 499向GT学习服务器401提供生成的观测数据430。
在某些实施例中,观测数据和游戏玩法动作可以在客户端计算系统402上(诸如通过GT演员组件,例如图3的GT演员组件305)被聚合,直到这种信息响应于一个或多个标准而要被提供给GT学习服务360为止。例如,参照图3,在定义的持续时间段之后、在已经生成定义的观测数据量之后、响应于显式请求等,可以发起对本地观测数据304(包括游戏玩法动作信息)的提供。
在框435处,GT学习服务器401接收由客户端计算系统402使用游戏玩法数据模型410生成的观测数据,并且例程前进到框440。在框440处,GT学习服务器410基于新接收到的观测数据430来修改游戏玩法数据模型410。
在框445处,GT学习服务器401经由API 499向客户端计算系统402提供修改后的游戏玩法数据模型450。在框455处,客户端计算系统402接收修改后的游戏玩法数据模型450,并且返回到框420,以便使用修改后的游戏玩法数据模型基于游戏玩法动作来收集和生成附加观测数据。类似地,在框445中提供修改后的游戏玩法数据模型450之后,GT学习服务器401返回到框435,以从客户端计算系统402接收更新的观测数据。
在一些实施例中,上述技术的某些方面可以由执行软件的处理系统的一个或多个处理器来实现。该软件包括被存储或以其他方式有形地体现在非瞬态计算机可读存储介质上的一个或多个可执行指令集。该软件可以包括指令和某些数据,该指令和某些数据在由一个或多个处理器执行时操纵一个或多个处理器以执行上述技术的一个或多个方面。非瞬态计算机可读存储介质可以包括例如磁盘或光盘存储设备、固态存储设备(诸如闪存、高速缓存、随机存取存储器(RAM))或一个或多个其他非易失性存储器设备等。存储在非瞬态计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或由一个或多个处理器解释或以其他方式可执行的其他指令格式。
计算机可读存储介质可以包括在使用期间由计算机系统可访问以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质可以包括但不限于光学介质(例如压缩盘(CD)、数字多用盘(DVD)、蓝光光盘)、磁性介质(例如软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如只读存储器(ROM)或闪存)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以被嵌入在计算系统(例如系统RAM或ROM)中,固定地附接至计算系统(例如磁性硬盘驱动器),可移除地附接至计算系统(例如光盘或基于通用串行总线(USB)的闪存),或经由有线或无线网络(例如网络可访问存储装置(NAS))耦合至计算机系统。
要注意的是,并非一般描述中的上述所有活动或元件都是必需的,特定活动或设备的一部分可能不是必需的,并且除了所描述的内容之外,一个或多个其他活动可以被执行或者一个或多个其他元件可以被包括在内。更进一步地,活动被列出的顺序不一定是它们被执行的顺序。而且,已经参照具体实施例描述了构思。然而,本领域的普通技术人员认识到,可以进行各种修改和改变而不脱离如在前面的权利要求中阐述的本公开的范围。因此,说明书和附图应被认为是说明性的而非限制性的意义,并且所有这种修改旨在被包括在本公开的范围内。
在上面已经关于具体实施例描述了益处、其他优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可能导致任何益处、优点或解决方案出现或变得更加明显的任何特征都不应被解释为任何或所有权利要求的关键、必需或必要特征。此外,上面公开的特定实施例仅是说明性的,因为所公开的主题可以以对受益于本文的教导的本领域技术人员显而易见的不同但等效的方式来修改和实践。除了在前面的权利要求中所描述的内容之外,不旨在限制本文所示的构造或设计的细节。因此,显而易见的是,上面公开的特定实施例可以被更改或修改,并且所有这种变化都被认为在所公开的主题的范围内。因此,本文寻求的保护如前面的权利要求所阐述。
Claims (27)
1.一种服务器方法,包括:
经由编程接口从一个或多个服务器计算系统向远程客户端计算设备提供用于在所述远程客户端计算设备上执行的游戏应用的游戏玩法数据模型;
经由所述编程接口从所述远程客户端计算设备接收观测数据,所述观测数据是根据由在所述远程客户端计算设备上执行的演员组件至少部分地基于由所述演员组件使用所提供的游戏玩法数据模型生成的推断在所述游戏应用内执行的人工游戏玩法动作而生成的;
由所述一个或多个服务器计算系统基于接收到的观测数据来修改所述游戏玩法数据模型;以及
经由所述编程接口向所述远程客户端计算设备提供修改后的游戏玩法数据模型。
2.根据权利要求1所述的方法,进一步包括:由所述一个或多个服务器计算系统经由所述编程接口接收控制信息,所述控制信息将所述游戏应用的一种或多种输出状态中的每种输出状态与在所述远程客户端计算设备上执行的所述演员组件的输入变量相关联。
3.根据权利要求2所述的方法,其中所述游戏应用的所述一种或多种输出状态包括包含以下项的组中的一项或多项:所述游戏应用的虚拟环境内的玩家参考位置、对象相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的位置、相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的与对象相关联的运动向量、关于所述游戏应用的所述虚拟环境的一个或多个方面的几何信息、和/或与所述游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
4.根据权利要求1至3中任一项所述的方法,进一步包括:由所述一个或多个服务器计算系统接收控制信息,所述控制信息将所述演员组件的一个或多个输出变量中的每个输出变量与对所述游戏应用的人类用户可用的动作相关联。
5.根据权利要求1至4中任一项所述的方法,其中修改所述游戏玩法数据模型进一步基于附加观测数据,所述附加观测数据是基于由所述游戏应用的人类用户在所述游戏应用内执行的游戏玩法动作而生成的。
6.根据权利要求5所述的方法,其中基于所述附加观测数据来修改所述游戏玩法数据模型包括使用深度学习人工智能来修改所述游戏玩法数据模型。
7.根据权利要求1至6中任一项所述的方法,进一步包括基于所述人工游戏玩法动作来生成用于所述游戏应用的测试数据。
8.根据权利要求1至7中任一项所述的方法,进一步包括:响应于已经接收到满足至少一个预定义标准的观测数据的聚合,基于接收到的观测数据来修改所述游戏玩法数据模型。
9.根据权利要求8所述的方法,其中所述至少一个标准包括定义的持续时间段、定义的观测数据量以及在所述远程客户端计算设备处接收到的显式请求中的至少一个。
10.一种计算机系统,用于执行根据权利要求1至9中任一项所述的方法。
11.一种存储可执行指令的非瞬态计算机可读介质,所述可执行指令在由一个或多个处理器执行时操纵所述一个或多个处理器执行根据权利要求1至9中任一项所述的方法。
12.一种服务器,包括:
网络接口;
一个或多个处理器;以及
存储可执行指令集的存储器,所述可执行指令集用于操纵所述一个或多个处理器:
至少部分地基于将游戏应用的一种或多种输出状态中的每种输出状态与输入变量相关联的控制信息来生成用于所述游戏应用的游戏玩法数据模型;
经由编程接口向在远程客户端计算设备上执行的演员组件提供所生成的游戏玩法数据模型;
经由所述编程接口从所述演员组件接收观测数据,所述观测数据是根据由所述演员组件基于由所述演员组件使用所生成的游戏玩法数据模型生成的推断在所述游戏应用内执行的人工游戏玩法动作而生成的;
基于接收到的观测数据来修改所生成的游戏玩法数据模型;以及
经由所述编程接口向所述演员组件提供修改后的游戏玩法数据模型,以供所述演员组件在所述游戏应用内执行附加人工游戏玩法动作时使用。
13.根据权利要求12所述的服务器,其中所述远程客户端计算设备执行所述游戏应用的实例,并且其中所述观测数据是根据由所述演员组件在由所述远程客户端计算设备执行的所述游戏应用的所述实例内执行的人工游戏玩法动作而生成的。
14.根据权利要求12或13所述的服务器,其中所述可执行指令集进一步用于操纵所述一个或多个处理器经由所述编程接口接收控制信息,所述控制信息将所述游戏应用的一种或多种输出状态中的每种输出状态与在所述远程客户端计算设备上执行的所述演员组件的输入变量相关联。
15.根据权利要求14所述的服务器,其中所述游戏应用的所述一种或多种输出状态包括包含以下项的组中的一项或多项:所述游戏应用的虚拟环境内的玩家参考位置、对象相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的位置、相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的与对象相关联的运动向量、关于所述游戏应用的所述虚拟环境的一个或多个方面的几何信息、和/或与所述游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
16.根据权利要求12至15中任一项所述的服务器,其中所述可执行指令集进一步用于操纵所述一个或多个处理器经由所述编程接口接收控制信息,所述控制信息将所述演员组件的一个或多个输出变量中的每个输出变量与对所述游戏应用的人类用户可用的动作相关联。
17.根据权利要求12至16中任一项所述的服务器,其中所述可执行指令集进一步用于操纵所述一个或多个处理器经由所述编程接口接收附加观测数据,所述附加观测数据是根据由所述游戏应用的人类用户在所述游戏应用内执行的游戏玩法动作而生成的,并且其中,修改所述游戏玩法数据模型进一步基于接收到的附加观测数据。
18.根据权利要求17所述的服务器,其中基于接收到的附加观测数据来修改所述游戏玩法数据模型包括使用深度学习人工智能来修改所述游戏玩法数据模型。
19.一种方法,包括:
通过由一个或多个处理器执行的演员组件经由编程接口从在一个或多个远程服务器计算系统上执行的机器学习组件接收用于游戏应用的游戏玩法数据模型;
由所述一个或多个处理器执行所述游戏应用的实例;
经由所述编程接口向所述机器学习组件提供观测数据,所述观测数据是根据由所述演员组件至少部分地基于由所述演员组件使用所述游戏玩法数据模型生成的推断在所述游戏应用的执行实例内执行的人工游戏玩法动作而生成的;以及
经由所述编程接口从在所述一个或多个远程服务器计算系统上执行的所述机器学习组件接收至少部分地基于所提供的观测数据的修改后的游戏玩法数据模型。
20.根据权利要求19所述的方法,进一步包括至少部分地基于由所述演员组件使用所述修改后的游戏玩法数据模型生成的附加推断来执行一个或多个附加人工游戏玩法动作。
21.根据权利要求19或20所述的方法,进一步包括基于所述人工游戏玩法动作来生成用于所述游戏应用的测试数据。
22.根据权利要求19至21中任一项所述的方法,其中所述游戏玩法数据模型至少部分地基于控制信息,所述控制信息将所述游戏应用的一种或多种输出状态中的每种输出状态与所述演员组件的输入变量相关联。
23.根据权利要求22所述的方法,其中所述游戏应用的所述一种或多种输出状态包括包含以下项的组中的一项或多项:所述游戏应用的虚拟环境内的玩家参考位置、对象相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的位置、相对于所述游戏应用的所述虚拟环境内的所述玩家参考位置的与对象相关联的运动向量、关于所述游戏应用的所述虚拟环境的一个或多个方面的几何信息、和/或与所述游戏应用的游戏玩法相关联的一个或多个游戏内奖励指示符。
24.根据权利要求19至23中任一项所述的方法,其中所述游戏玩法数据模型至少部分地基于控制信息,所述控制信息将所述演员组件的一个或多个输出变量中的每个输出变量与对所述游戏应用的人类用户可用的动作相关联。
25.根据权利要求19至24中任一项所述的方法,进一步包括生成附加观测数据,所述附加观测数据是根据由所述游戏应用的人类用户在所述游戏应用内执行的游戏玩法动作而生成的,使得所述修改后的游戏玩法数据模型进一步基于所述附加观测数据。
26.一种计算机系统,用于执行根据权利要求19至25中任一项所述的方法。
27.一种存储可执行指令的非瞬态计算机可读介质,所述可执行指令在由一个或多个处理器执行时操纵所述一个或多个处理器执行根据权利要求19至25中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163193244P | 2021-05-26 | 2021-05-26 | |
US63/193,244 | 2021-05-26 | ||
PCT/US2022/024192 WO2023043493A1 (en) | 2021-05-26 | 2022-04-11 | Efficient gameplay training for artificial intelligence |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116322916A true CN116322916A (zh) | 2023-06-23 |
Family
ID=85603396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006847.3A Pending CN116322916A (zh) | 2021-05-26 | 2022-04-11 | 用于人工智能的高效游戏玩法训练 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240198232A1 (zh) |
JP (1) | JP2024505320A (zh) |
KR (1) | KR20230054896A (zh) |
CN (1) | CN116322916A (zh) |
WO (1) | WO2023043493A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10888788B2 (en) * | 2016-06-30 | 2021-01-12 | Sony Interactive Entertainment Inc. | Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications |
US10195531B2 (en) * | 2016-06-30 | 2019-02-05 | Sony Interactive Entertainment Inc. | Automated artificial intelligence (AI) personal assistant |
US10773168B2 (en) * | 2018-04-02 | 2020-09-15 | Google Llc | Temporary game control by user simulation following loss of active control |
US10576380B1 (en) * | 2018-11-05 | 2020-03-03 | Sony Interactive Entertainment LLC | Artificial intelligence (AI) model training using cloud gaming network |
US11376500B2 (en) * | 2019-02-27 | 2022-07-05 | Nvidia Corporation | Gamer training using neural networks |
US11065549B2 (en) * | 2019-03-15 | 2021-07-20 | Sony Interactive Entertainment Inc. | AI modeling for video game coaching and matchmaking |
US10940393B2 (en) * | 2019-07-02 | 2021-03-09 | Electronic Arts Inc. | Customized models for imitating player gameplay in a video game |
US20210086089A1 (en) * | 2019-09-25 | 2021-03-25 | Nvidia Corporation | Player analysis using one or more neural networks |
-
2022
- 2022-04-11 JP JP2023520250A patent/JP2024505320A/ja active Pending
- 2022-04-11 WO PCT/US2022/024192 patent/WO2023043493A1/en active Application Filing
- 2022-04-11 KR KR1020237010854A patent/KR20230054896A/ko unknown
- 2022-04-11 US US18/554,931 patent/US20240198232A1/en active Pending
- 2022-04-11 CN CN202280006847.3A patent/CN116322916A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023043493A1 (en) | 2023-03-23 |
JP2024505320A (ja) | 2024-02-06 |
KR20230054896A (ko) | 2023-04-25 |
US20240198232A1 (en) | 2024-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7399932B2 (ja) | クラウドゲーミングネットワークを使用した人工知能(ai)モデルの訓練 | |
US11113860B2 (en) | Particle-based inverse kinematic rendering system | |
US11110353B2 (en) | Distributed training for machine learning of AI controlled virtual entities on video game clients | |
KR102401630B1 (ko) | 동적 스트리밍 비디오 게임 클라이언트 | |
US9925461B2 (en) | Character model animation using stored recordings of player movement interface data | |
US20170216675A1 (en) | Fitness-based game mechanics | |
US11666830B2 (en) | Local game execution for spectating and spectator game play | |
US10967277B2 (en) | Automated player sponsorship system | |
US10213690B2 (en) | Determining real-world effects from games | |
CN111968204B (zh) | 一种骨骼模型的运动展示方法和装置 | |
WO2019144346A1 (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
CN116322916A (zh) | 用于人工智能的高效游戏玩法训练 | |
NAJIM | Motion Matching with Proximal Optimization Policy | |
Kanervisto | Advances in deep learning for playing video games | |
Spina | AI Server architecture for latency mitigation and cheating prevention: MPAI-SPG solution | |
CN118045360A (zh) | 兵棋智能体的训练方法、预测方法及相应系统 | |
Andradi et al. | Human behaviour modelling in games using agents | |
Xiqi | Game Ai Evolution: Uniting Unity and Machine Learning for Enhanced Player Interaction and Experience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |