CN114344889A - 游戏策略模型生成方法和游戏中智能体的控制方法 - Google Patents

游戏策略模型生成方法和游戏中智能体的控制方法 Download PDF

Info

Publication number
CN114344889A
CN114344889A CN202011085821.1A CN202011085821A CN114344889A CN 114344889 A CN114344889 A CN 114344889A CN 202011085821 A CN202011085821 A CN 202011085821A CN 114344889 A CN114344889 A CN 114344889A
Authority
CN
China
Prior art keywords
game
strategy
player
agent
intelligent agent
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.)
Granted
Application number
CN202011085821.1A
Other languages
English (en)
Other versions
CN114344889B (zh
Inventor
邱福浩
韩国安
王亮
付强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011085821.1A priority Critical patent/CN114344889B/zh
Publication of CN114344889A publication Critical patent/CN114344889A/zh
Application granted granted Critical
Publication of CN114344889B publication Critical patent/CN114344889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种游戏策略模型生成方法和游戏中智能体的控制方法,属于计算机技术领域,涉及人工智能和强化学习技术。在训练游戏策略模型时,除使智能体适应游戏环境之外,还参考玩家历史游戏数据,在玩家参考策略的指导下,使控制智能体的游戏策略模型可以学习多种控制策略,使得到的游戏策略模型具有更好的鲁棒性和适应能力,可以在游戏中输出更符合游戏环境需要且效果更好的控制策略控制智能体。

Description

游戏策略模型生成方法和游戏中智能体的控制方法
技术领域
本申请涉及人工智能领域,具体涉及一种游戏策略模型生成方法和游戏中智能体的控制方法。
背景技术
随着计算机技术和互联网技术的迅速发展,电子游戏越来越受欢迎。在一些游戏场景中,电子设备控制的游戏角色,或者称为智能体,可以与玩家控制的游戏角色进行对战;在另一些游戏场景中,电子设备也可以控制智能体做出其他动作。
其中,电子设备需要使用一定的控制策略来控制游戏中的智能体做出动作或进行对战。目前,电子设备一般只能采用单一的控制策略来控制智能体。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种游戏策略模型生成方法和游戏中智能体的控制方法,得到的游戏策略模型可以具有更好的鲁棒性和适应能力。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种游戏策略模型生成方法,所述游戏策略模型用于在游戏过程中控制智能体进行动作;所述方法包括:
获取智能体在游戏环境中的当前状态的状态数据,将所述当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据所述当前状态的状态数据生成的控制策略;
采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;
根据玩家历史游戏数据和所述当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;
根据即时奖励和差异奖励,调整游戏策略模型的参数;
将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
第二方面,本申请实施例提供一种游戏中智能体的控制方法,包括:
获取所述智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;
采用得到的控制策略,控制所述智能体进行动作。
所述游戏策略模型用于在游戏过程中控制智能体进行动作;所述装置包括:
状态数据获取单元,用于获取智能体在游戏环境中的当前状态的状态数据;
模型训练单元,用于将所述当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据所述当前状态的状态数据生成的控制策略;采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;根据玩家历史游戏数据和所述当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;根据即时奖励和差异奖励,调整游戏策略模型的参数;将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
在一种可选的实施例中,所述模型训练单元,具体用于:
将所述智能体在游戏环境中的当前状态的状态数据输入已训练的玩家策略模型,得到所述玩家策略模型输出的玩家参考策略;所述玩家策略模型是基于选定玩家的玩家历史游戏数据进行训练得到的;
所述确定控制策略与相对应的玩家参考策略之间的差异奖励,包括:
根据控制策略与相对应的玩家参考策略之间的距离,确定差异奖励。
在一种可选的实施例中,所述玩家策略模型的训练过程,包括:
获取选定玩家的玩家历史游戏数据;所述玩家历史游戏数据中包括选定玩家对应的玩家角色的状态数据和动作数据;所述选定玩家为等级达到设定等级的玩家;
将玩家角色的状态数据输入待训练的玩家策略模型,得到玩家策略模型输出的用于控制玩家角色进行动作的预测策略;
将玩家角色基于预测策略的动作数据与玩家历史游戏数据中的玩家角色的动作数据进行比对,确定损失值;
根据确定的损失值调整玩家策略模型的参数,并对调整参数后的玩家策略模型继续进行训练,直至所述损失值收敛至设定的期望值为止,得到已训练的玩家策略模型。
在一种可选的实施例中,所述状态数据获取单元,具体用于:
获取智能体所处的游戏环境;所述游戏环境中包括所述智能体当前所在游戏区域的局部环境画面和全局地图画面;所述全局地图画面包含所述智能体当前所在游戏区域,并标示有所述游戏区域包含的所有智能体的位置;
对所述游戏环境的局部环境画面和全局地图画面进行图像特征提取,得到所述游戏环境的环境特征;
根据所述游戏环境的环境特征、所述智能体的当前姿态特征和游戏属性特征,生成所述智能体在游戏环境中的当前状态的状态数据。
在一种可选的实施例中,所述游戏环境中包括与所述智能体进行对战的对手智能体;所述模型训练单元,具体用于:
采用得到的控制策略,控制智能体与游戏环境中的对手智能体进行对战,得到对战数据以及所述游戏环境反馈的即时奖励;
获取所述对战数据中智能体对应的下一状态的状态数据。
在一种可选的实施例中,所述游戏为团体作战游戏,所述状态数据包括在游戏环境中对战双方的阵容,所述玩家历史游戏数据包括选定玩家对应的玩家角色在与所述游戏环境中对战双方相同的阵容下的历史游戏数据。
在一种可选的实施例中,得到已训练的游戏策略模型之后,所述装置还用于:
将所述已训练的游戏策略模型对应的智能体保存至用于保存智能体历史版本的对手模型池,用于再次训练游戏策略模型时作为对手智能体。
在一种可选的实施例中,所述模型训练单元,还用于:
通过多个容器并行执行智能体与对手智能体进行对战的步骤,得到对战数据;每个容器均通过镜像的方式设置有游戏环境。
在一种可选的实施例中,得到已训练的游戏策略模型之后,所述装置还用于:
获取智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;
采用得到的控制策略,控制所述智能体进行动作。
第四方面,本申请实施例提供一种游戏中智能体的控制装置,包括:
控制策略输出单元,用于获取所述智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;
动作控制单元,用于采用得到的控制策略,控制所述智能体进行动作。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的游戏策略模型生成方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第二方面的游戏中智能体的控制方法。
第七方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的游戏策略模型生成方法。
第八方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第二方面的游戏中智能体的控制方法。
本申请实施例提供的游戏策略模型生成方法和游戏中智能体的控制方法,在训练游戏策略模型时,除使智能体适应游戏环境之外,还参考玩家历史游戏数据,在玩家参考策略的指导下,使控制智能体的游戏策略模型可以学习多种控制策略,使得到的游戏策略模型具有更好的鲁棒性和适应能力,可以在游戏中输出更符合游戏环境需要且效果更好的控制策略控制智能体。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种游戏策略模型生成方法的应用场景图;
图2为本申请实施例提供的一种游戏策略模型生成方法的流程示意图;
图3为本申请实施例提供的一种游戏策略模型生成方法的总体方案示意图;
图4为本申请实施例提供的一种玩家策略模型的训练方法的流程图;
图5为本申请实施例提供的一种获取状态数据的示意图;
图6为本申请实施例提供的一种智能体自我对战的示意图;
图7为本申请实施例提供的一种游戏中智能体的控制方法的流程示意图;
图8为本申请实施例提供的一种游戏策略模型生成装置的结构示意图;
图9为本申请实施例提供的另一种游戏策略模型生成装置的结构示意图;
图10为本申请实施例提供的一种游戏中智能体的控制装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)游戏环境:是应用程序在终端上运行时显示的虚拟环境。该游戏环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。游戏环境可以是二维游戏环境、2.5维游戏环境和三维游戏环境中的任意一种。可选地,该游戏环境还用于至少两个游戏角色之间的游戏环境对战,在该游戏环境中具有可供至少两个游戏角色使用的游戏资源。可选的,该游戏环境的地图为正方形或矩形,该正方形或矩形包括对称的左下对角区域以及右上对角区域;在游戏环境中对战的胜利条件包括占据或摧毁敌对阵营的目标据点,该目标据点可以是敌对阵营的所有据点,也可以是敌对阵营的部分据点,例如主基地和防守塔等。
(2)游戏角色:也可以称为虚拟对象,一些游戏中称为英雄,是指在游戏环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当游戏环境为三维游戏环境时,游戏角色是三维立体模型,每个游戏角色在三维游戏环境中具有自身的形状和体积,占据三维游戏环境中的一部分空间。可选的,游戏角色可以是多人在线战术竞技游戏中的英雄人物、士兵或中立生物,本申请实施例中以游戏角色为英雄人物来举例说明。
(3)多人在线战术竞技(Multiplayer Online Battle Arena,MOBA)游戏:是一种在游戏的虚拟世界中提供若干个据点,处于不同阵营的用户控制游戏角色在虚拟世界中对战,占领据点或摧毁敌对阵营据点的多人在线游戏。在游戏的虚拟世界中,分属至少两个敌对阵营的不同游戏队伍分别占据各自的地图区域,以某一种胜利条件作为目标进行竞技。该胜利条件包括但不限于:占领据点或摧毁敌对阵营据点、击杀敌对阵营的游戏角色、在指定场景和时间内保证自身的存活、抢夺到某种资源、在指定时间内比分超过对方中的至少一种。战术竞技可以以局为单位来进行,每局战术竞技的地图可以相同,也可以不同。每个游戏队伍包括一个或多个游戏角色,比如1个、2个、3个或5个。MOBA游戏以局为单位,一局MOBA游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。
(4)智能体(agent):是指游戏中能够与游戏环境进行交互的游戏角色。例如,智能体可以在某个特定的游戏环境下,根据自身对游戏环境的感知,按照已有的指示或者通过自主学习,与其他智能体进行沟通协作或者对战,在其所处的游戏环境中自主地完成设定的目标。
下面结合附图及具体实施例对本申请的技术方案作进一步详细的说明。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了解决相关技术中只能采用单一的控制策略控制智能体的问题,本申请实施例提供了一种游戏策略模型生成方法和游戏中智能体的控制方法。本申请实施例涉及人工智能(Artificial Intelligence,AI)技术,基于人工智能中的机器学习(Machine Learning,ML)和强化学习(Reinforcement Learning,RL)技术而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习、深度学习等几大方向。
随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的游戏领域、智能体控制、视频监控、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
强化学习属于机器学习的一种方式,可以用于训练控制游戏中的智能体的游戏策略模型,其训练过程包括:通过游戏策略模型输出的控制策略控制智能体的动作,使智能体与游戏环境进行交互,获得交互后的状态数据和即时奖励,使用状态数据和即时奖励对游戏策略模型进行训练,直至满足收敛条件。本申请实施例在生成游戏策略模型的过程中,采用了基于强化学习的神经网络模型对玩家历史游戏数据进行学习,并学习控制智能体适应游戏环境,得到游戏策略模型。本申请实施例可以利用得到的游戏策略模型对游戏中的智能体进行控制。
本申请实施例提供的游戏策略模型生成方法和游戏中智能体的控制方法可以应用于MOBA游戏或3D(3Dimensions,三维)立体游戏等游戏场景中,采用经过强化学习得到的游戏策略模型控制游戏中的智能体与其他智能体或玩家控制的游戏角色进行沟通协作,或者控制游戏中的智能体与其他智能体或玩家控制的游戏角色进行对战。
本申请实施例提供的游戏策略模型生成方法和游戏中智能体的控制方法的一种应用场景可以参见图1所示,该应用场景中包括多个终端设备11和服务器12。终端设备11与服务器12之间可以通过有线连接方式或无线连接方式进行连接并传输数据。例如,终端设备11与服务器12可以通过数据线连接或者通过有线网络连接;终端设备11与服务器12也可以通过射频模块、WiFi模块或者无线网络连接。
其中,终端设备11为可以安装各类应用程序,并且能够将已安装的应用程序的运行界面进行显示的电子设备,该电子设备可以是移动的,也可以是固定的。例如,笔记本、手机、掌上电脑(Personal Digital Assistant,PDA)、平板电脑、各类可穿戴设备、车载设备、计算机或其它能够实现上述功能的电子设备等。各终端设备11通过通信网络与服务器12连接,服务器12可以是游戏平台的服务器,可以是一台服务器或由若干台服务器组成的服务器集群或云计算中心,或者是一个虚拟化平台,也可以是个人计算机、大中型计算机或计算机集群等。根据实际需要,本申请实施例中的应用场景中可以具有任意数目的终端设备和服务器。本申请对此不做特殊限定。
终端设备11上可以安装游戏的客户端。玩家可以通过游戏的客户端登录游戏,选择目标对手进行对战,目标对手可以是终端设备11控制的智能体。例如,终端设备11可以从服务器12获取供玩家选择的对战对手,玩家从对战对手中选定目标对手后,终端设备11采用从服务器12获取的已训练的游戏策略模型控制该目标对手对应的智能体与玩家控制的游戏角色进行对战。其中,游戏策略模型可以是由服务器12基于玩家历史游戏数据对待训练的游戏策略模型进行训练得到的,也可以是由其他电子设备如其它服务器或计算机等,基于玩家历史游戏数据对待训练的游戏策略模型进行训练得到的。
服务器12或其他电子设备在对游戏策略模型进行训练时,获取智能体所在的游戏环境,获取智能体在游戏环境中的当前状态的状态数据,将当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的控制策略,采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;根据玩家历史游戏数据和当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;根据即时奖励和差异奖励,调整游戏策略模型的参数;将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。通过上述训练方法得到的游戏策略模型,由于参考了玩家历史游戏数据,具有更好的鲁棒性和适应能力。
本申请实施例提供的游戏策略模型生成方法可以由服务器12执行,也可以由其他服务器或其他电子设备执行。本申请实施例提供的游戏中智能体的控制方法可以由服务器12执行,也可以由终端设备11执行,或者由终端设备11和服务器12协作执行。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在该方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。该方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
为便于介绍,本申请将以网络游戏场景为例进行介绍,具体可以是MOBA类型的游戏场景。MOBA游戏的典型玩法是多人对战多人的模式,即两支(或多支)分别由相同数量的游戏角色组成的战队之间进行对抗,游戏角色的类型也可以多种多样,如“战士”、“法师”、“射手”、“坦克”等。游戏角色可以由玩家进行控制,也可以由电子设备按照游戏进度自动控制。
在一些MOBA类游戏中,将游戏角色分成两个敌对阵营,通过分散在地图中互相竞争,以摧毁敌方水晶为最终目的,优先推掉对方“水晶”基地的一方即为获胜方。一种MOBA游戏的典型玩法是5V5对战,即两支战队之间进行对抗,每支战队分别由5名游戏角色组成,先推掉对方水晶基地的一方为获胜方。在MOBA游戏中,需要5个英雄以合作的方式进行游戏。无论是在地图上的资源分配,还是团战中的操作,都需要5个英雄之间良好的配合。比如,上路、中路和下路的英雄需要在各自线路上战斗,打野英雄则在野区战斗,输出英雄需要在后排进行输出,辅助英雄需要在前排承受伤害,刺客英雄需要最后入场收割。
玩家控制游戏中的游戏角色时主要进行两个层面上的思考和操作,一个是宏观调度,即游戏角色在宏观策略战术层面上的调度和配合;一个是微观操作,即游戏角色在具体场景下的操作。
对于MOBA类游戏智能体来说,微观操作主要是英雄单位在当前场景下的具体操作,如移动、攻击、技能施放。而宏观策略主要是英雄及友军单位配合,进行大范围的转移调度等,形成一定的战略战术,以期更好地获取资源,或在局部战斗中获得人数优势。在本申请实施例中,可以采用已训练的游戏策略模型控制游戏中的智能体进行对战。
图2示出了本申请实施例提供的一种游戏策略模型生成方法的流程图,该方法可以由图1中的服务器12执行,也可以由其它电子设备执行。示例性地,下文以用于生成游戏策略模型的服务器作为执行主体,说明本申请实施例的游戏策略模型生成方法的具体实现过程。如图2所示,该游戏策略模型生成方法包括如下步骤:
步骤S201,获取智能体在游戏环境中的当前状态的状态数据,将当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据当前状态数据生成的控制策略。
智能体在游戏环境中的状态会随时间发生变化,在当前时刻对应的状态数据称为当前状态的状态数据。某个状态的状态数据可以包括但不限于智能体的姿态特征、游戏环境的环境特征等。
待训练的游戏策略模型可以采用神经网络模型,包括输入层、隐藏层和输出层。该神经网络模型可以采用策略函数,用于根据输入的状态数据输出控制策略,调整隐藏层的参数,可以调整输出的控制策略。
步骤S202,采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励。
在一些实施例中,可以采用游戏策略模型输出的控制策略,控制智能体与游戏环境中的对手智能体进行对战,得到对战数据以及游戏环境反馈的即时奖励。该对战数据中包含有智能体所处的游戏环境的环境特征、智能体的当前姿态特征以及游戏属性特征,根据该对战数据可以获取到智能体对应的下一状态的状态数据。
步骤S203,根据玩家历史游戏数据和当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励。
其中,玩家历史游戏数据可以是预先收集的玩家控制游戏角色进行游戏的游戏数据。例如,可以选择高水平玩家的游戏数据作为玩家历史游戏数据,基于玩家历史游戏数据生成玩家参考策略,用于指导游戏策略模型生成控制策略。
步骤S204,根据即时奖励和差异奖励,调整游戏策略模型的参数。
根据步骤S202确定出的即时奖励和步骤S203中确定出的差异奖励,对游戏策略模型的模型参数进行调整,以训练游戏策略模型。
步骤S205,将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
将下一状态的状态数据输入游戏策略模型,对游戏策略模型继续行训练的过程可以参照上述步骤S201~步骤S204执行。执行一次上述步骤S201~步骤S204,可以认为对游戏策略模型进行一次训练。设定的训练结束条件可以包括但不限于训练次数达到设定次数,或者即时奖励和差异奖励收敛至设定的期望值。
在一种实施例中,对游戏策略模型进行预设次数的训练,可以认为是对游戏策略模型进行一轮训练,在完成一轮训练后,可以根据本轮训练中每次训练得到的即时奖励确定整体的回报奖励,利用回报奖励来评估游戏策略模型的能力,如果连续N轮训练得到的回报奖励的变化幅度在设定幅度之内或回报奖励达到设定阈值,表明游戏策略模型已经达到了能力上限,可以停止对游戏策略模型的训练过程,否则,重复执行步骤S201~步骤S204,继续对游戏策略模型进行训练。
通过上述训练方法得到的游戏策略模型,可以用于在游戏中控制智能体进行动作。由于上述方法在训练游戏策略模型时,除使智能体适应游戏环境之外,还参考玩家历史游戏数据,在玩家参考策略的指导下,使控制智能体的游戏策略模型可以学习多种控制策略,使得到的游戏策略模型具有更好的鲁棒性和适应能力,可以在游戏中输出更符合游戏环境需要且效果更好的控制策略控制智能体。
在一种实施例中,游戏策略模型的生成方法也可以参照图3所示的过程执行,在训练游戏策略模型之前,可以预先获取玩家历史游戏数据{τ1,τ2,……,τn},基于获取的玩家历史游戏数据训练得到玩家策略模型,得到的玩家策略模型可以用于在训练游戏策略模型的过程中,根据输入的状态数据输出玩家参考策略。
可选地,玩家策略模型的网络结构可以与上文中记载的游戏策略模型的网络结构相同。玩家策略模型的训练方法可以如图4所示,包括如下步骤:
步骤S401,获取选定玩家的玩家历史游戏数据,玩家历史游戏数据中包括选定玩家对应的玩家角色的状态数据和动作数据。
选定玩家的玩家历史游戏数据可以从保存的玩家游戏数据集中抽取。比如,可以收集大量选定玩家的玩家历史游戏数据,组成玩家游戏数据集。玩家历史游戏数据中可以包括选定玩家对应的玩家角色的状态数据和动作数据。上文中的游戏角色就可以理解为玩家角色。其中,选定玩家可以是等级达到设定等级的玩家,例如,可以收集高水平玩家或专家的历史对战数据,也可以收集指定打法特色的高水平玩家的历史对战数据。在获取到选定玩家的历史对战数据后,可以以每局游戏为单位,从历史对战数据中提取对战双方的对战阵容、游戏环境的环境数据、选定玩家控制的玩家角色的姿态数据和动作数据,根据提取的对战双方的对战阵容、游戏环境的环境数据、选定玩家控制的玩家角色的姿态数据生成玩家角色的状态数据,进而得到选定玩家对应的玩家角色的状态数据和动作数据。
可以从玩家游戏数据集中抽取玩家历史游戏数据,用于训练玩家策略模型。
步骤S402,将玩家角色的状态数据输入待训练的玩家策略模型,得到玩家策略模型输出的预测策略。
加载待训练的玩家策略模型,随机初始化模型参数,将玩家角色的状态数据样本输入待训练的玩家策略模型,得到玩家策略模型输出的用于控制玩家角色进行动作的预测策略。
步骤S403,将玩家角色基于预测策略的动作数据与玩家历史游戏数据中的玩家角色的动作数据进行比对,确定损失值。
采用玩家策略模型输出的预测策略控制玩家角色完成对应动作,得到玩家角色基于预测策略的动作数据,将玩家角色基于预测策略的动作数据与玩家历史游戏数据中的玩家角色的动作数据进行比对,确定损失值。
计算损失值时,可以采用预设的损失函数计算损失值,损失函数可以采用交叉熵损失函数,例如Sigmoid函数。使用的损失函数还可以是但不限于多分类交叉熵损失函数、对比损失函数(contrastive Loss)等。通常,损失值是判定实际的输出与期望的输出的接近程度。损失值越小,说明实际的输出越接近期望的输出。
步骤S404,确定损失值是否收敛至预设的期望值;如果否,执行步骤S405;如果是,执行步骤S406。
判断损失值是否收敛至预设的期望值,如果损失值小于或等于预设的期望值,认为损失值已收敛至预设的期望值;否则,认为损失值尚未收敛。
步骤S405,根据确定的损失值对待训练的玩家策略模型的参数进行调整。
如果损失值未收敛,则对模型参数进行调整,调整模型参数后,返回执行步骤S401,继续下一轮的训练过程。
步骤S406,结束训练得到已训练的玩家策略模型。
如果损失值收敛,则将当前得到的玩家策略模型作为已训练的玩家策略模型。
得到已训练的玩家策略模型之后,可以根据图3所示的训练过程对游戏策略模型进行训练。加载待训练的游戏策略模型,随机初始化模型参数,同时,加载智能体所处的游戏环境。图3中采用当前游戏画面表示智能体所处的游戏环境。游戏环境中可以包括智能体当前所在游戏区域的局部环境画面和全局地图画面。如游戏画面的右上角小窗口显示区域显示的是全局地图画面,其余显示区域显示的是智能体当前所在游戏区域的局部环境画面。全局地图画面包含智能体当前所在游戏区域,并标示有游戏区域包含的所有智能体的位置。
示例性地,游戏环境中可以包括与智能体进行对战的对手智能体。游戏可以是单人对战游戏,也可以是团体作战游戏,如MOBA游戏即为团体作战游戏。考虑到在MOBA游戏中,游戏的局面状态不再如原来的单机游戏画面那样仅是简单的盘面信息。MOBA游戏具有大地图、多目标单位、非完全信息等特点,使得游戏局面状态特征具有更高的复杂性。在MOBA游戏中,智能体可以作为游戏角色。参考真实的游戏过程,在进行5V5对战时,玩家通常会选择一个对战区域,该对战区域一般只有进行对战的两方队伍的10个游戏角色,该对战区域就是游戏环境的全局地图区域,每个游戏角色处于该全局地图中的某个确定位置。
图3中所示游戏为团体作战游戏,游戏画面的全局地图画面中显示有两方队伍正在进行5V5的游戏对战,并显示出每个游戏角色,即每个智能体的在地图中的位置。游戏区域的局部环境画面中显示有智能体与对手智能体进行对战的游戏画面。
在一些实施例中,在获取智能体在游戏环境中的当前状态的状态数据时,可以对游戏环境的局部环境画面和全局地图画面进行图像特征提取,得到游戏环境的环境特征。示例性地,如图5所示,可以对包含智能体所在位置的局部环境画面进行图像特征提取,获取局部环境中的障碍物或子弹的当前位置、智能体与对手智能体的位置等;可以对包含有对战双方的所有智能体的全局地图画面进行图像特征提取,获取全部环境中的兵/野/塔等的位置、对战双方的阵容(指对战的每一方所包含的游戏角色的数量)以及对战双方的所有智能体的位置等,上述得到的位置信息均属于游戏环境的环境特征。
同时,在对包含智能体的局部环境画面进行图像特征提取,也可以获取智能体的当前姿态特征。对局部环境画面中显示的智能体游戏状态信息,如血量、等级、攻击力等信息进行向量化表示,得到游戏属性特征。根据游戏环境的环境特征、智能体的当前姿态特征和游戏属性特征,生成智能体在游戏环境中的当前状态的状态数据。
通过对智能体所在的当前游戏环境的各种信息进行图像化、向量化特征提取,可以将MOBA游戏中的复杂信息提取出来,从而降低了MOBA游戏的状态空间和动作空间。根据提取出的状态数据对游戏策略模型进行训练,可以使训练得到的游戏策略模型有效地适应MOBA游戏状态空间的高复杂性。
获取到智能体在游戏环境中的当前状态的状态数据之后,将获取的当前状态的状态数据输入待训练的游戏策略模型,游戏策略模型可以输出根据智能体的当前状态数据生成的控制策略πagent
采用控制策略πagent控制智能体与游戏环境进行交互,确定游戏环境反馈的即时奖励以及智能体对应的下一状态的状态数据。如果游戏环境中包括与智能体进行对战的对手智能体,如图3所示,可以采用得到的控制策略控制智能体与游戏环境中的对手智能体进行对战,得到对战数据以及游戏环境反馈的即时奖励。示例性地,游戏环境反馈的即时奖励可以包括对战得到的分数,该分数可以根据对战数据得到。游戏环境反馈的即时奖励还可以根据如下参考因素得到:如智能体的经验值exp、经济money、血量hp、击杀kill、死亡dead以及血量变化等。对战数据中还可以包含智能体所处的游戏环境的环境特征、智能体的对战后的姿态特征以及游戏属性特征,上述特征的获取方式可以参见上文,在此不再赘述。根据该对战数据可以获取到智能体对应的下一状态的状态数据。
在一种实施例中,游戏环境中的对手智能体可以是其他游戏角色的智能体。在另一种实施例中,游戏环境中的对手智能体可以从用于保存智能体历史版本的对手模型池中选择,也就是说,每次训练得到的游戏策略模型之后,可以将得到的游戏策略模型对应的智能体保存至对手模型池,下次训练时,可以从对手模型池中选择智能体自身的历史版本作为对手智能体,可以得到与智能体实力相当的对手智能体,这种自我对战的方式也可以称为自对弈,通过自我对战的方式产生对战数据进行学习,有利于对游戏策略模型进行并行化训练,提升游戏策略模型的训练效率,更有利于对智能体进行训练。
例如,如图6所示,智能体a是正在训练的智能体,智能体b是从对手模型池中选择的用于对智能体a进行对战的对手智能体,智能体b可以是智能体a的历史版本。智能体b与智能体a在游戏环境中进行对战,游戏环境分别向在与智能体b对应的游戏策略模型b和与智能体a对应的待训练的游戏策略模型a输出状态数据,智能体b受游戏策略模型b输出的控制策略b控制,智能体a受游戏策略模型a输出的控制策略a控制,获取智能体a与智能体b对战的对战数据,用于训练游戏策略模型a。
在一些实施例中,为了更快地得到更多的对战数据,用于训练游戏策略模型,可以通过多个容器并行执行智能体与对手智能体进行对战的步骤,得到对战数据,其中,每个容器均通过镜像的方式设置有游戏环境。
例如,在控制智能体进行对战时,还可以根据可用的机器容量,通过多容器docker镜像方便快速地将智能体对战的游戏环境并行扩充到多台机器上,每台机器上可以创建一个容器,用于执行智能体与对手智能体进行对战的过程。也就是说,可以在多个机器上实现智能体的对战过程。
通过在多机器上进行并行对战过程,可以得到大量的对战数据,极大地提高智能体对战数据生成的效率。利用得到的大量的对战数据训练游戏策略模型,可以快速高效地提升智能体的能力。
在将获取的当前状态的状态数据输入待训练的游戏策略模型的同时,还可以将智能体在游戏环境中的当前状态的状态数据输入已训练的玩家策略模型中,可以得到玩家策略模型输出的玩家参考策略πexpert,根据游戏策略模型输出的控制策略πagent与相对应的玩家参考策略πexpert之间的距离,确定出控制策略πagent与相对应的玩家参考策略πexpert之间的差异奖励。
在一种实施例中,可以采用KL散度,即相对熵来确定控制策略与相对应的玩家参考策略之间的距离。另一种实施例中,也可以采用如欧氏距离、hamming(汉明)距离等方法来确定控制策略与相对应的玩家参考策略之间的距离,本申请对此不做限定。
根据控制策略与相对应的玩家参考策略之间的距离,确定出控制策略与相对应的玩家参考策略之间的差异奖励。示例性地,采用lossKL表示控制策略与相对应的玩家参考策略之间的距离,当lossKL较大时,表明当前控制策略与相对应的玩家参考策略差别较大,当lossKL较小时,表明当前控制策略与相对应的玩家参考策略比较相似。根据lossKL,可以确定出控制策略与相对应的玩家参考策略之间的差异奖励pseudo_reward,在一种实施例中,差异奖励pseudo_reward可以表示为:
Figure BDA0002720317590000191
根据得到的差异奖励,可以激励游戏策略模型朝着与相对应的玩家参考策略相似的方向进行学习。
在一些实施例中,如果游戏为团体作战游戏,输入游戏策略模型和玩家策略模型的状态数据包括在游戏环境中对战双方的阵容,上文中用于训练玩家策略模型的玩家历史游戏数据可以包括选定玩家对应的玩家角色在与游戏环境中对战双方相同的阵容下的历史游戏数据。或者说,选择利用特定的玩家历史游戏数据训练得到的玩家策略模型,该特定的玩家历史游戏数据包括选定玩家对应的玩家角色在与游戏环境中对战双方相同的阵容下的历史游戏数据。
获得游戏环境反馈的即时奖励和控制策略与相对应的玩家参考策略之间的差异奖励之后,可以根据即时奖励和差异奖励,调整游戏策略模型的参数。示例性地,可以根据即时奖励和差异奖励的加权和,调整游戏策略模型的参数,对游戏策略模型进行一次训练。然后将从游戏环境中获得的下一状态的状态数据分别输入游戏策略模型和玩家策略模型,重复执行上述方法,对游戏策略模型进行下一次迭代训练。
在对游戏策略模型的迭代训练次数达到一定次数之后,可以确定本轮训练的回报奖励,利用回报奖励评估游戏策略模型的训练效果。或者说,可以采用回报奖励来评估智能体执行游戏策略模型输出的控制策略对应动作的优劣性。一轮训练的回报奖励可以采用该轮训练中所有即时奖励的累加和表示。例如,设本轮开始训练的时刻为t时刻,每个时刻对应一个状态,在t时刻之后所有时刻的即时奖励的累加。在实际的游戏过程中,除非整个游戏到达结束状态,否则是无法显式地获取所有的即时奖励来计算出每个状态的即时奖励。本申请实施例引入Bellman方程,使得计算当前状态值仅和下一步状态值以及当前的游戏环境所反馈的即时奖励相关。示例性地,可以通过以下公式确定回报奖励:
Figure BDA0002720317590000201
Vθ(s)=E[Gt|St=s]
=E[Rt+1+λRt+22Rt+3+...|St=s]
=E[Rt+1+λv(St+1)|St=s]
其中,Gt表示第t时刻状态的实际回报奖励,R*表示第*时刻状态的即时奖励,λ*-t-1表示第*时刻状态的即时奖励对第*时刻状态的影响因子,第*时刻状态距离第t时刻状态的时间越长,影响因子越小。Vθ(s)表示智能体在状态s时执行策略θ的回报奖励的预期值,E[s]表示状态s下的预期回报奖励,v()表示通过迭代计算后得到的参数。
在计算回报奖励时,结合bellman公式提出一种逆序化的计算方法,可以不需要依赖于游戏内核推演到游戏结束,就能够得到回报奖励。如果连续N轮训练的回报奖励的变化幅度在设定的期望幅度内,可以停止对游戏策略模型的训练过程,得到已训练的游戏策略模型。
得到已训练的游戏策略模型之后,可以采用已训练的游戏策略模型控制游戏中的智能体进行动作,例如,采用已训练的游戏策略模型控制游戏中的智能体与人类玩家控制的游戏角色进行对战等。在对战过程中,获取智能体在游戏中的状态数据,将智能体的状态数据输入已训练的游戏策略模型,得到游戏策略模型输出的控制策略,采用得到的控制策略,控制智能体进行动作。
例如,在一种具体实施例中,可以针对某一种类型的智能体,对游戏策略模型进行训练,得到的游戏策略模型生成的控制策略可以控制这种类型的智能体与玩家控制的角色进行对战。例如,在MOBA游戏中,针对“貂蝉”这个英雄角色,训练一个游戏策略模型。可以获取包含有“貂蝉”的游戏环境,将“貂蝉”的当前状态数据输入到待训练的游戏策略模型中,游戏策略模型可以输出根据“貂蝉”的当前状态数据生成的控制策略。利用得到的控制策略,可以控制“貂蝉”与游戏环境中的其他英雄进行对战,得到“貂蝉”的下一状态的状态数据和游戏环境反馈的即时奖励。在对玩家策略模型进行训练时,可以获取到控制“貂蝉”这个英雄的高水平玩家的历史对战数据,将该对战数据中的“貂蝉”的状态数据输入到待训练的玩家策略模型中,通过对玩家策略模型的训练,得到已训练的玩家策略模型。将“貂蝉”的当前状态数据输入到已训练的玩家策略模型中,得到“貂蝉”的玩家参考策略。将游戏策略模型输出的根据“貂蝉”的当前状态数据生成的控制策略与“貂蝉”的玩家参考策略进行对比,得到差异奖励。根据得到的即时奖励和差异奖励对游戏策略模型的参数进行调整,使得游戏策略模型输出的“貂蝉”控制策略与玩家策略模型输出的“貂蝉”玩家参考策略逐渐接近,即使得经过训练得到的游戏策略模型在控制“貂蝉”进行对战时的控制策略能够接近高水平玩家在控制“貂蝉”进行对战时的玩家参考策略,并且也可以指导游戏策略模型朝着执行更优动作的方向进行学习。将“貂蝉”的下一状态的状态数据输入到调整参数后的游戏策略模型中,继续游戏策略模型的训练过程,直至游戏策略模型达到设定的训练结束条件为止,得到可以控制“貂蝉”的已训练的游戏策略模型。
在得到可以控制“貂蝉”的已训练的游戏策略模型后,可以控制一个“貂蝉”与玩家控制的其他英雄进行对战,例如,可以控制一个“貂蝉”与玩家控制的一个“孙悟空”进行对战。
在一些实施例中,可以在得到控制“貂蝉”的已训练的游戏策略模型后,再针对其他的英雄采用类似于得到可以控制“貂蝉”的已训练的游戏策略模型的训练过程训练得到可以控制其他英雄的游戏策略模型。例如,在得到可以控制“貂蝉”的已训练的游戏策略模型后,可以依次针对“吕布”、“武则天”等等训练得到游戏策略模型。在得到可以控制这些英雄的游戏策略模型后,利用游戏策略模型控制这些英雄与玩家控制的英雄进行对战。
在另一种具体实施例中,由于在MOBA游戏中,通常都是5V5的对战模式,因此,可以针对一个由5个英雄组成的对战阵容训练得到一个可以同时控制5个英雄与玩家控制的5个英雄组成的对方阵容进行对战。模型的训练过程与上一种实施例中训练可以控制一个英雄的游戏策略模型的过程相似,只是输入模型的训练样本不同。在对一个可以控制5个英雄的游戏策略模型进行训练时,可以将同时包含有5个英雄的游戏环境中的英雄的当前状态数据输入到待训练的游戏策略模型中,进而输出根据这5个英雄的当前状态数据生成的控制策略。在对玩家策略模型进行训练时,可以获取到控制这5个英雄的高水平玩家的历史对战数据,将该对战数据中的英雄状态数据输入到待训练的玩家策略模型中,经过训练得到已训练的玩家策略模型。在得到已训练的游戏策略模型后,可以控制由这5个英雄组成的阵容与玩家控制的5个英雄组成的对方阵容进行对战。
采用本申请实施例提供的强化学习方法对游戏策略模型进行训练。通过设计合理的奖励,使得游戏智能体通过不断探索获取奖励最大化的方向,从而达到游戏的最终胜利。训练得到的游戏策略模型的能力可以超越人类的表现。
本申请实施例提供的游戏策略模型生成方法,通过对游戏环境的场景画面的图像化和画面中信息的向量化处理,有效降低多人对战游戏的空间复杂性。通过即时奖励和多机器并行自对弈的方法,不需要通过监督的有标签数据,自行迭代提升能力,大大提高模型的训练效率。同时,根据大量的高水平玩家的对战数据经验给出的阵容对抗策略,可以指导AI智能体(上文中的智能体)在不同阵容对抗下选择合适的策略,约束模型在策略探索上的方向。一方面让AI智能体在不同阵容上学习到多策略的对抗打法,使AI智能体在不同的游戏环境中有不同的表现;另一方面让AI智能体在强化学习中,在玩家参考策略上进行探索,加速了微操能力的学习和模型的收敛。因此,本申请实施例提供的方法能有效地提高游戏中AI智能体的对抗鲁棒性和上限能力。
基于与上述实施例的游戏策略模型的生成方法相同的发明构思,本申请实施例还提供了一种游戏中智能体的控制方法。图7示出了本申请实施例提供的一种游戏中智能体的控制方法的流程图,该方法可以由图1中的服务器12执行,也可以由终端设备11或其它电子设备执行。示例性地,下文以运行游戏并控制游戏中的智能体的终端设备作为执行主体,说明本申请实施例的游戏中智能体的控制方法的具体实现过程。如图7所示,该游戏中智能体的控制方法包括如下步骤:
步骤S701,获取智能体在游戏中的状态数据,将智能体的状态数据输入已训练的游戏策略模型,得到游戏策略模型输出的根据智能体的状态数据生成的控制策略。
其中,游戏策略模型是采用上述实施例中提供的训练方法得到的。
步骤S702,采用得到的控制策略,控制智能体进行动作。
示例性地,终端设备上可以安装游戏的客户端。玩家可以通过游戏的客户端登录游戏,选择目标对手进行对战,目标对手可以是终端设备控制的智能体。例如,终端设备可以从服务器获取供玩家选择的对战对手,玩家从对战对手中选定目标对手后,终端设备从服务器获取的目标对手对应的游戏策略模型,获取智能体在游戏中的状态数据,将智能体的状态数据输入游戏策略模型,得到游戏策略模型输出的根据智能体的状态数据生成的控制策略,采用得到的控制策略,控制该目标对手对应的智能体与玩家控制的游戏角色进行对战。
与图2所示的游戏策略模型生成方法基于同一发明构思,本申请实施例中还提供了一种游戏策略模型生成装置。由于该装置是本申请游戏策略模型生成方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图8示出了本申请实施例提供的一种游戏策略模型生成装置的结构示意图,如图8所示,该游戏策略模型生成装置包括状态数据获取单元801和模型训练单元802;其中,
状态数据获取单元801,用于获取智能体在游戏环境中的当前状态的状态数据;
模型训练单元802,用于将当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据当前状态的状态数据生成的控制策略;采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;根据玩家历史游戏数据和当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;根据即时奖励和差异奖励,调整游戏策略模型的参数;将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
在一种可选的实施例中,模型训练单元802,具体用于:
将智能体在游戏环境中的当前状态的状态数据输入已训练的玩家策略模型,得到玩家策略模型输出的玩家参考策略;玩家策略模型是基于选定玩家的玩家历史游戏数据进行训练得到的;
确定控制策略与相对应的玩家参考策略之间的差异奖励,包括:
根据控制策略与相对应的玩家参考策略之间的距离,确定差异奖励。
在一种可选的实施例中,玩家策略模型的训练过程,包括:
获取选定玩家的玩家历史游戏数据;玩家历史游戏数据中包括选定玩家对应的玩家角色的状态数据和动作数据;选定玩家为等级达到设定等级的玩家;
将玩家角色的状态数据输入待训练的玩家策略模型,得到玩家策略模型输出的用于控制玩家角色进行动作的预测策略;
将玩家角色基于预测策略的动作数据与玩家历史游戏数据中的玩家角色的动作数据进行比对,确定损失值;
根据确定的损失值调整玩家策略模型的参数,并对调整参数后的玩家策略模型继续进行训练,直至损失值收敛至设定的期望值为止,得到已训练的玩家策略模型。
在一种可选的实施例中,状态数据获取单元801,具体用于:
获取智能体所处的游戏环境;游戏环境中包括智能体当前所在游戏区域的局部环境画面和全局地图画面;全局地图画面包含智能体当前所在游戏区域,并标示有游戏区域包含的所有智能体的位置;
对游戏环境的局部环境画面和全局地图画面进行图像特征提取,得到游戏环境的环境特征;
根据游戏环境的环境特征、智能体的当前姿态特征和游戏属性特征,生成智能体在游戏环境中的当前状态的状态数据。
在一种可选的实施例中,游戏环境中包括与智能体进行对战的对手智能体;模型训练单元802,具体用于:
采用得到的控制策略,控制智能体与游戏环境中的对手智能体进行对战,得到对战数据以及游戏环境反馈的即时奖励;
获取对战数据中智能体对应的下一状态的状态数据。
在一种可选的实施例中,游戏为团体作战游戏,状态数据包括在游戏环境中对战双方的阵容,玩家历史游戏数据包括选定玩家对应的玩家角色在与游戏环境中对战双方相同的阵容下的历史游戏数据。
在一种可选的实施例中,如图9所示,得到已训练的游戏策略模型之后,上述游戏策略模型生成装置还包括智能体保存单元901和智能体控制单元902;其中,
智能体保存单元901,用于将已训练的游戏策略模型对应的智能体保存至用于保存智能体历史版本的对手模型池,用于再次训练游戏策略模型时作为对手智能体;
智能体控制单元902,用于获取智能体在游戏中的状态数据,将智能体的状态数据输入已训练的游戏策略模型,得到游戏策略模型输出的根据智能体的状态数据生成的控制策略;采用得到的控制策略,控制智能体进行动作。
在一种可选的实施例中,模型训练单元802,还用于:
通过多个容器并行执行智能体与对手智能体进行对战的步骤,得到对战数据;每个容器均通过镜像的方式设置有游戏环境。
与图7所示的游戏中智能体的控制方法基于同一发明构思,本申请实施例中还提供了一种游戏中智能体的控制装置。由于该装置是本申请游戏中智能体的控制方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图10示出了本申请实施例提供的一种游戏中智能体的控制装置的结构示意图,如图10所示,该游戏中智能体的控制装置包括控制策略输出单元101和动作控制单元102;其中,
控制策略输出单元101,用于获取智能体在游戏中的状态数据,将智能体的状态数据输入已训练的游戏策略模型,得到游戏策略模型输出的根据智能体的状态数据生成的控制策略;
其中,已训练的游戏策略模型是采用本申请实施例提供的游戏策略模型生成方法进行训练得到的。
动作控制单元102,用于采用得到的控制策略,控制智能体进行动作。
本申请实施例提供的游戏策略模型生成装置和游戏中智能体的控制装置,在训练游戏策略模型时,除使智能体适应游戏环境之外,还参考玩家历史游戏数据,在玩家参考策略的指导下,使控制智能体的游戏策略模型可以学习多种控制策略,使得到的游戏策略模型具有更好的鲁棒性和适应能力,可以在游戏中输出更符合游戏环境需要且效果更好的控制策略控制智能体。
与图2所示的游戏策略模型生成方法基于同一发明构思,本申请实施例还提供了一种电子设备。该电子设备可以用于生成游戏策略模型。在一种实施例中,该电子设备可以是服务器,也可以是计算机或其他电子设备。在该实施例中,电子设备的结构可以如图11所示,包括存储器111,通讯模块113以及一个或多个处理器112。
存储器111,用于存储处理器112执行的计算机程序。存储器111可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器111可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器111也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器111是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器111可以是上述存储器的组合。
处理器112,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器112,用于调用存储器111中存储的计算机程序时实现上述游戏策略模型生成方法。
通讯模块113用于与终端设备和其他电子设备进行通信。
本申请实施例中不限定上述存储器111、通讯模块113和处理器112之间的具体连接介质。本公开实施例在图11中以存储器111和处理器112之间通过总线114连接,总线114在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
与图7所示的游戏中智能体的控制方法基于同一发明构思,本申请实施例还提供了一种电子设备。该电子设备可以用于控制游戏中的智能体。该电子设备可以是服务器,也可以是终端设备或其他电子设备。该电子设备可以包括存储器,通讯模块以及一个或多个处理器。处理器,用于调用存储器中存储的计算机程序时实现上述游戏中智能体的控制方法。对该电子设备的介绍可以参见上述用于生成游戏策略模型的电子设备的介绍,重复之处不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的游戏策略模型生成方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的游戏中智能体的控制方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (15)

1.一种游戏策略模型生成方法,其特征在于,所述游戏策略模型用于在游戏过程中控制智能体进行动作;所述方法包括:
获取智能体在游戏环境中的当前状态的状态数据,将所述当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据所述当前状态的状态数据生成的控制策略;
采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;
根据玩家历史游戏数据和所述当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;
根据即时奖励和差异奖励,调整游戏策略模型的参数;
将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
2.根据权利要求1所述的方法,其特征在于,所述根据玩家历史游戏数据和所述当前状态的状态数据,确定与控制策略相对应的玩家参考策略,包括:
将所述智能体在游戏环境中的当前状态的状态数据输入已训练的玩家策略模型,得到所述玩家策略模型输出的玩家参考策略;所述玩家策略模型是基于选定玩家的玩家历史游戏数据进行训练得到的;
所述确定控制策略与相对应的玩家参考策略之间的差异奖励,包括:
根据控制策略与相对应的玩家参考策略之间的距离,确定差异奖励。
3.根据权利要求2所述的方法,其特征在于,所述玩家策略模型的训练过程,包括:
获取选定玩家的玩家历史游戏数据;所述玩家历史游戏数据中包括选定玩家对应的玩家角色的状态数据和动作数据;所述选定玩家为等级达到设定等级的玩家;
将玩家角色的状态数据输入待训练的玩家策略模型,得到玩家策略模型输出的用于控制玩家角色进行动作的预测策略;
将玩家角色基于预测策略的动作数据与玩家历史游戏数据中的玩家角色的动作数据进行比对,确定损失值;
根据确定的损失值调整玩家策略模型的参数,并对调整参数后的玩家策略模型继续进行训练,直至所述损失值收敛至设定的期望值为止,得到已训练的玩家策略模型。
4.根据权利要求1所述的方法,其特征在于,所述获取智能体在游戏环境中的当前状态的状态数据,包括:
获取智能体所处的游戏环境;所述游戏环境中包括所述智能体当前所在游戏区域的局部环境画面和全局地图画面;所述全局地图画面包含所述智能体当前所在游戏区域,并标示有所述游戏区域包含的所有智能体的位置;
对所述游戏环境的局部环境画面和全局地图画面进行图像特征提取,得到所述游戏环境的环境特征;
根据所述游戏环境的环境特征、所述智能体的当前姿态特征和游戏属性特征,生成所述智能体在游戏环境中的当前状态的状态数据。
5.根据权利要求4所述的方法,其特征在于,所述游戏环境中包括与所述智能体进行对战的对手智能体;所述采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励,包括:
采用得到的控制策略,控制智能体与游戏环境中的对手智能体进行对战,得到对战数据以及所述游戏环境反馈的即时奖励;
获取所述对战数据中智能体对应的下一状态的状态数据。
6.根据权利要求5所述的方法,其特征在于,所述游戏为团体作战游戏,所述状态数据包括在游戏环境中对战双方的阵容,所述玩家历史游戏数据包括选定玩家对应的玩家角色在与所述游戏环境中对战双方相同的阵容下的历史游戏数据。
7.根据权利要求5所述的方法,其特征在于,得到已训练的游戏策略模型之后,所述方法还包括:
将所述已训练的游戏策略模型对应的智能体保存至用于保存智能体历史版本的对手模型池,用于再次训练游戏策略模型时作为对手智能体。
8.根据权利要求5所述的方法,其特征在于,采用得到的控制策略,控制智能体与游戏环境中的对手智能体进行对战,得到对战数据,包括:
通过多个容器并行执行智能体与对手智能体进行对战的步骤,得到对战数据;每个容器均通过镜像的方式设置有游戏环境。
9.根据权利要求1所述的方法,其特征在于,得到已训练的游戏策略模型之后,所述方法还包括:
获取智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;
采用得到的控制策略,控制所述智能体进行动作。
10.一种游戏中智能体的控制方法,其特征在于,采用权利要求1~9中任一项所述的游戏策略模型生成方法得到的游戏策略模型控制所述智能体;所述方法包括:
获取所述智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;
采用得到的控制策略,控制所述智能体进行动作。
11.一种游戏策略模型生成装置,其特征在于,所述游戏策略模型用于在游戏过程中控制智能体进行动作;包括:
状态数据获取单元,用于获取智能体在游戏环境中的当前状态的状态数据;
模型训练单元,用于将所述当前状态的状态数据输入待训练的游戏策略模型,得到游戏策略模型输出的根据所述当前状态的状态数据生成的控制策略;采用得到的控制策略,控制智能体与游戏环境进行交互,确定智能体对应的下一状态的状态数据以及游戏环境反馈的即时奖励;根据玩家历史游戏数据和所述当前状态的状态数据,确定与控制策略相对应的玩家参考策略,并确定控制策略与相对应的玩家参考策略之间的差异奖励;根据即时奖励和差异奖励,调整游戏策略模型的参数;将智能体对应的下一状态的状态数据输入调整参数后的游戏策略模型,继续对游戏策略模型进行训练,直至达到设定的训练结束条件为止,得到已训练的游戏策略模型。
12.根据权利要求11所述的装置,其特征在于,所述状态数据获取单元,具体用于:
获取智能体所处的游戏环境;所述游戏环境中包括所述智能体当前所在游戏区域的局部环境画面和全局地图画面;所述全局地图画面包含所述智能体当前所在游戏区域,并标示有所述游戏区域包含的所有智能体的位置;
对所述游戏环境的局部环境画面和全局地图画面进行图像特征提取,得到所述游戏环境的环境特征;
根据所述游戏环境的环境特征、所述智能体的当前姿态特征和游戏属性特征,生成所述智能体在游戏环境中的当前状态的状态数据。
13.一种游戏中智能体的控制装置,其特征在于,包括:
控制策略输出单元,用于获取所述智能体在游戏中的状态数据,将所述智能体的状态数据输入已训练的游戏策略模型,得到所述游戏策略模型输出的根据所述智能体的状态数据生成的控制策略;所述游戏策略模型是采用权利要求1~9中任一项所述的游戏策略模型生成方法训练得到的;
动作控制单元,用于采用得到的控制策略,控制所述智能体进行动作。
14.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~9中任一项或权利要求10所述的方法。
15.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~9中任一项或权利要求10所述的方法。
CN202011085821.1A 2020-10-12 2020-10-12 游戏策略模型生成方法和游戏中智能体的控制方法 Active CN114344889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011085821.1A CN114344889B (zh) 2020-10-12 2020-10-12 游戏策略模型生成方法和游戏中智能体的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011085821.1A CN114344889B (zh) 2020-10-12 2020-10-12 游戏策略模型生成方法和游戏中智能体的控制方法

Publications (2)

Publication Number Publication Date
CN114344889A true CN114344889A (zh) 2022-04-15
CN114344889B CN114344889B (zh) 2024-01-26

Family

ID=81089649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011085821.1A Active CN114344889B (zh) 2020-10-12 2020-10-12 游戏策略模型生成方法和游戏中智能体的控制方法

Country Status (1)

Country Link
CN (1) CN114344889B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115300910A (zh) * 2022-07-15 2022-11-08 浙江大学 基于多智能体强化学习的去混淆游戏策略模型生成方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815155A (zh) * 2019-02-26 2019-05-28 网易(杭州)网络有限公司 一种游戏测试的方法及装置、电子设备、存储介质
CN109919319A (zh) * 2018-12-31 2019-06-21 中国科学院软件研究所 基于多个历史最佳q网络的深度强化学习方法及设备
CN110443284A (zh) * 2019-07-15 2019-11-12 超参数科技(深圳)有限公司 Ai模型的训练方法、调用方法、服务器及可读存储介质
CN110991545A (zh) * 2019-12-10 2020-04-10 中国人民解放军军事科学院国防科技创新研究院 一种面向多智能体对抗的强化学习训练优化方法及装置
US20200188799A1 (en) * 2015-11-06 2020-06-18 Sportal Systems, LLC Visually representing virtual fantasy sports contests ii
CN111450531A (zh) * 2020-03-30 2020-07-28 腾讯科技(深圳)有限公司 虚拟角色控制方法、装置、电子设备以及存储介质
CN111538668A (zh) * 2020-04-28 2020-08-14 济南浪潮高新科技投资发展有限公司 基于强化学习的移动端应用测试方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200188799A1 (en) * 2015-11-06 2020-06-18 Sportal Systems, LLC Visually representing virtual fantasy sports contests ii
CN109919319A (zh) * 2018-12-31 2019-06-21 中国科学院软件研究所 基于多个历史最佳q网络的深度强化学习方法及设备
CN109815155A (zh) * 2019-02-26 2019-05-28 网易(杭州)网络有限公司 一种游戏测试的方法及装置、电子设备、存储介质
CN110443284A (zh) * 2019-07-15 2019-11-12 超参数科技(深圳)有限公司 Ai模型的训练方法、调用方法、服务器及可读存储介质
CN110991545A (zh) * 2019-12-10 2020-04-10 中国人民解放军军事科学院国防科技创新研究院 一种面向多智能体对抗的强化学习训练优化方法及装置
CN111450531A (zh) * 2020-03-30 2020-07-28 腾讯科技(深圳)有限公司 虚拟角色控制方法、装置、电子设备以及存储介质
CN111538668A (zh) * 2020-04-28 2020-08-14 济南浪潮高新科技投资发展有限公司 基于强化学习的移动端应用测试方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈晓军;康士伟;: "改进GA3C求解POMDP的深度强化学习网络模型", 电脑编程技巧与维护, no. 04 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115300910A (zh) * 2022-07-15 2022-11-08 浙江大学 基于多智能体强化学习的去混淆游戏策略模型生成方法

Also Published As

Publication number Publication date
CN114344889B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN111111204B (zh) 交互模型训练方法、装置、计算机设备和存储介质
US7636701B2 (en) Query controlled behavior models as components of intelligent agents
CN111111220B (zh) 多人对战游戏的自对弈模型训练方法、装置和计算机设备
CN110496394B (zh) 基于人工智能的控制npc的方法、装置、设备及介质
CN112791394B (zh) 游戏模型训练方法、装置、电子设备及存储介质
CN111450534B (zh) 一种标签预测模型的训练方法、标签预测的方法及装置
CN112215328A (zh) 一种智能体的训练、基于智能体的动作控制方法及装置
CN113996063A (zh) 游戏中虚拟角色的控制方法、装置及计算机设备
CN111841018A (zh) 模型训练方法、模型使用方法、计算机设备及存储介质
CN112891942A (zh) 获取虚拟道具的方法、装置、设备及介质
CN114404975A (zh) 决策模型的训练方法、装置、设备、存储介质及程序产品
CN112337096B (zh) 虚拟角色的控制方法、装置、电子设备及存储介质
CN114344889B (zh) 游戏策略模型生成方法和游戏中智能体的控制方法
CN116747521B (zh) 控制智能体进行对局的方法、装置、设备及存储介质
CN116956007A (zh) 人工智能模型的预训练方法、装置、设备及存储介质
CN115888119A (zh) 一种游戏ai训练方法、装置、电子设备及存储介质
CN111437605B (zh) 确定虚拟对象行为及托管虚拟对象行为的方法
CN114404976A (zh) 决策模型的训练方法、装置、计算机设备及存储介质
Patel et al. Improving behavior of computer game bots using fictitious play
CN115804953A (zh) 对战策略模型训练方法、装置、介质和计算机程序产品
Pasztor et al. Online RPG Environment for Reinforcement Learning
CN116726500B (zh) 一种虚拟角色的控制方法、装置、电子设备和存储介质
Sidiropoulos et al. Shaping the behavior of reinforcement learning agents
Liu et al. Increasing physics realism when evolving micro behaviors for 3D RTS games
Maggiorini et al. Follow the leader: a scalable approach for realistic group behavior of roaming NPCs in MMO games

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40070919

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant