CN114404977A - 行为模型的训练方法、结构扩容模型的训练方法 - Google Patents
行为模型的训练方法、结构扩容模型的训练方法 Download PDFInfo
- Publication number
- CN114404977A CN114404977A CN202210087915.5A CN202210087915A CN114404977A CN 114404977 A CN114404977 A CN 114404977A CN 202210087915 A CN202210087915 A CN 202210087915A CN 114404977 A CN114404977 A CN 114404977A
- Authority
- CN
- China
- Prior art keywords
- model
- behavior
- expansion
- training
- level
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 289
- 238000000034 method Methods 0.000 title claims abstract description 177
- 238000003860 storage Methods 0.000 claims abstract description 27
- 230000006399 behavior Effects 0.000 claims description 948
- 230000000875 corresponding effect Effects 0.000 claims description 174
- 230000001276 controlling effect Effects 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 55
- 238000005070 sampling Methods 0.000 claims description 51
- 239000013598 vector Substances 0.000 claims description 47
- 238000012360 testing method Methods 0.000 claims description 42
- 210000002569 neuron Anatomy 0.000 claims description 40
- 238000005728 strengthening Methods 0.000 claims description 31
- 230000003542 behavioural effect Effects 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001965 increasing effect Effects 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 14
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 230000002596 correlated effect Effects 0.000 claims description 7
- 230000000295 complement effect Effects 0.000 claims description 5
- 238000013140 knowledge distillation Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 69
- 238000013473 artificial intelligence Methods 0.000 description 41
- 241000282414 Homo sapiens Species 0.000 description 39
- 230000002787 reinforcement Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 32
- 230000001976 improved effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 20
- 230000009471 action Effects 0.000 description 16
- 238000013507 mapping Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 8
- 238000010845 search algorithm Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000002349 favourable effect Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000008093 supporting effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 241000892865 Heros Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种行为模型的训练方法、结构扩容模型的训练方法、基于行为模型控制第一对象的方法、装置、电子设备及存储介质,属于计算机技术领域。该方法包括:通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息;获取与该模型结构信息相匹配的初始行为模型;对该初始行为模型进行训练,得到该行为模型,该行为模型控制该第一对象所执行行为的操作水平符合预期水平,且该预期水平高于该待扩容模型控制该第一对象所执行行为的操作水平。本申请利用结构扩容模型在低等级的行为模型基础上扩容得到高等级的行为模型,有利于逐级分层构建对应于不同操作水平的一系列行为模型。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种行为模型的训练方法、结构扩容模型的训练方法、基于行为模型控制第一对象的方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展和终端功能的多样化,能够在终端上进行的游戏种类越来越丰富,在游戏应用中涉及到一种不受玩家控制的、具有一定智能性的AI(ArtificialIntelligence,人工智能)对象,比如,AI对象是游戏中的智能NPC(Non-Player Character,非玩家角色),能够面对不同的玩家做出人性化的响应,又比如,AI对象是游戏中的陪玩AI(AI Companion),能够陪伴玩家控制的虚拟对象一起进行对局。目前,如何针对游戏领域中的AI对象,设计其行为模型逐渐成为一项研究热点。
发明内容
本申请实施例提供了一种行为模型的训练方法、结构扩容模型的训练方法、基于行为模型控制第一对象的方法、装置、电子设备及存储介质,能够利用结构扩容模型在低等级的行为模型基础上扩容得到高等级的行为模型,有利于逐级分层构建对应于不同操作水平的一系列行为模型。该技术方案如下:
一方面,提供了一种行为模型的训练方法,所述方法包括:
通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,所述待扩容模型用于控制虚拟场景中的第一对象的行为;
获取与所述模型结构信息相匹配的初始行为模型;
对所述初始行为模型进行训练,得到所述行为模型,所述行为模型控制所述第一对象所执行行为的操作水平符合预期水平,且所述预期水平高于所述待扩容模型控制所述第一对象所执行行为的操作水平。
一方面,提供了一种结构扩容模型的训练方法,所述方法包括:
通过结构扩容模型,获取模型结构信息,所述模型结构信息用于表征行为模型的模型结构,所述行为模型用于控制虚拟场景中的第一对象的行为;
基于权重继承模型,获取与所述模型结构信息相匹配的行为模型,所述权重继承模型用于提供具有不同模型结构的行为模型的模型参数;
以所述结构扩容模型为智能体、所述权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述强化训练的强化信号为所述行为模型的性能参数,所述性能参数用于表征所述行为模型控制所述第一对象所执行行为的操作水平。
一方面,提供了一种基于行为模型控制第一对象的方法,所述方法包括:
响应于目标账号的开局请求,获取所述目标账号的操作水平信息;
确定与所述操作水平信息对应的行为模型,其中,所述行为模型基于初始行为模型训练得到,所述初始行为模型的结构信息由经过强化训练的结构控制模型预测得到;
在基于所述开局请求开启的目标对局中,基于所述行为模型控制所述目标对局中第一对象的行为,其中,所述行为模型控制所述第一对象所执行行为的操作水平与所述目标账号的操作水平信息相匹配。
一方面,提供了一种行为模型的训练装置,所述装置包括:
扩容模块,用于通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,所述待扩容模型用于控制虚拟场景中的第一对象的行为;
获取模块,用于获取与所述模型结构信息相匹配的初始行为模型;
训练模块,用于对所述初始行为模型进行训练,得到所述行为模型,所述行为模型控制所述第一对象所执行行为的操作水平符合预期水平,且所述预期水平高于所述待扩容模型控制所述第一对象所执行行为的操作水平。
在一种可能实施方式中,所述扩容模块包括:
预测单元,用于将所述待扩容模型对应的信息输入所述结构扩容模型,通过所述结构扩容模型预测对所述待扩容模型的扩容策略信息,所述扩容策略信息用于表征是否对所述待扩容模型中的每个隐藏层进行扩容;
扩容单元,用于基于所述扩容策略信息,对所述待扩容模型的模型结构进行扩容,得到所述模型结构信息。
在一种可能实施方式中,所述结构扩容模型为循环神经网络RNN,所述RNN包括一个或多个循环模块,每个所述循环模块用于预测对所述待扩容模型中的一个隐藏层的层级扩容策略;
所述预测单元包括:
确定子单元,用于基于所述待扩容模型对应的信息,确定所述RNN所包含的循环模块的数量,其中,所述待扩容模型对应的信息用于指示所述待扩容模型包含的隐藏层层数;
编码子单元,用于对每个循环模块,通过所述循环模块对上一个循环模块的输出信号进行编码,输出对所述待扩容模型中对应隐藏层的层级扩容策略,所述层级扩容策略用于指示是否对所述对应隐藏层进行扩容以及如何进行扩容;
获取子单元,用于将各个循环模块输出的所述层级扩容策略获取为所述扩容策略信息。
在一种可能实施方式中,所述第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,所述行为模型的等级与所述第一对象的操作水平呈正相关;
在所述行为模型对应于等级N的情况下,所述待扩容模型为等级N-1的行为模型,其中,N为大于或等于2的整数。
在一种可能实施方式中,所述RNN中的每个所述循环模块包括:第一循环单元、第二循环单元或者第三循环单元中至少一项;
所述第一循环单元用于预测深度扩容参数,所述深度扩容参数表征是否在所述待扩容模型中与所述循环模块对应的隐藏层后增加隐藏层;所述第二循环单元用于预测宽度扩容参数,所述宽度扩容参数表征是否对所述待扩容模型中与所述循环模块对应的隐藏层增加神经元个数;所述第三循环单元用于预测卷积核扩容参数,所述卷积核扩容参数表征是否对所述待扩容模型中与所述循环模块对应的隐藏层扩大卷积核尺寸。
在一种可能实施方式中,所述RNN中的每个所述循环模块均包括所述第一循环单元、所述第二循环单元和所述第三循环单元。
在一种可能实施方式中,所述编码子单元用于:
将所述输出信号输入所述第一循环单元,输出第一隐向量和基于所述第一隐向量确定得到的所述深度扩容参数;
将所述第一隐向量和所述深度扩容参数输入所述第二循环单元,输出第二隐向量和基于所述第二隐向量确定得到的所述宽度扩容参数;
将所述第二隐向量和所述宽度扩容参数输入所述第三循环单元,输出第三隐向量和基于所述第三隐向量确定得到的所述卷积核扩容参数;
将所述深度扩容参数、所述宽度扩容参数和所述卷积核扩容参数,获取为所述循环模块所对应隐藏层的层级扩容策略。
在一种可能实施方式中,所述训练模块包括:
强化训练单元,用于以所述结构扩容模型为智能体、权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数,所述强化训练的强化信号为所述初始行为模型的性能参数,所述性能参数用于表征所述初始行为模型控制所述第一对象所执行行为的操作水平;
获取单元,用于在所述性能参数符合所述预期水平时,对所述结构扩容模型停止训练,基于所述权重继承模型和训练完毕的结构扩容模型,获取所述行为模型。
在一种可能实施方式中,所述结构扩容模型的损失函数值基于所述性能参数和所述模型结构信息的信息熵确定得到。
在一种可能实施方式中,所述装置还包括性能评估模块,用于:
在验证数据集上对所述初始行为模型进行性能评估,得到所述初始行为模型的性能参数;或,
基于所述初始行为模型,控制所述第一对象在多个测试对局中执行对应的行为,基于所述第一对象在所述多个测试对局中的胜率,确定所述初始行为模型的性能参数。
在一种可能实施方式中,所述获取模块包括:
采样训练单元,用于从权重继承模型中,基于所述模型结构信息,采样得到与所述模型结构信息匹配的子模型,基于所述子模型训练得到所述初始行为模型;或,
采样单元,用于从权重继承模型中,基于所述模型结构信息,采样得到与所述模型结构信息匹配的所述初始行为模型;
其中,所述权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数。
在一种可能实施方式中,所述采样训练单元包括:
训练子单元,用于以所述权重继承模型为教师模型、所述子模型为学生模型,以知识蒸馏的方式,在训练数据集上对所述子模型进行训练,得到所述初始行为模型。
在一种可能实施方式中,所述第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,所述行为模型的等级与所述第一对象的操作水平呈正相关;
在所述行为模型对应于等级N的情况下,所述训练子单元还用于:
从所述子模型的模型参数所构成的集合中,确定第一子集和第二子集,所述第一子集为所述集合中等级小于N的各个行为模型的模型参数所构成的子集,所述第二子集为所述集合中所述第一子集的补集;
在训练所述子模型时,仅调整所述第二子集中所包含的模型参数。
在一种可能实施方式中,在所述扩容模块中所述结构扩容模型批量输出多个模型结构信息的情况下,基于所述获取模块批量获取所述多个模型结构信息各自对应的多个初始行为模型。
一方面,提供了一种结构扩容模型的训练装置,所述装置包括:
第一获取模块,用于通过结构扩容模型,获取模型结构信息,所述模型结构信息用于表征行为模型的模型结构,所述行为模型用于控制虚拟场景中的第一对象的行为;
第二获取模块,用于基于权重继承模型,获取与所述模型结构信息相匹配的行为模型,所述权重继承模型用于提供具有不同模型结构的行为模型的模型参数;
强化训练模块,用于以所述结构扩容模型为智能体、所述权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述强化训练的强化信号为所述行为模型的性能参数,所述性能参数用于表征所述行为模型控制所述第一对象所执行行为的操作水平。
在一种可能实施方式中,所述结构扩容模型的损失函数值基于所述性能参数和所述模型结构信息的信息熵确定得到。
在一种可能实施方式中,所述装置还包括性能评估模块,用于:
在验证数据集上对所述行为模型进行性能评估,得到所述行为模型的性能参数;或,
基于所述行为模型,控制所述第一对象在多个测试对局中执行对应的行为,基于所述第一对象在所述多个测试对局中的胜率,确定所述行为模型的性能参数。
一方面,提供了一种基于行为模型控制第一对象的装置,所述装置包括:
获取模块,用于响应于目标账号的开局请求,获取所述目标账号的操作水平信息;
确定模块,用于确定与所述操作水平信息对应的行为模型,其中,所述行为模型基于初始行为模型训练得到,所述初始行为模型的结构信息由经过强化训练的结构控制模型预测得到;
控制模块,用于在基于所述开局请求开启的目标对局中,基于所述行为模型控制所述目标对局中第一对象的行为,其中,所述行为模型控制所述第一对象所执行行为的操作水平与所述目标账号的操作水平信息相匹配。
一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得电子设备能够执行上述行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过利用结构扩容模型,在待扩容模型的模型结构的基础上,预测对其扩容得到的行为模型的模型结构信息,并基于模型结构信息来确定与其匹配的初始行为模型,进而训练得到行为模型,即,使得结构扩容模型预测模型结构后,随着模型结构的扩容,训练所得行为模型控制第一对象所执行行为的操作水平也随之提升,有利于逐级分层构建对应于不同操作水平的一系列行为模型。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种行为模型的训练方法的实施环境示意图;
图2是本申请实施例提供的一种行为模型能力分层设计的原理性示意图;
图3是本申请实施例提供的一种行为模型的训练方法的流程图;
图4是本申请实施例提供的一种行为模型的训练方法的流程图;
图5是本申请实施例提供的一种基于RNN获取模型结构信息的流程图;
图6是本申请实施例提供的一种结构扩容模型的原理性示意图;
图7是本申请实施例提供的一种子模型的训练方式的流程图;
图8是本申请实施例提供的一种批量训练子模型的方式的原理图;
图9是本申请实施例提供的一种基于动态增长的能力分层模型构建的原理性示意图;
图10是本申请实施例提供的一种基于行为模型控制第一对象的方法的流程图;
图11是本申请实施例提供的一种行为模型的训练装置的结构示意图;
图12是本申请实施例提供的一种结构扩容模型的训练装置的结构示意图;
图13是本申请实施例提供的一种基于行为模型控制第一对象的装置的结构示意图;
图14是本申请实施例提供的一种电子设备的结构示意图;
图15是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
本申请中术语“包括A或B中至少一项”涉及如下几种情况:仅包括A,仅包括B,以及包括A和B两者。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术、机器学习/深度学习、自动驾驶以及智慧交通等几大方向。
让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中,机器学习(Machine Learning,ML)是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习和深度学习通常包括强化学习、人工神经网络、置信网络、迁移学习、归纳学习、示教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的电子游戏、智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习技术,具体涉及到强化学习(Reinforcement Learning,RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(Agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
强化学习的经典模型是标准的马尔可夫决策过程(Markov Decision Process,MDP)。按给定条件,强化学习可分为基于模式的强化学习(Model-Based RL)和无模式强化学习(Model-Free RL),以及主动强化学习(Active RL)和被动强化学习(Passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(Value Function)算法两类。可选地,深度学习模型可以在强化学习中得到使用,形成深度强化学习。
强化学习理论受到行为主义心理学启发,侧重在线学习并试图在探索-利用(Exploration-Exploitation)间保持平衡。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。强化学习问题在信息论、博弈论、自动控制等领域有得到讨论,被用于解释有限理性条件下的平衡态、设计推荐系统和机器人交互系统。一些复杂的强化学习算法在一定程度上具备解决复杂问题的通用智能,可以在围棋和电子游戏中达到人类水平。
在本申请实施例中,采用强化学习的方式来训练得到AI对象的行为模型,该行为模型用于在游戏应用或者其他涉及虚拟场景的应用中控制AI对象的行为,该AI对象是指虚拟场景中不受用户人为控制的对象,使得AI对象能够面对不同用户、不同事件做出人性化的响应,以充当虚拟场景中的智能NPC,又或者,AI对象在投放到虚拟场景中之后,陪伴用户一起进行对局,比如对用户控制的虚拟对象进行对抗或者协作,以充当虚拟场景中的陪玩AI,上述陪玩AI可适用于游戏测试场景、人机模式场景、游戏对局场景等,本申请实施例对此不进行具体限定。
以下,对本申请实施例涉及的术语进行解释说明。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景对战,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,当虚拟场景为三维虚拟场景时,可选地,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。可选地,该虚拟对象包括:通过客户端上的操作进行控制的玩家角色,设置在虚拟场景互动中的NPC对象,以及通过训练好的行为模型进行控制的AI对象,本申请实施例对虚拟场景中虚拟对象的类型不进行具体限定。
第一对象:本申请实施例涉及的第一对象是指虚拟场景中受行为模型控制的AI对象,即,第一对象是不受用户人为控制、并由终端上预先训练好的行为模型来进行控制的虚拟对象,其中,该行为模型可由服务器侧基于本申请实施例涉及的方法进行训练,并在训练完毕后将该行为模型下发到终端。
在一个示例性场景中,第一对象是MOBA(Multiplayer Online Battle Arena,多人在线战术竞技)类游戏或射击类游戏的客户端中置于虚拟场景内的陪玩AI,即,行为模型控制的第一对象能够与玩家控制的虚拟对象(即第二对象)一起参与到游戏对局中,例如第一对象与第二对象互为对抗关系,或者第一对象与第二对象互为协作关系。
在一个示例性场景中,第一对象是在MMORPG(Massive Multiplayer OnlineRole-Playing Game,大型多人在线角色扮演游戏)类游戏的客户端中置于虚拟场景的NPC对象,玩家控制的虚拟对象(即第二对象)能够与第一对象进行对话、动作交互、对抗等形式的互动,且还支持第一对象向玩家控制的虚拟对象进行任务指引、发布隐藏任务、开启支线剧情等,由于第一对象并非是基于传统的设定规则响应逻辑,因此不会对所有玩家都做出千篇一律的响应,第一对象的行为受行为模型控制从而具有一定智能性,比如第一对象支持基于玩家的不同以及具体事件的不同做出人性化的响应,能够大幅提升NPC对象的智能度,有利于提供沉浸式游戏体验。
第二对象:本申请实施例涉及的第二对象是指虚拟场景中不受行为模型控制的虚拟对象,即,第二对象是受用户人为控制的虚拟对象,例如,该第二对象是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的第二对象的数量是预先设置的,或者,该虚拟场景中参与互动的第二对象的数量是根据加入对局的客户端的数量动态确定的。示意性地,该第二对象是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。
以下,对本申请实施例的系统架构进行说明。
图1是本申请实施例提供的一种行为模型的训练方法的实施环境示意图。参见图1,该实施环境包括:终端120和服务器140,终端120和服务器140均为电子设备的示例性说明。
终端120安装和运行有支持虚拟场景的应用程序。可选地,该应用程序包括:MOBA游戏、MMORPG游戏、FPS(First-Person Shooting,第一人称射击)游戏、第三人称射击游戏、虚拟现实应用程序、三维地图程序、多人器械类生存游戏、跑酷类游戏、竞速类游戏或者卡牌类游戏的任意一种。在一些实施例中,终端120是用户使用的终端,当终端120运行该应用程序时,终端120的屏幕上显示应用程序的用户界面,并基于用户在用户界面中的开局操作,在应用程序中加载并显示虚拟场景,用户使用终端120操作位于虚拟场景中的第二对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷、对抗中的至少一种。示意性的,第二对象是用户选择使用的虚拟人物,比如仿真人物角色或动漫人物角色。
终端120能够通过无线网络或有线网络与服务器140进行直接或间接地通信连接。
服务器140包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140承担主要计算工作,终端120承担次要计算工作;或者,服务器140承担次要计算工作,终端120承担主要计算工作;或者,服务器140和终端120两者之间采用分布式计算架构进行协同计算。
可选地,服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,服务器140还用于训练第一对象的行为模型,以通过该行为模型来控制虚拟场景中第一对象的行为,第一对象是指不受用户控制的AI对象。示意性地,按照第一对象所执行行为的操作水平,将第一对象的行为模型划分成多个等级,其中,行为模型的等级与第一对象受行为模型控制所执行行为的操作水平呈正相关,即,等级越高的行为模型,控制第一对象所执行行为的操作水平越高,反之,等级越低的行为模型,控制第一对象所执行行为的操作水平越低。由于在游戏对局中,通常会安排操作水平实力相当的对象匹配到一起进行互动,而不同玩家对应账号所操控的第二对象的操作水平参差不齐,在游戏应用中通常会对玩家按照历史对局中的操作评分、总体胜率、单局贡献度等数据,将玩家的账号划分对应的段位,比如,按照操作水平从高到低,划分为:段位Ⅰ、段位Ⅱ、段位Ⅲ等,当处于段位Ⅲ的账号检测到其操作水平提升时,能够从段位Ⅲ晋级到段位Ⅱ。在匹配机制中,为了给不同段位的玩家带来更好的游戏体验,也需要训练具有不同操作水平的一系列行为模型,比如,分别训练等级Ⅰ、等级Ⅱ、等级Ⅲ的行为模型,使得等级Ⅲ的行为模型控制第一对象所执行行为的操作水平,与段位Ⅲ的账号所对应玩家控制第二对象所执行行为的操作水平相匹配。
示意性地,在MOBA游戏中涉及到按照账号的段位进行匹配对局的机制,即,尽量保证账号的段位相同或者接近的账号分配到同一对局中,避免对局出现碾压式的情况,账号的段位用于表征账号所对应用户在终端上控制的第二对象所执行的行为的操作水平。有鉴于此,如果以第一对象作为陪玩AI,为了满足在不同段位下的陪玩需求,需要训练得到一系列不同等级的行为模型。接着,服务器140将这一系列不同等级的行为模型嵌入到MOBA游戏的客户端的SDK(Software Development Kit,软件开发工具包)中,使得终端120在安装客户端的同时也会加载这一系列不同等级的行为模型到本地,即,服务器140将这一系列不同等级的行为模型下发到终端120,使得终端120在开启人机模式、排位模式或者匹配模式等不同对局模式时,在当前对局中可针对用户控制的第二对象精准投放陪玩的第一对象,比如,基于用户在客户端上所登录账号的段位,选择与该段位对应等级的行为模型来控制该第一对象,使得第一对象和第二对象的操作水平能够进行适配,从而提升第一对象的仿真程度,提升用户的游戏体验。
可选地,行为模型控制的第一对象和终端120控制的第二对象处于同一虚拟场景中,第一对象能够与第二对象在虚拟场景中进行互动,比如,第一对象和第二对象为敌对关系,如第一对象和第二对象属于不同的阵营,敌对关系的虚拟对象之间能够进行对抗,比如使用虚拟道具和虚拟技能实现对抗,以降低或减少对方的虚拟生命值;又比如,第一对象和第二对象为队友关系,如第一对象和第二对象属于同一个阵营、同一个队伍、具有好友关系或者具有临时性的通讯权限。
示意性地,在游戏测试场景中,为了节约人力成本,通常会由AI对象即第一对象来模拟真实玩家操作,以实现游戏开发中对客户端某些性能、版本、玩法、功能等的测试,再根据第一对象的模拟结果来生成测试报告。在游戏测试过程中,通过行为模型来预测第一对象在虚拟场景中一局游戏内各个时刻下的行为(也称为动作,比如对按键的触发、在虚拟场景中的移动等),基于预测得到的第一对象在每一帧的行为生成对应的游戏画面,最后对生成的一系列游戏画面进行分析,比如,通过游戏画面来反馈游戏中某个障碍没通过,或者游戏中某个野怪未被打死等,汇总分析结果能够生成游戏测试信息,并通过获取到的游戏测试信息来调整游戏策略,比如调整游戏的关卡难易程度、野怪血量、野怪个数等,因此,通过第一对象来模拟第二对象完成游戏测试,能够节约游戏测试过程的人力成本,并且能够遍历更多的对局场景来选择更优的游戏策略,有利于提示游戏测试的稳定性以及准确度。
终端120的设备类型包括:智能手机、平板电脑、智能音箱、智能手表、智能掌机、便携式游戏设备、车载终端、膝上型便携计算机和台式计算机中的至少一种,但并不局限于此。例如,终端120是智能手机,或者其他手持便携式游戏设备。以下实施例,以终端120包括智能手机来举例说明。
本领域技术人员能够知晓,上述终端的数量为更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端120的数量和设备类型不加以限定。
以下,结合上述系统结构,对本申请实施例的技术构思进行介绍。
本申请实施例基于强化学习技术,由服务器140来训练得到一系列对应于不同等级的行为模型,该行为模型用于控制虚拟场景中第一对象的行为,不同等级的行为模型控制该第一对象所执行的行为的操作水平不同,这种按照操作水平来对行为模型及第一对象进行分级的方式,使得行为模型不仅能够预测作为陪玩AI的第一对象的对局行为,且行为模型预测第一对象做出的对局行为还能够与不同能力水平段的人类玩家用户进行能力动态适配,或者说,行为模型预测第一对象做出的对局行为还能够与具有不同段位的游戏账号进行能力动态适配。
需要说明的是,上述对局行为也称为游戏行为、游戏动作、游戏操作、对局操作等名称,是指第一对象在游戏对局中所执行的任一行为,包括但不限于:采用技巧才能执行的技巧行为(如不同英雄的技能连招)、常规的位移行为(如控制英雄在场景中发生位移,俗称走位)、对虚拟按键的触发行为(如使用英雄装配的专有技能、或者使用携带的通用技能)等,本申请实施例对此不进行具体限定。
通过服务器140训练得到一系列对应于不同等级的行为模型,能够在陪伴真实人类玩家控制的第二对象进行游戏对局时,可实时、灵活选择与真实人类玩家的当前能力水平相匹配的行为模型,例如,按照真实人类玩家所登录账号的段位来选择对应等级的行为模型,以选择得到的行为模型来预测作为陪玩AI的第一对象的对局行为,从而基于预测得到的对局行为来控制第一对象执行相应地对局行为,能够更好地满足人类玩家的陪玩需求,提高游戏的用户粘度。
在一些实施例中,行为模型的训练过程和应用过程都部署在服务器侧,即,终端无需加载行为模型,而是由服务器远端对行为模型训练完毕后,用户在终端开局之后也无需计算第一对象的对局行为,而是由服务器调用行为模型来预测出第一对象的对局行为之后,基于帧同步技术将第一对象的对局行为同步至参与游戏对局的各个终端,从而能够节约终端的存储开销。
在一些实施例中,行为模型的训练过程部署在服务器侧,应用过程部署在终端侧,即,服务器远端对行为模型训练完毕后,向每个终端下发所有等级的行为模型,或者向每个终端仅下发所登录账号对应等级的行为模型,从而用户在终端开局之后,由终端本地计算第一对象的对局行为,并控制第一对象来与第二对象在虚拟场景中进行互动,从而能够节约终端与服务器的通信开销。
在一些实施例中,行为模型的训练过程和应用过程都部署在终端侧,即终端本地训练行为模型并应用行为模型来进行陪玩,与训练过程和应用过程均部署在服务器侧类似,这里不做赘述。
由于存在上述训练每个等级各自对应的行为模型的需求,一方面,如果按照传统的方式,对每种等级单独设计模型结构并训练行为模型,会使得训练得到的多个行为模型的模型参数所占用的数据量成倍增长,即行为模型的存储开销很大,难以部署在客户端即终端侧,另一方面,如果考虑到节约存储开销,仅训练一个行为模型,又无法适配对不同能力水平的真实人类玩家的陪玩需求,有鉴于此,如何自动化设计并训练一个单一的模型结构,使其能够适配于不同能力水平的真实人类玩家的陪玩需求,逐渐成为一个亟需解决的技术难题。
在本申请实施例中涉及一种行为模型的训练方法以及结构扩容模型的训练方法,其对用于控制第一对象行为的行为模型的训练策略,一方面,能够随着第一对象行为的操作水平的提升,逐渐增大模型容量(即模型参数占用的数据量),训练得到更高等级的行为模型,从而提升受该行为模型所控制的第一对象的实际对局能力,比如,在低等级的行为模型训练完毕后,在训练高等级的行为模型时,冻结低等级的行为模型的模型参数,以在训练高等级的行为模型的过程中复用低等级的行为模型的模型参数,且还能够充分保证低等级的行为模型的性能不受高等级的行为模型的训练过程所影响,提高了多个行为模型训练时的参数利用效率;另一方面,在每一等级的行为模型的训练过程中,利用强化学习的思想,将针对行为模型的模型结构的设计过程建模为一个马尔科夫决策过程,并采用强化学习的方式实现模型结构的自动搜索。
图2是本申请实施例提供的一种行为模型能力分层设计的原理性示意图,本申请实施例对行为模型的训练策略的构思包括:利用单一的行为模型来支持覆盖针对多种不同操作水平的第一对象的行为控制,如图2所示,以行为模型为神经网络为例,通过单一的神经网络200,以使得这一神经网络200能够覆盖到3个等级下的行为模型201~203,其中,等级A的行为模型201用于控制第一对象执行与等级A相匹配的操作水平的行为,等级B的行为模型202用于控制第一对象执行与等级B相匹配的操作水平的行为,等级C的行为模型203用于控制第一对象执行与等级C相匹配的操作水平的行为,其中,等级A小于等级B,等级B小于等级C,能够看出,随着第一对象的行为操作水平提升,行为模型对应的等级也随之提升,同时行为模型的模型结构也变得更加复杂,行为模型的模型参数所占用的数据量也随之增大。
在一些实施例中,针对图2所示意的训练策略的构思原理,提供一种动态增长的行为模型结构自动搜索方法,能够通过动态增长的方式,使得随着行为模型的等级提升,在低等级的行为模型的基础上逐渐扩大模型容量,以得到高等级的行为模型,同时通过行为模型结构自动搜索技术,以自动化地为每个等级下的行为模型确定性能最优的模型结构,能够帮助技术人员减少对模型结构的试错成本,由机器(如电子设备)自动辅助技术人员设计出性能优异的行为模型,以提高开发效率和训练效率。此外,由于高等级的行为模型本身是从低等级的行为模型上扩展而来的,并且在高等级的行为模型的训练过程中,通过冻结低等级的行为模型的模型参数,能够保证训练所得到的高等级的行为模型,同时覆盖了原本的低等级的行为模型,且不会对低等级的行为模型造成性能损失,因此,通过将多个等级的行为模型融合为一,大大减少了总体模型参数占用的数据量,降低了在客户端的部署成本,有利于在终端侧的手机游戏上进行广泛应用和推广。
下面,将结合上述技术构思,以单一等级下的行为模型的训练过程为例,简单介绍电子设备如何基于初始行为模型训练得到当前等级下的行为模型。
图3是本申请实施例提供的一种行为模型的训练方法的流程图。参见图3,该实施例由电子设备执行,该电子设备包括上述终端或服务器中至少一项,以下实施例中,均以电子设备为服务器为例进行说明,该实施例包括下述步骤:
301、服务器通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,该待扩容模型用于控制虚拟场景中的第一对象的行为。
其中,该模型结构信息用于表征对应行为模型的模型结构。
其中,该结构扩容模型用于基于待扩容模型的模型结构,预测对该待扩容模型进行扩容所得的行为模型的模型结构,需要说明的是,结构扩容模型仅输出一个给定的模型结构,但此时并没有获取到基于该模型结构所对应行为模型的模型参数,换言之,由于模型结构可视为行为模型的超参数,相当于结构库容模型是基于待扩容模型预测对其扩容得到的行为模型的超参数,但此时并没有拿到行为模型的模型参数。
服务器包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器用于为支持虚拟场景的应用程序提供后台服务,应用程序包括:MOBA游戏、MMORPG游戏、FPS游戏、第三人称射击游戏、虚拟现实应用程序、三维地图程序、多人器械类生存游戏、跑酷类游戏、竞速类游戏或者卡牌类游戏的任意一种。
第一对象是指虚拟场景中受行为模型控制的AI对象,即,第一对象是不受用户人为控制、并由行为模型来进行控制的虚拟对象。示意性地,通过第一行为模型能够控制该第一对象的虚拟场景中的行为。
示意性地,第一行为模型对第一对象的行为控制逻辑包括:针对任一游戏对局,通过该第一行为模型预测出该第一对象从游戏对局的开局时刻开始,在游戏画面的每一帧所执行的对局行为,即,第一行为模型对游戏对局从开局时刻到结束时刻的每一帧各自输出一个对局行为,这些对局行为构成了一个行为序列,接着,控制第一对象按照该行为序列在虚拟场景中执行对应的动作,比如,在行为序列的指导下,第一对象在游戏对局的第1帧使用技能1,在第2帧使用技能2等等。
在一些实施例中,该结构扩容模型基于强化学习的策略搜索算法,在待扩容模型的模型结构基础上进行扩容,以生成该行为模型的模型结构信息,即,服务器获取该行为模型的模型结构信息的过程,相当于执行该策略搜索算法中的一次搜索,以对模型结构的搜索结果作为该行为模型的模型结构信息,以指示本次待评估的行为模型应当具备何种模型结构。
可选地,以行为模型为神经网络为例进行说明,基于该策略搜索算法搜索得到一种可能的神经网络对应的模型结构信息,该模型结构信息至少能够指示该行为模型即神经网络所包含的隐藏层的层数以及每个隐藏层所具有的神经元个数,可选地,如果设计的隐藏层是一个卷积层,那么该模型结构信息还需要指示卷积层所使用的卷积核尺寸,可选地,如果涉及的隐藏层不是卷积层,那么该模型结构信息则无需包含卷积核尺寸,本申请实施例不对模型结构信息是否包含卷积核尺寸进行具体限定。
302、服务器获取与该模型结构信息相匹配的初始行为模型。
在一些实施例中,服务器基于该模型结构信息,基于权重继承模型获取得到模型结构与该模型结构信息相匹配的初始行为模型,其中,该权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数。
可选地,该权重继承模型能够支持覆盖多种不同等级的行为模型,即,对于任一操作水平的第一对象,均能够从权重继承模型中采样得到一个对应等级的子模型,使得这一子模型控制第一对象所执行行为的操作水平与该对应等级相匹配,也就代表了权重继承模型能够提供具有不同模型结构的初始行为模型的模型参数。换一种表述,不管是哪种等级下的行为模型、不管对每种等级下的行为模型设计了哪种模型结构,权重继承模型均能够提供一个与所需等级以及所指定模型结构相对应的子模型,以便于对该子模型进行性能评估,来判别这一子模型是否具有最优的模型结构。示意性地,当采用神经网络作为行为模型时,该权重继承模型可视为一个超网络,对于任一指定等级下、任一指定模型结构信息的行为模型,均能够从超网络中提取到一个子网络,使得子网络的网络结构与指定的模型结构信息相匹配。
可选地,服务器基于该模型结构信息,在权重继承模型上进行采样,将采样得到的子模型直接获取为初始行为模型,这样相当于直接在权重继承模型上采样得到初始行为模型,能够简化获取初始行为模型的流程,提高获取初始行为模型的效率。
可选地,服务器基于该模型结构信息,在权重继承模型上进行采样,对采样得到的子模型进行训练,将子模型训练得到的模型获取为初始行为模型,从而能够对权重继承模型上采样得到的子模型训练得到初始行为模型,能够使得初始行为模型具有更优的模型性能,便于迭代寻找到性能更优的行为模型。
在一些实施例中,服务器基于该行为模型的模型结构信息,确定该行为模型的模型结构,比如,确定该行为模型所包含的隐藏层的层数n(n≥1)以及每个隐藏层所具有的神经元个数{m1,m2,…,mn},可选地,当模型结构信息中对任一隐藏层指定了卷积核尺寸时,代表对应隐藏层是一个卷积层。接着,基于该行为模型的模型结构,基于权重继承模型,获取具有该模型结构的初始行为模型的模型参数,比如,从超网络中采样得到n个隐藏层,并且对第1个隐藏层采样m1个神经元,对第2个隐藏层采样m2个神经元,以此类推,直到对第n个隐藏层采样mn个神经元,此时由于采样次数等于n,采样完毕,当然,对每个隐藏层如果模型结构信息中指定了卷积核尺寸,则还需要从超网络中采样得到与该卷积核尺寸相匹配的卷积核,比如,指定第n个隐藏层的卷积核尺寸为3×3,那么在服务器需要对第n个隐藏层,采样mn个神经元,并且对每个神经元进一步的采样一个3×3的卷积核(即指一个尺寸为3×3的权重矩阵),在对所有的n个隐藏层均采样完毕后,能够得到一个子网络的模型参数,可选地,将这一采样得到的子网络的模型参数确定为初始行为模型,或者,对这一采样得到的子模型的模型参数进行训练,得到该初始行为模型。
在一个示例性场景中,如果权重继承模型是已经充分训练完毕的,那么采样得到的子模型就是初始行为模型,进入下述步骤303;如果权重继承模型仅仅是一个预训练好的模型,那么可在采样得到的子模型的基础上再次进行微调(相当于再训练一次),最终将训练完毕的子模型作为初始行为模型,进入下述步骤303。
303、服务器对该初始行为模型进行训练,得到该行为模型,该行为模型控制该第一对象所执行行为的操作水平符合预期水平,且该预期水平高于该待扩容模型控制该第一对象所执行行为的操作水平。
在一些实施例中,服务器对初始行为模型的训练过程,是指对结构扩容模型的强化训练过程,在强化训练过程中,以结构扩容模型为智能体、权重继承模型为环境,并以初始行为模型的性能参数为强化训练的强化信号,其中,该性能参数用于表征该初始行为模型控制第一对象所执行行为的操作水平。
在强化训练的每一次迭代中,相当于策略搜索算法中的一次针对行为模型的模型结构的搜索,每次搜索输出行为模型一种可能的模型结构信息,基于该模型结构信息,从权重继承模型中采样得到(或者采样后训练得到)一种可能的初始行为模型,每次获取到的初始行为模型与结构扩容模型输出的模型结构信息相匹配,接着,获取该初始行为模型的性能参数,判断该性能参数是否符合预期水平。
在一些实施例中,服务器在获取到第二对象的样本数据(如游戏对局数据、游戏录屏数据)所构成的样本数据集之后,从该样本集中划分出一个训练数据集和一个验证数据集,比如,将样本数据集70%的样本数据作为训练数据集,将样本数据集剩余的30%样本数据作为验证数据集,本申请实施例不对训练数据集和验证数据集的划分方式进行具体限定。
接着,如果上述步骤302需要对采样得到的子模型训练得到初始行为模型,则利用划分出的训练数据集对上述步骤302采样得到的子模型进行训练,得到初始行为模型,或者,如果上述步骤302是直接从权重继承模型采样得到初始行为模型,则利用划分出的训练数据集对总体的权重继承模型进行训练。
接着,在强化训练的每一轮迭代中,由于结构扩容模型即智能体会输出一个模型结构信息,从而使得权重继承模型即环境会产生一个与该模型结构信息对应的状态,即,找到一个与模型结构信息对应的初始行为模型,然后需要产生一个强化信号,即获取初始行为模型的性能参数。
可选地,在获取该性能参数时,可使用直接将该初始行为模型在验证数据集上进行性能评估的方式,或者,还可使用该初始行为模型在游戏应用中开启多个测试对局,基于该初始行为模型控制的第一对象在该多个测试对局中的胜率,确定该初始行为模型的胜率是否和预期水平的胜率相符,从而来产生一个性能参数,本申请实施例不对性能参数的获取方式进行具体限定。
在一些实施例中,将该初始行为模型在验证数据集进行性能评估,比如,将验证数据集中的测试数据输入初始行为模型,通过初始行为模型预测第一对象在测试对局中每一帧的行为序列,通过第一对象的行为序列与第二对象真实执行的行为序列进行对比,能够得到初始行为模型的性能参数,该性能参数用于反映初始行为模型预测的第一对象的行为序列与第二对象真实执行的行为序列之间的差异程度,从而进一步的反映出了初始行为模型控制的第一对象的仿真程度(即拟人程度、逼真程度、智能程度),也即反映出了初始行为模型的性能优劣,该性能参数相当于是对初始行为模型的模型性能的一个评估信号(即强化训练的强化信号)。
示意性地,基于初始行为模型输出的行为序列和验证数据集中第二对象真实执行的行为序列,获取第一对象的按键准确率,该按键准确率用于表征对第一对象的预测行为命中第二对象真实执行的行为的概率。其中,第二对象是指虚拟场景中不受行为模型控制的虚拟对象,也即第二对象是受用户人为控制的虚拟对象。
需要说明的是,只需要采集该等级所匹配段位的账号的样本数据,即能够代表该等级所对应能力水平段的真实人类玩家的样本数据,通过针对不同段位分层获取到不同的样本数据集,能够在样本数据集上训练并测试对应于不同等级的初始行为模型的性能参数。在本申请实施例中,仅涉及任一种等级下的初始行为模型的性能参数的获取方式。
以上述方式获取到初始行为模型的性能参数之后,判断该初始行为模型的性能参数是否大于性能阈值,该性能阈值为当前等级下行为模型的择优标准,该性能阈值为任一大于0的数值,在该性能参数小于或等于性能阈值时,认为该性能参数不符合预期水平;在性能参数大于性能阈值时,认为该性能参数符合预期水平,其中,该预期水平是指当前等级所对应真实人类玩家的能力水平段。
换言之,在性能参数符合预期水平时,说明此时初始行为模型控制第一对象所执行行为的操作水平,与对应段位的真实人类玩家的能力水平段相匹配,本次训练的行为模型所对应段位是指任一高于待扩容模型所对应段位的段位,比如,当待扩容模型是等级Ⅲ时,待扩容模型对应于段位Ⅲ的真实人类玩家,那么在待扩容模型的基础上进行扩容,可训练得到等级Ⅱ的行为模型(即对应于段位Ⅱ的真实人类玩家),或者,也可训练得到等级Ⅰ的行为模型(即对应于段位Ⅰ的真实人类玩家),本申请实施例不对是否需要逐级扩容进行具体限定。
在一些实施例中,服务器将该初始行为模型投入到测试对局中进行线上测试,比如,基于该初始行为模型,控制第一对象在多个测试对局中执行对应的行为,基于该第一对象在该多个测试对局中的胜率,确定该初始行为模型的性能参数。可选地,服务器获取预期水平所对应真实人类玩家在对应段位下的平均胜率,将该初始行为模型的胜率与该真实人类玩家的平均胜率之间的误差获取为该初始行为模型的性能参数,此时,如果该性能参数大于误差阈值,代表性能参数不符合预期水平,如果该性能参数小于或等于误差阈值,代表该性能参数符合预期水平。其中,误差阈值为任一大于0的数值,例如误差阈值为1%,或者2%等。
在另一些实施例中,结构扩容模型的强化训练的停止条件还可以是:行为模型的性能参数在多次迭代搜索得到的初始行为模型中排在第一位,且与排在第二位的初始行为模型的性能参数之间的性能参数差值大于目标差值,该目标差值为任一大于0的数值,本申请实施例对强化训练的停止条件的设置不进行具体限定。
在另一些实施例中,结构扩容模型的强化训练的停止条件还可以是:对结构扩容模型的迭代次数大于次数阈值,其中,该次数阈值是任一大于0的数值,例如该次数阈值是1000。
在该初始行为模型的性能参数符合该预期水平,或者结构扩容模型到达强化训练的停止条件时,则服务器对结构扩容模型停止训练,可选地,将当前的初始行为模型输出为当前等级下对应的行为模型,或者,基于训练完毕的结构扩容模型再次预测一次模型结构信息,再从权重继承模型中采样得到(或者采样后训练得到)最终的行为模型。
在该初始行为模型的性能参数不符合该预期水平,且结构扩容模型未到达强化训练的停止条件时,说明本次迭代使用的初始行为模型并非是当前等级下行为模型所应具有的最优模型结构(因为模型性能达不到最优),则服务器可基于强化学习的策略搜索算法,迭代执行上述步骤301-302,即,迭代执行搜索得到下一种可能具有的行为模型的模型结构信息,并按照该模型结构信息,在权重继承模型中采样得到对应的初始行为模型,作为下一次迭代使用的初始行为模型,或者基于从权重继承模型中采样得到的子模型,训练得到下一次迭代的初始行为模型,并获取下一次迭代的初始行为模型的性能参数,判断下一次迭代的初始行为模型的性能参数是否符合该预期水平,以此类推,这里不做赘述。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过利用结构扩容模型,在待扩容模型的模型结构的基础上,预测对其扩容得到的行为模型的模型结构信息,并基于模型结构信息来确定与其匹配的初始行为模型,进而训练得到行为模型,即,使得结构扩容模型预测模型结构后,随着模型结构的扩容,训练所得行为模型控制第一对象所执行行为的操作水平也随之提升,有利于逐级分层构建对应于不同操作水平的一系列行为模型。
进一步的,上述过程相当于将多种等级的行为模型所需的大量模型参数融合为一个权重继承模型所需的模型参数,大大减少了总体模型参数所占用的数据量,降低了行为模型在客户端的存储开销和部署成本。
在上述实施例中,简单介绍了对某种等级的第一行为模型的训练流程,而在本申请实施例中,将详细介绍如何实现动态增长的行为模型结构自动搜索,下面进行说明。
图4是本申请实施例提供的一种行为模型的训练方法的流程图,参见图4,该实施例由电子设备执行,该电子设备包括上述终端或服务器中至少一项,以下实施例中,均以电子设备为服务器为例进行说明,该实施例包括下述步骤:
401、服务器确定第一对象的行为模型的多种候选模型结构。
该候选模型结构是指任一种可能实现的行为模型所采用的结构。
可选地,以行为模型为神经网络为例,神经网络所具有的候选模型结构包括:所有等级下的行为模型所支持的所有隐藏层的层数,以及每个隐藏层所支持的所有神经元个数,以及如果隐藏层是卷积层则该卷积层所支持使用的所有可能的卷积核尺寸。
在一些实施例中,服务器获取所有等级下的行为模型最大支持的隐藏层的层数L(L≥1),代表所有等级下的行为模型最多设计L个隐藏层,那么所有等级下的行为模型所支持的所有隐藏层的层数的候选区间为[1,L]。
在上述过程中,能够保证只要构建了具有L个隐藏层的权重继承模型,只需要在权重继承模型上对L个隐藏层进行采样,就能够支持候选区间[1,L]中所有可能的隐藏层的层数的取值。
在一些实施例中,对每个隐藏层使用宽度参数来表征该隐藏层所具有的神经元个数,例如,设定神经元个数等于8时宽度参数取值为x(x>0),那么神经元个数等于2时宽度参数取值为0.25x,神经元个数等于4时宽度参数取值为0.5x,神经元个数等于6时宽度参数取值为0.75x。接着,服务器获取所有等级下的行为模型所支持的最大宽度参数X(X>0),代表所有等级下的行为模型最多包含的神经元有多少个,那么所有等级下的行为模型所支持的隐藏层的宽度参数的候选区间为(0,X]。
在上述过程中,能够保证只要构建了具有最大宽度参数X的权重继承模型,只需要在权重继承模型上对每个隐藏层按照指定的宽度参数进行采样,就能够支持任意宽度参数的隐藏层,比如当x就是最大宽度参数即X=x时,指定的宽度参数0.25x、0.5x、0.75x均为最大宽度参数x的子集,只需要在每一个隐藏层中对相关子集对应个数的神经元进行采样即可。
在一些实施例中,服务器获取所有等级下的行为模型所涉及的所有可能的卷积核尺寸,代表所有等级下的行为模型所适用的卷积核尺寸只有设定的几种可能性,例如,卷积核尺寸包括:空、3×3、5×5和7×7,其中,卷积核尺寸为空的含义为对应隐藏层不需要进行卷积操作,即对应隐藏层并非是一个卷积层。上述所有可能的卷积核尺寸共同构成了卷积核尺寸的候选区间。
在上述过程中,能够保证只要构建了具有最大卷积核尺寸的权重继承模型,只需要在权重继承模型上对每个隐藏层按照指定的卷积核尺寸进行采样,就能够支持使用任意卷积核尺寸的卷积层或者不使用卷积核的隐藏层,对于指定了尺寸较小的卷积核,只需要在最大的卷积核上进行采样即可获取相关权重矩阵的矩阵参数。
402、服务器基于多种该候选模型结构,预训练得到支持每种该候选模型结构的权重继承模型,该权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数。
由于行为模型是由初始行为模型训练得到的,因此该权重继承模型也相当于能够提供具有不同模型结构的行为模型的模型参数。
在一些实施例中,服务器基于所有的候选模型结构,确定隐藏层层数的候选区间的最大值即最大隐藏层层数L、每个隐藏层的最大宽度参数X以及每个隐藏层所支持的最大卷积核尺寸,例如最大卷积核尺寸为i×i,则能够构建出一个L(L≥1)层的、每层的宽度参数均为X(X>0)的、每个层均使用i×i(i≥1)卷积核的初始权重模型,这一初始权重模型能够覆盖所有可能的候选模型结构,在对初始权重模型进行预训练,能够得到一个权重继承模型,使得基于任一候选模型结构所确定出的初始行为模型均为权重继承模型的子模型,这一过程相当于初始行为模型从权重继承模型中继承了模型参数,而模型参数本质上表征的是每个隐藏层对输入信号的权重矩阵,因此相当于初始行为模型从权重继承模型中进行了权重继承。
在一些实施例中,服务器对该初始权重模型进行预训练,比如,获取预训练的训练数据集,将训练数据集中的训练数据输入初始权重模型,通过该初始权重模型预测第一对象的行为序列,接着获取该训练数据对应的参考行为序列,该参考行为序列是指训练数据所对应的第二对象真实在游戏对局中每一帧所执行的行为构成的序列。基于模型预测的行为序列和真实发生的参考行为序列,获取初始权重模型的损失函数值,如果损失函数值不符合预训练的停止条件,则基于反向传播算法,回传调整初始权重模型的模型参数,迭代执行上述训练步骤,直到某一次迭代时,初始权重模型的损失函数值符合预训练的停止条件,对初始权重模型停止训练,得到了权重继承模型。由于权重继承模型此时的模型参数在后续步骤405中可能会随着采样到的子模型的训练过程随之发生改变,因此本步骤402训练得到的权重继承模型并非是最终部署到客户端的版本,因此也将本步骤402的训练过程称为对权重继承模型的“预训练”。可选地,该预训练的停止条件包括下述任一项或者至少两项的组合:迭代次数超过第一次数阈值;或,损失函数值小于第一损失阈值,其中,第一次数阈值为任一大于1的整数,第一损失阈值为任一大于或等于0且小于或等于1的数值。
403、服务器通过结构扩容模型,对等级N-1的行为模型即待扩容模型进行扩容,得到等级N的行为模型的模型结构信息,该行为模型用于控制虚拟场景中第一对象的行为。
在本申请实施例中,以等级N-1的行为模型为待扩容模型为例进行说明,即,结构扩容模型在等级N-1的行为模型的基础上进行模型结构的扩容,以预测等级N的行为模型的模型结构信息,其中,本次预测得到的该模型结构信息用于表征等级N的行为模型的模型结构,N为大于或等于2的整数。
其中,该结构扩容模型用于预测该第一对象对应的行为模型的模型结构,因此,该结构扩容模型亦称为“控制器”或“扩容器”。
需要说明的是,本申请实施例中,第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,且行为模型的等级与该第一对象的操作水平呈正相关,换言之,行为模型的等级越高,其控制第一对象所执行行为的操作水平越高,所对应同等水平的真实人类玩家的能力水平也越高。其中,第一对象的操作水平是指:第一对象在与虚拟场景中的其他虚拟对象进行互动时,第一对象受行为模型所控制执行的行为相对于同水平的真实人类玩家的能力水平。在通常情况下,对真实人类玩家的能力水平进行离散化,划分成多个能力水平段,每个能力水平段对应于一个等级的行为模型(同时也对应于在游戏应用中针对账号设置的一个段位),使得该行为模型控制第一对象所执行的操作水平恰好落入真实人类玩家对应的能力水平段,从而使得两者进行互动时势均力敌,不会出现压倒性的优势或劣势。
在一些实施例中,服务器将待扩容模型对应的信息输入该结构扩容模型,通过该结构扩容模型预测对该待扩容模型的扩容策略信息,其中,该扩容策略信息用于表征是否对该待扩容模型中的每个隐藏层进行扩容,需要说明的是,这里的扩容策略信息不仅能够表征是否对待扩容模型中的每个隐藏层进行加宽或者卷积核尺寸的扩大,还能够表征对待扩容模型中每个隐藏层之后是否添加一个新的隐藏层。接着,基于该扩容策略信息,对该待扩容模型的模型结构进行扩容,得到该行为模型的模型结构信息。
在待扩容模型为等级N-1的行为模型的情况下,上述扩容过程相当于,将等级N-1的行为模型对应的信息输入该结构扩容模型,通过该结构扩容模型预测对该等级N-1的行为模型的扩容策略信息,基于该扩容策略信息,对等级N-1的行为模型的模型结构进行扩容,得到等级N的行为模型的模型结构信息。这样在训练得到等级N的行为模型之后,再将等级N的行为模型对应的信息输入到结构扩容模型中,能够预测到等级N+1的行为模型的模型结构信息,最终不断迭代执行上述过程,能够得到一系列不同等级的行为模型,以支持与不同能力水平段的真实人类玩家(即不同段位的账号)的陪玩需求。
在一些实施例中,该结构扩容模型可使用RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-Term Memory,长短期记忆网络)、BLSTM(BidirectionalLong Short-Term Memory,双向长短期记忆网络)等序列到序列的架构,或者,该结构扩容模型还可使用一些搜索策略算法,如进化算法、随机搜索算法等,本申请实施例对结构扩容模型的架构不进行具体限定。
在一些实施例中,服务器可基于等级N-1的行为模型即待扩容模型对应的信息,确定结构扩容模型的循环次数,接着,给定该结构扩容模型一个触发信号,使得该结构扩容模型能够开始预测并输出等级N的行为模型的模型结构信息。示意性地,为减少迭代轮次,在采取批量处理机制的情况下,调用该结构扩容模型能够一次性批量输出等级N的行为模型的多个模型结构信息,以使得后续能够串行或者并行地基于权重继承模型,批量获取到该多个模型结构信息各自对应的多个初始行为模型,从而批量进行性能评估和迭代调整,从而能够提升行为模型的训练效率。
需要说明的是,服务器通过该结构扩容模型预测的是等级N的行为模型的一种可能的该模型结构信息,此时仅预测出了模型结构信息(即行为模型的超参数),但尚且不知道在该模型结构信息匹配的行为模型中应该具有哪些模型参数,因此该结构扩容模型只能预测模型结构但在本步骤403无法确定最终的行为模型。
上述步骤403提供了服务器获取行为模型的模型结构信息的一种可能实施方式,在一些实施例中,也可从所有候选模型结构中随机采样得到行为模型的模型结构信息,或者,由技术人员指定行为模型的模型结构信息,本申请实施例不对模型结构信息的获取方式进行具体限定,其中,该行为模型用于控制虚拟场景中的第一对象的行为,换言之,扩容前等级N-1的行为模型(即待扩容模型)和扩容后等级N的行为模型(即行为模型)两者均用于控制虚拟场景中的第一对象的行为,但是两者控制第一对象所执行行为的操作水平是不同的,等级N的行为模型控制第一对象所执行行为的操作水平高于等级N-1的行为模型控制第一对象所执行行为的操作水平,两个行为模型分别适配于不同能力水平段的真实人类玩家,也即分别适配于与不同段位的游戏账号进行游戏对局。
在一些实施例中,结构扩容模型本身也处于迭代调整的循环过程,即结构扩容模型也会在强化训练的迭代过程中进行参数调整,在强化训练的每次迭代中,基于结构扩容模型输出的模型结构信息,都能够从权重继承模型中采样得到一个子模型,直接使用采样到的子模型作为初始行为模型,或者基于下述步骤405对子模型训练得到初始行为模型,接着,获取初始行为模型的性能参数,该性能参数可指示是否要调整结构扩容模型的模型参数(即指示结构扩容模型是否要停止强化训练),在需要调整结构扩容模型的模型参数的情况下,基于调参后的结构扩容模型再次预测新的模型结构信息(仍然是等级N的行为模型的另一种可能的模型结构),以触发针对结构扩容模型进行新一轮的强化训练的迭代过程,可选地,该初始行为模型的性能参数还指导该结构扩容模型的损失函数的计算,便于提示结构扩容模型的训练效率。
在基于权重继承模型采样到的子模型,继续训练得到初始行为模型的情况下,由于在迭代过程中,既需要根据强化训练的强化信号(指初始行为模型的性能参数),调整结构扩容模型的模型参数,还需要针对采样到的子模型训练得到初始行为模型,因此上述强化训练过程本质上是指结构扩容模型与初始行为模型进行交替训练,比如针对等级N的行为模型,结构扩容模型迭代一次输出一个等级N的模型结构信息,该模型结构信息能够从权重继承模型中采样出对应的一种子模型,接着,训练采样得到的子模型得到等级N的一种初始行为模型,这一训练得到的初始行为模型的性能参数作为强化训练的强化信号,来决定是否需要对结构扩容模型进行继续训练,通过判断性能参数是否符合预期水平,如果性能参数不符合预期水平,说明结构扩容模型输出的模型结构信息不能代表等级N下最优的模型结构,那么需要在性能参数的指导下对结构扩容模型进行调参,此时回传调整结构扩容模型的模型参数(也即再次训练结构扩容模型),并基于调参后的结构扩容模型来预测新一轮迭代下使用的新的等级N的模型结构信息。随着交替训练的进行,结构扩容模型对等级N的模型结构信息的预测越来越准,而基于等级N的模型结构信息确定的初始行为模型的性能越来越优,直到某次迭代时初始行为模型的性能参数符合预期水平,那么在当前等级N下可对结构扩容模型停止训练,基于训练完毕的结构扩容模型再次预测等级N的模型结构信息,并基于权重继承模型采样得到与最终输出的该模型结构信息相匹配的等级N的行为模型,或者基于采样到的子模型再次训练得到的等级N的行为模型。总之,不管在结构扩容模型训练完毕之后,是否需要对权重继承模型中采样到的子模型再次训练,最终均能够输出等级N的行为模型,从而能够在结构扩容模型和初始行为模型交替训练的过程中,达到两个模型互相作用、协同训练的效果,使得两个模型最终的性能均显著提升,相当于使用针对结构扩容模型进行强化学习的方式,实现了对初始行为模型进行训练,得到等级N的行为模型的过程,其中等级N的行为模型控制第一对象所执行执行的操作水平符合预期水平(即与等级N所对应段位的账号相匹配,也与等级N所对应能力水平段的真实人类玩家相匹配),显然,由于待扩容模型是等级N-1的行为模型,因此等级N对应的该预期水平高于待扩容模型(等级N-1的行为模型)控制第一对象所执行行为的操作水平。
在另一些实施例中,也可不使用上述交替训练的方式,比如在对权重继承模型训练完毕后,固定权重继承模型,仅在每轮迭代中单独训练结构扩容模型,又比如在对结构扩容模型训练完毕后,固定结构扩容模型,仅在每轮迭代中单独训练权重继承模型中采样出的子模型,本申请实施例不对是否采用交替训练方式进行具体限定。
下面,将以该结构扩容模型为RNN为例,对基于RNN获取上述模型结构信息的方式进行说明,由于RNN采取序列到系列的架构,因此RNN所预测得到的扩容策略信息是一个扩容特征序列(或者也视为一个扩容特征向量),该扩容特征序列中的每一个元素对应于等级N-1的行为模型即待扩容模型中的一个隐藏层,每个元素用于表征等级N-1的行为模型即待扩容模型中的对应隐藏层的层级扩容策略。结合等级N-1的行为模型即待扩容模型的模型结构,以及结构扩容模型预测的扩容策略信息,才能确定出最终等级N的行为模型的一种可能的模型结构信息。
其中,该RNN包括一个或多个循环模块,每个该循环模块用于预测该等级N-1的行为模型即待扩容模型中一个隐藏层的层级扩容策略,换言之,RNN中的每个循环模块用于预测上述扩容特征序列中的一个元素,即,RNN中所有循环模块输出的各个元素即可构成上述扩容特征序列。其中,该层级扩容策略不仅能够表征是否需要对对应隐藏层进行加宽、扩容卷积核尺寸,还能够表征是否在对应隐藏层后增加新的隐藏层。
需要说明的是,RNN所包含的循环模块在实际存储时可以仅占用单个循环模块的数据量,只需要对该循环模块多次进行循环使用或称为迭代使用,即可达到包含多个循环模块的相同效果,其中循环次数即RNN包含的循环模块的数量(也等于等级N-1的行为模型包含的隐藏层层数)。
图5是本申请实施例提供的一种基于RNN获取模型结构信息的流程图,如图5所示,服务器调用RNN来预测得到扩容策略信息,并基于扩容策略信息获取模型结构信息的方式,包括如下子步骤:
4031、服务器基于等级N-1的行为模型对应的信息,确定RNN所包含的循环模块的数量,其中,该等级N-1的行为模型对应的信息用于指示等级N-1的行为模型包含的隐藏层层数。
由于等级N-1的行为模型是指待扩容模型,换言之,服务器基于待扩容模型对应的信息,确定RNN所包含的循环模块的数量,在仅占用单个循环模块的数据量进行存储的情况下,相当于确定对RNN的循环模块的循环次数,其中,待扩容模型对应的信息用于指示待扩容模型包含的隐藏层层数。
示意性地,服务器获取等级N-1的行为模型的隐藏层层数,将该等级N-1的行为模型的隐藏层层数确定为RNN包含的循环模块的数量,或者,将该等级N-1的行为模型的隐藏层层数确定为RNN的循环次数。
4032、服务器对每个循环模块,通过该循环模块对上一个循环模块的输出信号进行编码,输出对等级N-1的行为模型中对应隐藏层的层级扩容策略,该层级扩容策略用于指示是否对对应隐藏层进行扩容以及如何进行扩容。
在一些实施例中,由于等级N-1的行为模型的隐藏层层数,仅能决定RNN所包含的循环模块的数量,但为了触发RNN开始进行编码,还需要向第一个循环模块给定一个触发信号,可选地,由于RNN本身处于强化训练的一个迭代过程中,在强化训练的第一次迭代时,将触发信号初始化为0向量,在后续RNN的强化训练中,该触发信号会随着RNN的模型参数一起进行迭代优化。
需要说明的是,对于RNN的第一个循环模块,其输入信号是指第一次迭代初始化的0向量或者后续随着模型参数优化后的触发信号,对于RNN中第二个以及第二个之后的每个循环模块,其输入信号都是指上一个循环模型的输出信号。RNN中所有循环模型的内部处理逻辑都是类似的,下面以任一循环模块为例,介绍循环模型的编码方式。
在一些实施例中,RNN中的每个循环模块可包括第一循环单元、第二循环单元或者第三循环单元中的至少一项,比如,每个循环模块均仅包括第一循环单元和第二循环单元;或者,每个循环模块均仅包含第二循环单元和第三循环单元;又或者,每个循环模块均包括第一循环单元、第二循环单元和第三循环单元三者,此时RNN中每三个循环单元构成一个循环模块,这三个循环单元能够共同确定出行为模型的一个隐藏层的层级扩容策略,换言之,每个循环模块所输出的层级扩容策略是一个长度为3的向量(或者称为三元组),RNN中所有循环模块所输出的向量构成的集合,即是RNN输出的扩容特征序列(也即行为模型的扩容策略信息)。
需要说明的是,RNN中每个循环模块所包含的循环单元可相同或者不同,比如,第一个循环模块包括第一循环单元和第二循环单元,第二个循环模块包含第二循环单元和第三循环单元等等,本申请实施例不对RNN的模型结构设计进行具体限定。
可选地,该第一循环单元用于预测深度扩容参数,该深度扩容参数表征是否在等级N-1的行为模型(即待扩容模型)中与该循环模块对应的隐藏层后增加隐藏层。
通过在循环模块中设置第一循环单元,能够更好地支持对多等级的行为模型进行逐级训练,即,在对等级N-1的行为模型训练完毕后,只需要开启新一轮的迭代,从而在已训练完毕的等级N-1的行为模型的基础上,通过第一循环单元能够预测出来是否在训练完毕的等级N-1的行为模型的每个隐藏层后增加隐藏层,也就确定出了当前等级N的行为模型的层级扩容策略,由于仅仅是在等级N-1的行为模型的基础上进行扩容,从而能够支持复用等级N-1的行为模型的模型参数,大大提升了模型参数的利用率,提升了训练效率。
可选地,该深度扩容参数可以是二值数据、布尔型数据、整型数据或者字符串,本申请实施例不对深度扩容参数的数据类型进行具体限定。
在一个示例中,该深度扩容参数是一个二值数据,即深度扩容参数的取值只能是1或者0,例如,在预设了每次加深的深度增量(即增加的隐藏层层数)之后,该深度扩容参数取值为1时代表要在等级N-1的行为模型中对应隐藏层后增加对应深度增量的隐藏层,该深度扩容参数取值为0时代表无需在等级N-1的行为模型中对应隐藏层后增加任何隐藏层。
在一个示例中,该深度扩容参数是一个布尔型数据,即深度扩容参数的取值只能是True(真)或者False(假),例如,在预设了每次加深的深度增量(即增加的隐藏层层数)之后,该深度扩容参数取值为True时代表要在等级N-1的行为模型中对应隐藏层后增加对应深度增量的隐藏层,该深度扩容参数取值为False时代表无需在等级N-1的行为模型中对应隐藏层后增加任何隐藏层。
在另一示例中,该深度扩容参数不设置为二值数据,例如该深度扩容参数是一个大于或等于0的整数,该整数可使用整型数据或者字符串来进行表示,即,该深度扩容参数的取值代表了要在等级N-1的行为模型中对应隐藏层后增加几个隐藏层,例如,深度扩容参数取值为0时代表无需在等级N-1的行为模型中对应隐藏层后增加任何隐藏层,深度扩容参数取值为3时代表要在等级N-1的行为模型中对应隐藏层后增加3个隐藏层。
可选地,该第二循环单元用于预测宽度扩容参数,该宽度扩容参数表征是否对该等级N-1的行为模型(即待扩容模型)中与该循环模块对应的隐藏层增加神经元个数。其中,该宽度扩容参数是任一大于或等于0的数值,宽度扩容参数是在宽度参数是延伸出来的概念,有关该宽度参数的含义已经在上述步骤401中关于候选模型结构进行过说明,即,设定了某一神经元个数对应于宽度参数的单位1之后,其余任意的神经元个数均能够表示为与宽度参数之间的倍数关系,换言之宽度参数与神经元个数具有映射关系,而宽度扩容参数是指是否加宽宽度参数的一个参数值,换言之能够代表是否增加神经元个数,也能够代表是否拓宽隐藏层的宽度,这里不做赘述。
通过在循环模块中设置第二循环单元,同样能够更好地支持对多等级的行为模型进行逐级训练,即,在对等级N-1的行为模型训练完毕后,只需要开启新一轮的迭代,从而在已训练完毕的等级N-1的行为模型的基础上,通过第二循环单元能够预测出来是否对训练完毕的等级N-1的行为模型的每个隐藏层进行加宽(即是否需要增加每个隐藏层内的神经元个数),也就确定出了当前等级N的行为模型的层级扩容策略,由于仅仅是在等级N-1的行为模型的基础上进行扩容,从而能够支持复用等级N-1的行为模型的模型参数,大大提升了模型参数的利用率,提升了训练效率。
可选地,该宽度扩容参数可以是二值数据、布尔型数据、浮点型数据或者字符串,本申请实施例不对宽度扩容参数的数据类型进行具体限定。
在一个示例中,该宽度扩容参数是一个二值数据,即宽度扩容参数的取值只能是1或者0,例如,在预设了每次加宽的宽度增量之后,该宽度扩容参数取值为1时代表要对等级N-1的行为模型中对应隐藏层进行对应宽度增量的加宽,该宽度扩容参数取值为0时代表无需对等级N-1的行为模型中对应隐藏层进行加宽。
在一个示例中,该宽度扩容参数是一个布尔型数据,即宽度扩容参数的取值只能是True(真)或者False(假),例如,在预设了每次加宽的宽度增量之后,该宽度扩容参数取值为True时代表要对等级N-1的行为模型中对应隐藏层进行对应宽度增量的加宽,该宽度扩容参数取值为False时代表无需对等级N-1的行为模型中对应隐藏层进行加宽。
在另一示例中,该宽度扩容参数不设置为二值数据,例如该宽度扩容参数是一个大于或等于0的数值,该数值可使用浮点型数据或者字符串来进行表示,即,该宽度扩容参数的取值代表了要将等级N-1的行为模型中对应隐藏层的宽度扩容参数修改为单位1的多少倍,例如,宽度扩容参数取值为0时代表无需对等级N-1的行为模型中对应隐藏层后进行加宽,宽度扩容参数取值为0.5时代表要将等级N-1的行为模型中对应隐藏层的宽度扩容参数设置为单位1的一半。
可选地,该第三循环单元用于预测卷积核扩容参数,该卷积核扩容参数表征是否对该等级N-1的行为模型(即待扩容模型)中与该循环模块对应的隐藏层扩大卷积核尺寸,需要说明的是,这里“扩大卷积核尺寸”包含两种含义,一种是将原本就是卷积层的隐藏层中使用的卷积核尺寸进行增大,还有一种是将原本不是卷积层的隐藏层(认为其原本卷积核尺寸为空)变成使用某一卷积核尺寸的卷积层,后者相当于将卷积核尺寸从空变成了有效值,也视为是一种对卷积核尺寸的层级扩容策略。其中,该卷积核尺寸包括空、3×3、5×5、7×7等,或者,仅使用卷积核的边长来表征卷积核尺寸,此时该卷积核尺寸包括空、3、5、7等,本申请实施例对此不进行具体限定。
通过在循环模块中设置第三循环单元,同样能够更好地支持对多等级的行为模型进行逐级训练,即,在对等级N-1的行为模型训练完毕后,只需要开启新一轮的迭代,从而在已训练完毕的等级N-1的行为模型的基础上,通过第三循环单元能够预测出来是否对训练完毕的等级N-1的行为模型的每个隐藏层所使用卷积核尺寸进行增大(如果原本隐藏层没有使用卷积核,相当于预测是否要将隐藏层变成卷积层),也就确定出了当前等级N的行为模型的层级扩容策略,由于仅仅是在等级N-1的行为模型的基础上进行扩容,从而能够支持复用等级N-1的行为模型的模型参数,大大提升了模型参数的利用率,提升了训练效率。
可选地,该卷积核扩容参数可以是二值数据、布尔型数据、整型数据或者字符串,本申请实施例不对卷积核扩容参数的数据类型进行具体限定。
在一个示例中,该卷积核扩容参数是一个二值数据,即卷积核扩容参数的取值只能是1或者0,例如,在预设了每次卷积核的尺寸增量之后,该卷积核扩容参数取值为1时代表要对等级N-1的行为模型中对应隐藏层的卷积核扩容参数增加该尺寸增量,该卷积核扩容参数取值为0时代表无需改变等级N-1的行为模型中对应隐藏层的卷积核扩容参数。
在一个示例中,该卷积核扩容参数是一个布尔型数据,即卷积核扩容参数的取值只能是True(真)或者False(假),例如,在预设了每次卷积核的尺寸增量之后,该卷积核扩容参数取值为True时代表要对等级N-1的行为模型中对应隐藏层的卷积核扩容参数增加该尺寸增量,该卷积核扩容参数取值为False时代表无需改变等级N-1的行为模型中对应隐藏层的卷积核扩容参数。
在另一示例中,该卷积核扩容参数不设置为二值数据,例如该卷积核扩容参数是一个大于或等于0的数值或者尺寸标签,该数值可使用整型数据表示,该尺寸标签可使用字符串来进行表示,即,该卷积核扩容参数的取值代表了当前等级N的行为模型中对应隐藏层要使用多大的卷积核,例如,卷积核扩容参数取值为空(或者0、null等)时代表当前等级N的行为模型中对应隐藏层无需使用卷积核,卷积核扩容参数取值为5×5时代表当前等级的行为模型中对应隐藏层需要使用5×5卷积核。
下面,针对每个循环模块均包括第一循环单元、第二循环单元和第三循环单位的情况,对循环模块中三个不同循环单元的处理过程进行介绍,需要说明的是,这里仅以第一循环单元、第二循环单元和第三循环单位顺序排列为例进行说明,但这三个循环单元也可以具有其他可能的排序,本申请实施例不对此进行具体限定。
在一些实施例中,将上一个循环模块的输出信号输入当前循环模块的第一循环单元,通过该第一循环单元对该输出信号进行加权处理,输出第一隐向量,接着,基于该第一隐向量进行映射处理,以确定得到一个深度扩容参数。示意性地,以深度扩容参数为二值数据为例,假设深度标签包含“是(Yes)”和“否(No)”,在映射阶段相当于,对该第一隐向量进行映射处理,以映射得到该第一隐向量属于每种深度标签的概率,并选择概率最大的深度标签,如果概率最大的深度标签是“是”,则将当前循环模块输出的深度扩容参数置为1,如果概率最大的深度标签是“否”,则将当前循环模块输出的深度扩容参数置为0。
在一些实施例中,将该第一隐向量和该深度扩容参数输入当前循环模块的第二循环单元,通过该第二循环单元对该第一隐向量和该深度扩容参数进行加权处理,输出第二隐向量,接着,基于该第二隐向量进行映射处理,以确定得到一个宽度扩容参数。示意性地,以宽度扩容参数为字符串为例,假设宽度标签包含“1”、“0.75”、“0.5”、“0.25”,在映射阶段相当于,对该第二隐向量进行映射处理,以映射得到该第二隐向量属于每种宽度标签的概率,并选择概率最大的宽度标签,如果概率最大的宽度标签是“0.5”,则将当前循环模块输出的宽度扩容参数置为单位为1的宽度扩容参数所对应神经元个数的0.5倍,如果概率最大的宽度标签是“0.25”,则将当前循环模块输出的宽度扩容参数置为单位为1的宽度扩容参数所对应神经元个数的0.25倍。
在一些实施例中,将该第二隐向量和该宽度扩容参数输入当前循环模块的第三循环单元,通过该第三循环单元对该第二隐向量和该宽度扩容参数进行加权处理,输出第三隐向量,接着,基于该第三隐向量进行映射处理,以确定得到一个该卷积核扩容参数。示意性地,以卷积核扩容参数为字符串为例,假设尺寸标签包含“空”、“3×3”、“5×5”、“7×7”,在映射阶段相当于,对该第三隐向量进行映射处理,以映射得到该第三隐向量属于每种尺寸标签的概率,并选择概率最大的尺寸标签,如果概率最大的尺寸标签是“空”,则将当前循环模块输出的卷积核扩容参数置为0,如果概率最大的尺寸标签是“3×3”,则将当前循环模块输出的卷积核扩容参数置为3。
在一些实施例中,在第一循环单元、第二循环单元、第三循环单元依次处理完毕后,将该第一循环单元输出的深度扩容参数、该第二循环单元输出的宽度扩容参数和该第三循环单元输出的卷积核扩容参数,获取为当前循环模块所输出的对应隐藏层的层级扩容策略。接着,将当前循环模块的输出信号输入到下一个循环模块中进行类似的处理,这里不做赘述。
需要说明的是,在RNN预测得到的深度扩容参数、宽度扩容参数和卷积核扩容参数的基础上,在对等级N-1的行为模型即待扩容模型进行扩容后所得的模型结构信息不能超出上述步骤401中所设定的候选模型结构的范围,即,只有保证RNN预测得到的深度扩容参数、宽度扩容参数和卷积核扩容参数,在对等级N-1的行为模型即待扩容模型进行扩容后所得的模型结构信息仍然是所有候选模型结构的子集,才能够使得权重继承模型能够支持任意的模型结构信息对应的初始行为模型,其中,该模型结构信息是基于RNN预测出的扩容策略信息对待扩容模型进行扩容所得。
4033、服务器将各个循环模块输出的层级扩容策略获取为对等级N-1的行为模型的扩容策略信息。
在一些实施例中,RNN中最后一个循环模块处理完毕时,会停止循环,每个循环模块输出的特征向量代表了针对等级N-1的行为模型中对应隐藏层的层级扩容策略,由于上面这些RNN输出的信息能够全面反映出针对等级N-1的行为模型的扩容策略,因此将所有循环模块所输出的层级扩容策略获取为对等级N-1的行为模型即待扩容模型的扩容策略信息。示意性地,将各个循环模块所输出的层级扩容策略按照RNN的处理时序排列成一个扩容特征序列,该扩容特征序列中的每个元素都是一个循环模块输出的层级扩容策略,并且每个层级扩容策略本身还是一个长度为3的向量或者三元组,三元组中的第一个数值为对应隐藏层的深度扩容参数,三元组中的第二个数值为对应隐藏层的宽度扩容参数,三元组中的第三个数值为对应隐藏层的卷积核扩容参数。
4034、服务器基于该扩容策略信息,对等级N-1的行为模型进行扩容,得到等级N的行为模型的模型结构信息。
在一些实施例中,由于扩容策略信息包含了针对等级N-1的行为模型中每个隐藏层的层级扩容策略,因此基于每个层级扩容策略,对等级N-1的行为模型进行扩容,能够得到最终等级N的行为模型的模型结构信息。
图6是本申请实施例提供的一种结构扩容模型的原理性示意图,如600所示,以结构扩容模型为RNN为例进行说明,此时结构扩容模型也称为RNN控制器,RNN控制器包括一个或多个循环模块601,每个循环模块601中包括第一循环单元6011、第二循环单元6012和第三循环单元6013,其中,该第一循环单元6011能够预测是否要对等级N-1行为模型中对应隐藏层进行加深,该第二循环单元6012能够预测是否要对等级N-1行为模型中对应隐藏层进行加宽,该第三循环单元6013能够预测是否要对等级N-1行为模型中对应隐藏层的卷积核尺寸进行增大,每个循环模块601中三个循环单元输出的数据(分别是深度扩容参数、宽度扩容参数和卷积核扩容参数)构成了针对等级N-1的行为模型中对应隐藏层的层级扩容策略,从而,当RNN控制器停止输出时,一个相较于等级N-1的行为模型的模型结构的扩容策略信息也就随之确定,该扩容策略信息就是指RNN控制器中所有循环模块601所输出的层级扩容策略所构成的扩容特征序列,根据该扩容策略信息,对等级N-1的行为模型的模型结构进行扩容,能够得到等级N的行为模型的模型结构信息。
例如,等级N-1的行为模型的模型结构为3个卷积层,第1层和第2层包含3个尺寸为3×3的卷积核,第3层包含2个尺寸为3×3的卷积核,同时RNN控制器输出的扩容策略信息为{(0,0,0),(0,0,0),(0,1,0)},即对第1层和第2层无需进行扩容,对第3层不加深、不改变卷积核尺寸,但是进行加宽(比如增加1个神经元即增加1个卷积核),那么最终确定的等级N的行为模型的模型结构为3个卷积层,每个卷积层均包含3个尺寸为3×3的卷积核。
对于RNN控制器来说,上述获取扩容特征序列的过程,可视为是寻找一个行为模型的可能实施策略的过程,从而能够结合强化学习中的策略梯度(Policy Gradient)方式来完成对RNN控制器的训练,使得RNN控制器能够学习到从低等级的行为模型到高等级的行为模型的网络结构扩容策略,RNN控制器的训练过程请参考下述步骤407A的描述。
404、服务器从该权重继承模型中,基于该模型结构信息,采样得到与该模型结构信息匹配的子模型。
可选地,由于该模型结构信息本身能够指示子模型所包含的隐藏层的层数,以及每个隐藏层内包含的神经元个数,并且如果需要使用卷积层,该模型结构信息还会指示对应的卷积核尺寸,而权重继承模型又能够支持具有任一候选模型结构的子模型(当然也能支持子模型训练得到的初始行为模型),因此,服务器只需要基于该模型结构信息,从该权重继承模型中进行采样,使得采样得到的子模型的模型结构与该模型结构信息相匹配,即可完成对子模型的获取过程。
示意性地,以结构扩容模型为RNN为例,在采样子模型时,由于RNN输出的扩容策略信息能够代表相较于等级N-1的行为模型(即待扩容模型)的扩容策略,而等级N-1的行为模型本身也是权重继承模型的子模型,因此可以在等级N-1的行为模型的基础上进行采样,即,使得采样得到的子模型的模型参数中包含等级N-1的行为模型的所有模型参数,相当于在等级N-1的行为模型的模型参数上进行扩大采样。
在一个示例中,该扩容策略信息是一个扩容特征序列,假设扩容特征序列为{C1,C2,…,CL},其中L(L>0)为扩容特征序列的长度,并且该长度等于等级N-1的行为模型所包含的隐藏层的层数,扩容特征序列中的任一元素Ci(1≤i≤L)都用于表征对等级N-1的行为模型中第i个隐藏层的层级扩容策略,示意性地,元素Ci是一个三元组[Di,Wi,Ji],其中,深度参数Di代表是否要在等级N-1的行为模型的第i个隐藏层后增加1个隐藏层,宽度参数Wi代表子模型的第i个隐藏层中包含的神经元个数,Ji代表子模型的第i个隐藏层所使用的卷积核尺寸。
下面,将以第i个隐藏层为例,对采样过程进行具体说明,例如,扩容特征序列中第i个元素Ci为三元组[False,0.5,5×5],假设等级N-1的行为模型的第i个隐藏层的宽度参数为0.25(包含2个神经元),且第i个隐藏层使用的卷积核尺寸为3×3,在此基础上,由于深度参数取值为False,则无需在等级N-1的行为模型的第i个隐藏层后面添加新的隐藏层;由于宽度参数取值为0.5(宽度增加了一倍),则代表需要在等级N-1的行为模型的第i个隐藏层已有的2个神经元的基础上,再从该第i个隐藏层在权重继承模型所处的隐藏层中,再采样2个新的神经元,使得总共子模型的第i个隐藏层包含4个神经元(其中2个神经元复用了等级N-1的行为模型的第i个隐藏层的已有参数,剩余的2个神经元是从权重继承模型中采样得到的新的参数);由于卷积核尺寸取值为5×5,即卷积核尺寸增大,因此需要在第i个隐藏层中复用的2个神经元中,以原本使用的3×3卷积核为中心,再次向外扩张再采样1个参数,由于四周都向外多采样了1个参数,使得最终卷积核的权重矩阵的尺寸变成了5×5,即得到了一个以原本3×3卷积核为中心向外扩张的5×5卷积核,这一5×5卷积核能够复用原本3×3卷积核的参数。
在上述过程中,示出了单路径的权重继承模型的采样策略,即,权重继承模型中不同尺寸的卷积核均是从尺寸最大的卷积核上进行采样,在另一些实施例中,可在权重继承模型中为不同尺寸的卷积核分别维护不同的权重矩阵,相当于对每个神经元维护多个尺寸不同的权重矩阵,相当于提供了多路径的权重继承模型,针对上述多路径的权重继承模型,在进行采样时只需要继承对应尺寸单独的权重矩阵即可,相当于对于卷积核尺寸不同的卷积操作,不进行参数共享,本申请实施例对权重继承模型是单路径还是多路径不进行具体限定。
对扩容特征序列中的每个元素均执行上述类似的采样过程,即可在等级N-1的行为模型(已训练完毕)的基础上,仅采样一部分新增的参数,最终得到与当前等级N下的模型结构信息对应的子模型,换言之,子模型复用了等级N-1的行为模型的模型参数,能够提升参数利用率,提升训练效率。
405、服务器对该子模型进行训练,得到初始行为模型。
其中,由于子模型本身就是按照模型结构信息采样得到的,而初始行为模型是由子模型训练得到的,训练过程仅调整模型参数而不会改变模型结构,因此该初始行为模型的模型结构也与该模型结构信息相匹配。
在本申请实施例中,以结构扩容模型和行为模型进行交替训练为例进行说明,介绍了初始行为模型的一种可能的获取方式,即,基于从权重继承模型中采样得到的子模型,训练得到初始行为模型。在一些实施例中,如果不使用上述交替训练模式,即已对权重继承模型训练完毕的情况下,此时在迭代过程中固定行为模型仅训练结构扩容模型,那么直接通过上述步骤404,即可从权重继承模型中,基于该模型结构信息,采样得到与该模型结构信息匹配的初始行为模型,本申请实施例不对如何基于该模型结构信息,通过权重继承模型获取得到初始行为模型的方式进行具体限定。
在一些实施例中,如果引入了批处理机制,即上一步骤403会批量获取到等级N的行为模型的多个模型结构信息,那么本步骤404-405会批量采样得到多个子模型,并对多个子模型分别进行训练,最终批量获取到多个该模型结构信息各自对应的多个初始行为模型,本申请实施例不对是否引入批处理机制进行具体限定。
图7是本申请实施例提供的一种子模型的训练方式的流程图,如图7所示,服务器对子模型进行训练以得到初始行为模型的过程,可以是:以权重继承模型为教师模型、子模型为学生模型,以知识蒸馏的方式,在训练数据集上对该子模型进行训练,得到初始行为模型,换言之,采用教师-学生的训练架构,使得学生模型即子模型能够更快学习到教师模型即权重继承模型本身已经学会的知识,有利于提示子模型的训练效率,并且还能够提升子模型的表达能力。
下面,将以训练数据集中包含第二对象的样本数据为例,介绍上述教师-学习的训练架构下,子模型的训练过程包括如下子步骤:
4051、服务器将第二对象的样本数据输入该权重继承模型,输出第一行为数据,该第二对象为虚拟场景中不受行为模型控制的对象。
在一些实施例中,服务器预先构建了行为模型的等级与玩家账号的段位之间的映射关系,基于行为模型的当前等级N,基于该映射关系将等级N映射到对应玩家账号的目标段位,即能够保证想要训练出的等级N的行为模型控制第一对象所执行行为的操作水平,与处于目标段位的玩家账号所对应的真实人类玩家的能力水平段是旗鼓相当的,换言之,等级N的行为模型控制的第一对象,与目标段位下真实人类玩家控制的第二对象,具有相近的操作水平。
接着,服务器采集处于目标段位的各个账号的游戏对局数据或者游戏录屏数据,需要说明的是,该游戏对局数据或游戏录屏数据的收集需要经过每个账号所对应玩家(即用户)的授权或充分授权。
获取到的各个账号的游戏对局数据或者游戏录屏数据即为全量的第二对象的样本数据,各个第二对象的样本数据即可构成等级N对应的样本数据集,示意性地,将该样本数据集划分为训练数据集和验证数据集,例如,从该样本数据集中抽取第一比例的样本数据构成训练数据集,将样本数据集中除了训练数据集之外的补集确定为验证数据集,其中,第一比例为任一大于0且小于100%的数值,例如第一比例为70%、80%等,本申请实施例对此不进行具体限定。可选地,该训练数据集投入到步骤4051-4054的训练流程中应用,该验证数据集投入到下述步骤406的性能评估过程中应用。
接着,将该训练数据集中任一游戏对局下第二对象的样本数据输入到权重继承模型中,通过权重继承模型中的各个隐藏层对该样本数据进行相应的处理(比如,在隐藏层中进行加权、在卷积层中进行卷积),由权重继承模型的最后一个隐藏层输出该游戏对局下第一对象的第一行为序列,该第一行为序列也即权重继承模型预测所得的第一行为数据。
示意性地,以权重继承模型为包含所有候选模型结构的超网络为例,将第二对象的样本数据输入到超网络中,通过超网络中的各个隐藏层对该样本数据进行处理,以预测得到该第一对象的第一行为序列(即第一行为数据),使得该第一行为数据能够作为超网络所蒸馏得到的知识,参与到对子模型即子网络的训练过程中,换言之,以超网络作为教师模型、子网络作为学生模型,以知识蒸馏的方式来进行教师-学生协同训练,以便于子网络能够快速学习到超网络本身蕴含的知识,并且还能够提升子网络的性能。
4052、服务器将该样本数据输入该子模型,输出第二行为数据。
在一些实施例中,服务器将与上述步骤4051相同的样本数据输入该子模型,通过该子模型中的各个隐藏层对该样本数据进行相应的处理,在每个隐藏层中执行的操作由上述步骤404中采样得到的子模型的模型参数决定,比如,在第一个隐藏层的每个神经元中以3×3卷积核执行卷积操作,在第二个隐藏层的每个神经元中仅进行加权而不进行卷积操作,以此类推,这里不做限定,最终,由子模型的最后一个隐藏层输出该游戏对局下第一对象的第二行为序列,该第二行为序列也即子模型预测所得的第二行为数据。
在教师-学生协同训练的框架下,该子模型即学生模型,该权重继承模型即教师模型,通过将教师模型蒸馏得到的第一行为数据引入到子模型的损失函数中作为附加项,能够尽量引导学生模型快速学习到教师模型中的知识,即,使得学生模型预测的第二行为数据不但靠近真实的参考行为数据,也靠近教师模型输出的第一行为数据。
4053、服务器基于该第一行为数据、该第二行为数据和该第二对象的参考行为数据,获取该子模型的损失函数值。
其中,该参考行为数据是指第二对象在游戏对局中真实执行的参考行为序列,该第一行为数据是指权重继承模型预测第一对象在游戏对局中的第一行为序列,该第二行为数据是指子模型预测第一对象在游戏对局中的第二行为序列。
在一些实施例中,服务器基于第二行为数据和该参考行为数据,获取第一损失项,该第一损失项用于衡量第二行为数据与参考行为数据之间的差异程度,即代表了子模型预测的行为相较于真实人类玩家执行的行为的按键准确率,反映了子模型对行为预测的准确程度;基于第二行为数据和该第一行为数据,获取第二损失项,该第二损失项用于衡量第二行为数据和第一行为数据之间的差异程度,即代表了子模型预测的行为相较于权重继承模型预测的行为的行为命中率,反映了子模型对权重继承模型所蒸馏的知识的学习程度;基于该第一损失项和第二损失项,获取该子模型的损失函数值,即该损失函数值能够综合反映出子模型的训练情况。
4054、服务器迭代调整该子模型的模型参数,在该损失函数值符合停止迭代条件时,输出最后一次迭代的子模型为该初始行为模型。
示意性地,在通过上述步骤4044获取到子模型的损失函数值之后,判断该子模型的损失函数值是否符合停止迭代条件,该停止迭代条件即用于指示子模型停止训练的条件,可选地,该停止迭代条件包括下述任一项或者至少两项的组合:迭代次数超过第二次数阈值;或,损失函数值小于第二损失阈值,其中,第二次数阈值为任一大于1的整数,第二损失阈值为任一大于或等于0且小于或等于1的数值。
如果该子模型的损失函数值不符合停止迭代条件,则基于反向传播算法,回传调整子模型的模型参数,迭代执行上述步骤4051-4053,直到某一次迭代下子模型的损失函数值符合停止迭代条件,停止训练,将最后一次迭代的子模型确定为初始行为模型。
在一些实施例中,由于等级N的子模型,是基于所有小于等级N的各个行为模型扩容所得的,并且从上述步骤404的采样过程也能够看出,采样时复用了原本的较低等级的行为模型的模型参数,换言之,等级N的行为模型复用了等级N-1的行为模型的模型参数,如果等级N-1的行为模型不是等级最低的行为模型,那么显然等级N-1的行为模型又复用了等级N-2的行为模型的模型参数,依此类推,可知等级N的行为模型复用了等级小于N的所有行为模型的模型参数。为了保证在对等级N的子模型进行训练的过程中,不影响等级小于N的所有行为模型的性能,可在对子模型进行训练时,冻结等级小于N的所有行为模型的模型参数,仅调整剩余的(扩容新增的)模型参数,从而避免在训练高等级的行为模型时对低等级的行为模型造成性能损失。
可选地,从该子模型的模型参数所构成的集合中,确定第一子集和第二子集,该第一子集为该集合中等级小于N的各个行为模型的模型参数所构成的子集,换言之,第一子集是无需迭代调整的模型参数所构成的子集,该第二子集为该集合中该第一子集的补集,换言之,第二子集是需要迭代调整的模型参数所构成的集合。接着,在训练子模型的过程中,在每次迭代对子模型进行调参时,固定第一子集的模型参数不变,仅调整该第二子集中所包含的模型参数。
在上述过程中,通过在对子模型进行训练时,将模型参数划分为两个子集,对于无需迭代调整的模型参数进行冻结,仅调整剩余需要进行迭代调整的模型参数,能够使得最终训练得到的初始行为模型与等级N匹配的情况下,不会影响到等级小于N的各个行为模型的原本的性能,达到了高性能的参数复用。
图8是本申请实施例提供的一种批量训练子模型的方式的原理图,如图8所示,以权重继承模型为一个超网络800为例进行说明,该超网络800支持所有候选模型结构下的各种子模型,比如,超网络800支持的卷积核尺寸包括:空、3×3、5×5和7×7,这里在超网络800中每一层绘制的4个节点分别对应于卷积核尺寸为:空、3×3、5×5和7×7,这里节点并不代表真实网络构成,即实际网络构成中卷积核尺寸为空是指不使用卷积核,3×3卷积核是5×5卷积核的子集,5×5卷积核是7×7卷积核的子集,这些卷积核是一种类似于互相嵌套的结构。示意性地,在上述步骤403中RNN控制器一次性输出了当前等级N下的M(M≥1)个模型结构信息,即RNN控制器在N-1等级的行为模型基础上进行扩容,得到了一系列候选的等级N的模型结构信息所构成的序列(α1,α2,...,αM),那么只需要分别按照模型结构信息α1,α2,...,αM,在超网络800中进行采样,将会采样得到M个子网络(即子模型),示意性地,按照模型结构信息α1从超网络800中采样得到子网络801,同理,按照模型结构信息α2从超网络800中采样得到子网络802,以此类推。需要说明的是,采取权值共享的方式,依次训练上述M个子网络,得到M个初始行为模型,这些M个初始行为模型均对应于等级N,只是模型结构互不相同,再进入到下述步骤406中分别评估每个初始行为模型的性能参数。需要说明的是,权值共享是指超网络800对M个子网络进行权值共享,即,对于任一子网络可直接从超网络800中继承权重。
406、服务器获取该初始行为模型的性能参数,该性能参数用于表征基于该初始行为模型控制该第一对象所执行行为的操作水平。
在一些实施例中,通过上述步骤4051所描述的方式,将样本数据集划分为训练数据集和验证数据集,接着,将该初始行为模型在验证数据集进行性能评估,从验证数据集中获取第二对象的测试数据,将任一游戏对局下第二对象的测试数据输入该初始行为模型,输出第三行为数据,接着,基于该第三行为数据和该第二对象的参考行为数据,获取该初始行为模型的性能参数。其中,该参考行为数据是指第二对象在游戏对局中真实执行的参考行为序列。
示意性地,将第二对象的测试数据输入该初始行为模型,通过该初始行为模型中的各个隐藏层对该测试数据进行相应的处理,在每个隐藏层中执行的操作由上述步骤4054中输出的初始行为模型的模型参数决定,比如,在第一个隐藏层的每个神经元中以3×3卷积核执行卷积操作,在第二个隐藏层的每个神经元中仅进行加权而不进行卷积操作,以此类推,这里不做限定,最终,由初始行为模型的最后一个隐藏层输出该游戏对局下第一对象的第三行为序列,该第三行为序列也即初始行为模型预测所得的第三行为数据。
可选地,基于该第三行为数据和该参考行为数据,获取目标评估项,该目标评估项用于评估第三行为数据与参考行为数据之间的差异程度,即代表了初始行为模型预测的行为命中真实人类玩家执行的行为的按键准确率,从而反映了初始行为模型控制第一对象所执行行为的操作水平是否与对应段位下真实人类玩家的能力水平(即预期水平)相匹配。
示意性地,基于初始行为模型输出的第三行为序列(即第三行为数据)和第二对象真实执行的参考行为序列(即参考行为数据),将第一对象的按键准确率获取为上述目标评估项,其中,该按键准确率用于表征对第一对象的预测行为命中第二对象真实执行的行为的概率。
在一些实施例中,以该目标评估项作为初始行为模型的性能参数,该性能参数用于反映初始行为模型预测的第三行为序列与真实发生的参考行为序列之间的差异程度,从而进一步的反映出了初始行为模型控制的第一对象的仿真程度(即拟人程度、逼真程度、智能程度),也即反映出了初始行为模型的性能优劣,该性能参数相当于是对初始行为模型的模型性能的一个评估信号。
在上述过程中,提供了获取初始行为模型的性能参数的一种可能实施方式,即在指定的验证数据集上验证初始行为模型的按键准确率,以实现在该验证数据集上对该初始行为模型进行性能评估,在另一些实施例中,可在实时开启与等级N所对应目标段位的账号的多个测试对局中,投放受该初始行为模型控制的第一对象到该多个测试对局中,以进行实景测试,在这种测试方式中,基于该初始行为模型,控制该第一对象在多个测试对局中执行对应的行为,最终能够获取到第一对象在该多个测试对局中的胜率,此外还获取目标段位的各个账号的平均胜率,通过判断第一对象在该多个测试对局的胜率与目标段位下真实人类玩家的平均胜率之间的误差,来确定初始行为模型的性能参数,从而能够反映出该初始行为模型控制的第一对象的胜率是否和预期水平的第二对象的平均胜率相符,提升对性能参数的测试准确度。
以上述任一种方式获取到初始行为模型的性能参数之后,判断该初始行为模型的性能参数是否符合等级N所对应目标段位下真实人类玩家的预期水平,例如,判断该初始行为模型的性能参数是否大于性能阈值,该性能阈值为当前等级下行为模型的择优标准,该性能阈值为任一大于0的数值,在该性能参数小于或等于性能阈值时,认为该性能参数不符合预期水平,进入下述步骤407A;在性能参数大于性能阈值时,认为该性能参数符合预期水平,进入下述步骤407B,其中,该预期水平是指当前等级所对应真实人类玩家的能力水平段。
可选地,在行为模型的性能参数在多次迭代搜索得到的初始行为模型中排在第一位,且与排在第二位的初始行为模型的性能参数之间的性能参数差值大于目标差值时,确定该初始行为模型的性能参数符合预期水平,其中,该目标差值为任一大于0的数值,本申请实施例对性能参数是否符合预期水平的判断条件不进行具体限定。
407A、服务器响应于该性能参数不符合预期水平,以结构扩容模型为智能体、权重继承模型为环境,对该结构扩容模型进行强化训练,基于调整参数后的结构扩容模型,迭代步骤403-406,其中,该强化训练的强化信号为该初始行为模型的性能参数。
换言之,在初始行为模型的性能参数不符合预期水平时,说明结构扩容模型所预测的模型结构并非是最优的,也反映了结构扩容模型的预测准确程度不高,因此可基于梯度下降算法,回传调整该结构扩容模型的模型参数,并基于调整参数后的结构扩容模型,获取下一次迭代的模型结构信息,再基于该下一次迭代的模型结构信息,获取下一次迭代的初始行为模型,从而进行下一次迭代的性能参数的评估流程,以此类推。
在一些实施例中,由于在对结构扩容模型进行强化训练时,依赖于结构扩容模型的损失函数值。可选地,该损失函数值仅基于初始行为模型的性能参数确定得到,或者,该损失函数值基于初始行为模型的性能参数以及该模型结构信息的信息熵共同确定得到。有鉴于此,在判断性能参数是否符合预期水平时,还可直接使用损失函数值是否符合收敛条件进行判断,也即,在结构扩容模型的损失函数值符合收敛条件时,确定性能参数符合预期水平,在结构扩容模型的损失函数值不符合收敛条件时,确定性能参数不符合预期水平。其中,该收敛条件用于指示结构扩容模型的损失是否收敛。
可选地,服务器基于该初始行为模型的性能参数,获取该结构扩容模型的损失函数值,由于每执行一次迭代调整结构扩容模型的模型参数的过程,相当于强化学习中策略搜索算法的一轮搜索过程,因此,结构扩容模型的优化目标可视为是:寻找一个策略,以使得该策略下所输出的模型结构信息对应采样得到的子模型的性能期望最大化。也即是说,以子模型的性能参数来作为结构扩容模型的优化目标的反馈信号,反馈到结构扩容模型的训练过程中,同时实现对子模型的模型结构的自动搜索,也即是说该性能参数作为强化训练的强化信号。
可选地,为防止结构扩容模型的过拟合,服务器基于该性能参数和该模型结构信息的信息熵,获取该结构扩容模型的损失函数值,换言之,在结构扩容模型的损失函数中引入其输出项(即模型结构信息)的信息熵,将信息熵和性能参数均作为结构扩容模型的优化目标,能够使得结构扩容模型更好地探索整个权重继承模型所支持的搜索空间,避免陷入局部最优解。
407B、服务器响应于该性能参数符合该预期水平,对该结构扩容模型停止训练,基于权重继承模型和训练完毕的结构扩容模型,获取等级N的行为模型。
换言之,在初始行为模型的性能参数符合预期水平时,说明结构扩容模型本身所预测的模型结构具有较高的预测准确程度,可选地,服务器对结构扩容模型停止训练,并在最后一次迭代时使用的初始行为模型输出为等级N的行为模型。可选地,服务器对结构扩容模型停止训练之后,基于训练完毕的结构扩容模型,再执行一次预测,即使用训练完毕的结构扩容模型预测对等级N-1的行为模型的扩容策略信息,并使用最终的扩容策略信息对等级N-1的行为模型的模型结构进行扩容,得到最终等级N的行为模型的模型结构信息,并使用这一模型结构信息再次从权重继承模型中进行权重继承,得到等级N的行为模型,相当于使用训练完毕的结构扩容模型再次执行一次迭代过程,得到最终的等级N的行为模型,本申请实施例对此不进行具体限定。
408、服务器对于第一对象的多个等级,迭代执行步骤403-407B,得到多个等级各自对应的行为模型。
上述各个步骤实现了对等级N下的行为模型的训练过程,对于多个等级的各个行为模型来说,只需要在对最低等级的行为模型训练完毕之后,返回步骤403预测下一等级(即更高等级)的行为模型的模型结构信息,然后开启新一轮等级下的行为模型的训练过程,多次执行上述步骤403-407B,最终能够得到满足所有等级需求的各个行为模型。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过利用结构扩容模型,在待扩容模型的模型结构的基础上,预测对其扩容得到的行为模型的模型结构信息,并基于模型结构信息来确定与其匹配的初始行为模型,进而训练得到行为模型,即,使得结构扩容模型预测模型结构后,随着模型结构的扩容,训练所得行为模型控制第一对象所执行行为的操作水平也随之提升,有利于逐级分层构建对应于不同操作水平的一系列行为模型。
进一步的,上述过程相当于将多种等级的行为模型所需的大量模型参数融合为一个权重继承模型所需的模型参数,大大减少了总体模型参数所占用的数据量,降低了行为模型在客户端的存储开销和部署成本。
下面,将以一种涉及3个等级的行为模型的场景为例,介绍如何基于动态增长的能力分层架构来进行模型构建,图9是本申请实施例提供的一种基于动态增长的能力分层模型构建的原理性示意图,如图9所示,假设难度等级1的行为模型901包括3个隐藏层L1、L2、L3,在行为模型901的基础上,利用结构扩容器910(即结构扩容模型)来预测难度等级2的行为模型902的模型结构信息,示意性地,行为模型902包括在行为模型901的基础上,对隐藏层L3进行加宽,并在隐藏层L3之后新增了一个隐藏层L4,从而只需要在对行为模型902训练时,冻结行为模型902中行为模型901的模型参数所构成的第一子集,仅训练新增部分(即L3的加宽部分以及新增的L4)的模型参数构成的第二子集,即可得到一个既支持难度等级1、也支持难度等级2的行为模型902。进一步的,在行为模型902的基础上,利用结构扩容器910再次预测难度等级3的行为模型903的模型结构信息,示意性地,行为模型903包括在行为模型902的基础上,对隐藏层L2和L2均进行加宽,从而只需要对行为模型903训练时,冻结行为模型901和902的模型参数构成的第一子集,仅训练新增部分(即L1和L2的加宽部分)的模型参数构成的第二子集,即可得到一个同时支持难度等级1~3的行为模型903。
示意性地,在对结构扩容器和任一等级下的行为模型进行交替训练的场景下,假设采取批处理机制,在同一等级下,批量采样并训练行为模型,交替训练包括如下步骤:
步骤一、由结构扩容器采样得到当前等级下,行为模型可能具有的一系列模型结构信息(α1,α2,…,αM),M≥1。
步骤二、在给定数据集上依次训练超网络(即权重继承模型)中按照上述一系列模型结构信息采样到的M个子网络(即子模型)。
例如,给定数据集是指当前等级所对应段位的各个账号真实的游戏对局数据或游戏录屏数据所构成的训练数据集。这里的游戏对局数据或游戏录屏数据的采集需要经过用户的授权或充分授权。
步骤三、根据从超网络中继承的权重,在验证数据集上评估M个子网络的性能参数。
例如,验证数据集是指当前等级所对应段位的各个账号真实的游戏对局数据或游戏录屏数据所构成的测试数据集。这里的游戏对局数据或游戏录屏数据的采集需要经过用户的授权或充分授权。
步骤四、以评估所得的性能参数作为反馈信号,训练结构扩容器。
即,以结构扩容器为智能体、超网络为环境,对结构扩容器进行强化训练,其中强化训练的强化信号为子网络的性能参数。
步骤五、若性能参数符合预期水平,利用停止训练得到的结构扩容器,再次预测模型结构信息,找到当前等级下性能最优的行为模型;否则返回步骤一。
在本申请实施例中,提供一种动态增长的神经网络结构自动搜索方法,一方面通过动态增长的方式,在游戏AI的难度升级(即行为模型的等级提升)后,对模型扩容以提示游戏AI的对战能力,另一方面基于强化学习技术,将网络结构扩容过程自动化,两者相互结合能够共同实现快速高效的游戏AI能力分层的模型自动化设计,能够提升游戏开发效率和模型训练效率。并且,通过将不同难度等级的游戏AI的行为模型融合到最高难度的模型中,减少了模型整体的参数量,降低了在客户端侧的部署成本。
图10是本申请实施例提供的一种基于行为模型控制第一对象的方法的流程图,如图10所示,该实施例由电子设备执行,该电子设备包括上述终端或服务器中至少一项,以下实施例中,均以电子设备为服务器为例进行说明,该实施例包括下述步骤:
1001、服务器响应于目标账号的开局请求,获取该目标账号的操作水平信息。
其中,目标账号是指游戏服务器所提供游戏服务的任一游戏应用中注册的任一账号。
在一些实施例中,训练行为模型的服务器和处理开局请求的服务器是相同的服务器或者处于同一服务器集群内的不同服务器,本申请实施例对此不进行具体限定,例如,训练行为模型的服务器是后台服务器,处理开局请求的服务器是游戏服务器。
在一些实施例中,服务器接收目标账号的开局请求,可选地,该开局请求中至少携带目标账号的账号标识,接着,以该账号标识所索引,查询得到该目标账号的操作水平信息,其中,该操作水平信息是指目标账号在游戏应用中所处的目标段位。
在一些实施例中,服务器接收到的开局请求中本身就携带目标账号的账号标识和操作水平信息,此时服务器解析开局请求就能够得到目标账号的操作水平信息,本申请实施例不对操作水平信息的来源进行具体限定。
1002、服务器确定与该操作水平信息对应的行为模型,其中,该行为模型基于初始行为模型训练得到,该初始行为模型的结构信息由经过强化训练的结构控制模型预测得到。
在一些实施例中,服务器中预先存储有行为模型的等级和游戏账号的段位之间的映射关系,基于上述步骤1001查询得到的操作水平信息即目标账号在游戏应用中所处的目标段位,基于该映射关系将该目标段位映射得到对应行为模型的目标等级,接着,以目标等级所索引,查询得到该目标等级的行为模型的模型参数。
在一些实施例中,服务器在存储每个等级的行为模型的模型参数时,是以该行为模型的等级所对应的段位为Key,以该行为模型的模型参数为Value,从而构建Key-Value键值对结构进行存储,此时以目标账号在游戏应用中所处的目标段位为索引,查询与该索引对应存储的行为模型的模型参数,就能够保证查询到的就是与该操作水平信息对应的目标等级的行为模型。其中,所有等级的行为模型的训练过程参见上一实施例中的描述,这里不做赘述。
1003、服务器在基于该开局请求开启的目标对局中,基于该行为模型控制该目标对局中第一对象的行为,其中,该行为模型控制该第一对象所执行行为的操作水平与该目标账号的操作水平信息相匹配。
在一些实施例中,在确定了与目标账号的操作水平相匹配的目标等级的行为模型后,响应于该开局请求开启目标对局,在目标对局中包括目标等级的行为模型所控制的第一对象,以及目标账号所控制的第二对象,可选地,还包括其他账号所控制的虚拟对象,或者不包含其他账号所控制的虚拟对象,本申请实施例对此不进行具体限定。在该目标对局中,利用目标等级的行为模型来控制第一对象的行为,由于行为模型所具有的目标等级,与目标账号自身的操作水平信息是相匹配的,代表了目标等级的行为模型控制第一对象所执行行为的操作水平,与处于目标段位的目标账号所对应的真实人类玩家的能力水平段是旗鼓相当的,换言之,目标等级的行为模型控制的第一对象,与目标段位下真实人类玩家控制的第二对象,具有相近的操作水平,从而能够满足任意段位的玩家的陪玩需求,使得玩家的陪玩AI与玩家自身能力水平段接近,优化了用户的游戏体验。
本申请实施例提供的方法,通过利用结构扩容模型强化训练,从而自动化构建出一系列不同等级的行为模型后,针对不同操作水平的账号,使用具有对应等级的行为模型来陪伴其进行游戏对局,从而能够满足任意操作水平的账号的陪玩需求,使得账号的陪玩AI即第一对象与账号自身控制第二对象的操作水平适配度很高,优化了用户的游戏体验。
图11是本申请实施例提供的一种行为模型的训练装置的结构示意图,如图11所示,该装置包括:
扩容模块1101,用于通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,该待扩容模型用于控制虚拟场景中的第一对象的行为;
获取模块1102,用于获取与该模型结构信息相匹配的初始行为模型;
训练模块1103,用于对该初始行为模型进行训练,得到该行为模型,该行为模型控制该第一对象所执行行为的操作水平符合预期水平,且该预期水平高于该待扩容模型控制该第一对象所执行行为的操作水平。
本申请实施例提供的装置,通过利用结构扩容模型,在待扩容模型的模型结构的基础上,预测对其扩容得到的行为模型的模型结构信息,并基于模型结构信息来确定与其匹配的初始行为模型,进而训练得到行为模型,即,使得结构扩容模型预测模型结构后,随着模型结构的扩容,训练所得行为模型控制第一对象所执行行为的操作水平也随之提升,有利于逐级分层构建对应于不同操作水平的一系列行为模型。
在一种可能实施方式中,基于图11的装置组成,该扩容模块1101包括:
预测单元,用于将该待扩容模型对应的信息输入该结构扩容模型,通过该结构扩容模型预测对该待扩容模型的扩容策略信息,该扩容策略信息用于表征是否对该待扩容模型中的每个隐藏层进行扩容;
扩容单元,用于基于该扩容策略信息,对该待扩容模型的模型结构进行扩容,得到该模型结构信息。
在一种可能实施方式中,该结构扩容模型为循环神经网络RNN,该RNN包括一个或多个循环模块,每个该循环模块用于预测对该待扩容模型中的一个隐藏层的层级扩容策略;
基于图11的装置组成,该预测单元包括:
确定子单元,用于基于该待扩容模型对应的信息,确定该RNN所包含的循环模块的数量,其中,该待扩容模型对应的信息用于指示该待扩容模型包含的隐藏层层数;
编码子单元,用于对每个循环模块,通过该循环模块对上一个循环模块的输出信号进行编码,输出对该待扩容模型中对应隐藏层的层级扩容策略,该层级扩容策略用于指示是否对该对应隐藏层进行扩容以及如何进行扩容;
获取子单元,用于将各个循环模块输出的该层级扩容策略获取为该扩容策略信息。
在一种可能实施方式中,该第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,该行为模型的等级与该第一对象的操作水平呈正相关;
在该行为模型对应于等级N的情况下,该待扩容模型为等级N-1的行为模型,其中,N为大于或等于2的整数。
在一种可能实施方式中,该RNN中的每个该循环模块包括:第一循环单元、第二循环单元或者第三循环单元中至少一项;
该第一循环单元用于预测深度扩容参数,该深度扩容参数表征是否在该待扩容模型中与该循环模块对应的隐藏层后增加隐藏层;该第二循环单元用于预测宽度扩容参数,该宽度扩容参数表征是否对该待扩容模型中与该循环模块对应的隐藏层增加神经元个数;该第三循环单元用于预测卷积核扩容参数,该卷积核扩容参数表征是否对该待扩容模型中与该循环模块对应的隐藏层扩大卷积核尺寸。
在一种可能实施方式中,该RNN中的每个该循环模块均包括该第一循环单元、该第二循环单元和该第三循环单元。
在一种可能实施方式中,该编码子单元用于:
将该输出信号输入该第一循环单元,输出第一隐向量和基于该第一隐向量确定得到的该深度扩容参数;
将该第一隐向量和该深度扩容参数输入该第二循环单元,输出第二隐向量和基于该第二隐向量确定得到的该宽度扩容参数;
将该第二隐向量和该宽度扩容参数输入该第三循环单元,输出第三隐向量和基于该第三隐向量确定得到的该卷积核扩容参数;
将该深度扩容参数、该宽度扩容参数和该卷积核扩容参数,获取为该循环模块所对应隐藏层的层级扩容策略。
在一种可能实施方式中,基于图11的装置组成,该训练模块1103包括:
强化训练单元,用于以该结构扩容模型为智能体、权重继承模型为环境,对该结构扩容模型进行强化训练,其中,该权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数,该强化训练的强化信号为该初始行为模型的性能参数,该性能参数用于表征该初始行为模型控制该第一对象所执行行为的操作水平;
获取单元,用于在该性能参数符合该预期水平时,对该结构扩容模型停止训练,基于该权重继承模型和训练完毕的结构扩容模型,获取该行为模型。
在一种可能实施方式中,该结构扩容模型的损失函数值基于该性能参数和该模型结构信息的信息熵确定得到。
在一种可能实施方式中,基于图11的装置组成,该装置还包括性能评估模块,用于:
在验证数据集上对该初始行为模型进行性能评估,得到该初始行为模型的性能参数;或,
基于该初始行为模型,控制该第一对象在多个测试对局中执行对应的行为,基于该第一对象在该多个测试对局中的胜率,确定该初始行为模型的性能参数。
在一种可能实施方式中,基于图11的装置组成,该获取模块1102包括:
采样训练单元,用于从权重继承模型中,基于该模型结构信息,采样得到与该模型结构信息匹配的子模型,基于该子模型训练得到该初始行为模型;或,
采样单元,用于从权重继承模型中,基于该模型结构信息,采样得到与该模型结构信息匹配的该初始行为模型;
其中,该权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数。
在一种可能实施方式中,基于图11的装置组成,该采样训练单元包括:
训练子单元,用于以该权重继承模型为教师模型、该子模型为学生模型,以知识蒸馏的方式,在训练数据集上对该子模型进行训练,得到该初始行为模型。
在一种可能实施方式中,该第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,该行为模型的等级与该第一对象的操作水平呈正相关;
在该行为模型对应于等级N的情况下,该训练子单元还用于:
从该子模型的模型参数所构成的集合中,确定第一子集和第二子集,该第一子集为该集合中等级小于N的各个行为模型的模型参数所构成的子集,该第二子集为该集合中该第一子集的补集;
在训练该子模型时,仅调整该第二子集中所包含的模型参数。
在一种可能实施方式中,在该扩容模块1101中该结构扩容模型批量输出多个模型结构信息的情况下,基于该获取模块1102批量获取该多个模型结构信息各自对应的多个初始行为模型。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的行为模型的训练装置在训练行为模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的行为模型的训练装置与行为模型的训练方法实施例属于同一构思,其具体实现过程详见行为模型的训练方法实施例,这里不再赘述。
图12是本申请实施例提供的一种结构扩容模型的训练装置的结构示意图,如图12所示,该装置包括:
第一获取模块1201,用于通过结构扩容模型,获取模型结构信息,该模型结构信息用于表征行为模型的模型结构,该行为模型用于控制虚拟场景中的第一对象的行为;
第二获取模块1202,用于基于权重继承模型,获取与该模型结构信息相匹配的行为模型,该权重继承模型用于提供具有不同模型结构的行为模型的模型参数;
强化训练模块1203,用于以该结构扩容模型为智能体、该权重继承模型为环境,对该结构扩容模型进行强化训练,其中,该强化训练的强化信号为该行为模型的性能参数,该性能参数用于表征该行为模型控制该第一对象所执行行为的操作水平。
本申请实施例提供的装置,通过对结构扩容模型进行强化训练,由于在强化训练中以权重继承模型为环境、从权重继承模型中采样的初始行为模型的性能参数为强化信号,使得在强化训练过程中,能够不断优化结构扩容模型对初始行为模型的模型结构信息的预测准确度,即有利于不断迭代训练得到能够精准预测、自动搜索出最优模型结构的结构扩容模型,有利于逐级分层预测对应于不同操作水平的一系列行为模型的模型结构信息。
在一种可能实施方式中,该结构扩容模型的损失函数值基于该性能参数和该模型结构信息的信息熵确定得到。
在一种可能实施方式中,基于图12的装置组成,该装置还包括性能评估模块,用于:
在验证数据集上对该行为模型进行性能评估,得到该行为模型的性能参数;或,
基于该行为模型,控制该第一对象在多个测试对局中执行对应的行为,基于该第一对象在该多个测试对局中的胜率,确定该行为模型的性能参数。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的结构扩容模型的训练装置在训练结构扩容模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的结构扩容模型的训练装置与结构扩容模型的训练方法实施例属于同一构思,其具体实现过程详见结构扩容模型的训练方法实施例,这里不再赘述。
图13是本申请实施例提供的一种基于行为模型控制第一对象的装置的结构示意图,如图13所示,该装置包括:
获取模块1301,用于响应于目标账号的开局请求,获取该目标账号的操作水平信息;
确定模块1302,用于确定与该操作水平信息对应的行为模型,其中,该行为模型基于初始行为模型训练得到,该初始行为模型的结构信息由经过强化训练的结构控制模型预测得到;
控制模块1303,用于在基于该开局请求开启的目标对局中,基于该行为模型控制该目标对局中第一对象的行为,其中,该行为模型控制该第一对象所执行行为的操作水平与该目标账号的操作水平信息相匹配。
本申请实施例提供的装置,通过利用结构扩容模型强化训练,从而自动化构建出一系列不同等级的行为模型后,针对不同操作水平的账号,使用具有对应等级的行为模型来陪伴其进行游戏对局,从而能够满足任意操作水平的账号的陪玩需求,使得账号的陪玩AI即第一对象与账号自身控制第二对象的操作水平适配度很高,优化了用户的游戏体验。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的基于行为模型控制第一对象的装置在基于行为模型控制第一对象时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于行为模型控制第一对象的装置与基于行为模型控制第一对象的方法实施例属于同一构思,其具体实现过程详见基于行为模型控制第一对象的方法实施例,这里不再赘述。
图14是本申请实施例提供的一种电子设备的结构示意图,如图14所示,以电子设备为终端1400为例进行说明。可选地,该终端1400的设备类型包括:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
可选地,处理器1401包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1401采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1401包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1402包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1402还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1401所执行以实现本申请中各个实施例提供的行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407和电源1408中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1404通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1401进行处理。可选地,显示屏1405还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405为一个,设置终端1400的前面板;在另一些实施例中,显示屏1405为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,可选地,显示屏1405设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1405采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1407包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1400的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还包括耳机插孔。
电源1408用于为终端1400中的各个组件进行供电。可选地,电源1408是交流电、直流电、一次性电池或可充电电池。当电源1408包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、光学传感器1414以及接近传感器1415。
在一些实施例中,加速度传感器1411检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1401根据加速度传感器1411采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1412检测终端1400的机体方向及转动角度,陀螺仪传感器1412与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1413设置在终端1400的侧边框和/或显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,能够检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1414用于采集环境光强度。在一个实施例中,处理器1401根据光学传感器1414采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还根据光学传感器1414采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1415,也称距离传感器,通常设置在终端1400的前面板。接近传感器1415用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1415检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1415检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图14中示出的结构并不构成对终端1400的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图15是本申请实施例提供的一种电子设备的结构示意图,该电子设备1500可因配置或性能不同而产生比较大的差异,该电子设备1500包括一个或一个以上处理器(CentralProcessing Units,CPU)1501和一个或一个以上的存储器1502,其中,该存储器1502中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器1501加载并执行以实现上述各个实施例提供的行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。可选地,该电子设备1500还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备1500还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得电子设备能够执行以完成上述实施例中的行为模型的训练方法;或,结构扩容模型的训练方法;或,基于行为模型控制第一对象的方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (24)
1.一种行为模型的训练方法,其特征在于,所述方法包括:
通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,所述待扩容模型用于控制虚拟场景中的第一对象的行为;
获取与所述模型结构信息相匹配的初始行为模型;
对所述初始行为模型进行训练,得到所述行为模型,所述行为模型控制所述第一对象所执行行为的操作水平符合预期水平,且所述预期水平高于所述待扩容模型控制所述第一对象所执行行为的操作水平。
2.根据权利要求1所述的方法,其特征在于,所述通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息包括:
将所述待扩容模型对应的信息输入所述结构扩容模型,通过所述结构扩容模型预测对所述待扩容模型的扩容策略信息,所述扩容策略信息用于表征是否对所述待扩容模型中的每个隐藏层进行扩容;
基于所述扩容策略信息,对所述待扩容模型的模型结构进行扩容,得到所述模型结构信息。
3.根据权利要求2所述的方法,其特征在于,所述结构扩容模型为循环神经网络RNN,所述RNN包括一个或多个循环模块,每个所述循环模块用于预测对所述待扩容模型中的一个隐藏层的层级扩容策略;
所述将所述待扩容模型对应的信息输入所述结构扩容模型,通过所述结构扩容模型预测对所述待扩容模型的扩容策略信息包括:
基于所述待扩容模型对应的信息,确定所述RNN所包含的循环模块的数量,其中,所述待扩容模型对应的信息用于指示所述待扩容模型包含的隐藏层层数;
对每个循环模块,通过所述循环模块对上一个循环模块的输出信号进行编码,输出对所述待扩容模型中对应隐藏层的层级扩容策略,所述层级扩容策略用于指示是否对所述对应隐藏层进行扩容以及如何进行扩容;
将各个循环模块输出的所述层级扩容策略获取为所述扩容策略信息。
4.根据权利要求3所述的方法,其特征在于,所述第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,所述行为模型的等级与所述第一对象的操作水平呈正相关;
在所述行为模型对应于等级N的情况下,所述待扩容模型为等级N-1的行为模型,其中,N为大于或等于2的整数。
5.根据权利要求3或4所述的方法,其特征在于,所述RNN中的每个所述循环模块包括:第一循环单元、第二循环单元或者第三循环单元中至少一项;
所述第一循环单元用于预测深度扩容参数,所述深度扩容参数表征是否在所述待扩容模型中与所述循环模块对应的隐藏层后增加隐藏层;所述第二循环单元用于预测宽度扩容参数,所述宽度扩容参数表征是否对所述待扩容模型中与所述循环模块对应的隐藏层增加神经元个数;所述第三循环单元用于预测卷积核扩容参数,所述卷积核扩容参数表征是否对所述待扩容模型中与所述循环模块对应的隐藏层扩大卷积核尺寸。
6.根据权利要求5所述的方法,其特征在于,所述RNN中的每个所述循环模块均包括所述第一循环单元、所述第二循环单元和所述第三循环单元。
7.根据权利要求6所述的方法,其特征在于,所述通过所述循环模块对上一个循环模块的输出信号进行编码,输出对所述待扩容模型中对应隐藏层的层级扩容策略包括:
将所述输出信号输入所述第一循环单元,输出第一隐向量和基于所述第一隐向量确定得到的所述深度扩容参数;
将所述第一隐向量和所述深度扩容参数输入所述第二循环单元,输出第二隐向量和基于所述第二隐向量确定得到的所述宽度扩容参数;
将所述第二隐向量和所述宽度扩容参数输入所述第三循环单元,输出第三隐向量和基于所述第三隐向量确定得到的所述卷积核扩容参数;
将所述深度扩容参数、所述宽度扩容参数和所述卷积核扩容参数,获取为所述循环模块所对应隐藏层的层级扩容策略。
8.根据权利要求1所述的方法,其特征在于,所述对所述初始行为模型进行训练,得到所述行为模型包括:
以所述结构扩容模型为智能体、权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数,所述强化训练的强化信号为所述初始行为模型的性能参数,所述性能参数用于表征所述初始行为模型控制所述第一对象所执行行为的操作水平;
在所述性能参数符合所述预期水平时,对所述结构扩容模型停止训练,基于所述权重继承模型和训练完毕的结构扩容模型,获取所述行为模型。
9.根据权利要求8所述的方法,其特征在于,所述结构扩容模型的损失函数值基于所述性能参数和所述模型结构信息的信息熵确定得到。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
在验证数据集上对所述初始行为模型进行性能评估,得到所述初始行为模型的性能参数;或,
基于所述初始行为模型,控制所述第一对象在多个测试对局中执行对应的行为,基于所述第一对象在所述多个测试对局中的胜率,确定所述初始行为模型的性能参数。
11.根据权利要求1所述的方法,其特征在于,所述获取与所述模型结构信息相匹配的初始行为模型包括:
从权重继承模型中,基于所述模型结构信息,采样得到与所述模型结构信息匹配的子模型,基于所述子模型训练得到所述初始行为模型;或,
从权重继承模型中,基于所述模型结构信息,采样得到与所述模型结构信息匹配的所述初始行为模型;
其中,所述权重继承模型用于提供具有不同模型结构的初始行为模型的模型参数。
12.根据权利要求11所述的方法,其特征在于,所述基于所述子模型训练得到所述初始行为模型包括:
以所述权重继承模型为教师模型、所述子模型为学生模型,以知识蒸馏的方式,在训练数据集上对所述子模型进行训练,得到所述初始行为模型。
13.根据权利要求11所述的方法,其特征在于,所述第一对象受不同等级的行为模型控制所执行的行为对应于不同操作水平,所述行为模型的等级与所述第一对象的操作水平呈正相关;
在所述行为模型对应于等级N的情况下,所述在训练数据集上对所述子模型进行训练包括:
从所述子模型的模型参数所构成的集合中,确定第一子集和第二子集,所述第一子集为所述集合中等级小于N的各个行为模型的模型参数所构成的子集,所述第二子集为所述集合中所述第一子集的补集;
在训练所述子模型时,仅调整所述第二子集中所包含的模型参数。
14.根据权利要求1所述的方法,其特征在于,在所述结构扩容模型批量输出多个模型结构信息的情况下,批量获取所述多个模型结构信息各自对应的多个初始行为模型。
15.一种结构扩容模型的训练方法,其特征在于,所述方法包括:
通过结构扩容模型,获取模型结构信息,所述模型结构信息用于表征行为模型的模型结构,所述行为模型用于控制虚拟场景中的第一对象的行为;
基于权重继承模型,获取与所述模型结构信息相匹配的行为模型,所述权重继承模型用于提供具有不同模型结构的行为模型的模型参数;
以所述结构扩容模型为智能体、所述权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述强化训练的强化信号为所述行为模型的性能参数,所述性能参数用于表征所述行为模型控制所述第一对象所执行行为的操作水平。
16.根据权利要求15所述的方法,其特征在于,所述结构扩容模型的损失函数值基于所述性能参数和所述模型结构信息的信息熵确定得到。
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:
在验证数据集上对所述行为模型进行性能评估,得到所述行为模型的性能参数;或,
基于所述行为模型,控制所述第一对象在多个测试对局中执行对应的行为,基于所述第一对象在所述多个测试对局中的胜率,确定所述行为模型的性能参数。
18.一种基于行为模型控制第一对象的方法,其特征在于,所述方法包括:
响应于目标账号的开局请求,获取所述目标账号的操作水平信息;
确定与所述操作水平信息对应的行为模型,其中,所述行为模型基于初始行为模型训练得到,所述初始行为模型的结构信息由经过强化训练的结构控制模型预测得到;
在基于所述开局请求开启的目标对局中,基于所述行为模型控制所述目标对局中第一对象的行为,其中,所述行为模型控制所述第一对象所执行行为的操作水平与所述目标账号的操作水平信息相匹配。
19.一种行为模型的训练装置,其特征在于,所述装置包括:
扩容模块,用于通过结构扩容模型,对待扩容模型的模型结构进行扩容,得到行为模型的模型结构信息,所述待扩容模型用于控制虚拟场景中的第一对象的行为;
获取模块,用于获取与所述模型结构信息相匹配的初始行为模型;
训练模块,用于对所述初始行为模型进行训练,得到所述行为模型,所述行为模型控制所述第一对象所执行行为的操作水平符合预期水平,且所述预期水平高于所述待扩容模型控制所述第一对象所执行行为的操作水平。
20.一种结构扩容模型的训练装置,其特征在于,所述装置包括:
第一获取模块,用于通过结构扩容模型,获取模型结构信息,所述模型结构信息用于表征行为模型的模型结构,所述行为模型用于控制虚拟场景中的第一对象的行为;
第二获取模块,用于基于权重继承模型,获取与所述模型结构信息相匹配的行为模型,所述权重继承模型用于提供具有不同模型结构的行为模型的模型参数;
强化训练模块,用于以所述结构扩容模型为智能体、所述权重继承模型为环境,对所述结构扩容模型进行强化训练,其中,所述强化训练的强化信号为所述行为模型的性能参数,所述性能参数用于表征所述行为模型控制所述第一对象所执行行为的操作水平。
21.一种基于行为模型控制第一对象的装置,其特征在于,所述装置包括:
获取模块,用于响应于目标账号的开局请求,获取所述目标账号的操作水平信息;
确定模块,用于确定与所述操作水平信息对应的行为模型,其中,所述行为模型基于初始行为模型训练得到,所述初始行为模型的结构信息由经过强化训练的结构控制模型预测得到;
控制模块,用于在基于所述开局请求开启的目标对局中,基于所述行为模型控制所述目标对局中第一对象的行为,其中,所述行为模型控制所述第一对象所执行行为的操作水平与所述目标账号的操作水平信息相匹配。
22.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求14任一项所述的行为模型的训练方法;或,如权利要求15至权利要求17任一项所述的结构扩容模型的训练方法;或,如权利要求18所述的基于行为模型控制第一对象的方法。
23.一种存储介质,其特征在于,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求14任一项所述的行为模型的训练方法;或,如权利要求15至权利要求17任一项所述的结构扩容模型的训练方法;或,如权利要求18所述的基于行为模型控制第一对象的方法。
24.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求14任一项所述的行为模型的训练方法;或,如权利要求15至权利要求17任一项所述的结构扩容模型的训练方法;或,如权利要求18所述的基于行为模型控制第一对象的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210087915.5A CN114404977B (zh) | 2022-01-25 | 2022-01-25 | 行为模型的训练方法、结构扩容模型的训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210087915.5A CN114404977B (zh) | 2022-01-25 | 2022-01-25 | 行为模型的训练方法、结构扩容模型的训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114404977A true CN114404977A (zh) | 2022-04-29 |
CN114404977B CN114404977B (zh) | 2024-04-16 |
Family
ID=81277436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210087915.5A Active CN114404977B (zh) | 2022-01-25 | 2022-01-25 | 行为模型的训练方法、结构扩容模型的训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114404977B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860135A (zh) * | 2022-11-16 | 2023-03-28 | 中国人民解放军总医院 | 使用超网解决异构联邦学习的方法、设备及介质 |
TWI835638B (zh) * | 2022-05-04 | 2024-03-11 | 國立清華大學 | 於非對稱策略架構下以階層式強化學習訓練主策略的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228251A (zh) * | 2017-11-23 | 2018-06-29 | 腾讯科技(上海)有限公司 | 游戏应用中控制目标对象的方法和装置 |
CN111275205A (zh) * | 2020-01-13 | 2020-06-12 | 优地网络有限公司 | 虚拟样本的生成方法、终端设备及存储介质 |
CN112274925A (zh) * | 2020-10-28 | 2021-01-29 | 超参数科技(深圳)有限公司 | Ai模型训练方法、调用方法、服务器及存储介质 |
WO2021186500A1 (ja) * | 2020-03-16 | 2021-09-23 | 日本電気株式会社 | 学習装置、学習方法、及び、記録媒体 |
CN113569891A (zh) * | 2021-01-25 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的训练数据处理、装置、电子设备及存储介质 |
-
2022
- 2022-01-25 CN CN202210087915.5A patent/CN114404977B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228251A (zh) * | 2017-11-23 | 2018-06-29 | 腾讯科技(上海)有限公司 | 游戏应用中控制目标对象的方法和装置 |
CN111275205A (zh) * | 2020-01-13 | 2020-06-12 | 优地网络有限公司 | 虚拟样本的生成方法、终端设备及存储介质 |
WO2021186500A1 (ja) * | 2020-03-16 | 2021-09-23 | 日本電気株式会社 | 学習装置、学習方法、及び、記録媒体 |
CN112274925A (zh) * | 2020-10-28 | 2021-01-29 | 超参数科技(深圳)有限公司 | Ai模型训练方法、调用方法、服务器及存储介质 |
CN113569891A (zh) * | 2021-01-25 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种神经网络模型的训练数据处理、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杜超: "深度生成模型的学习算法及其在推荐系统中的应用研究", 中国博士学位论文全文数据库 (信息科技辑), vol. 2021, no. 2, pages 138 - 45 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI835638B (zh) * | 2022-05-04 | 2024-03-11 | 國立清華大學 | 於非對稱策略架構下以階層式強化學習訓練主策略的方法 |
CN115860135A (zh) * | 2022-11-16 | 2023-03-28 | 中国人民解放军总医院 | 使用超网解决异构联邦学习的方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114404977B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210295099A1 (en) | Model training method and apparatus, storage medium, and device | |
CN109893857B (zh) | 一种操作信息预测的方法、模型训练的方法及相关装置 | |
CN111111220B (zh) | 多人对战游戏的自对弈模型训练方法、装置和计算机设备 | |
CN111282279B (zh) | 模型训练的方法、基于交互式应用的对象控制方法及装置 | |
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN112221152A (zh) | 人工智能ai模型的训练方法、装置、设备及介质 | |
CN114404977B (zh) | 行为模型的训练方法、结构扩容模型的训练方法 | |
CN111598169B (zh) | 一种模型训练方法、游戏测试方法、模拟操作方法及装置 | |
CN110841295B (zh) | 一种基于人工智能的数据处理方法和相关装置 | |
CN112138394B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN112221140B (zh) | 虚拟对象的动作确定模型训练方法、装置、设备及介质 | |
CN116747521B (zh) | 控制智能体进行对局的方法、装置、设备及存储介质 | |
CN113713374A (zh) | 信息显示方法、装置、计算机设备及存储介质 | |
CN110516113A (zh) | 一种视频分类的方法、视频分类模型训练的方法及装置 | |
CN116956007A (zh) | 人工智能模型的预训练方法、装置、设备及存储介质 | |
CN113230650B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN114272599A (zh) | 人工智能对象控制方法、装置、设备及存储介质 | |
CN115944921B (zh) | 游戏数据处理方法、装置、设备及介质 | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 | |
CN113159313B (zh) | 游戏模型的数据处理方法、装置、电子设备及存储介质 | |
CN117899478B (zh) | 一种虚拟角色的控制方法和相关装置 | |
CN113559500B (zh) | 动作数据的生成方法、装置、电子设备及存储介质 | |
CN116808590B (zh) | 一种数据处理方法和相关装置 | |
CN116999852B (zh) | 用于控制虚拟角色的ai模型的训练方法、装置及介质 | |
CN114519779B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071022 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |