CN112712179A - 模型训练方法、服务器及终端设备 - Google Patents
模型训练方法、服务器及终端设备 Download PDFInfo
- Publication number
- CN112712179A CN112712179A CN201911023192.7A CN201911023192A CN112712179A CN 112712179 A CN112712179 A CN 112712179A CN 201911023192 A CN201911023192 A CN 201911023192A CN 112712179 A CN112712179 A CN 112712179A
- Authority
- CN
- China
- Prior art keywords
- action
- model
- value
- state
- game
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012549 training Methods 0.000 title claims abstract description 69
- 239000000872 buffer Substances 0.000 claims abstract description 76
- 238000005070 sampling Methods 0.000 claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000009471 action Effects 0.000 claims description 137
- 230000006870 function Effects 0.000 claims description 42
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种模型训练方法,该方法包括:从多个终端设备中分别获取多个游戏数据;根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。本发明还提供了一种模型训练方法、服务器和终端设备。通过本发明,能够达到在奖励稀疏的情况下,模型充分训练的效果。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种模型训练方法、服务器及终端设备。
背景技术
随着计算机技术的迅猛发展,在诸如智能手机、平板电脑之类的终端上,存在很多具有二维或三维虚拟环境的应用程序,也即即时战略游戏,其中,星际争霸(StarCraft,SC)是最受欢迎和最成功的即时战略(Realtime Strategy,RTS)游戏之一。近年来,由于其巨大的状态空间、隐藏信息和多智能体协作等,SC被认为是人工智能研究的试验平台。由于年度AIIDE和CIG比赛,越来越多的人工智能机器人被提出并不断改进。然而,顶级机器人和专业人类玩家之间仍然存在巨大差距。
随着深度强化学习(Deep Reinforcement Learning,DRL)的发展,开始使用DRL框架在SC中执行宏观动作。通过将在游戏过程中产生的数据进行反馈学习,并分辨什么样的动作序列会导致最终的奖励。然而,在游戏过程中,通常在执行多个动作后才能获得积极或消极的奖励,这种奖励的稀疏性,导致模型的训练不充分,使得机器人性能的改进也不尽如意。
发明内容
本发明的目的在于提供一种模型训练方法和系统,用于解决现有技术中由于游戏过程中奖励的稀疏性,导致模型训练不充分,机器人的性能改进不尽如意的缺陷。
根据本发明的一个方面,提供了一种模型训练方法,该方法包括:
从多个终端设备中分别获取多个游戏数据;
根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
优选地,所述模型训练方法还包括:
根据所述模型的训练结果,将所述模型同步至所述多个终端设备,以使所述多个终端设备将获取的所述游戏数据输入至所述模型中,以获取所述终端设备中虚拟对象执行每种动作的Q值。
优选地,所述损失函数的公式为具体:所述损失函数的公式具体为:
其中,lt(θ)表示损失函数,St表示t时刻的状态,At表示t时刻的动作,Gt表示游戏未结束时的目标数据,t表示从状态St、动作At开始采样的采样时间索引,θ表示动作选择使用的参数,所述θ是随训练变化而变化的,n表示执行的动作数量,λ为常数,且0<λ<1,St+n表示t时刻后执行n个动作后的状态,a表示执行的动作,θ-表示按周期从θ复制过来的参数。
为了实现上述目的,本发明还提供一种模型训练方法,应用于终端设备,所述方法包括:
获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
将所述动作、所述奖励估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
优选地,所述获取处于非游戏状态中的目标数据,包括:
当处于所述非游戏状态时,分别获取所述与所述终端设备具有对抗关系的其他终端设备和所述终端设备的分值,其中,所述分值至少包括建筑得分、兵种得分和经济得分;
根据所述其他终端设备和所述终端设备的分值,计算所述终端设备的目标奖赏值。
优选地,所述计算所述终端设备的目标奖赏值的公式具体为:
其中,所述rnew表示终端设备的奖赏值,所述timedecay表示游戏时长,γ为一常数,0<γ<1,所述γtimedecay表示时间越长,常数值越小,所述Sour表示所述终端设备的分值,所述Senemy表示所述其他终端设备的分值。
优选地,所述终端设备与所述其他终端设备均设有编号,所述探索程度的计算公式具体为:
其中,所述∈、α和N为常数,i表示所述终端设备的编号,所述终端设备的编号大,则所述探索程度越高;当所述探索程度越高时,表示执行所述Q值中最高值对应动作的概率越低;当所探索程度越低时,表示执行所述Q值中最高值对应动作的概率越高。
优选地,所述方法还包括:
将所述终端设备和所述其他终端设备进行分布式部署,并建立所述终端设备、所述其他终端设备与所述服务器的通信连接;
将所述终端设备和所述其他终端设备按照所述探索程度的公式进行探索程度的设置。
为了实现上述目的,本发明还提供一种服务器,该服务器具体包括以下组成部分:
获取模块,用于从多个终端设备中分别获取多个游戏数据;
采样模块,用于根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
训练模块,用于将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
为了实现上述目的,本发明还提供一种终端设备,该终端设备具体包括以下组成部分:
获取模块,用于获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
处理模块,用于将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
确定模块,用于根据所述Q值和预先设置的探索程度确定所述终端设备执行的动作,以使所述虚拟对象执行所述动作,并获取对应的估计值和所述虚拟对象的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
发送模块,用于将所述动作、所述估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的模型训练方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的模型训练方法的步骤。
本发明提供的模型训练方法、服务器、终端设备、计算机设备及可读存储介质,通过从多个终端设备获取处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,并根据预设的优先级对所述游戏数据和所述目标数据进行取样,并将取样结果输入至损失函数中进行模型的训练,从而达到在奖励稀疏的情况下,模型充分训练,极大的提高机器人性能的效果。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本公开实施例提供的模型训练方法的一种可选的应用环境图;
图2为本公开实施例提供的模型训练方法的一种可选的流程示意图;
图3为本公开实施例提供的模型训练方法的另一种可选的流程示意图;
图4为本公开实施例提供的模型训练方法的另一种可选的流程示意图;
图5为所述图4中步骤S200的一种可选的具体流程示意图;
图6为本公开实施例提供的模型训练方法的另一种可选的流程示意图;
图7为本公开实施例提供的服务器的一种可选的程序模块示意图;
图8为本公开实施例提供的终端设备的一种可选的程序模块示意图;
图9为本公开实施例提供的一种计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
部分名词解释
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种。可选地,该虚拟环境还用于至少两个虚拟角色之间的虚拟环境对战,在该虚拟环境中具有可供至少两个虚拟角色使用的虚拟资源。可选的,该虚拟环境的地图为正方形或矩形,该正方形或矩形包括对称的左下对角区域以及右上对角区域;在虚拟环境中对战的胜利条件包括占据或摧毁敌对阵营的目标据点,该目标据点可以是敌对阵营的所有据点,也可以是敌对阵营的部分据点(例如主基地和防守塔)。
虚拟对象:是指在虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟环境为三维虚拟环境时,虚拟对象是三维立体模型,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。以SC游戏为例,虚拟对象可以是SC游戏中的虫族、人族和神族中的任何一个种族,本发明实施例中以目标虚拟对象为人族为例进行说明。
收益值:是虚拟对象的调度策略和/或行为对胜利条件的整体贡献。虚拟对象的行为对胜利条件的贡献为即时收益,虚拟对象的调度策略对胜利条件的贡献为回报收益。例如,虚拟对象在A区域防守,虚拟对象的行为为对虚拟动物进行攻击,攻击虚拟动物所造成的经验值增加对胜利条件的贡献为虚拟对象A的即时收益;用户控制虚拟对象由A区域进行大范围的转移调动至B区域与敌方阵营的虚拟对象进行局部作战,虚拟对象击杀地方阵营虚拟对象对胜利条件的贡献即为回报收益。
图1为本发明实施例提供的模型训练方法的一种可选的应用环境图。图1中服务器S与多个终端设备P1、P2…Pn进行通信。所述多个终端设备P1、P2…Pn可以是笔记本电脑、台式电脑、手机、平板电脑等多种电子显示设备。所述服务器S接收所述多个终端设备P1、P2…Pn上传的游戏数据,根据所述游戏数据进行模型的训练和更新,然后将训练和更新后的所述模型同步至所述多个终端设备P1、P2…Pn。所述多个终端设备P1、P2…Pn均安装有RTS游戏,接收所述服务器S同步下来的模型,并利用所述模型产生新的游戏数据,以使所述服务器S对所述模型进一步训练和更新。需要说明的是,所述服务器S设置有回放缓存器B,所述回放缓存器B设置有多个段回放缓存器b1、b2、b3、b4…bm,用于存储所述多个终端设备P1、P2…Pn上传的游戏数据。在本发明实施例中以SC游戏为例进行说明。
下面结合附图对本发明实施例提供的模型训练方法进行说明。
图2为本发明模型训练方法的一种可选的流程示意图,该方法应用于服务器中,如图2所示,该方法具体包括以下步骤:
步骤S100:从多个终端设备中分别获取多个游戏数据,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
示例性地,结合图1,当从多个终端设备P1、P2…Pn分别获取到多个游戏数据后,将所述多个数据按照所述多个终端设备P1、P2…Pn存储于回放缓存器的段回放缓存器中,以根据所述多个终端设备P1、P2…Pn数据产生速度的不同,按照数据先进先出的顺序将对应的数据分段存储于所述回放缓存器中,利于数据的维护。例如:将从终端设备P1获取的多个游戏数据存储于与所述终端设备P1对应的段回放缓存器b1中,将从终端设备P2获取的多个游戏数据存储于与所述终端设备P2对应的段回放缓存器b2中。
由于多个终端设备产生的游戏数据量大,且所述游戏数据产生速度的不均衡,通过将所述多个终端设备P1、P2…Pn的多个游戏数据分段存储,以提高采样的效率。
步骤S102:根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果。
具体地,由于所述多个终端设备P1、P2…Pn产生的多个游戏数据预先设置有对应的优先级,将每个游戏数据的优先级信息保存于以sum tree的结构存储。然后,根据获取的优先级信息对所述游戏数据进行采样。
需要说明的是,所述sum tree结构包括父节点和叶子节点,根据所述多个终端设备P1、P2…Pn中多个游戏数据产生的先后顺序,依次将所述数据对应的优先级保存于所述sum tree结构的叶子节点,并由左至右每两个叶子节点形成一个父节点,以根据所述父节点索引获取每个叶子节点中保存的优先级。由于sum tree的结构为现有技术,在此不作过多叙述。
步骤S104:将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练。
具体地,所述损失函数的公式具体为:
其中,lt(θ)表示损失函数,St表示t时刻的状态,At表示t时刻的动作,Gt表示游戏未结束时的目标数据,t表示从状态St、动作At开始采样的采样时间索引,θ表示动作选择使用的参数,所述θ是随训练变化而变化的,n表示执行的动作数量,λ为常数,且0<λ<1,St+n表示t时刻后执行n个动作后的状态,a表示执行的动作,θ-表示按周期从θ复制过来的参数。
需要解释的是,q函数是一种状态-动作值函数,也是一种累积奖赏值,在指定初始状态时,通过执行指定动作后,获得对应的环境奖赏。
本发明实施例提供的模型训练方法通过将接收到的游戏数据分段存储和根据预设的优先级对所述游戏数据进行采样,极大的提高了模型的训练速度和精确度,进而极大的提高了机器人的性能。
在示例性的实施例中,如图3所示,所述模型训练方法还可以包括步骤S106。
步骤S106:根据所述模型的训练结果,将所述模型同步至所述多个终端设备,以使所述多个终端设备将获取的所述游戏数据输入至所述模型中,以获取所述终端设备中虚拟对象执行每种动作的Q值。
示例性地,结合图1,所述服务器S每隔预设时间(例如10秒)将训练的模型同步至所述多个终端设备P1、P2…Pn,然后所述多个终端设备P1、P2…Pn利用所述模型产生对应的Q值。通过将模型同步至所述多个终端设备,能够使所述多个终端设备根据新训练的模型产生更为精准的Q值。
需要说明的是,所述Q值反映的是在某个状态和执行对应动作后虚拟环境的奖赏。
图4为本发明模型训练方法的另一种可选的流程示意图,该方法应用于终端设备中,如图4所示,该方法具体包括以下步骤:
步骤S200:获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值。
示例性地,结合图1,终端设备P1设置有python进程,用于接收服务器S同步的模型信息、所述终端设备P1处于游戏状态中的游戏数据和非游戏状态中的目标数据。例如:从游戏开始,所述终端设备P1的虚拟对象每执行一个动作后虚拟环境的状态数据;当游戏结束时,所述终端设备P1中虚拟环境的结束状态数据、结束时虚拟对象执行的动作和执行该动作后获取的虚拟环境目标奖赏值。
步骤S202:将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值。
具体地,所述模型由损失函数构成,所述损失函数的具体公式为:
其中,lt(θ)表示损失函数,St表示t时刻的状态,At表示t时刻的动作,Gt表示游戏未结束时的目标数据,t表示从状态St、动作At开始采样的采样时间索引,θ表示动作选择使用的参数,所述θ是随训练变化而变化的,n表示执行的动作数量,λ为常数,且0<λ<1,St+n表示t时刻后执行n个动作后的状态,a表示执行的动作,θ-表示按周期从θ复制过来的参数。
结合图1,所述终端设备P1将接收到的虚拟环境状态数据输入至上述模型中,通过执行所述模型中的q函数,并获取所述虚拟对象执行每种动作的Q值。例如:state 1输入至所述模型中,获取的模型输出结果有:action 1,Q值为Q1;action 2,Q值为Q2;action 3,Q值为Q3;action 4,Q值为Q4。
步骤S204:根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度。
示例性地,结合图1,若模型的输出结果中Q3>Q2>Q4>Q1,也即Q3为最大值,则根据Q3和预先设定的探索程度确定所述终端设备P1中的虚拟对象是执行action 3还是随机执行action 1、action 2、action 3和action 4中任意一个动作。当所述虚拟对象执行所述确定的动作后,获取所述虚拟环境的状态,并在所述虚拟对象执行预设动作数量之后获取所述虚拟对象执行所述确定的动作后的奖励估计值。在本发明实施例中,所述预设动作数量以n为例进行说明。
具体地,所述终端设备与所述其他终端设备均设有编号,例如:图1中,所述终端设备P1的编号为1,所述终端设备P2的编号为2。当然,所述终端设备P1、P2…Pn可以根据对应终端设备的情况设置,以确定每个终端设备的探索程度。其中,所述探索程度的计算公式具体为:
其中,所述∈、α和N为常数,i表示所述终端设备的编号,所述终端设备的编号大,则所述探索程度越高。在示例性的实施例中,∈=0.7,α=11,N=1000。
需要说明的是,所述探索程度越高,则执行所述action 3的概率越低;所述探索程度越低,则执行所述action 3的概率越高。
步骤S206:将所述动作、所述奖励估计值、所述虚拟环境的状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
示例性地,结合图1,当根据所述Q3和所述预先设定的探索程度确定的所述终端设备P1中虚拟对象执行的动作为action 3,则将action 3、执行action 3后的虚拟环境的状态、在虚拟对象执行n个动作后获取的奖励估计值和目标数据发送至所述服务器S。然后,所述服务器S接收到action 3、执行action 3后的虚拟环境的状态、在虚拟对象执行n个动作后获取的奖励估计值和目标数据后,将该些数据存储于所述终端设备P1对应的段回放缓存器中。然后,所述服务器S根据该些数据进行模型的训练和更新。
本发明实施例提供的模型训练方法,通过将处于游戏状态下虚拟环境的状态数据输入至模型中,并获取虚拟对象执行的动作、执行所述动作后虚拟环境的状态和从环境中获得的奖励估计值,并将获取到的该些数据发送至服务器以对使所述服务器对所述模型进行训练和更新,能够达到在奖励稀疏的情况下,充分训练模型,进而极大的提高机器人性能的效果。
在示例性的实施例中,如图5所示,所述步骤S200还可以包括步骤S2000~S2002。
步骤S2000:当处于所述非游戏状态时,分别获取所述与所述终端设备具有对抗关系的其他终端设备和所述终端设备的分值,其中,所述分值至少包括建筑得分、兵种得分和经济得分。
示例性地,结合图1,若终端设备P1和终端设备P2为对抗关系,当游戏结束时,所述终端设备P1分别获取所述终端设备P1和所述终端设备P2的建筑得分、兵种得分和经济得分三者得分的总分值。
步骤S2002:根据所述其他终端设备和所述终端设备的分值,计算所述终端设备的目标奖赏值。
具体地,所述计算所述终端设备的目标奖赏值的公式具体为:
其中,所述rnew表示终端设备的奖赏值,所述timedecay表示游戏时长,γ为一常数,0<γ<1,所述γtimedecay表示时间越长,常数值越小,所述Sour表示所述终端设备的分值,所述Senemy表示所述其他终端设备的分值。
在示例性的实施例中,如图6所示,所述方法还可以包括步骤S208~S210。
步骤S208:将所述终端设备和所述其他终端设备进行分布式部署,并建立所述终端设备、所述其他终端设备与所述服务器的通信连接。
示例性地,结合图1,将所述终端设备P1和P2进行分布式部署,建立所述终端设备P1、P2与服务器S的通信连接。由于游戏的参与者众多,故,在现实的分布式部署中,存在多个终端设备,例如图1中终端设备P1、P2…Pn,并建立所述终端设备P1、P2…Pn与所述服务器S的通信连接。
步骤S210:将所述终端设备和所述其他终端设备按照所述探索程度的公式进行探索程度的设置。
示例性地,当所述终端设备和所述其他终端设备部署完成,并分别与所述服务器建立通信连接之后,按照所述探索程度公式以及所述终端设备和所述其他终端设备的对应的编号进行探索程度的设置。
基于上述实施例提供的模型训练方法,本实施例中提供一种服务器,具体地,图7示出了该服务器的可选的结构框图,该服务器被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述服务器在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图7所示,服务器S具体包括以下组成部分:
获取模块201,用于从多个终端设备中分别获取多个游戏数据,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
示例性地,结合图1,当所述获取模块201从多个终端设备P1、P2…Pn分别获取到多个游戏数据后,将所述多个数据按照所述多个终端设备P1、P2…Pn存储于回放缓存器的段回放缓存器中,以根据所述多个终端设备P1、P2…Pn数据产生速度的不同,按照数据先进先出的顺序将对应的数据分段存储于所述回放缓存器中,利于数据的维护。例如:将从终端设备P1获取的多个游戏数据存储于与所述终端设备P1对应的段回放缓存器b1中,将从终端设备P2获取的多个游戏数据存储于与所述终端设备P2对应的段回放缓存器b2中。
由于多个终端设备产生的游戏数据量大,且所述游戏数据产生速度的不均衡,通过将所述多个终端设备P1、P2…Pn的多个游戏数据分段存储,以提高采样的效率。
采样模块202,用于根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果。
具体地,由于所述多个终端设备P1、P2…Pn产生的多个游戏数据预先设置有对应的优先级,将每个游戏数据的优先级信息保存于以sum tree的结构存储。然后,所述采样模块202根据获取的优先级信息对所述游戏数据进行采样。
需要说明的是,所述sum tree结构包括父节点和叶子节点,根据所述多个终端设备P1、P2…Pn中多个游戏数据产生的先后顺序,依次将所述数据对应的优先级保存于所述sum tree结构的叶子节点,并由左至右每两个叶子节点形成一个父节点,以根据所述父节点索引获取每个叶子节点中保存的优先级。由于sum tree的结构为现有技术,在此不作过多叙述。
训练模块203,用于将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练。
具体地,所述损失函数的公式具体为:
其中,lt(θ)表示损失函数,St表示t时刻的状态,At表示t时刻的动作,Gt表示游戏未结束时的目标数据,t表示从状态St、动作At开始采样的采样时间索引,θ表示动作选择使用的参数,所述θ是随训练变化而变化的,n表示执行的动作数量,λ为常数,且0<λ<1,St+n表示t时刻后执行n个动作后的状态,a表示执行的动作,θ-表示按周期从θ复制过来的参数。
需要解释的是,q函数是一种状态-动作值函数,也是一种累积奖赏值,在指定初始状态时,通过执行指定动作后,获得对应的环境奖赏。
在示例性的实施例中,所述服务器S还包括同步模块。
所述同步模块,用于根据所述模型的训练结果,将所述模型同步至所述多个终端设备,以使所述多个终端设备将获取的所述游戏数据输入至所述模型中,以获取所述终端设备中虚拟对象执行每种动作的Q值。
示例性地,结合图1,所述同步模块每隔预设时间(例如10秒)将训练的模型同步至所述多个终端设备P1、P2…Pn,然后所述多个终端设备P1、P2…Pn利用所述模型产生对应的Q值。
需要说明的是,所述Q值反映的是在某个状态和执行对应动作后虚拟环境的奖赏。
本发明实施例提供的服务器通过将接收到的游戏数据分段存储和根据预设的优先级对所述游戏数据进行采样,极大的提高了模型的训练速度和精确度,进而极大的提高了机器人的性能。
基于上述实施例提供的模型训练方法,本实施例还提供一种终端设备,具体地,图8示出了该终端设备的可选的结构框图,该终端设备被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述终端设备在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图8所示,终端设备具体包括以下组成部分:
获取模块401,用于获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值。
示例性地,结合图1,终端设备P1设置有python进程,用于接收服务器S同步的模型信息、所述终端设备P1处于游戏状态中的游戏数据和非游戏状态中的目标数据。例如:从游戏开始,所述终端设备P1的虚拟对象每执行一个动作后虚拟环境的状态数据;当游戏结束时,所述终端设备P1中虚拟环境的结束状态数据、结束时虚拟对象执行的动作和执行该动作后获取的虚拟环境目标奖赏值。
处理模块402,用于将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值。
具体地,所述模型由损失函数构成,所述损失函数的具体公式为:
其中,lt(θ)表示损失函数,St表示t时刻的状态,At表示t时刻的动作,Gt表示游戏未结束时的目标数据,t表示从状态St、动作At开始采样的采样时间索引,θ表示动作选择使用的参数,所述θ是随训练变化而变化的,n表示执行的动作数量,λ为常数,且0<λ<1,St+n表示t时刻后执行n个动作后的状态,a表示执行的动作,θ-表示按周期从θ复制过来的参数。
结合图1,所述处理模块402将接收到的虚拟环境状态数据输入至上述模型中,通过执行所述模型中的q函数,并获取所述虚拟对象执行每种动作的Q值。例如:state 1输入至所述模型中,获取的模型输出结果有:action 1,Q值为Q1;action 2,Q值为Q2;action 3,Q值为Q3;action 4,Q值为Q4。
确定模块403,用于根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度。
示例性地,结合图1,若模型的输出结果中Q3>Q2>Q4>Q1,也即Q3为最大值,则所述确定模块403根据Q3和预先设定的探索程度确定所述终端设备P1中的虚拟对象是执行action 3还是随机执行action 1、action 2、action 3和action4中任意一个动作。当所述虚拟对象执行所述确定的动作后,获取所述虚拟环境的状态,并在所述虚拟对象执行预设动作数量之后获取所述虚拟对象执行所述确定的动作后的奖励估计值。在本发明实施例中,所述预设动作数量以n为例进行说明。
具体地,所述终端设备与所述其他终端设备均设有编号,例如:图1中,所述终端设备P1的编号为1,所述终端设备P2的编号为2。当然,所述终端设备P1、P2…Pn可以根据对应终端设备的情况设置,以确定每个终端设备的探索程度。其中,所述探索程度的计算公式具体为:
其中,所述∈、α和N为常数,i表示所述终端设备的编号,所述终端设备的编号大,则所述探索程度越高。在示例性的实施例中,∈=0.7,α=11,N=1000。
需要说明的是,所述探索程度越高,则执行所述action 3的概率越低;所述探索程度越低,则执行所述action 3的概率越高。
发送模块404,用于将所述动作、所述奖励估计值、所述虚拟环境的状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
示例性地,结合图1,当根据所述Q3和所述预先设定的探索程度确定的所述终端设备P1中虚拟对象执行的动作为action 3,则所述发送模块404将action3、执行action 3后的虚拟环境的状态、在虚拟对象执行n个动作后获取的奖励估计值和目标数据发送至所述服务器S。然后,所述服务器S接收到action 3、执行action 3后的虚拟环境的状态、在虚拟对象执行n个动作后获取的奖励估计值和目标数据后,将该些数据存储于所述终端设备P1对应的段回放缓存器中。然后,所述服务器S根据该些数据进行模型的训练和更新。
在示例性的实施例中,所述获取模块401,还用于当处于所述非游戏状态时,分别获取所述与所述终端设备具有对抗关系的其他终端设备和所述终端设备的分值,其中,所述分值至少包括建筑得分、兵种得分和经济得分。
示例性地,结合图1,若终端设备P1和终端设备P2为对抗关系,当游戏结束时,所述获取模块401分别获取所述终端设备P1和所述终端设备P2的建筑得分、兵种得分和经济得分三者得分的总分值。
所述获取模块401,还用于根据所述其他终端设备和所述终端设备的分值,计算所述终端设备的目标奖赏值。
具体地,所述计算所述终端设备的目标奖赏值的公式具体为:
其中,所述rnew表示终端设备的奖赏值,所述timedecay表示游戏时长,γ为一常数,0<γ<1,所述γtimedecay表示时间越长,常数值越小,所述Sour表示所述终端设备的分值,所述Senemy表示所述其他终端设备的分值。
在示例性的实施例中,所述终端设备P1还包括部署模块和设置模块,其中所述部署模块,用于将所述终端设备和所述其他终端设备进行分布式部署,并建立所述终端设备、所述其他终端设备与所述服务器的通信连接。
示例性地,结合图1,将所述终端设备P1和P2进行分布式部署,建立所述终端设备P1、P2与服务器S的通信连接。由于游戏的参与者众多,故,在现实的分布式部署中,存在多个终端设备,例如图1中终端设备P1、P2…Pn,并建立所述终端设备P1、P2…Pn与所述服务器S的通信连接。
所述设置模块,用于将所述终端设备和所述其他终端设备按照所述探索程度的公式进行探索程度的设置。
示例性地,当所述终端设备和所述其他终端设备部署完成,并分别与所述服务器建立通信连接之后,所述设置模块按照所述探索程度公式以及所述终端设备和所述其他终端设备的对应的编号进行探索程度的设置。
本发明实施例提供的终端设备,通过将处于游戏状态下虚拟环境的状态数据输入至模型中,并获取虚拟对象执行的动作、执行所述动作后虚拟环境的状态和从环境中获得的奖励估计值,并将获取到的该些数据发送至服务器以对使所述服务器对所述模型进行训练和更新,能够达到在奖励稀疏的情况下,充分训练模型,进而极大的提高机器人性能的效果。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图9所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图9仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件,例如上述实施例中服务器的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行处理器302中存储的模型训练方法的程序,所述模型训练方法的程序被执行时实现如下步骤:
从多个终端设备中分别获取多个游戏数据;
根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
上述方法步骤的具体实施例过程可参见上述实施例,本实施例在此不再重复赘述。
本发明实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图9所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图9仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件,例如上述实施例中服务器的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行处理器302中存储的模型训练方法的程序,所述模型训练方法的程序被执行时实现如下步骤:
获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
将所述动作、所述奖励估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
从多个终端设备中分别获取多个游戏数据;
根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
上述方法步骤的具体实施例过程可参见上述实施例,本实施例在此不再重复赘述。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
将所述动作、所述奖励估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
本实施例提供的计算机设备及可读存储介质,通过从多个终端设备获取处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,并根据预设的优先级对所述游戏数据和所述目标数据进行取样,并将取样结果输入至损失函数中进行模型的训练,从而达到在奖励稀疏的情况下,模型充分训练,极大的提高机器人性能的效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种模型训练方法,其特征在于,所述方法包括:
从多个终端设备中分别获取多个游戏数据;
根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
2.如权利要求1所述的模型训练方法,其特征在于,所述方法还包括:
根据所述模型的训练结果,将所述模型同步至所述多个终端设备,以使所述多个终端设备将获取的所述游戏数据输入至所述模型中,以获取所述终端设备中虚拟对象执行每种动作的Q值。
4.一种模型训练方法,其特征在于,应用于终端设备,所述方法包括:
获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
根据所述Q值和预先设置的探索程度确定所述终端设备中虚拟对象执行的动作,以使所述虚拟对象执行所述动作,并获取对应的奖励估计值和所述虚拟环境的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
将所述动作、所述奖励估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
5.如权利要求4所述的模型训练方法,其特征在于,所述获取处于非游戏状态中的目标数据,包括:
当处于所述非游戏状态时,分别获取所述与所述终端设备具有对抗关系的其他终端设备和所述终端设备的分值,其中,所述分值至少包括建筑得分、兵种得分和经济得分;
根据所述其他终端设备和所述终端设备的分值,计算所述终端设备的目标奖赏值。
8.如权利要求7所述的模型训练方法,其特征在于,所述方法还包括:
将所述终端设备和所述其他终端设备进行分布式部署,并建立所述终端设备、所述其他终端设备与所述服务器的通信连接;
将所述终端设备和所述其他终端设备按照所述探索程度的公式进行探索程度的设置。
9.一种服务器,其特征在于,包括:
获取模块,用于从多个终端设备中分别获取多个游戏数据;
采样模块,用于根据预设的优先级对所述多个游戏数据进行采样,并获取采样结果;
训练模块,用于将所述采样结果输入至预先设置的损失函数中,以根据所述损失函数的计算结果进行模型的训练;
其中,所述多个游戏数据存储于回放缓存器中,所述回放缓存器包括多个段回放缓存器,所述游戏数据将从不同终端设备获取的游戏数据存放到所述回放缓存器中对应的段回放缓存器中。
10.一种终端设备,其特征在于,所述终端设备包括:
获取模块,用于获取所述服务器同步的模型信息、所述终端设备处于游戏状态中的游戏数据和处于非游戏状态中的目标数据,其中,所述游戏数据至少包括所述终端设备处于游戏状态时虚拟环境的状态,所述目标数据至少包括所述终端设备处于非游戏状态时所述虚拟环境的结束状态、非游戏状态时动作和执行所述非游戏状态时动作后获取的目标奖赏值;
处理模块,用于将所述游戏数据输入至所述模型中,并从所述模型获取所述终端设备中虚拟对象执行每种动作的Q值;
确定模块,用于根据所述Q值和预先设置的探索程度确定所述终端设备执行的动作,以使所述虚拟对象执行所述动作,并获取对应的估计值和所述虚拟对象的状态,其中,所述探索程度表示执行所述Q值中最大数值所对应的动作的可信程度;
发送模块,用于将所述动作、所述估计值、所述状态和所述目标数据发送至所述服务器,并保存于预设回放缓存器对应的段回放缓存器中,以供所述服务器对所述模型进行训练和更新。
11.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述模型训练方法的步骤或实现权利要求4至8任一项所述模型训练方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述模型训练方法的步骤或实现权利要求4至8任一项所述模型训练方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023192.7A CN112712179A (zh) | 2019-10-25 | 2019-10-25 | 模型训练方法、服务器及终端设备 |
US17/078,973 US11498002B2 (en) | 2019-10-25 | 2020-10-23 | Method and system of generating data and training a model, server, and terminal device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023192.7A CN112712179A (zh) | 2019-10-25 | 2019-10-25 | 模型训练方法、服务器及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112712179A true CN112712179A (zh) | 2021-04-27 |
Family
ID=75540667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023192.7A Pending CN112712179A (zh) | 2019-10-25 | 2019-10-25 | 模型训练方法、服务器及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712179A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113181637A (zh) * | 2021-05-10 | 2021-07-30 | 上海幻电信息科技有限公司 | 游戏回放方法和系统 |
CN113521746A (zh) * | 2021-06-23 | 2021-10-22 | 广州三七极耀网络科技有限公司 | Fps游戏的ai模型训练方法、装置、系统和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284812A (zh) * | 2018-09-19 | 2019-01-29 | 哈尔滨理工大学 | 一种基于改进dqn的视频游戏模拟方法 |
CN109815155A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏测试的方法及装置、电子设备、存储介质 |
CN110191351A (zh) * | 2019-05-28 | 2019-08-30 | 上海哔哩哔哩科技有限公司 | 直播道具发放方法、可读存储介质及计算机设备 |
-
2019
- 2019-10-25 CN CN201911023192.7A patent/CN112712179A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284812A (zh) * | 2018-09-19 | 2019-01-29 | 哈尔滨理工大学 | 一种基于改进dqn的视频游戏模拟方法 |
CN109815155A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏测试的方法及装置、电子设备、存储介质 |
CN110191351A (zh) * | 2019-05-28 | 2019-08-30 | 上海哔哩哔哩科技有限公司 | 直播道具发放方法、可读存储介质及计算机设备 |
Non-Patent Citations (1)
Title |
---|
SIJIA XU: "Macro Action Selection with Deep Reinforcement Learning in StarCraft", 《ARXIV》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113181637A (zh) * | 2021-05-10 | 2021-07-30 | 上海幻电信息科技有限公司 | 游戏回放方法和系统 |
CN113181637B (zh) * | 2021-05-10 | 2024-04-16 | 上海幻电信息科技有限公司 | 游戏回放方法和系统 |
CN113521746A (zh) * | 2021-06-23 | 2021-10-22 | 广州三七极耀网络科技有限公司 | Fps游戏的ai模型训练方法、装置、系统和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11491400B2 (en) | Method, apparatus, and device for scheduling virtual objects in virtual environment | |
CN111111204B (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
CN109529352B (zh) | 虚拟环境中调度策略的评估方法、装置及设备 | |
CN111494959B (zh) | 游戏操控方法、装置、电子设备及计算机可读存储介质 | |
CN110251942B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
EP2963605A1 (en) | Online and offline linked game system, and computer program | |
CN113262488B (zh) | 虚拟场景中虚拟对象的控制方法、装置、设备及存储介质 | |
CN112927332B (zh) | 骨骼动画更新方法、装置、设备及存储介质 | |
CN112712179A (zh) | 模型训练方法、服务器及终端设备 | |
US11498002B2 (en) | Method and system of generating data and training a model, server, and terminal device | |
US11298620B2 (en) | Game system, game processing method, computer-readable non-transitory storage medium having stored therein game program, and game apparatus | |
CN113343089A (zh) | 用户召回方法及装置、设备 | |
CN113318448A (zh) | 游戏资源展示方法及装置、设备、模型训练方法 | |
CN114404975A (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
CN112245934B (zh) | 虚拟场景应用中虚拟资源的数据分析方法、装置及设备 | |
CN111111169B (zh) | 数据处理方法、服务器、系统及存储介质 | |
CN113018853B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114307150B (zh) | 虚拟对象之间的互动方法、装置、设备、介质及程序产品 | |
CN112712161B (zh) | 数据生成方法及系统 | |
CN113769408B (zh) | 游戏的数据处理方法、装置、电子设备及存储介质 | |
CN117797477A (zh) | 虚拟对象的生成方法、装置、设备、介质和程序产品 | |
CN109999503B (zh) | 一种游戏互动方法和装置 | |
CN111569430B (zh) | 游戏决策模型的训练方法、装置、电子设备和存储介质 | |
Pham et al. | ATGW: A Machine Learning Framework for Automation Testing in Game Woody | |
CN116943218A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |