CN116510302A - 虚拟对象异常行为的分析方法、装置及电子设备 - Google Patents
虚拟对象异常行为的分析方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116510302A CN116510302A CN202310378381.6A CN202310378381A CN116510302A CN 116510302 A CN116510302 A CN 116510302A CN 202310378381 A CN202310378381 A CN 202310378381A CN 116510302 A CN116510302 A CN 116510302A
- Authority
- CN
- China
- Prior art keywords
- data
- game
- action
- target
- state data
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 116
- 206010000117 Abnormal behaviour Diseases 0.000 title claims abstract description 42
- 230000009471 action Effects 0.000 claims abstract description 519
- 230000002159 abnormal effect Effects 0.000 claims abstract description 182
- 230000002787 reinforcement Effects 0.000 claims abstract description 144
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000012549 training Methods 0.000 claims abstract description 52
- 230000006399 behavior Effects 0.000 claims abstract description 38
- 238000003860 storage Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 32
- 238000005206 flow analysis Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 22
- 238000001816 cooling Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 310
- 238000004364 calculation method Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 13
- 239000008280 blood Substances 0.000 description 11
- 210000004369 blood Anatomy 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了虚拟对象异常行为的分析方法、装置、电子设备及计算机可读存储介质,该方法包括:响应于目标虚拟对象在游戏对局中出现异常游戏行为,确定目标虚拟对象对应的目标强化学习模型;获取目标强化学习模型在游戏对局中生成的目标虚拟对象在游戏时所执行的游戏动作数据和与执行游戏动相关的游戏状态数据的状态动作数据;将游戏状态数据和游戏动作数据分别作为与目标强化学习模型关联的代理模型的输入和输出,运算得到针对代理模型的训练结果;调用与代理模型对应的解释分析方法对训练结果进行解释性分析,并将对应的分析结果作为目标强化学习模型的异常分析结果进行输出。该方案能够对虚拟对象异常行为的异常原因进行准确高效的分析。
Description
技术领域
本申请涉及机器学习领域,具体涉及一种虚拟对象异常行为的分析方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机技术的不断发展,机器学习技术也得到了广泛应用,强化学习(Reinforcement learning,简称RL)模型是机器学习技术中的一种,主要关注模型在环境中的动作行为是否符合预期。在目标游戏中,用户在训练模式下通常是通过与RL模型控制的“机器人”进行对战来熟悉游戏中的技能,当“机器人”的行为符合预期时可以给用户带来很好的训练效果以及游戏体验,因此RL模型所控制的“机器人”的动作是否符合预期极为重要。
在实际应用中,“机器人”产生的动作行为可能并不符合预期,例如在目标游戏中,希望“机器人”释放动作A,但是“机器人”并未成功释放动作A或者释放的是其他动作。当“机器人”产生的动作行为不符合预期时,游戏开发人员通常是通过“假定问题→实验验证→调整改进”这一步骤进行多次人工实验调整,寻找“机器人”产生的动作行为不符合预期的原因。
然而,当“机器人”的动作行为不符合预期时,对异常原因的分析完全依赖于游戏开发人员的主观判断,当通过“假定问题→实验验证→调整改进”并未解决“机器人”出现的异常行为时,又需要再重新进行这一过程,使得“机器人”出现异常行为时对异常原因的定位不够准确,且异常原因的分析耗费大量的时间和人力,分析效率极低。
发明内容
本申请提供了一种虚拟对象异常行为的分析方法、装置、电子设备及计算机可读存储介质,能够对强化学习模型控制的虚拟对象异常行为的异常原因进行准确高效的分析,从而提高虚拟对象异常行为的分析效率。具体方案如下。
第一方面,本申请实施例提供了一种虚拟对象异常行为的分析方法,,应用于目标游戏中,所述目标游戏中包括由强化学习模型控制的第一虚拟对象,所述第一虚拟对象用于在所述目标游戏的游戏对局中模拟由玩家控制第二虚拟对象进行游戏,所述方法包括:
响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
第二方面,本申请实施例提供了一种虚拟对象异常行为的分析装置,所述装置包括:
确定单元,用于响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取单元,用于获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
运算单元,用于将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
分析单元,用于调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
第三方面,本申请还提供了一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如第一方面任一项所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面任一项所述的方法。
与现有技术相比,本申请具有以下优点:
本申请提供的虚拟对象异常行为的分析方法,应用于目标游戏中,所述目标游戏中包括由强化学习模型控制的第一虚拟对象,所述第一虚拟对象用于在所述目标游戏的游戏对局中模拟由玩家控制第二虚拟对象进行游戏,所述方法包括:响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
由于目标虚拟对象在目标游戏中所做的动作目标强化学习模型输出的游戏动作数据决定的,因此在目标虚拟对象在游戏对局中出现异常游戏行为时,可以根据目标强化学习模型在游戏对局中的游戏动作数据和对应的游戏状态数据来分析异常原因。由于强化学习模型缺乏解释性分析方法,本申请通过使用与目标强化学习模型相关联的可解释的代理模型,将目标强化学习模型的游戏动作数据和游戏状态数据分别作为代理模型的输入和输出,得到输入到输出的训练结果,并根据代理模型对应的解释性分析方法对目标强化学习模型所产生的游戏动作数据和游戏状态数据进行解释性分析,得到目标强化学习模型的异常分析结果。可见,本申请提供的虚拟对象异常行为的分析方法,能够使得用户对强化学习模型控制的虚拟对象在目标游戏中出现的异常游戏行为进行快速准确高效的定位,提高了虚拟对象异常行为的分析效率。
附图说明
图1是本申请实施例提供的虚拟对象异常行为的分析方法的流程图;
图2是本申请实施例提供的监督模型输入的各游戏状态数据的组合方式图;
图3是本申请实施例提供的一例游戏动作对应的场景状态密度图;
图4是本申请实施例提供的一例游戏动作的对应的单一场景影响分布图;
图5是本申请实施例提供的一例目标动作对应的瀑布流分析图;
图6是本申请实施例提供的虚拟对象异常行为的分析装置的一例的结构框图;
图7是本申请实施例提供的电子设备的一例的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着计算机技术的不断发展,机器学习技术也得到了广泛应用,机器学习技术主要是设计和分析一些让计算机可以自动“学习”的算法,该算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。强化学习(Reinforcement learning,简称RL)模型是机器学习技术中的一种,主要关注模型在环境中的动作行为是否符合预期。在目标游戏中,用户在训练模式下通常是通过与RL模型控制的“机器人”进行对战来熟悉游戏中的技能,当“机器人”的行为符合预期时可以给用户带来很好的训练效果以及游戏体验,因此RL模型所控制的“机器人”的动作是否符合预期极为重要。
在实际应用中,“机器人”产生的动作行为可能并不符合预期,例如在目标游戏中,希望“机器人”释放动作A,但是“机器人”并未成功释放动作A或者释放的是其他动作。当“机器人”产生的动作行为不符合预期时,游戏开发人员通常是通过“假定问题→实验验证→调整改进”这一步骤进行多次人工实验调整,寻找“机器人”产生的动作行为不符合预期的原因。
然而,当“机器人”的动作行为不符合预期时,对异常原因的分析完全依赖于游戏开发人员的主观判断,当通过“假定问题→实验验证→调整改进”并未解决“机器人”出现的异常行为时,又需要再重新进行这一过程,使得“机器人”出现异常行为时对异常原因的定位不够准确且异常原因的分析耗费大量的时间和人力,分析效率极低。
此外,RL模型还具有训练缓慢的特点,因此对RL模型通过“假定问题→实验验证→调整改进”这一过程进行调整并训练也会耗费大量的时间,因此获取符合预期的RL模型效率极低。
基于上述原因,为了能够对强化学习模型控制的虚拟对象异常行为的异常原因进行准确高效的定位,从而提高虚拟对象异常行为的分析效率,本申请第一实施例提供了一种虚拟对象异常行为的分析方法,该方法应用于电子设备,该电子设备可以是台式电脑、笔记本电脑、手机、平板电脑、服务器、终端设备等,也可以是其他能够进行数据统计的电子设备,本申请实施例不具体限定。以下结合图1、图2、图3以及图4对本申请提供的虚拟对象异常行为的分析方法进行详细介绍。
如图1所示,是本申请提供的虚拟对象异常行为的分析方法的流程图,该方法应用于目标游戏中,目标游戏中包括由强化学习模型控制的第一虚拟对象,第一虚拟对象用于在目标游戏的游戏对局中模拟由玩家控制第二虚拟对象进行游戏,该方法包括以下步骤101~步骤104。
步骤101:响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型。
在本申请实施例中,强化学习模型为应用在目标游戏中的机器学习模型,在本申请后续步骤中,以强化学习模型在目标游戏中的应用为例进行说明。目标游戏包括二维目标游戏、三维目标游戏等,可以是单机对战类游戏、实时对战类游戏、角色扮演游戏等中的任何一种,本申请对此不具体限定。
在实际应用中,可以使用强化学习模型来对目标游戏中的第一虚拟对象的动作进行控制,以在目标游戏的游戏对局中模拟目标游戏中由真实玩家控制第二虚拟对象进行游戏,即本步骤中第一虚拟对象可以理解为“机器人”。其中,虚拟对象指现实中不存在的角色,可以是电视剧、电影、漫画、游戏等创作性作品中虚构的角色,虚拟对象可以包括但不限于虚拟人物、虚拟动物等,虚拟人物可以是男性、女性,也可以是老人、小孩等。
在具体实施方式中,可以针对不同职业的第一虚拟对象训练不同的强化学习模型,例如对于主要使用短程射击的虚拟对象1训练有强化学习模型1,用于控制虚拟对象1在游戏对局中使用短程射击进行游戏、对于主要使用法术攻击的虚拟对象2训练有强化学习模型2,用于控制虚拟对象2在游戏对局中使用法术攻击进行游戏。这样,一场游戏对局中可以由不同的强化学习模型控制的不同的第一虚拟对象,因此本步骤中第一虚拟对象可以有多个。
其中,训练好的强化学习模型在特定的输入数据下可以输出对应的游戏动作数据,通过输出的游戏动作数据来指导由强化学习模型控制的第一虚拟对象进行相应的动作。第一虚拟对象在一场游戏对局中可以执行一连串的动作,一连串的动作之间有时间上的先后关系,每执行一个动作可以看成是一个时间步,第一次动作可以是第一时间步,第二次动作为第二时间步等。当第一虚拟对象中的目标虚拟对象在游戏对局中出现异常行为时,在游戏界面所显示的为目标虚拟对象在游戏对局中某个时间步做出的动作不是该时间步该目标虚拟对象应该做的动作。
例如,在游戏对局中,一套攻击的技能连招有固定的动作释放顺序:动作A→动作B→动作C→动作D,动作A对应的为第一时间步,动作B对应的时第二时间步,动作C对应的是第三时间步,动作D对应的是第四时间步,然而,强化学习模型1控制第一虚拟对象1在释放该技能时未释放动作C而是又释放了动作B,也即,第一虚拟对象释放的动作顺序为:动作A→动作B→动作B→动作D,则第三时间步所释放的动作B为异常动作,动作C为异常动作对应的理想动作,在第三时间步动作C对应的动作数据为理想动作实际的异常动作数据。
简而言之,当游戏对局中由强化学习模型控制的第一虚拟对象在游戏中未能成功释放技能,所释放的动作不符合开发人员设定的动作时,判定该第一虚拟对象在游戏对局中出现异常游戏行为。异常游戏行为可以由开发人员定期进行人工检测,例如每24小时检测游戏中由强化学习模型控制的第一虚拟对象是否出现异常游戏行为;异常游戏行为也可以由服务器进行定期检测,具体的,服务器中可以对第一虚拟对象在特定的场景下设置对应的动作序列,当第一虚拟对象在游戏对局中的实际动作序列与对应的预设动作序列不同时,判定由强化学习模型控制的第一虚拟对象出现了异常游戏行为。
当目标虚拟对象在游戏对局中出现异常游戏行为时,从用于控制第一虚拟对象进行该场游戏对局的强化学习模型中确定目标虚拟对象对应的目标强化学习模型。例如,游戏对局中包括由强化学习模型1控制的“射手”、由强化学习模型2控制的“法师”、由强化学习模型3控制的“肉盾”、由强化学习模型4控制的“辅助”,当“法师”在游戏对局中未能成功释放技能时,则强化学习模型2的输出出现了异常,导致由其控制的“法师”出现了异常游戏行为。
步骤102:获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据。
由于目标虚拟对象所产生的动作是由控制该虚拟对象的强化学习模型所输出的游戏动作数据所决定的,如强化学习模型针对动作A所输出的游戏动作数据为0代表虚拟对象不释放技能A,强化学习模型针对动作A所输出的游戏动作数据为1代表虚拟对象释放技能A。因此当第一虚拟对象在游戏对局中应该释放某一个游戏动作但却未释放时,则强化学习模型针对该游戏动作输出的游戏动作数据为异常数据,可以对该游戏动作的游戏动作数据为异常数据的原因进行分析。
在实际应用中,强化学习模型的输入数据可以是目标游戏中关于游戏场景的原始游戏状态数据,输出数据中包括但不限于针对游戏动作输出的游戏动作数据、针对游戏场景输出的游戏状态数据以及奖励数据。其中,奖励数据描述了强化分析模型从输入的原始游戏状态数据跳转到输出的游戏状态数据和游戏动作数据后所对应的奖励,强化学习模型通过学习可以明确在什么样的游戏状态数据下输出什么样的游戏动作数据可以获取最大的奖励。
游戏动作数据、游戏状态数据以及奖励数据可以是向量形式的数据,其中,游戏场景可以有多个维度(如1000个维度的游戏场景),游戏动作可以包含有虚拟对象在目标游戏中所做的任一动作(如20个游戏动作)。所输出的各游戏状态数据针对每一游戏动作都有对应的游戏动作数据。其中,游戏状态数据的具体数据值代表何种场景状态以及游戏动作数据的具体数据值代表何种动作状态可以由开发人员预先设置。
在具体实施方式中,可以通过目标虚拟对象在游戏中进行的多场对战,从目标强化学习模型的输出数据中收集游戏动作数据和游戏状态数据,以此获取足够的游戏动作数据和游戏状态数据用于分析目标强化学习模型输出的游戏状态数据对每一个游戏动作的影响。
需要说明的是,本步骤中获取的目标强化学习模型在游戏对局中生成的状态动作数据包括游戏对局中目标虚拟对象出现异常游戏行为的时间步对应的状态动作数据,也包括游戏对局中目标虚拟对象的游戏行为正常时的状态动作数据。这样,通过足够多的数据可以较为准确的获取到游戏动作数据和与该游戏动作数据相关的游戏状态数据之间的对应关系。
步骤103:将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果。
由于强化学习模型属于一个黑盒,以目前的技术无法对强化学习模型进行解释,因此在本步骤中,可以训练与目标强化学习模型关联的代理模型,通过代理模型来对目标强化学习模型输出的游戏状态数据和游戏动作数据进行解释。
本申请实施例中,代理模型为监督模型,通过将目标强化模型输出的游戏状态数据作为监督模型的输入,将目标强化学习模型输出的游戏动作数据作为监督模型的输出来训练监督模型,进而准确获取游戏状态数据和游戏动作数据之间的映射关系。监督模型也属于机器学习模型的一种,是通过一个已有的数据集,数据集中包含输入数据(自变量)和输出数据(因变量),使用某种算法去学习从输入数据到输出数据之间的映射函数,监督模型的模型函数即为输入数据到输出数据之间的映射函数。本步骤中代理模型的训练结果可以是代理模型的模型函数,也可以是代理模型的模型参数,本申请对此不具体限定。
步骤104:调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
由于代理模型具有可解释的特点,因此本步骤中可以通过调用与目标强化学习模型相关联的代理模型对应的解释分析方法,对该代理模型的训练结果进行解释性分析,得到目标强化学习模型输出的游戏动作数据为异常数据的分析结果。由于目标第一虚拟对象在游戏对局中所做的动作是由目标强化学习模型输出的游戏动作数据控制的,因此,对代理模型的训练结果进行的解释性分析得到的分析结果可以作为第一虚拟对象在游戏对局中出现异常游戏行为的原因。
可以理解的,由于一个游戏动作数据对应多个维度的游戏状态数据,例如可以包括但不限于第一虚拟对象与敌方虚拟对象的距离、第一虚拟对象所持有的装备道具、第一虚拟对象的生命值/血量等,因此,在对训练结果进行解释性分析时,可能会得到多个维度的分析结果。
可选的,在本申请中,可以将多个维度的分析结果按照影响程度的大小进行排序后输出,还可以在将多个维度的分析结果排序后选取预设数量的分析结果输出。这样,开发人员可以基于输出的分析结果对目标强化学习模型或者目标强化学习模型调用的程序参数进行调整,具体调整方式根据实际情况具体实施,本申请对此不具体限定。
本申请提供的虚拟对象异常行为的分析方法,应用于目标游戏中,所述目标游戏中包括由强化学习模型控制的第一虚拟对象,所述第一虚拟对象用于在所述目标游戏的游戏对局中模拟由玩家控制第二虚拟对象进行游戏,所述方法包括:响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
由于目标虚拟对象在目标游戏中所做的动作目标强化学习模型输出的游戏动作数据决定的,因此在目标虚拟对象在游戏对局中出现异常游戏行为时,可以根据目标强化学习模型在游戏对局中的游戏动作数据和对应的游戏状态数据来分析异常原因。由于强化学习模型缺乏解释性分析方法,本申请通过使用与目标强化学习模型相关联的可解释的代理模型,将目标强化学习模型的游戏动作数据和游戏状态数据分别作为代理模型的输入和输出,得到输入到输出的训练结果,并根据代理模型对应的解释性分析方法对目标强化学习模型所产生的游戏动作数据和游戏状态数据进行解释性分析,得到目标强化学习模型的异常分析结果。可见,本申请提供的虚拟对象异常行为的分析方法,能够使得用户对强化学习模型控制的虚拟对象在目标游戏中出现的异常游戏行为进行快速准确高效的定位,提高了虚拟对象异常行为的分析效率。
在监督模型的解释分析方法中,可以通过分析监督模型的输入数据对输出数据的影响程度来对训练结果进行解释分析,因此步骤104可以通过步骤104-1来实现。
步骤104-1:从所述游戏状态数据中确定所述目标虚拟对象在游戏对局中的目标动作为所述异常游戏行为时对应的异常状态数据;将分析所述代理模型的输入数据对输出数据的影响程度确定为所述代理模型的解释分析方法;将所述异常状态数据输入所述训练结果对应的模型函数内,得到在所述异常状态数据对应的场景下的目标动作数据;计算所述异常状态数据对所述目标动作数据的第一影响程度。
本步骤中的目标动作可以理解为目标虚拟对象在游戏对局中某一时间步应该释放却未释放的动作,因此目标虚拟对象在游戏对局中该时间步的目标动作为异常游戏行为,强化学习模型在该时间步针对该目标动作输出的动作数据为异常动作数据。例如,目标虚拟对象在第3时间步应该释放动作A,但该目标虚拟对象在第3时间步却未释放动作A,因此,目标虚拟对象在游戏对局中的动作A为异常游戏行为,动作A为目标动作。
在具体实施方式中,由于强化学习模型输出的游戏动作数据和游戏状态数据具有对应关系,即特定的游戏状态数据会对应特定的游戏动作数据,因此强化学习模型对目标动作输出的游戏动作数据不同时对应输出的游戏状态数据也不同。如当虚拟对象在某个时间期望的动作为释放技能A,但实际技能A却未成功释放,强化学习模型输出的技能A的游戏动作数据为0,此时强化学习模型输出的针对技能A是否可用这一场景对应的游戏状态数据为技能A处于不可用状态(技能A的可用状态信息为0)。
因此,在本步骤中,在目标虚拟对象的动作出现的目标动作为异常游戏行为时,可以通过对强化学习模型在该时间步输出的游戏状态数据进行分析,来确定强化学习模型在该时间步出现异常的目标动作原因,以此得到目标虚拟对象的动作不符合预期时各游戏场景对目标动作造成了何种影响。
可以理解的,由于强化学习模型针对每一游戏动作输出的游戏动作数据都有对应的各游戏状态数据,因此在本步骤中,从收集到的各游戏状态数据中可以确定目标虚拟对象的目标动作不符合预期时对应的各异常状态数据。在本申请后续步骤中,通过分析各异常状态数据对目标动作的影响来定位目标动作未能成功释放的原因。
由于异常状态数据可以为多个维度的场景状态对应的异常状态数据,因此本步骤中的所述异常状态数据可以理解为多个维度的异常状态数据中的一个异常状态数据。将某一个异常状态数据输入代理模型的模型函数中,可以得到在该异常状态数据对应的场景下目标动作的目标动作数据。这样,可以得到每一个异常状态数据对应的场景下目标动作的每一个目标动作数据。
在本步骤中“计算异常状态数据对目标动作数据的第一影响程度”可以针对每一个异常状态数据计算其对目标动作的第一影响程度,第一影响程度可以是一个具体的影响值,也可以是该异常状态数据对目标动作造成的影响值占所有异常状态数据对目标动作造成的影响总值的百分比。每一个异常状态数据对目标动作的第一影响程度可能相同也可能不同,各第一影响程度可以准确反馈出对应的各异常状态数据对目标动作的影响大小。
在实际应用中,每一个异常状态数据对目标动作造成的影响程度之和使得目标虚拟对象释放的目标动作为异常游戏行为,即当虚拟对象的动作不符合预期时时强化学习模型输出的针对目标动作的实际游戏动作数据为异常的游戏动作数据,每一个异常状态数据都对异常的实际游戏动作数据做出了贡献,使得目标动作的游戏动作数据从期望的正常游戏动作数据变为异常的实际游戏动作数据。因此,当第一影响程度为具体的影响值时,各第一影响程度之和为异常的实际游戏动作数据减去期望的正常游戏动作数据的差值,当第一影响程度为百分比时,各第一影响程度之和为1。可以理解的,第一影响程度也可能为正值或负值,正值代表对应的异常状态数据对目标动作造成了正影响,负值代表对应的异常状态数据对目标动作造成了负影响,并且第一影响程度的数值越大代表了对应的异常状态数据对目标动作造成的影响越大。
通过本步骤可以得知所获取的各异常状态数据对异常的目标动作所造成的影响,进而可以根据对目标动作造成的影响较大的异常状态数据分析强化学习模型输出该异常状态数据的原因,从而实现了对模型输出的异常原因的准确定位。
另外,各异常状态数据对应的第一影响程度可以准确反馈该异常状态数据对虚拟对象在游戏对局中异常的目标动作造成了何种影响使得目标动作未成功释放。通过对虚拟对象在游戏中发生异常动作时强化学习模型输出的各异常状态数据对目标动作的第一影响程度的计算,使得用户可以根据第一影响程度对虚拟对象出现异常游戏行为的原因进行快速准确高效的定位,提高了异常分析的效率。
具体的,游戏动作数据为针对游戏动作的数据,游戏状态数据为针对游戏场景的数据,步骤101中的各游戏动作包括以下至少一种:目标虚拟对象进行移动、目标虚拟对象进行攻击、目标虚拟对象释放技能、目标虚拟对象跳跃。步骤101中的各游戏场景包括以下至少一种:目标虚拟对象进行对战的敌方虚拟对象距离目标虚拟对象的距离、目标虚拟对象的技能对应的技能冷却时间、目标虚拟对象拥有的装备武器、目标虚拟对象的职业、目标虚拟对象的能量值、敌方虚拟对象的能量值、队友所拥有的装备武器、目标虚拟对象处于目标游戏中的高空大海陆地各场景等。
其中,游戏动作中的目标虚拟对象进行移动包含了前后左右上下各个方向的移动,或者是从某个经纬度移动至另一个经纬度,目标虚拟对象进行攻击可以包括近身攻击、远程攻击等。游戏场景中的目标虚拟对象的能量值可以包括目标虚拟对象的体力值、目标虚拟对象的生命值、目标虚拟对象的血量值等。
在实际应用中,训练强化学习模型时,开发人员所设定的游戏场景可以尽可能的包含较多的目标游戏中的虚拟场景和虚拟对象的场景状态,以此使得强化学习模型能够对目标游戏进行很好的学习,进而能够准确的在较为细致游戏场景对应的游戏状态数据下输出对应的游戏动作数据,以指导各第一虚拟对象根据对应的强化学习模型所输出的游戏动作数据进行相应的动作。
可选的,步骤104-1中的“计算所述异常状态数据对所述目标动作数据的第一影响程度”可以按照以下步骤105~步骤107实现。
步骤105:针对每个所述异常状态数据,确定所针对的异常状态数据对应的各第一数据组合,以及所述第一数据组合对应的第二数据组合。
步骤106:根据所述训练结果对应的模型函数,确定在所述第一数据组合对应的场景下所述目标动作的第一动作数据,以及在所述第一数据组合对应的所述第二数据组合对应的场景下所述目标动作的第二动作数据。
步骤107:根据各所述第一动作数据和对应的第二动作数据计算所述异常状态数据对所述目标动作数据的第一影响程度。
其中,各第一数据组合为所述各异常状态数据中除所针对的异常状态数据之外的各信息组成的各数据组合,第二数据组合中包括所对应的所述第一数据组合中的各异常状态数据和所针对的异常状态数据。在具体实施方式中,第一数据组合和第二数据组合为一一对应关系。
在具体实施方式中,各异常状态数据为虚拟对象的目标动作为异常游戏行为时各个游戏场景的游戏状态数据,各个游戏场景的各异常状态数据又可以组合各不同的数据组合,每一个数据组合对应不同的场景。示例性的,异常状态数据为a-虚拟对象和敌方虚拟对象之间的距离为5米、b-虚拟对象的血量为满血、c-虚拟对象大招的冷却时间为10秒,则可以组合成a、b、c、(a,b)-虚拟对象和敌方虚拟对象之间的距离为5米且虚拟对象的血量为满血、(a,c)-虚拟对象和敌方虚拟对象之间的距离为5米且虚拟对象大招的冷却时间为10秒、(b,c)-拟角色的血量为满血且虚拟对象大招的冷却时间为10秒、(a,b,c)虚拟对象和敌方虚拟对象之间的距离为5米且虚拟对象的血量为满血且虚拟对象大招的冷却时间为10秒这七种数据组合。并且,每个数据组合对应不同的场景状态,不同的场景状态针对同一个动作又对应有不同的游戏动作数据,因此不同的数据组合所对应的目标动作的游戏动作数据可能并不相同。
因此,若要计算某一个异常状态数据对目标动作的第一影响程度,则需要计算各异常状态数据所组成的数据组合中,不包含该异常状态信息的第一数据组合对应的场景下目标动作的第一动作数据,以及第一数据组合加上该异常状态信息后得到的第二数据组合对应的场景下目标动作的第二动作数据。
在上述示例中,计算异常状态数据a对目标动作的第一影响程度时,对应的第一数据组合有b、c、(b,c)三种,第一数据组合b对应的第二数据组合为(a,b),第一数据组合c对应的第二数据组合为(a,c),第一数据组合(b,c)对应的第二数据组合为(a,b,c),则分别计算b、c、(b,c)三种第一数据组合分别对应的场景状态下目标动作的第一动作数据,以及分别计算对应的第二数据组合分别对应的场景状态下目标动作的第二动作数据。
本申请中,可以将第一数据组合输入代理模型的针对目标动作的模型函数得到对应的第一动作数据,将第二数据组合输入代理模型针对目标动作的模型函数得到对应的第二动作数据。
之后,可以根据第一数据组合对应的第一动作数据和与该第一数据组合对应的第二数据组合所对应的第二动作数据,确定从第一数据组合所对应的场景下变化到第二数据组合所对应的场景下目标动作的游戏动作数据的变化,以此确定异常状态信息对目标动作的影响程度。
通过这一技术手段,通过不包含所要计算的异常状态信息的第一数据组合和对应的包含第一数据组合中的各异常状态信息和要计算的异常状态信息分别对应的目标动作的游戏动作数据,准确的得到了异常状态信息对目标动作的第一影响程度。
可选的,步骤103中对代理模型进行训练的具体步骤如下:
将各所述游戏状态数据输入所述代理模型中,得到针对每一个游戏动作对应的输出结果;以使得所述输出结果与所针对的游戏动作对应的游戏动作数据之间的差别小于等于预设阈值为调整原则,调整所述待调整模型的参数,得到调整后模型;将所述调整后模型的模型函数确定为所针对的游戏动作针对所述代理模型的训练结果。
在本申请实施例中,可以将强化学习模型输出数据中的各游戏状态数据和各游戏动作数据作为监督模型的训练集来训练监督模型,得到各游戏状态数据映射到每一个游戏动作的映射函数。
具体的,针对某一游戏动作,将强化学习模型在某一时间步的各游戏状态数据作为待调整模型(待调整监督模型)的特征输入待调整模型,得到待调整模型对该游戏动作的输出结果,将该时间步强化学习模型对该游戏动作输出的游戏动作数据作为待调整模型的标签,调整待调整模型的参数以使得待调整模型对该游戏动作的输出结果与目标游戏动作数据之间的差别小于等于预设阈值。针对每一时间步的强化学习模型所输出的游戏状态数据都对待调整模型进行上述的调整过程,使待调整模型进行不断地迭代,得到满足强化学习模型所输出的所有游戏状态数据和该游戏动作的游戏动作数据之间的对应关系的调整后模型,此时调整后模型的模型函数即为各游戏状态数据映射到该游戏动作的映射函数。
可以理解的,强化学习模型输出的针对游戏场景的游戏状态数据和针对游戏动作的游戏动作数据,在每一个时间步均具有对应关系,如第1时间步强化学习模型输出的游戏状态数据为1000个维度的各个游戏场景对应的游戏状态数据,则第1时间步强化学习模型输出的针对20个游戏动作的各游戏动作数据与第1时间步输出的游戏状态数据相对应。若要确定1000个维度中的某一个或者多个游戏场景对应的某一个游戏动作的游戏动作数据,则可以通过代理模型针对该游戏动作的模型函数来计算对应的游戏动作数据。其中,各游戏状态数据为该游戏动作对应的模型函数的自变量,该游戏动作的游戏动作数据为该游戏动作对应的模型函数的因变量。
示例性的,针对游戏动作A,得到模型函数dA(x)=β0+β1*x1+β2*x2……+βn*xn,其中,fA(x)为游戏动作A的游戏动作数据,n为游戏场景的数量,β1、β2、βn分别为在计算游戏动作A的游戏动作数据时游戏场景1、2、n对应的加权系数,x1、x2、xn分别为游戏场景1、2、n对应的游戏状态数据。
这样,可以得到监督模型针对每一个游戏动作对应的模型函数。
可以理解的,待调整模型对该游戏动作的输出结果可以尽可能地与作为标签的游戏动作数据高度拟合,当调整后模型的输出结果无限接近强化学习模型输出数据中的游戏动作数据时,此时通过调整后模型得到的各游戏状态数据映射到该游戏动作的映射函数可以准确反映强化学习模型的输出的游戏状态数据和游戏动作数据之间的映射关系。
在实际应用中,目前常用的集成树监督模型有以下几种:分布式梯度增强库(Xtreme Gradient Boosting,简称XGBoost),梯度提升模型(Light Gradient BoostingMachine,简称LightGBM),梯度提升算法库(categorical boosting,简称CatBoost)等。在本申请实施例中,可以使用任一集成树监督模型对状态数据到动作数据的映射进行学习,本申请以LightGBM模型为例进行介绍。LightGBM模型采用histogram(直方图)算法进行特征选择,将连续的多个数值转换为直方图中的预设数量个离散值,计算效率高。LightGBM模型抛除了按层生长的策略,采用按叶子生长的策略,在分裂次数相同的情况下,可以减少不必要的搜索和分裂,提高了模型预测从各游戏状态数据映射到游戏动作数据的准确率。
在实际应用中,为了更好的反映各游戏状态数据下发生各游戏动作的可能性大小,监督模型的输出可以是各游戏动作在输入的各游戏状态数据对应的场景下发生的概率,即监督模型的输出在[0,1]的区间范围内。具体的,监督模型在输入各游戏状态数据后,可以先得到各游戏动作在输入的各游戏状态数据对应的场景下的各游戏动作数据,游戏动作数据(-∞,+∞)的范围内,在监督模型的输出层,可以将各游戏动作的各游戏动作数据进行归一化,得到各游戏动作的发生概率。可以理解的,所有游戏动作在同一游戏状态数据下发生的概率之和为1。在本申请实施例中,可以使用softmax激活函数或者sigmoid激活函数来将当前时间步各个动作的输出值进行归一化,得到当前时间步各个动作的概率值,将当前时间步各个动作的概率值作为监督模型在当前时间步对应的输出。
通过这一技术手段,将强化学习模型中输出的复杂的各游戏状态数据和各游戏动作数据分别作为监督模型的输入和标签来使得监督模型的输出无限逼近各游戏动作数据,使得监督模型输入游戏状态数据,就可以准确得到对应的各个游戏动作数据,准确高效的获取了强化学习模型中各游戏状态数据映射到各游戏动作数据之间的映射函数,为后续获取特定游戏状态数据对特定游戏动作的影响程度提供了基础。
可选的,步骤106可以按照以下步骤107~步骤108实现。
步骤107:将所述第一数据组合中的数据输入所述目标动作对应的输出结果中,得到在所述第一数据组合对应的场景下所述目标动作的第一动作数据。
步骤108:将和所述第一数据组合对应的所述第二数据组合中的数据输入所述目标动作对应的训练结果中,得到在所述第二数据组合对应的场景下所述目标动作的第二动作数据。
由于每一个游戏动作都有对应的模型函数,因此可以将步骤106中第一数据组合中的数据输入到目标动作对应的模型函数中,得到在第一数据组合对应的场景下目标动作的第一动作数据,将步骤106中第二数据组合中的数据(第一数据组合中的数据和所要计算对目标动作的第一影响程度的异常状态数据)输入到目标动作对应的映射函数中,得到在第二数据组合对应的场景下目标动作的第二动作数据。
若要计算异常状态数据为x1对目标动作的第一影响程度,目标动作为游戏动作A,则第一数据组合可以为x2,对应的第二数据组合为(x1,x2),则第一数据组合对应的第一动作数据为fA1(x)=β0+β2*x2,对应的第二数据组合对应的第二动作数据为fA2(x)=β0+β1*x1+β2*x2。
通过这一技术手段,可以计算任意组合的游戏状态数据对应的各游戏动作的各游戏动作数据,准确得到了各游戏状态数据的场景下某一个目标动作对应的游戏动作数据。
可选的,在步骤107之前,本申请实施例提供的虚拟对象异常行为的分析方法还包括步骤109:确定各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率。
相应的,步骤107可以按照以下步骤110实现:确定各所述第一动作数据减去对应的第二动作数据的差值;确定所述差值与对应的所述概率的乘积;将各所述乘积之和确定为所述游戏状态数据对所述目标动作的第一影响程度。
可以理解的,某一个异常状态数据对目标动作的第一影响程度为各第一数据组合转移到对应的第二数据组合时异常状态数据对目标动作的第一影响程度之和。由于第一数据组合中不包含该异常状态数据,第二数据组合中包含第一数据组合和该异常状态数据,因此,针对所确定的特定第一数据组合和对应的第二数据组合,该异常状态数据对目标动作的贡献为第二数据组合对应的第二动作数据减去对应的第一数据组合对应的第一动作数据的差值;再计算从特定第一数据组合对应的第一游戏状态数据转移到对应的第二数据组合对应的第二游戏状态数据的概率;针对特定第一数据组合,该异常状态数据对目标动作的贡献与特定第一数据组合转移到对应的第二数据组合的概率的乘积为,该特定第一数据组合转移到对应的第二数据组合时异常状态数据对目标动作的影响程度。将各特定第一数据组合对应的异常状态数据对目标动作的各影响程度之和确定为异常状态数据对目标动作的第一影响程度。
需要说明的是,在步骤110中,确定差值与对应的概率的乘积为:确定第一数据组合对应的场景下目标动作的第一动作数据减去对应的第二动作数据的差值,与该第一数据组合对应的第一游戏状态数据转移到对应的第二数据组合对应的第二游戏状态数据的概率的乘积。可以理解的,一个第一数据组合对应有一个目标动作的第一动作数据,则一个第一数据组合对应有一个差值,一个第一数据组合对应有一个该第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率,则一个第一数据组合对应一个概率,因此一个差值对应有一个概率,因此步骤110中的确定差值与对应的概率的乘积可以理解为确定同一个第一数据组合对应的差值和概率的乘积。
在具体实施方式中,游戏状态数据对游戏动作的影响程度可以使用SHAP(ShapleyAdditive explanations,沙普利加和解释)值来描述。在机器学习中,SHAP值通常被用来解释监督模型对某一输入状态的各特征值对输出数据的贡献(重要程度)。SHAP值的计算属于对模型进行解释的方法,主要是计算模型的输入特征对模型输出数据的边际贡献,再从全局和局部两个层面对该模型进行解释。在SHAP值的计算中,监督模型所有的输入特征都视为“贡献者”,对于每个预测样本,模型都产生一个预测值,SHAP值就是该样本中每个特征从预测值中所分配到的数值。
SHAP值的计算基于Shapley值(沙普利值)的计算,Shapley值法是一种数学方法,是指所得与自己的贡献相等,是一种分配方式,Shapley值法通常用于经济活动中的利益合理分配等问题。SHAP值实际是将输出值归因到每一个特征的shapely值上。以下提供两种监督模型(线性模型和集成树模型)中输入特征的SHAP值的计算方法。
当监督模型为线性模型时,输入特征的SHAP值的计算方法介绍如下:若线性模型输入的游戏状态数据为:x1、x2……、xn,线性模型针对游戏动作A的输出结果为fA1(x),则fA1(x)=β0+β1*x1+β2*x2……+βn*xn,则线性模型中,游戏场景i的游戏状态数据对游戏动作A的影响程度(即SHAP值)的计算公式如公式(1)所示:
Φi1=βi*xi-E(βi*Xi)=βi*xi-βi*E(Xi) (1)
其中,Φi1为输入特征i对游戏动作A的SHAP值,xi为游戏场景i的一个游戏状态数据,E(Xi)为输入数据中游戏场景i的游戏状态数据的平均值,i遍历1~n,n为游戏场景的数量。这样可以计算出线性模型中输入的各游戏状态数据中一个维度的游戏场景对应的游戏状态数据对游戏动作A的SHAP值,即游戏状态数据对游戏动作A的影响程度。
则线性模型每次输入的所有的各游戏状态数据对动作A的总影响程度的计算公式如公式(2)所示:
其中,Φall所有的各游戏状态数据对动作A的总影响程度,fA1(x)为线性模型针在该次输入的各游戏状态数据(可以理解为强化学习模型在某个时间步输出的针对各游戏场景的各游戏状态数据)对应的场景下对游戏动作A的所输出的游戏动作数据,E(fA1(X))为强化学习模型输出的所有的各游戏状态数据的场景下对游戏动作A的所输出的游戏动作数据的平均值,E(fA1(X))也可以理解为线性模型对游戏动作A的期望值。在该次输入的各游戏状态数据的场景下,线性模型针对游戏动作A的所输出的游戏动作数据fA1(x)为E(fA1(X))+Φall。
当监督模型为集成树模型时,输入特征的SHAP值的计算方法介绍如下:若游戏场景为:1-游戏场景中虚拟对象的职业、2-该虚拟对象的血量、3-该虚拟对象的大招的冷却时间、4-该虚拟对象距离敌方虚拟对象的距离……,n-敌方虚拟对象持有的武器,集成树模型输入的游戏场景的游戏状态数据为:x1、x2……、xn,集成树模型针对游戏动作A的输出结果为fA2(x)。则在集成树模型中,游戏场景i的游戏状态数据对游戏动作A的影响程度(即SHAP值)的计算公式如公式(3)所示:
其中,集合S为第一数据组合中的数据构成的集合,集合M是集成树模型一次所输入的各游戏状态数据构成的集合,集合S是集合m的子集,且游戏场景i的游戏状态数据不属于集合S,|S|是集合S中游戏状态数据的数量,p为集合S对应的第一数据组合对应的游戏状态数据转移到对应的第二数据组合对应的游戏状态数据的概率,fA2(S∪{xi})为集成树模型在输入集合S对应的游戏状态数据以及游戏状态数据xi后,针对游戏动作A输出的游戏动作数据,fA2(S)为集成树模型在输入集合S对应的游戏状态数据后,针对游戏动作A输出的游戏动作数据。
为了便于计算,步骤109中“各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率”可以拆分为第一数据组合在各异常状态数据组成的数据组合中出现的概率以及从第一数据组合转移到第二数据组合的概率。因此,步骤109可以按照以下步骤实现:
计算各所述第一数据组合对应的第一游戏状态数据在所述游戏状态数据中出现的各第一概率;
计算第一数据组合确定的情况下,各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的各第二概率;
将各所述第一概率和对应的所述第二概率的乘积确定为各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率。
可以理解的,第一数据组合对应的第一游戏状态数据转移到对应的第二数据组合对应的第二游戏状态数据的概率为第一数据组合在各异常状态数据组成的数据组合中出现的概率与第一数据组合确定后从第一数据组合转移到第二数据组合的概率的乘积。以下结合图2,对本申请实施例提供的虚拟对象异常行为的分析方法中第一数据组合对应的游戏状态数据转移到对应的第二数据组合对应的游戏状态数据的概率的计算进行说明。
如图2所示,是本申请实施例提供的监督模型输入的各游戏状态数据的组合方式图,游戏场景为1、2、3……、n,对应的游戏状态数据为x1、x2、x3……、xn,当监督模型输入1个游戏状态数据时,所输入的游戏状态数据可以为x1、x2、x3……、xn,对应的输入方式数量为当监督模型输入2个游戏状态数据时,所输入的游戏状态数据可以为(x1,x2)、……(x1,xn)、(x2,x3)、……(x2,xn)、(xn-1,xn),对应的输入方式数量为/>以此类推,可以得到当监督模型输入j个游戏状态数据时,对应的输入方式数量为/>若要计算游戏状态数据x2对某一游戏动作的影响程度,则先确定x2对应的第一数据组合和该第一数据组合对应的第二数据组合,x2对应的第一数据组合有x1,x1对应的第二数据组合为(x1,x2),从第一数据组合x1转移到第二数据组合为(x1,x2)的概率为第一数据组合x1在各游戏状态数据所组成的组合方式中出现的第一概率与第一数据组合x1确定后从第一数据组合x1转移到第二数据组合为(x1,x2)的第二概率的乘积。第一数据组合x1出现的第一概率为/>第一数据组合的转移路径的计算方法为从剩余的x2、x3……、xn中选则一个游戏状态数据,因此第一数据组合的转移路径为n-1条,则第一数据组合x1确定后,从第一数据组合x1转移到第二数据组合(x1,x2)的第二概率为/>因此,从第一数据组合x1转移到第二数据组合(x1,x2)的概率为/>
以此类推,若要计算游戏状态数据xi对某一游戏动作的影响程度,则先确定xi对应的第一数据组合和该第一数据组合对应的第二数据组合,xi对应的第一数据组合有(x1,x2……,xi-1),(x1,x2……,xi-1)对应的第二数据组合为(x1,x2……,xi-1,xi),从第一数据组合(x1,x2……,xi-1)转移到第二数据组合为(x1,x2……,xi-1,xi)的概率为第一数据组合(x1,x2……,xi-1)在各游戏状态数据所组成的组合方式中出现的第一概率与第一数据组合(x1,x2……,xi-1)确定后从第一数据组合(x1,x2……,xi-1)转移到第二数据组合为(x1,x2……,xi-1,xi)的第二概率的乘积。第一数据组合(x1,x2……,xi-1)出现的第一概率为m为第一数据组合(x1,x2……,xi-1)中游戏状态数据的数量,第一数据组合的转移路径的计算方法为从剩余的n-m个游戏状态数据xi、x3……、xn中选则一个游戏状态数据,因此第一数据组合的转移路径为n-m条,则第一数据组合(x1,x2……,xi-1)确定后,转移到第二数据组合(x1,x2……,xi-1,xi)的第二概率为/>因此,从第一数据组合(x1,x2……,xi-1)转移到第二数据组合为(x1,x2……,xi-1,xi)的概率为/>因此,公式(3)中集合S对应的第一数据组合对应的游戏状态数据转移到对应的第二数据组合对应的游戏状态数据的概率p的计算公式如公式(4)所示:
其中,n为游戏状态数据的数量,m为集合S对应的第一数据组合中游戏状态数据的数量。这样,将公式(3)和公式(4)进行组合可以得到游戏场景i的游戏状态数据对游戏动作A的影响程度的详细计算公式(5):
通过本申请实施例提供的上述步骤可以计算出各异常状态数据中各游戏场景对应的异常状态数据对目标动作造成的各第一影响程度,进而可以将强化学习模型输出的各游戏状态数据中的任意组合的游戏状态数据输入调整后模型,针对各游戏动作输出该任意组合的游戏状态数据对应的各游戏动作数据,进而计算出该任意组合的游戏状态数据中各游戏场景的游戏状态数据对各游戏动作的各影响程度,根据影响程度可以对各游戏动作影响程度较大的游戏状态数据进行准确的分析。
为了更好的展示各游戏状态数据对各游戏动作的影响程度分布,本申请实施例提供了以下三种方法对各游戏状态数据对各游戏动作的影响程度分布进行可视化的展示。
方法一:针对每个游戏动作,通过创建该游戏动作对应的场景状态密度图来对数据集中各游戏场景的各游戏状态数据对该游戏动作的影响程度进行可视化的展示。需要说明的是,本申请实施例中可以根据用户的展示需求来选取第一预设数量的游戏场景来创建该游戏动作对应的场景状态密度图,第一预设数量的游戏场景可以是对该游戏动作影响程度较大的游戏场景,具体选取方法在后续步骤进行说明。
方法二:基于方法一,对于方法一中无法很好展示的细节信息,通过创建该游戏动作的对应的单一场景影响分布图来对单一游戏场景的各游戏状态数据对该游戏动作的影响程度进行可视化的展示。
方法三:针对虚拟对象的目标动作为异常游戏行为时的特定时间步,通过创建该目标动作对应的瀑布流分析图来对该特定时间步各游戏场景对应的各异常状态数据对该目标动作的影响程度进行可视化的展示。需要说明的是,与方法一中所创建的游戏动作对应的场景状态密度图相似,本申请实施例也可以根据用户的展示需求来选取第二预设数量的游戏场景来创建该目标动作对应的瀑布流分析图,第二预设数量的游戏场景可以是对该目标动作影响程度较大的游戏场景,具体选取方法在后续步骤进行说明。
下面结合图3、图4、图5分别对方法一、方法二、方法三进行详细介绍。
如图3所示,是本申请实施例提供的一例游戏动作对应的场景状态密度图。在场景状态密度图中所展示的是各游戏场景对应的各游戏状态数据对该游戏动作的影响程度分布,因此,在创建游戏动作对应的场景状态密度图之前,首先需要对各游戏场景对应的各游戏状态数据对该游戏动作的影响程度分布进行统计。
具体的,本申请实施例提供的虚拟对象异常行为的分析方法可以通过以下步骤来获取各游戏场景对应的各游戏状态数据对该游戏动作的影响程度的统计结果:
针对每个所述游戏动作,获取每个所述游戏场景对应的游戏状态数据对所述游戏动作的各第二影响程度;根据各所述第二影响程度计算每个所述游戏场景对所针对的所述游戏动作的第三影响程度;从第一游戏场景对应的各所述游戏状态数据中确定所述第二影响程度对应的游戏状态数据的数量,所述第一游戏场景为所述游戏场景中的场景;将所述各第二影响程度进行可视化展示,并将对应的游戏状态数据的数量进行可视化展示。
可以理解的,第二影响程度与步骤103中的第一影响程度的计算方式相同,此处不予赘述。针对每一游戏场景,获取的游戏状态数据为多个,因此,可以计算每一游戏场景对应的多个游戏状态数据对该游戏动作的各第二影响程度。这样,针对该游戏场景,可以进一步根据该游戏场景对应的各第二影响程度确定出该游戏场景对该游戏动作的第三影响程度。第三影响程度可以是各第二影响程度绝对值的平均值,也可以是各第二影响程度的中位数,还可以是各第二影响程度中绝对值最大的第二影响程度,根据不同的展示需求可以确定不同的第三影响程度,本申请实施例不具体限定。
本申请实施例所选择的第三影响程度为各第二影响程度绝对值的平均值,各游戏场景的第三影响程度可以用来描述各游戏场景对该游戏动作的重要程度,即第三影响程度越大,则表示对应的游戏场景对该游戏动作越重要。之后,可以从各游戏场景中选取第一预设数量个对该游戏动作较为重要的第一游戏场景,从每个第一游戏场景对应的各所述游戏状态数据中确定每个第二影响程度对应的游戏状态数据的数量,对所选取的第一游戏场景的各所述游戏状态数据对应的各第二影响程度以及各第二影响程度对应的数量分布进行可视化的展示。
具体的,为了实现“将所述各第二影响程度进行可视化展示,并将对应的游戏状态数据的数量进行可视化展示”,本申请实施例提供的虚拟对象异常行为的分析方法可以通过以下步骤创建游戏动作对应的场景状态密度图:
根据所述第一游戏场景下各所述游戏状态数据对应的各第二影响程度和对应的游戏状态数据的数量,在所述游戏动作对应的待创建场景状态密度图中创建各所述游戏状态数据对应的各第一特征点,所述各第一特征点互不重叠,所述待创建场景状态密度图的第一轴用于表示各所述第一游戏场景,所述待创建场景状态密度图的第二轴用于表示各所述第二影响程度,所述第一轴与所述第二轴垂直;
在所述待创建场景状态密度图中将各所述第一特征点按照对应的各所述游戏状态数据进行区分标识,得到并展示所述游戏动作对应的场景状态密度图。
图3中展示了20行的第一游戏场景,其中,前19行展示的是对该游戏动作影响程度较大的前19个游戏场景对应的各游戏状态数据以及各游戏状态数据对应的各第二影响程度,第20行展示的是剩余的游戏场景对应的各游戏状态数据以及各游戏状态数据对应的各第二影响程度。所创建的各第一特征点的横坐标可以是对应的游戏状态数据对该游戏动作的第二影响程度。针对一个游戏场景,若同一个第二影响程度对应有多个第一游戏状态数据时,所述多个第一游戏状态数据对应的多个第一特征点为横坐标相同的相邻特征点,即横坐标相同的多个第一特征点沿纵轴方向抖动进行堆积,因此,在场景状态密度图中,针对一个游戏场景对应的行中较宽的区域代表大量的游戏状态数据在该区域聚集。
可以理解的,在场景状态密度图中,各第一特征点可以按照对应的所述各游戏状态数据进行区分标识,具体可以通过不同的颜色来区分各游戏状态数据的大小,也可以使用同一个颜色对应的不同深浅程度来区分各游戏状态数据的大小,例如第一特征点的颜色越蓝代表对应的游戏状态数据越小,第一特征点的颜色越红代表对应的游戏状态数据越大。
通过创建游戏动作的场景状态密度图,很好的展示了数据集中各游戏场景对应的各游戏状态数据对游戏动作的影响程度分布,并且展示了准确的展示对该游戏动作影响程度较大的各游戏场景以及各游戏场景对该游戏动作的各影响程度对应的游戏状态数据的数量多少,使得各游戏场景的各游戏状态数据对游戏动作的影响程度分布更为清楚直观。
如图4所示,是本申请实施例提供的一例游戏动作的对应的单一场景影响分布图。图4为图3中纵轴上的游戏场景3对应的各游戏状态数据该游戏动作的第二影响程度分布图,具体的,通过以下步骤创建游戏动作的对应的单一场景影响分布图来将所述各第二影响程度进行可视化展示:
根据第二游戏场景下各所述游戏状态数据以及各所述游戏状态数据对应的各第二影响程度,在所述游戏动作的待创建单一场景影响分布图中创建各所述游戏状态数据对应的各第二特征点,所述待创建单一场景影响分布图的第一轴用于表示各所述所述第二影响程度,所述待创建单一场景影响分布图的第二轴用于表示各所述游戏状态数据,所述第一轴与所述第二轴垂直,得到并展示所述游戏动作对应的单一场景影响分布图。
可以理解的,第二游戏场景为游戏场景中的一个,图4中的第二游戏场景为游戏场景3,其中,横轴为游戏场景3对应的各游戏状态数据,纵轴为游戏场景3的各游戏状态数据对游戏动作的第二影响程度,即游戏场景3的游戏状态数据对应的第二特征点的坐标为(游戏状态数据,第二影响程度)。通过图4可以看出,游戏场景3在游戏状态数据为0、102、213时,对游戏动作的第二影响程度为正值,即游戏场景3在游戏状态数据为0、102、213时对游戏动作的影响为正影响。
通过创建游戏动作的单一场景影响分布图,可以对游戏动作的场景状态密度图中不容易观测到的细节进行很好的展示,使得用户可以直观了解到单一游戏场景中,单一游戏场景在何种游戏状态数据对游戏动作造成了何种影响。
本申请实施例提供的虚拟对象异常行为的分析方法还可以将各所述第一影响程度进行可视化展示。具体的,通过瀑布流分析图对各第一影响程度进行可视化展示。
如图5所示,是本申请实施例提供的一例目标动作对应的瀑布流分析图。
具体的,通过以下步骤创建目标动作对应的瀑布流分析图:
根据各所述异常状态数据对所述目标动作的各所述第一影响程度,在所述目标动作对应的待创建瀑布流分析图中创建各所述异常状态数据对应的各特征条,各所述特征条的长度为对应的各所述第一影响程度的数值,所述待创建瀑布流分析图的第一轴用于表示各所述异常状态数据,所述待创建瀑布流分析图的第二轴用于表示所述目标动作的动作数据,所述第一轴与所述第二轴垂直;
在所述待创建瀑布流分析图中将各所述特征条按照对应的各所述第一影响程度进行区分标识,得到并展示所述目标动作对应的瀑布流分析图。
图5中纵轴上的x1~x9为虚拟对象的目标动作为异常游戏行为时的特定时间步对应的各游戏场景的各异常状态数据(即步骤102中所获取的一场游戏状态数据)中对目标动作的影响程度最大的前9个游戏状态数据,other x为各一场状态信息中除x1~x9的其余异常状态数据,纵轴上x1~x9按照对应的各异常状态数据对目标动作的第一影响程度从大到小的顺序进行排序,x1对应的特征条的始端横坐标为虚拟对象的目标动作为异常游戏行为时的特定时间步目标动作的实际游戏动作数据f(x),x1特征条的长度为x1对目标动作的第一影响程度的绝对值,x2对应的特征条的始端与x1对应的特征条的末端对齐,x2特征条的长度为x2对目标动作的第一影响程度的绝对值,以此类推,得到纵轴上的各游戏状态数据对应的各特征条。需要说明的是,当各特征条对应的第一影响程度为正值时,特征条为左朝向,反之,第一影响程度为负值时对应的特征条为右朝向。最后一个特征条的末端对应的横坐标为所获取的数据集中(也即所有时间步中)目标动作的各游戏动作数据对应的平均值E[f(X)]。
从图5中可以直观地看出虚拟对象的目标动作不符合预期时的特定时间步对目标动作的影响最大的异常状态数据是x1,这样开发人员可以通过x1这一异常状态数据代表的含义来分析游戏场景1的游戏状态数据为x1的原因,这样就可以准确定位虚拟对象的目标动作为异常游戏行为的原因,可以快速获知虚拟对象为什么未能成功释放目标动作。进一步地,开发人员可以基于所分析的原因做出相应的调整。例如针对虚拟对象在第11时间步需要释放目标动作A但却未成功释放,若x1代表了A技能不可用,因此开发人员可以对A技能为什么处于不可用状态进行分析,进而决定如何对强化学习模型进行改进。
在实际应用中,创建瀑布流分析图时可以将各特征条按照对应的各第一影响程度进行区分标识,当第一影响程度为正值时对应的特征条可以用红色来表示,当第一影响程度为负值时对应的特征条可以用蓝色来表示,在其他实施方式中,还可以使用其他不同的颜色来区分各游戏状态数据对目标动作的影响程度,本申请对此不具体限定。
通过创建目标动作的瀑布流分析图,可以对使用户准确得知对每一个异常状态数据对目标动作的实际的游戏动作数据的具体影响值,对从目标动作的实际游戏动作数据到期望状态信息各异常状态信息的影响值进行了很好的展示。
与本申请第一实施例提供的虚拟对象异常行为的分析方法相对应的,本申请第二实施例还提供了虚拟对象异常行为的分析装置,如图6所示,所述装置600包括:
确定单元601,用于响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取单元602,用于获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
运算单元603,用于将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
分析单元604,用于调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
可选的,所述分析单元604具体用于:从所述游戏状态数据中确定所述目标虚拟对象在游戏对局中的目标动作为所述异常游戏行为时对应的异常状态数据;将分析所述代理模型的输入数据对输出数据的影响程度确定为所述代理模型的解释分析方法;将所述异常状态数据输入所述训练结果对应的模型函数内,得到在所述异常状态数据对应的场景下的目标动作数据;计算所述异常状态数据对所述目标动作数据的第一影响程度。
可选的,所述分析单元604还具体用于:针对每个所述异常状态数据,确定所针对的异常状态数据对应的各第一数据组合,以及所述第一数据组合对应的第二数据组合;所述各第一数据组合为所述各异常状态数据中除所针对的异常状态数据之外的各数据组成的各数据组合,所述第二数据组合中包括所对应的所述第一数据组合中的各异常状态数据和所针对的异常状态数据;根据所述训练结果对应的模型函数,确定在所述第一数据组合对应的场景下所述目标动作的第一动作数据,以及在所述第一数据组合对应的所述第二数据组合对应的场景下所述目标动作的第二动作数据;根据各所述第一动作数据和对应的第二动作数据计算所述异常状态数据对所述目标动作数据的第一影响程度。
可选的,所述运算单元603具体用于:将各所述游戏状态数据输入所述代理模型中,得到针对每一个游戏动作对应的输出结果;以使得所述输出结果与所针对的游戏动作对应的游戏动作数据之间的差别小于等于预设阈值为调整原则,调整所述待调整模型的参数,得到调整后模型;将所述调整后模型的模型函数确定为所针对的游戏动作针对所述代理模型的训练结果。
可选的,所述分析单元604还具体用于:将所述第一数据组合中的数据输入所述目标动作对应的输出结果中,得到在所述第一数据组合对应的场景下所述目标动作的第一动作数据;将和所述第一数据组合对应的所述第二数据组合中的数据输入所述目标动作对应的训练结果中,得到在所述第二数据组合对应的场景下所述目标动作的第二动作数据。
可选的,所述分析单元604还具体用于:确定各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率;确定各所述第一动作数据减去对应的第二动作数据的差值;确定所述差值与对应的所述概率的乘积;将各所述乘积之和确定为所述游戏状态数据对所述目标动作的第一影响程度。
可选的,所述分析单元604还具体用于:计算各所述第一数据组合对应的第一游戏状态数据在所述游戏状态数据中出现的各第一概率;计算第一数据组合确定的情况下,各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的各第二概率;将各所述第一概率和对应的所述第二概率的乘积确定为各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率。
可选的,所述获取单元602还用于:针对每个所述游戏动作,获取每个所述游戏场景对应的游戏状态数据对所述游戏动作的各第二影响程度;根据各所述第二影响程度计算每个所述游戏场景对所针对的所述游戏动作的第三影响程度。
可选的,所述分析单元604还具体用于:将可视化展示所述代理模型输入数据对输出数据的影响程度的方法确定为所述代理模型的解释分析方法;从第一游戏场景对应的各所述游戏状态数据中确定所述第二影响程度对应的游戏状态数据的数量,所述第一游戏场景为所述游戏场景中的场景;将所述各第二影响程度进行可视化展示,并将对应的游戏状态数据的数量进行可视化展示。
可选的,所述装置600还包括创建单元604;所述创建单元604,用于根据所述第一游戏场景下各所述游戏状态数据对应的各第二影响程度和对应的游戏状态数据的数量,在所述游戏动作对应的待创建场景状态密度图中创建各所述游戏状态数据对应的各第一特征点,所述各第一特征点互不重叠,所述待创建场景状态密度图的第一轴用于表示各所述第一游戏场景,所述待创建场景状态密度图的第二轴用于表示各所述第二影响程度,所述第一轴与所述第二轴垂直;在所述待创建场景状态密度图中将各所述第一特征点按照对应的各所述游戏状态数据进行区分标识,得到并展示所述游戏动作对应的场景状态密度图。
可选的,所述创建单元604还用于:根据第二游戏场景下各所述游戏状态数据以及各所述游戏状态数据对应的各第二影响程度,在所述游戏动作的待创建单一场景影响分布图中创建各所述游戏状态数据对应的各第二特征点,所述待创建单一场景影响分布图的第一轴用于表示各所述所述第二影响程度,所述待创建单一场景影响分布图的第二轴用于表示各所述游戏状态数据,所述第一轴与所述第二轴垂直,得到并展示所述游戏动作对应的单一场景影响分布图。
可选的,所述创建单元604还用于:将各所述第一影响程度进行可视化展示;根据各所述异常状态数据对所述目标动作的各所述第一影响程度,在所述目标动作对应的待创建瀑布流分析图中创建各所述异常状态数据对应的各特征条,各所述特征条的长度为对应的各所述第一影响程度的数值,所述待创建瀑布流分析图的第一轴用于表示各所述异常状态数据,所述待创建瀑布流分析图的第二轴用于表示所述目标动作的动作数据,所述第一轴与所述第二轴垂直;在所述待创建瀑布流分析图中将各所述特征条按照对应的各所述第一影响程度进行区分标识,得到并展示所述目标动作对应的瀑布流分析图。
与本申请第一实施例提供的虚拟对象异常行为的分析方法相对应的,本申请第三实施例还提供了一种用于虚拟对象异常行为的分析的电子设备。如图7所示,所述电子设备包括:处理器701;以及存储器702,用于存储虚拟对象异常行为的分析方法的程序,该设备通电并通过所述处理器运行虚拟对象异常行为的分析方法的程序后,执行如下步骤:
响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
与本申请第一实施例提供的虚拟对象异常行为的分析方法相对应的,本申请第四实施例提供了一种计算机可读存储介质,存储有虚拟对象异常行为的分析方法的程序,该程序被处理器运行,执行下述步骤:
响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
需要说明的是,对于本申请第二实施例、第三实施例和第四实施例提供的装置、电子设备及计算机可读存储介质的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,区块链中的节点设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他属性的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储介质或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (16)
1.一种虚拟对象异常行为的分析方法,其特征在于,应用于目标游戏中,所述目标游戏中包括由强化学习模型控制的第一虚拟对象,所述第一虚拟对象用于在所述目标游戏的游戏对局中模拟由玩家控制第二虚拟对象进行游戏,所述方法包括:
响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
2.根据权利要求1所述的方法,其特征在于,所述调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,包括:
从所述游戏状态数据中确定所述目标虚拟对象在游戏对局中的目标动作为所述异常游戏行为时对应的异常状态数据;
将分析所述代理模型的输入数据对输出数据的影响程度确定为所述代理模型的解释分析方法;
将所述异常状态数据输入所述训练结果对应的模型函数内,得到在所述异常状态数据对应的场景下的目标动作数据;
计算所述异常状态数据对所述目标动作数据的第一影响程度。
3.根据权利要求2所述的方法,其特征在于,所述计算所述异常状态数据对所述目标动作数据的第一影响程度,包括:
针对每个所述异常状态数据,确定所针对的异常状态数据对应的各第一数据组合,以及所述第一数据组合对应的第二数据组合;所述各第一数据组合为所述各异常状态数据中除所针对的异常状态数据之外的各数据组成的各数据组合,所述第二数据组合中包括所对应的所述第一数据组合中的各异常状态数据和所针对的异常状态数据;
根据所述训练结果对应的模型函数,确定在所述第一数据组合对应的场景下所述目标动作的第一动作数据,以及在所述第一数据组合对应的所述第二数据组合对应的场景下所述目标动作的第二动作数据;
根据各所述第一动作数据和对应的第二动作数据计算所述异常状态数据对所述目标动作数据的第一影响程度。
4.根据权利要求3所述的方法,其特征在于,所述将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果,包括:
将各所述游戏状态数据输入所述代理模型中,得到针对每一个游戏动作对应的输出结果;
以使得所述输出结果与所针对的游戏动作对应的游戏动作数据之间的差别小于等于预设阈值为调整原则,调整所述待调整模型的参数,得到调整后模型;
将所述调整后模型的模型函数确定为所针对的游戏动作针对所述代理模型的训练结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述训练结果对应的模型函数,确定在所述第一数据组合对应的场景下所述目标动作的第一动作数据,以及在所述第一数据组合对应的所述第二数据组合对应的场景下所述目标动作的第二动作数据,包括:
将所述第一数据组合中的数据输入所述目标动作对应的输出结果中,得到在所述第一数据组合对应的场景下所述目标动作的第一动作数据;
将和所述第一数据组合对应的所述第二数据组合中的数据输入所述目标动作对应的训练结果中,得到在所述第二数据组合对应的场景下所述目标动作的第二动作数据。
6.根据权利要求3所述的方法,其特征在于,在所述根据各所述第一动作数据和对应的第二动作数据计算所述异常状态数据对所述目标动作数据的第一影响程度之前,所述方法还包括:
确定各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率;
所述根据各所述第一动作状态信息数据和对应的第二动作状态信息数据计算所述异常场景状态信息异常状态数据对所述目标动作数据的第一影响程度,包括:
确定各所述第一动作数据减去对应的第二动作数据的差值;
确定所述差值与对应的所述概率的乘积;
将各所述乘积之和确定为所述游戏状态数据对所述目标动作的第一影响程度。
7.根据权利要求6所述的方法,其特征在于,所述确定各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率,包括:
计算各所述第一数据组合对应的第一游戏状态数据在所述游戏状态数据中出现的各第一概率;
计算第一数据组合确定的情况下,各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的各第二概率;
将各所述第一概率和对应的所述第二概率的乘积确定为各所述第一数据组合对应的第一游戏状态数据转移到对应的所述第二数据组合对应的第二游戏状态数据的概率。
8.根据权利要求2所述的方法,其特征在于,所述游戏动作数据为针对游戏动作的数据,所述游戏状态数据为针对游戏场景的数据;所述游戏动作包括以下至少一种:
所述目标虚拟对象进行移动、攻击、释放技能、跳跃;
所述游戏场景包括以下至少一种:
与所述目标虚拟对象进行对战的敌方虚拟对象和所述目标虚拟对象之间的距离、所述目标虚拟对象的技能对应的技能冷却时间、拥有的装备武器、职业、能量值。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
针对每个所述游戏动作,获取每个所述游戏场景对应的游戏状态数据对所述游戏动作的各第二影响程度;
根据各所述第二影响程度计算每个所述游戏场景对所针对的所述游戏动作的第三影响程度。
10.根据权利要求9所述的方法,其特征在于,所述调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,包括:
将可视化展示所述代理模型输入数据对输出数据的影响程度的方法确定为所述代理模型的解释分析方法;
从第一游戏场景对应的各所述游戏状态数据中确定所述第二影响程度对应的游戏状态数据的数量,所述第一游戏场景为所述游戏场景中的场景;
将所述各第二影响程度进行可视化展示,并将对应的游戏状态数据的数量进行可视化展示。
11.根据权利要求10所述的方法,其特征在于,所述将所述各第二影响程度进行可视化展示,并将对应的游戏状态数据的数量进行可视化展示,包括:
根据所述第一游戏场景下各所述游戏状态数据对应的各第二影响程度和对应的游戏状态数据的数量,在所述游戏动作对应的待创建场景状态密度图中创建各所述游戏状态数据对应的各第一特征点,所述各第一特征点互不重叠,所述待创建场景状态密度图的第一轴用于表示各所述第一游戏场景,所述待创建场景状态密度图的第二轴用于表示各所述第二影响程度,所述第一轴与所述第二轴垂直;
在所述待创建场景状态密度图中将各所述第一特征点按照对应的各所述游戏状态数据进行区分标识,得到并展示所述游戏动作对应的场景状态密度图。
12.根据权利要求10所述的方法,其特征在于,所述将所述各第二影响程度进行可视化展示,包括:
根据第二游戏场景下各所述游戏状态数据以及各所述游戏状态数据对应的各第二影响程度,在所述游戏动作的待创建单一场景影响分布图中创建各所述游戏状态数据对应的各第二特征点,所述待创建单一场景影响分布图的第一轴用于表示各所述所述第二影响程度,所述待创建单一场景影响分布图的第二轴用于表示各所述游戏状态数据,所述第一轴与所述第二轴垂直,得到并展示所述游戏动作对应的单一场景影响分布图。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
将各所述第一影响程度进行可视化展示;
所述将各所述第一影响程度进行可视化展示,包括:
根据各所述异常状态数据对所述目标动作的各所述第一影响程度,在所述目标动作对应的待创建瀑布流分析图中创建各所述异常状态数据对应的各特征条,各所述特征条的长度为对应的各所述第一影响程度的数值,所述待创建瀑布流分析图的第一轴用于表示各所述异常状态数据,所述待创建瀑布流分析图的第二轴用于表示所述目标动作的动作数据,所述第一轴与所述第二轴垂直;
在所述待创建瀑布流分析图中将各所述特征条按照对应的各所述第一影响程度进行区分标识,得到并展示所述目标动作对应的瀑布流分析图。
14.一种虚拟对象异常行为的分析装置,其特征在于,所述装置包括:
确定单元,用于响应于所述第一虚拟对象中目标虚拟对象在游戏对局中出现异常游戏行为,确定所述目标虚拟对象对应的目标强化学习模型;
获取单元,用于获取所述目标强化学习模型在游戏对局中生成的状态动作数据,所述状态动作数据包括所述目标虚拟对象在游戏时所执行的游戏动作数据和与执行所述游戏动作相关的游戏状态数据;
运算单元,用于将所述游戏状态数据作为与所述目标强化学习模型关联的代理模型的输入,将所述游戏动作数据作为所述代理模型的输出,运算得到针对所述代理模型的训练结果;
分析单元,用于调用与所述代理模型对应的解释分析方法对所述训练结果进行解释性分析,并将所述解释性分析对应的分析结果作为所述目标强化学习模型的异常分析结果进行输出。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如权利要求1-13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,存储有数据处理程序,该程序被处理器运行,执行如权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310378381.6A CN116510302A (zh) | 2023-04-06 | 2023-04-06 | 虚拟对象异常行为的分析方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310378381.6A CN116510302A (zh) | 2023-04-06 | 2023-04-06 | 虚拟对象异常行为的分析方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116510302A true CN116510302A (zh) | 2023-08-01 |
Family
ID=87407371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310378381.6A Pending CN116510302A (zh) | 2023-04-06 | 2023-04-06 | 虚拟对象异常行为的分析方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116510302A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116808590A (zh) * | 2023-08-25 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
-
2023
- 2023-04-06 CN CN202310378381.6A patent/CN116510302A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116808590A (zh) * | 2023-08-25 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
CN116808590B (zh) * | 2023-08-25 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12053704B2 (en) | Artificial intelligence (AI) model training to generate an AI model personalized to a user | |
Liu et al. | Spatiotemporal attacks for embodied agents | |
US20190122385A1 (en) | Object learning and recognition method and system | |
KR20200031163A (ko) | 신경 네트워크 구조의 생성 방법 및 장치, 전자 기기, 저장 매체 | |
JP2022526513A (ja) | ビデオフレームの情報ラベリング方法、装置、機器及びコンピュータプログラム | |
CN112329948B (zh) | 一种多智能体策略预测方法及装置 | |
US12051233B2 (en) | Method for filtering image feature points and terminal | |
CN115769234A (zh) | 基于模板从2d图像生成3d对象网格 | |
KR20190031318A (ko) | 도메인 분리 뉴럴 네트워크들 | |
CN111026272B (zh) | 虚拟对象行为策略的训练方法及装置、电子设备、存储介质 | |
CN109847366B (zh) | 用于游戏的数据处理方法和装置 | |
CN114139637B (zh) | 多智能体信息融合方法、装置、电子设备及可读存储介质 | |
CN111111204A (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
CN114331829A (zh) | 一种对抗样本生成方法、装置、设备以及可读存储介质 | |
CN114392560B (zh) | 虚拟场景的运行数据处理方法、装置、设备及存储介质 | |
CN111282272B (zh) | 信息处理方法、计算机可读介质及电子设备 | |
CN116510302A (zh) | 虚拟对象异常行为的分析方法、装置及电子设备 | |
CN112905013A (zh) | 智能体控制方法、装置、计算机设备和存储介质 | |
Zhou et al. | Deeptree: Modeling trees with situated latents | |
CN116977661A (zh) | 一种数据处理方法、装置、设备、存储介质及程序产品 | |
KR102110316B1 (ko) | 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치 | |
CN114373034B (zh) | 图像处理方法、装置、设备、存储介质及计算机程序 | |
CN112121439B (zh) | 一种基于强化学习的云游戏引擎智能优化方法及装置 | |
CN113134238A (zh) | 关卡设置方法、装置、计算机设备和存储介质 | |
CN117648585B (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 |