CN112791411A - Npc控制模型的训练方法、装置及电子设备 - Google Patents

Npc控制模型的训练方法、装置及电子设备 Download PDF

Info

Publication number
CN112791411A
CN112791411A CN202110097820.7A CN202110097820A CN112791411A CN 112791411 A CN112791411 A CN 112791411A CN 202110097820 A CN202110097820 A CN 202110097820A CN 112791411 A CN112791411 A CN 112791411A
Authority
CN
China
Prior art keywords
control model
npc control
state data
current state
training sample
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
CN202110097820.7A
Other languages
English (en)
Other versions
CN112791411B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110097820.7A priority Critical patent/CN112791411B/zh
Priority claimed from CN202110097820.7A external-priority patent/CN112791411B/zh
Publication of CN112791411A publication Critical patent/CN112791411A/zh
Application granted granted Critical
Publication of CN112791411B publication Critical patent/CN112791411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种NPC控制模型的训练方法、装置及电子设备,方法包括:获取中级NPC控制模型的修正训练样本集;其中,中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。本申请中,修正训练样本集中的样本至少部分地包括对中级NPC控制模型的决策动作修正后的修正动作,通过该修正训练样本集训练后的模型,可以克服中级NPC控制模型的决策动作缺陷,提高用户的游戏体验。

Description

NPC控制模型的训练方法、装置及电子设备
技术领域
本申请涉及游戏技术领域,尤其是涉及一种NPC控制模型的训练方法、装置及电子设备。
背景技术
目前,游戏中负责控制NPC角色的智能体通过以下两种方式得到:1)开发人员根据先验知识预先编译一段决策逻辑;2)通过强化学习方法训练得到一个模型。第一种方式获得的智能体的水平受限于编译该控制逻辑的开发人员对游戏的理解以及玩游戏的经验等,决策逻辑很难覆盖到完整的逻辑空间,导致智能体的决策逻辑比较单一;第二种方式需要设计与目标一致的奖励函数,作为强化学习训练智能体的反馈信号,智能体在与游戏环境交互的过程中最大化累积奖励,从而学会从所处的状态到决策动作的映射作为其决策逻辑,但复杂任务场景中往往很难设计出最佳奖励函数来达到最终目的。
针对上述情况,现有技术中有两种解决方案:方案一:针对缺陷设计修正规则的方法。针对模型的缺陷行为设计具体的修正规则,在满足规则情况时将模型输出的决策替换为规则推理出的决策动作,并将模型和规则一起部署到实际环境;方案二:针对模型缺陷设计新的奖励函数,并重新训练模型,根据结果调整奖励函数,不断迭代,直到产生符合要求的模型。
上述针对模型缺陷设计修正规则这种方式在部署模型时需要将规则一并部署到实际游戏环境中,由于训练环境与实际环境往往有较大的差异,因此规则代码的部署成本较高,相比较提供一个黑盒的功能模型作为实际环境可调用的服务这种松耦合的方式,部署规则代码到环境中这种与环境紧密耦合的方式显得非常不友好;而针对模型缺陷设计新的奖励函数并训练模型再评估迭代的方式,新的奖励函数的效果验证需要重新训练,奖励函数的设计调整训练需要反复迭代,过程非常耗时,且很难设计出合理的奖励函数修正模型缺陷。
发明内容
本申请的目的在于提供一种NPC控制模型的训练方法、装置及电子设备,能够通过获取强化训练样本进行中级NPC控制模型加训,由于修正训练样本集中的样本至少部分地包括对中级NPC控制模型的决策动作修正后的修正动作,因此,通过该修正训练样本集中的样本训练后的模型,可以克服中级NPC控制模型的决策动作缺陷,提高用户的游戏体验,既不需要在真实环境中部署修正规则,也可以避免设计复杂的奖励函数以及反复训练,节省迭代时间和资源消耗。
第一方面,本申请实施例提供一种NPC控制模型的训练方法,方法包括:获取中级NPC控制模型的修正训练样本集;其中,中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。
进一步的,上述获取中级NPC控制模型的修正训练样本集的步骤,包括:获取中级NPC控制模型对应的规则模块;其中,规则模块在满足预设的规则条件的场景下输出第一决策动作,中级NPC控制模型在满足规则条件的场景下输出第二决策动作;第一决策动作为第二决策动作的修正动作;应用规则模块和中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集;根据交互数据集确定修正训练样本集。
进一步的,上述应用规则模块和中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集的步骤,包括:获取游戏应用场景中的当前状态数据,对于每个当前状态数据,均执行以下操作:应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作;将当前状态数据和当前决策动作添加至交互数据集,直到交互数据数量达到预设阈值,得到交互数据集。
进一步的,上述应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作的步骤,包括:根据当前状态数据判断是否满足预设的规则条件;如果是,将规则模块基于当前状态数据输出的决策动作作为当前状态数据对应的当前决策动作;如果否,将中级NPC控制模型基于当前状态数据输出的决策动作,作为当前状态数据对应的当前决策动作。
进一步的,上述规则模块中定义有多个规则条件分别对应的决策动作;将规则模块基于当前状态数据输出的决策动作,作为当前状态数据对应的当前决策动作的步骤,包括:将当前状态数据输入规则模块,以使规则模块从多个规则条件中检测当前状态数据满足的目标规则条件,输出目标规则条件对应的决策动作;将目标规则条件对应的决策动作作为当前状态数据对应的当前决策动作。
进一步的,上述应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作的步骤,包括:将当前状态数据分别输入规则模块和中级NPC控制模型,得到规则模块输出的第一结果和中级NPC控制模型输出的第二结果;判断第一结果是否为空;如果否,将第一结果作为当前状态数据对应的当前决策动作;如果是,将第二结果作为当前状态数据对应的当前决策动作。
进一步的,上述交互数据集中的交互数据标注有预设标签;预设标签用于表征交互数据所属游戏场次的游戏结果为胜利、失败或平局;根据交互数据集确定修正训练样本集的步骤,包括:将交互数据集作为修正训练样本集;或者,从交互数据集中的多个交互数据中,筛选标注有目标标签的交互数据作为强化训练样本,将强化训练样本添加至修正训练样本集;目标标签为多个预设标签中表示游戏结果为胜利的标签。
进一步的,上述应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型的步骤,包括:将修正训练样本集中的强化训练样本输入至中级NPC控制模型中进行模仿学习训练,得到最终的NPC控制模型。
进一步的,上述在得到最终的NPC控制模型的步骤之后,方法还包括:测试最终的NPC控制模型的决策效果;决策效果由游戏胜率表征;如果游戏胜率小于预设阈值,更新修正训练样本集,继续训练最终的NPC控制模型,直至测试出游戏胜率大于或等于预设阈值。
进一步的,上述更新修正训练样本集的步骤,包括:更新中级NPC控制模型对应的规则模块中的规则条件和规则条件对应的决策动作。
第二方面,本申请实施例还提供一种NPC控制模型的训练装置,装置包括:样本集获取模块,用于获取中级NPC控制模型的修正训练样本集;其中,中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;模型训练模块,用于应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。
第三方面,本申请实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面所述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面所述的方法。
本申请实施例提供的NPC控制模型的训练方法、装置及电子设备中,首先获取中级NPC控制模型的修正训练样本集;该中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;然后应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。本申请实施例中获取到的修正训练样本集中的样本至少部分地包括对中级NPC控制模型的决策动作修正后的修正动作,通过该修正训练样本集中的样本对中级NPC控制模型进行训练,可以克服中级NPC控制模型的决策动作缺陷,提高用户的游戏体验,既不需要在真实环境中部署修正规则,也可以避免设计复杂的奖励函数以及反复训练,节省迭代时间和资源消耗。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种NPC控制模型的训练方法的流程图;
图2为本申请实施例提供的一种的修正训练样本集获取方法的流程图;
图3为本申请实施例提供的一种交互方法的流程图;
图4为本申请实施例提供的另一种交互方法的示意图;
图5为本申请实施例提供的一种NPC控制模型的训练装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着人工智能技术的发展,强化学习方法逐渐在很多领域取得成绩,游戏作为强化学习方法的一个重要应用场景,经常需要利用强化学习等AI人工智能技术训练出针对不同任务场景的智能体以对战等方式参与到游戏中。例如,很多大型多人在线游戏的任务场景中都提供了托管功能,玩家可以将自己的角色托管给一个智能体,由智能体负责在任务中根据状态决策要释放的技能动作等,由于任务结束后系统会根据玩家(或其托管的智能体)的表现分配任务奖励等,因此智能体的质量决定了玩家对托管等功能的使用频率。
目前,游戏中负责控制托管等NPC角色的智能体是通过以下两种方式得到:1)开发人员根据先验知识预先编译一段决策逻辑;2)通过强化学习方法训练得到一个模型。第一种方式获得的智能体的水平受限于编译该控制逻辑的开发人员对游戏的理解以及玩游戏的经验等,决策逻辑很难覆盖到完整的逻辑空间,导致智能体的决策逻辑比较单一;第二种方式需要设计与目标一致的奖励函数(例如获胜等条件下给智能体奖励信号),作为强化学习训练智能体的反馈信号,智能体在与游戏环境交互的过程中最大化累积奖励,从而学会从所处的状态到决策动作的映射作为其决策逻辑,但复杂任务场景中往往很难设计出最佳奖励函数来达到最终目的:若仅在得到最终结果时给出奖励信号,则机器人会由于奖励信号太稀疏而很难学会理想策略;若奖励函数过于复杂,则很可能导致机器人学会不期望的行为,因此,强化算法结合以先验知识为基础设计的奖励函数训练得到的机器人,行为表现上往往会有缺陷,比如某些情况下的动作行为不合理等。
针对上述情况,现有技术中有两种解决方案:
方案一:针对缺陷设计修正规则的方法。针对模型的缺陷行为设计具体的修正规则,在满足规则情况时将模型输出的决策替换为规则推理出的决策动作,并将模型和规则一起部署到实际环境;
方案二:针对模型缺陷设计新的奖励函数,并重新训练模型,根据结果调整奖励函数,不断迭代,直到产生符合要求的模型。
上述针对模型缺陷设计修正规则这种方式在部署模型时需要将规则一并部署到实际游戏环境中,由于训练环境与实际环境往往有较大的差异,因此规则代码的部署成本较高,相比较提供一个黑盒的功能模型作为实际环境可调用的服务这种松耦合的方式,部署规则代码到环境中这种与环境紧密耦合的方式显得非常不友好;而针对模型缺陷设计新的奖励函数并训练模型再评估迭代的方式,新的奖励函数的效果验证需要重新训练,奖励函数的设计调整训练需要反复迭代,过程非常耗时,且很难设计出合理的奖励函数修正模型缺陷。
基于此,本申请实施例提供一种NPC控制模型的训练方法、装置及电子设备,通过获取强化训练样本进行模型加训,由于修正训练样本集中的样本至少部分地包括对中级NPC控制模型的决策动作修正后的修正动作,因此,通过该修正训练样本集中的样本训练后的模型,可以克服中级NPC控制模型的决策动作缺陷,提高用户的游戏体验,既不需要在真实环境中部署修正规则,也可以避免设计复杂的奖励函数以及反复训练,节省迭代时间和资源消耗。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种NPC控制模型的训练方法进行详细介绍。
图1为本申请实施例提供的一种NPC控制模型的训练方法的流程图,该方法包括以下步骤:
步骤S102,获取中级NPC控制模型的修正训练样本集;其中,中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;
上述中级NPC控制模型可以是基于普通训练样本集对初级NPC控制模型进行强化学习训练得到的模型。强化学习训练过程是通过调整自身策略以最大化来自环境的累积奖励信号来学习的,而奖励信号来自一个事先设计的奖励函数,该函数对当前状态做出评价并输出一个信号值reward表示当前状态是否符合预期。但在复杂环境中很难设计出一个奖励函数使强化模型最终所有行为都符合预期,例如奖励函数的设计中仅考虑与游戏最终胜率相关的信息等,因此最终得到的强化模型在胜率等强度指标上满足要求,但行为表现上可能有缺陷从而影响用户体验,例如智能体在靠近敌方角色时以攻击技能代替移动技能等。
上述获取的修正训练样本集中的样本为状态动作对,即一个状态数据对应一个决策动作。该修正训练样本集中,至少部分样本中的决策动作为中级NPC控制模型的修正动作,也就是针对存在缺陷的决策动作的修正动作。
上述获取中级NPC控制模型的修正训练样本集的方式有多种,可以通过人为指定一个数据集,其中的决策动作是人为对存在缺陷的决策动作进行修正后的决策动作,还可以通过预先设定的规则模块对存在缺陷的决策动作进行辅助修正,在此不做具体限定。
步骤S104,应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。
具体实施时,将修正训练样本集中的强化训练样本输入至中级NPC控制模型中进行模仿学习训练,得到最终的NPC控制模型。
由于上述修正训练样本集中的样本至少部分地包括对中级NPC控制模型的决策动作修正后的修正动作,因此,通过该修正训练样本集中的样本对中级NPC控制模型进行训练后,得到的最终的NPC控制模型,可以克服中级NPC控制模型的决策动作缺陷,输出更加符合游戏情节的决策动作,比如,距某个敌对对象的距离大于某个阈值时,决策动作是向敌对对象移动,而不是进行攻击,从而可以提高用户的游戏体验。
本申请实施例提供的NPC控制模型的训练方法既不需要在真实环境中部署修正规则,也可以避免设计复杂的奖励函数以及反复训练,节省迭代时间和资源消耗。
为了提高修正训练样本集的获取效率,本申请实施例中,通过预设的规则模块进行辅助采样,具体的过程可参见图2所示的方法流程图:
步骤S202,获取中级NPC控制模型对应的规则模块;其中,规则模块在满足预设的规则条件的场景下输出第一决策动作,中级NPC控制模型在满足规则条件的场景下输出第二决策动作;第一决策动作为第二决策动作的修正动作。
规则模块的获取过程如下:
(1)确定修正规则。加载强化学习训练得到的有缺陷的模型与环境交互,观测其行为表现,针对不合理的缺陷行为,结合领域专家的先验知识提出相应的修正规则。
具体的,加载中级NPC控制模型,使其与游戏场景中的状态数据交互,观测其是否有缺陷。中级NPC控制模型是一个神经网络模型,用于控制游戏中的NPC,其与游戏场景中的状态数据交互的过程是:将游戏场景中的当前状态数据抽取成state数据,输入中级NPC控制模型,模型对应输出决策动作action,受控的NPC在游戏场景中执行动作action,对游戏场景和自身状态带来改变,即state数据得到了更新,模型再次读取state数据并决策,这个不断迭代的过程就是中级NPC控制模型与游戏场景中的状态数据交互的过程。
在上述不断迭代交互过程中,记录下存在缺陷的决策动作及其对应的状态数据;针对记录数据设计修正规则,即规则条件是什么,对应的修正动作是什么。例如有缺陷行为:“开场时对战双方距离较远,但仍然以攻击代替移动靠近敌方”,这种行为容易消耗武力值,且从玩家角度来看不合理,针对该缺陷提出修正规则:“当对战双方距离大于阈值x时,释放移动技能靠近敌方”。
(2)规则模块实现。在智能体的训练环境中实现上述修正规则,使得规则模块能够读取当前状态数据,并根据状态数据的值判断推理当前状态数据是否满足规则条件,若满足则将模型输出的决策动作替换为规则模块输出的修正动作。
例如,规则模块接收当前状态数据,并输出决策动作ar,若根据当前状态数据判断其满足规则条件则ar=″move″等动作数据,若不满足规则条件,则ar=None表示输出的决策动作为空。
步骤S204,应用规则模块和中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集。
在获取到中级NPC控制模型对应的规则模块后,通过规则模块和中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集,具体包括以下步骤:
获取游戏应用场景中的当前状态数据,对于每个当前状态数据,均执行以下操作:应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作;将当前状态数据和当前决策动作添加至交互数据集,直到交互数据数量达到预设阈值,得到交互数据集。
上述应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作的方式有两种:
第一种,参见图3所示:
步骤S302,根据当前状态数据判断是否满足预设的规则条件。
如果是,执行步骤S304,将规则模块基于当前状态数据输出的决策动作作为当前状态数据对应的当前决策动作;
在本申请实施例中,规则模块中定义有多个规则条件分别对应的决策动作;将当前状态数据输入规则模块,以使规则模块从多个规则条件中检测当前状态数据满足的目标规则条件,输出目标规则条件对应的决策动作;将目标规则条件对应的决策动作作为当前状态数据对应的当前决策动作。
如果否,执行步骤S306,将中级NPC控制模型基于当前状态数据输出的决策动作,作为当前状态数据对应的当前决策动作。
第二种:将当前状态数据分别输入规则模块和中级NPC控制模型,得到规则模块输出的第一结果和中级NPC控制模型输出的第二结果;判断第一结果是否为空;如果否,将第一结果作为当前状态数据对应的当前决策动作;如果是,将第二结果作为当前状态数据对应的当前决策动作。
参见图4所示,将规则模块和中级NPC控制模型看作一个整体的决策模块,该模块的输入是state数据,输出是action数据,但模块内部需要规则模块和中级NPC控制模型都对state数据做决策,规则模块输出的第一结果为ar;中级NPC控制模型输出的第二结果为am
决策模块内的选择器对输入的ar和am做出选择:当ar!=None时,输出ar,否则输出am。其含义是state数据满足规则条件时整体的决策模块输出结果为规则模块输出的第一结果;否则整体的决策模块输出结果为中级NPC控制模型输出的第二结果。
步骤S206,根据交互数据集确定修正训练样本集。
在一种实施方式中,可以将交互数据集直接作为修正训练样本集。为了获取到更好的样本数据,本申请实施例中,还提供了一种通过标签筛选样本数据的方式:即交互数据集中的交互数据标注有预设标签;该预设标签用于表征交互数据所属游戏场次的游戏结果为胜利、失败或平局;从交互数据集中的多个交互数据中,筛选标注有目标标签的交互数据作为强化训练样本,将强化训练样本添加至修正训练样本集;其中,目标标签为多个预设标签中表示游戏结果为胜利的标签。
也就是说,从交互数据集中,筛选出对战结果为胜利的场次包含的交互数据,通常胜利场次的数据表现更好,更有利于模型的训练,使训练好的模型输出的决策动作能得到更大的游戏胜率。
另外,为了使最终的NPC控制模型达到更好的决策结果,可以在得到最终的NPC控制模型后,测试最终的NPC控制模型的决策效果;决策效果由游戏胜率表征;如果游戏胜率小于预设阈值,更新修正训练样本集,即更新中级NPC控制模型对应的规则模块中的规则条件和规则条件对应的决策动作,继续训练最终的NPC控制模型,直至测试出游戏胜率大于或等于预设阈值。
此外,还可以针对上述最终的NPC控制模型,检测其对有缺陷的决策行为是否进行了修正,是否符合预期;如果上述最终的NPC控制模型决策结果比较理想,决策行为符合预期,还可以将其部署到真实环境中,控制游戏中的NPC执行相应的决策动作。
本申请实施例提供的NPC控制模型的训练方法,修正了强化训练得到的中级NPC控制模型表现上的缺陷,例如攻击代替移动,频繁抖动等,提高了玩家的用户体验;相比较添加规则并将模型和规则一起部署到环境的方式,该方案部署时只需要提供一个NPC控制模型,避免了规则部署导致的与环境紧耦合的问题;与设计新的奖励函数并重新迭代来修正模型缺陷的方式相比,该方案结合采集到的修正后的修正训练样本集在缺陷模型中级NPC控制模型的基础上做模仿学习训练,可以有效节约时间成本,提高了效率。
基于上述方法实施例,本申请实施例还提供一种NPC控制模型的训练装置,参见图5所示,该装置包括:
样本集获取模块52,用于获取中级NPC控制模型的修正训练样本集;其中,中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,修正训练样本集中至少部分样本中的决策动作为中级NPC控制模型的修正动作;模型训练模块54,用于应用修正训练样本集对中级NPC控制模型进行训练,得到最终的NPC控制模型。
进一步的,上述样本集获取模块52还包括规则获取模块522,用于:获取中级NPC控制模型对应的规则模块;其中,规则模块在满足预设的规则条件的场景下输出第一决策动作,中级NPC控制模型在满足规则条件的场景下输出第二决策动作;第一决策动作为第二决策动作的修正动作;交互模块524用于:应用规则模块和中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集;样本集确定模块526,用于根据交互数据集确定修正训练样本集。
进一步的,上述交互模块524还用于:获取游戏应用场景中的当前状态数据,对于每个当前状态数据,均执行以下操作:应用规则模块和中级NPC控制模型,与当前状态数据进行交互,得到当前状态数据对应的当前决策动作;将当前状态数据和当前决策动作添加至交互数据集,直到交互数据数量达到预设阈值,得到交互数据集。
进一步的,上述交互模块524还用于:根据当前状态数据判断是否满足预设的规则条件;如果是,将规则模块基于当前状态数据输出的决策动作作为当前状态数据对应的当前决策动作;如果否,将中级NPC控制模型基于当前状态数据输出的决策动作,作为当前状态数据对应的当前决策动作。
进一步的,上述交互模块524还用于:将当前状态数据分别输入规则模块和中级NPC控制模型,得到规则模块输出的第一结果和中级NPC控制模型输出的第二结果;判断第一结果是否为空;如果否,将第一结果作为当前状态数据对应的当前决策动作;如果是,将第二结果作为当前状态数据对应的当前决策动作。
进一步的,上述规则模块中定义有多个规则条件分别对应的决策动作;上述交互模块524还用于:将当前状态数据输入规则模块,以使规则模块从多个规则条件中检测当前状态数据满足的目标规则条件,输出目标规则条件对应的决策动作;将目标规则条件对应的决策动作作为当前状态数据对应的当前决策动作。
进一步的,上述交互数据集中的交互数据标注有预设标签;预设标签用于表征交互数据所属游戏场次的游戏结果为胜利、失败或平局;上述样本集确定模块526还用于:将交互数据集作为修正训练样本集;或者,从交互数据集中的多个交互数据中,筛选标注有目标标签的交互数据作为强化训练样本,将强化训练样本添加至修正训练样本集;目标标签为多个预设标签中表示游戏结果为胜利的标签。
进一步的,上述模型训练模块54还用于:将修正训练样本集中的强化训练样本输入至中级NPC控制模型中进行模仿学习训练,得到最终的NPC控制模型。
进一步的,上述模型训练模块54还用于:测试最终的NPC控制模型的决策效果;决策效果由游戏胜率表征;如果游戏胜率小于预设阈值,更新修正训练样本集,继续训练最终的NPC控制模型,直至测试出游戏胜率大于或等于预设阈值。
进一步的,上述模型训练模块54还用于:更新中级NPC控制模型对应的规则模块中的规则条件和规则条件对应的决策动作。
本申请实施例提供的NPC控制模型的训练装置,其实现原理及产生的技术效果和前述NPC控制模型的训练方法实施例相同,为简要描述,NPC控制模型的训练装置的实施例部分未提及之处,可参考前述NPC控制模型的训练方法实施例中相应内容。
本申请实施例还提供了一种电子设备,如图6所示,为该电子设备的结构示意图,其中,该电子设备包括处理器61和存储器60,该存储器60存储有能够被该处理器61执行的计算机可执行指令,该处理器61执行该计算机可执行指令以实现上述方法。
在图6示出的实施方式中,该电子设备还包括总线62和通信接口63,其中,处理器61、通信接口63和存储器60通过总线62连接。
其中,存储器60可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线62可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线62可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器61读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的NPC控制模型的训练方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (13)

1.一种NPC控制模型的训练方法,其特征在于,所述方法包括:
获取中级NPC控制模型的修正训练样本集;其中,所述中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,所述修正训练样本集中至少部分样本中的决策动作为所述中级NPC控制模型的修正动作;
应用所述修正训练样本集对所述中级NPC控制模型进行训练,得到最终的NPC控制模型。
2.根据权利要求1所述的方法,其特征在于,获取中级NPC控制模型的修正训练样本集的步骤,包括:
获取中级NPC控制模型对应的规则模块;其中,所述规则模块在满足预设的规则条件的场景下输出第一决策动作,所述中级NPC控制模型在满足所述规则条件的场景下输出第二决策动作;所述第一决策动作为所述第二决策动作的修正动作;
应用所述规则模块和所述中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集;
根据所述交互数据集确定修正训练样本集。
3.根据权利要求2所述的方法,其特征在于,应用所述规则模块和所述中级NPC控制模型,与游戏应用场景中的状态数据交互,得到交互数据集的步骤,包括:
获取游戏应用场景中的当前状态数据,对于每个所述当前状态数据,均执行以下操作:
应用所述规则模块和所述中级NPC控制模型,与所述当前状态数据进行交互,得到所述当前状态数据对应的当前决策动作;
将所述当前状态数据和所述当前决策动作添加至交互数据集,直到交互数据数量达到预设阈值,得到交互数据集。
4.根据权利要求3所述的方法,其特征在于,应用所述规则模块和所述中级NPC控制模型,与所述当前状态数据进行交互,得到所述当前状态数据对应的当前决策动作的步骤,包括:
根据所述当前状态数据判断是否满足所述预设的规则条件;
如果是,将所述规则模块基于所述当前状态数据输出的决策动作作为所述当前状态数据对应的当前决策动作;
如果否,将所述中级NPC控制模型基于所述当前状态数据输出的决策动作,作为所述当前状态数据对应的当前决策动作。
5.根据权利要求4所述的方法,其特征在于,所述规则模块中定义有多个规则条件分别对应的决策动作;
将所述规则模块基于所述当前状态数据输出的决策动作,作为所述当前状态数据对应的当前决策动作的步骤,包括:
将所述当前状态数据输入所述规则模块,以使所述规则模块从多个规则条件中检测所述当前状态数据满足的目标规则条件,输出所述目标规则条件对应的决策动作;
将所述目标规则条件对应的决策动作作为所述当前状态数据对应的当前决策动作。
6.根据权利要求3所述的方法,其特征在于,应用所述规则模块和所述中级NPC控制模型,与所述当前状态数据进行交互,得到所述当前状态数据对应的当前决策动作的步骤,包括:
将所述当前状态数据分别输入所述规则模块和所述中级NPC控制模型,得到所述规则模块输出的第一结果和所述中级NPC控制模型输出的第二结果;
判断所述第一结果是否为空;
如果否,将所述第一结果作为所述当前状态数据对应的当前决策动作;
如果是,将所述第二结果作为所述当前状态数据对应的当前决策动作。
7.根据权利要求2所述的方法,其特征在于,所述交互数据集中的交互数据标注有预设标签;所述预设标签用于表征所述交互数据所属游戏场次的游戏结果为胜利、失败或平局;
根据所述交互数据集确定修正训练样本集的步骤,包括:
将所述交互数据集作为所述修正训练样本集;
或者,
从所述交互数据集中的多个交互数据中,筛选标注有目标标签的交互数据作为强化训练样本,将所述强化训练样本添加至修正训练样本集;所述目标标签为多个预设标签中表示游戏结果为胜利的标签。
8.根据权利要求1所述的方法,其特征在于,应用所述修正训练样本集对所述中级NPC控制模型进行训练,得到最终的NPC控制模型的步骤,包括:
将所述修正训练样本集中的强化训练样本输入至所述中级NPC控制模型中进行模仿学习训练,得到最终的NPC控制模型。
9.根据权利要求1所述的方法,其特征在于,在得到最终的NPC控制模型的步骤之后,所述方法还包括:
测试所述最终的NPC控制模型的决策效果;所述决策效果由游戏胜率表征;
如果所述游戏胜率小于预设阈值,更新所述修正训练样本集,继续训练所述最终的NPC控制模型,直至测试出所述游戏胜率大于或等于所述预设阈值。
10.根据权利要求9所述的方法,其特征在于,更新所述修正训练样本集的步骤,包括:
更新中级NPC控制模型对应的规则模块中的规则条件和所述规则条件对应的决策动作。
11.一种NPC控制模型的训练装置,其特征在于,所述装置包括:
样本集获取模块,用于获取中级NPC控制模型的修正训练样本集;其中,所述中级NPC控制模型为应用普通训练样本集对初级NPC控制模型训练得到的模型,所述修正训练样本集中至少部分样本中的决策动作为所述中级NPC控制模型的修正动作;
模型训练模块,用于应用所述修正训练样本集对所述中级NPC控制模型进行训练,得到最终的NPC控制模型。
12.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至10任一项所述的方法。
CN202110097820.7A 2021-01-25 Npc控制模型的训练方法、装置及电子设备 Active CN112791411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110097820.7A CN112791411B (zh) 2021-01-25 Npc控制模型的训练方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110097820.7A CN112791411B (zh) 2021-01-25 Npc控制模型的训练方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112791411A true CN112791411A (zh) 2021-05-14
CN112791411B CN112791411B (zh) 2024-06-04

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034397A (zh) * 2018-08-10 2018-12-18 腾讯科技(深圳)有限公司 模型训练方法、装置、计算机设备及存储介质
CN110443284A (zh) * 2019-07-15 2019-11-12 超参数科技(深圳)有限公司 Ai模型的训练方法、调用方法、服务器及可读存储介质
CN110882542A (zh) * 2019-11-13 2020-03-17 广州多益网络股份有限公司 游戏智能体的训练方法、装置、设备及存储介质
CN110991545A (zh) * 2019-12-10 2020-04-10 中国人民解放军军事科学院国防科技创新研究院 一种面向多智能体对抗的强化学习训练优化方法及装置
CN111389011A (zh) * 2020-03-12 2020-07-10 网易(杭州)网络有限公司 一种游戏模型训练方法、装置、电子设备及介质
CN111639766A (zh) * 2020-05-26 2020-09-08 上海极链网络科技有限公司 样本数据的生成方法以及装置
CN111723870A (zh) * 2020-06-22 2020-09-29 中国平安人寿保险股份有限公司 基于人工智能的数据集获取方法、装置、设备和介质
WO2020259502A1 (zh) * 2019-06-27 2020-12-30 腾讯科技(深圳)有限公司 神经网络模型的生成方法及装置、计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034397A (zh) * 2018-08-10 2018-12-18 腾讯科技(深圳)有限公司 模型训练方法、装置、计算机设备及存储介质
WO2020259502A1 (zh) * 2019-06-27 2020-12-30 腾讯科技(深圳)有限公司 神经网络模型的生成方法及装置、计算机可读存储介质
CN110443284A (zh) * 2019-07-15 2019-11-12 超参数科技(深圳)有限公司 Ai模型的训练方法、调用方法、服务器及可读存储介质
CN110882542A (zh) * 2019-11-13 2020-03-17 广州多益网络股份有限公司 游戏智能体的训练方法、装置、设备及存储介质
CN110991545A (zh) * 2019-12-10 2020-04-10 中国人民解放军军事科学院国防科技创新研究院 一种面向多智能体对抗的强化学习训练优化方法及装置
CN111389011A (zh) * 2020-03-12 2020-07-10 网易(杭州)网络有限公司 一种游戏模型训练方法、装置、电子设备及介质
CN111639766A (zh) * 2020-05-26 2020-09-08 上海极链网络科技有限公司 样本数据的生成方法以及装置
CN111723870A (zh) * 2020-06-22 2020-09-29 中国平安人寿保险股份有限公司 基于人工智能的数据集获取方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN109621431B (zh) 一种游戏动作的处理方法和装置
US11521281B2 (en) Method and system for performing negotiation task using reinforcement learning agents
CN109847366B (zh) 用于游戏的数据处理方法和装置
CN110134375B (zh) 游戏角色行为的控制方法、装置及可读存储介质
Lucas et al. Fast evolutionary adaptation for monte carlo tree search
US11534690B2 (en) Readable and editable NPC behavior creation using reinforcement learning
CN111957047B (zh) 关卡配置数据调整方法、计算机设备及存储介质
KR20170073059A (ko) 게임 인공지능 시스템 및 이를 이용한 게임 캐릭터의 인공지능 구현 방법
CN111506514B (zh) 一种应用于消除类游戏的智能测试方法及系统
CN112274935B (zh) Ai模型训练方法、使用方法、计算机设备及存储介质
CN112791411B (zh) Npc控制模型的训练方法、装置及电子设备
KR20220086873A (ko) 숙련도 조절이 가능한 npc 생성 장치 및 방법
CN112791411A (zh) Npc控制模型的训练方法、装置及电子设备
CN109977998B (zh) 信息处理方法及装置、存储介质和电子装置
Beydoun et al. NRDR for the Acquisition of Search Knowledge
CN116090549A (zh) 一种基于知识驱动的多智能体强化学习决策方法、系统及存储介质
Loyall et al. An integrated architecture for online adaptation to novelty in open worlds using probabilistic programming and novelty-aware planning
CN114399491A (zh) 人脸图像质量评估方法、装置以及计算机可读存储介质
Spieker Constraint-guided reinforcement learning: Augmenting the agent-environment-interaction
Chen et al. Modified PPO-RND method for solving sparse reward problem in ViZDoom
Liu et al. Offline Model-Learning by Learning Legal Moves in Othello through Synthetic Negative Reinforcement
CN116842761B (zh) 基于自博弈的蓝军智能体模型构建方法和装置
CN112870716B (zh) 游戏数据处理方法、装置、存储介质与电子设备
CN117648585B (zh) 基于任务相似度的智能决策模型泛化方法和装置
CN111160415B (zh) 逐层逆化识别模型的生成模型训练方法

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
GR01 Patent grant