CN114861826A - 基于分布式设计的大规模强化学习训练框架系统 - Google Patents
基于分布式设计的大规模强化学习训练框架系统 Download PDFInfo
- Publication number
- CN114861826A CN114861826A CN202210612321.1A CN202210612321A CN114861826A CN 114861826 A CN114861826 A CN 114861826A CN 202210612321 A CN202210612321 A CN 202210612321A CN 114861826 A CN114861826 A CN 114861826A
- Authority
- CN
- China
- Prior art keywords
- module
- network model
- training
- environment
- training data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于分布式设计的大规模强化学习训练框架系统,可以通过分布式地运行多个行动者模块,利用集群大量的CPU计算资源,大规模、高并发地产生训练数据,突破了单机训练的物理限制,大幅提升了强化学习中的数据产生效率。通过支持多个学习者模块加入训练,本框架更是进一步地提高了训练效率。同时,为了方便用户使用,本训练框架系统进行了清晰合理的抽象,为强化学习中的所有过程设计了接口,使得用户无需知悉训练中所涉及到的大部分实现细节。因此,通过本发明设计的大规模强化学习分布式训练框架系统,强化学习研究者可以更轻松地进行大规模强化学习,充分利用大规模集群的计算资源,缩短了训练智能体所需的时间。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于分布式设计的大规模强化学习训练框架系统。
背景技术
近年来,在人工智能领域中愈来愈多的研究者转向研究强化学习。2013年,DeepMind提出的DQN模型,首次将深度神经网络的与传统的Q-learning强化学习算法相结合,在Atari游戏上超越了人类专家的水平。自此,人们对强化学习的研究进入了深度强化学习时代。2016至2017年,DeepMind先后开发的AlphaGo、AlphaGo Zero围棋AI开创性地将深度强化学习与蒙特卡洛树搜索结合,多次战胜人类顶级职业棋手,标志着深度强化学习在复杂问题下的重大突破。之后的两年里,深度强化学习更是被用于攻克当今最难的视频游戏Dota 2和星际争霸2,均以压倒性优势战胜人类顶级玩家,成功站上游戏AI之巅。
强化学习是一门解决序列决策问题的学科,而强化学习智能体则是通过相关算法训练得到的,可用于解决此类问题的AI。例如,我们可以通过强化学习算法训练出一个精通游戏的智能体;也可以通过类似的方法,训练出一个能够帮物流公司调度货物的机器人。与此同时,对于强化学习智能体所做的每一步决策,此类问题需要有一个合适的评判机制加以评判——当智能体做得对时,我们要“奖励”;当智能体的决策不好,我们要“惩罚”。因此,序列性、可评判构成了强化学习所研究的决策问题的两个重要要素。另一方面,此类问题可被形式化地定义为马尔可夫决策过程问题,即MDP问题。
具体地,MDP问题可用语言表述为:智能体对于环境当前所处状态st,以某种策略π做出一个合适的动作at,环境进而根据智能体做出的动作推演到下一刻所处的状态st+1,并返回给智能体一个回报值rt+1,至此完成一轮迭代。智能体与环境不断进行上述交互,并累积每一时刻得到的回报值r,而强化学习的目标就是最大化决策过程中智能体的累积回报值∑trt。从数据的获取来源方式来看,大部分机器学习算法的数据分布是与模型好坏无关的,并且相关训练数据也是通过一系列的离线方式采集。而在强化学习问题中,由于训练数据是通过上述交互的形式产生的,模型的训练结果也会反过来影响数据的分布,因此数据总是需要模型与环境交互在线采集得到。
在采集上述数据的同时,研究者会使用这些数据训练特定的模型。在进入了深度学习时代之后,这些模型就从简单的线性模型变成了基于深度神经网络的模型。训练得到的新模型又会被赋予智能体,让智能体能够做出更好的决策,以此通过不断与环境交互,采集到更好的数据。由此完成了强化学习的一整套训练迭代。
目前方案主要存在以下两类技术问题:
技术问题1:当前的深度强化学习算法受困于数据利用率低的问题,需要智能体采集大量的训练数据,才能训练出较好的模型。如在Atari游戏中,训练DQN算法需要与环境交互百万、甚至千万次,训练时间长达几天。而对于更复杂的游戏Dota 2,AI更是要花费相当于人类45000年的时间进行自博弈强化学习。对比之下,人类只需要几周便可通过学习掌握一个游戏。低下的数据利用效率提高了深度强化学习的训练成本,更限制了将其应用到复杂任务、现实场景中的可行性。
技术问题2:由于环境推演的程序难以使用GPU进行计算加速,当前的大部分模拟环境均运行在CPU上,而单机有限的CPU资源直接限制了单机强化学习算法的单位数据采集量,增加了单机训练的时间成本。
鉴于此,有必要研究一套新的训练框架,以突破单机训练的物理限制,从而提高数据的采集效率和利用效率。
发明内容
本发明的目的是提供一种基于分布式设计的大规模强化学习训练框架系统,可以提高数据的采集效率和利用效率。
本发明的目的是通过以下技术方案实现的:
一种基于分布式设计的大规模强化学习训练框架系统,包括:布设在集群内多台计算机上且分布式并行运行的N个行动者模块与M个学习者模块,以及训练数据集中存储模块,行动者模块与学习者模块在运行时分别占用所属计算机中的不同计算资源,N与M均为设定的正整数;其中:
每一行动者模块,用于通过智能体当前包含的网络模型,从当前应用场景中获得训练数据;
训练数据集中存储模块,用于存储训练数据;
每一学习者模块,用于从所述训练数据集中存储模块中提取训练数据进行网络模型的训练,并输出训练得到的网络模型参数更新所述行动者模块中智能体包含的网络模型。
由上述本发明提供的技术方案可以看出,本发明提供了一种新的分布式强化学习训练框架,通过对分布式集群资源的高效利用,提高强化学习过程的训练效率,实现大规模、高并发的强化学习训练,缩短研究者训练强化学习智能体所需的时间,同时满足用户使用的易用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于分布式设计的大规模强化学习训练框架系统的示意图;
图2为本发明实施例提供的单个行动者模块的示意图;
图3为本发明实施例提供的强化学习智能体与环境交互的示意图
图4为本发明实施例提供的单个学习者模块的示意图;
图5为本发明实施例提供的请求回复模式的示意图;
图6为本发明实施例提供的发布者-订阅者模式的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
下面对本发明所提供的一种基于分布式设计的大规模强化学习训练框架系统进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
本发明实施例提供一种基于分布式设计的大规模强化学习训练框架系统,通过多行动者(Actor)的形式在集群内的多台机器上分布式地并行产生训练数据;同时通过多学习者(Learner)的形式,在多张GPU卡上分布式地并行训练模型,以此充分利用大规模集群的计算资源,缩短研究者训练强化学习智能体所需要的时间。也就是说,本发明主要是在训练框架层面做出了改进,其余所涉及的训练中的流程以及网络模型均可参照常规技术,本发明不做赘述。
图1展示了本发明提供的训练框架系统的结构,其主要包括:布设在集群内多台计算机上且分布式并行运行的N个行动者(Actor)模块与M个学习者(Learner)模块,训练数据集中存储模块,通信模块;其中:
每一行动者模块,用于通过智能体当前包含的网络模型,从当前应用场景中获得训练数据。
训练数据集中存储模块,用于存储训练数据。
每一学习者模块,用于从所述训练数据集中存储模块中提取训练数据进行网络模型的训练,并输出训练得到的网络模型参数更新所述行动者模块中智能体包含的网络模型。
通信模块:上述模块之间的交互需要通过通信模块加以衔接,其主要负责传输训练数据和网络模型两类资源。
本发明实施例中,行动者模块与学习者模块在运行时分别占用所属计算机中的不同计算资源,具体的:每一行动者模块占用所在计算机中的一个CPU核心,作为一个进程;每一学习者模块占用所属计算机中的一张GPU卡。N与M均为设定的正整数,具体数值可以根据实际情况或者经验自行设定。
为了便于理解,下面针对系统各个部分做详细的介绍。
一、行动者模块。
图2展示了单个行动这模块的主要结构,包括:网络模型推理加速模块、并行环境推演模块、网络模型发现模块第一通信子模块;其中:
所述网络模型推理加速模块中包含n个智能体副本,通过智能体副本中的网络模型进行推理,并尽可能地提高网络模型的推理速度,其中,n为设定的正整数。网络模型的具体结构可以根据实际情况自行设定,n个智能体副本中的网络模型的结构完全相同,每次更新都会使用最新的模型参数,但是由于不同智能体副本中的网络模型更新参数的时机不同(异步更新自己的参数),因此参数会存在差别。
所述并行环境推演模块中包含n个环境副本,负责并行地维护一组“智能体-环境”之间的交互。n个环境副本的环境配置上没有区别,但是环境内容(环境状态)存在差异;以游戏场景为例,当使用n个相同智能终端开启相同的游戏,每一游戏环境对应一个环境副本,由于每个智能终端的决策(可以理解为网络模型输出的动作)存在随机性,因此游戏环境中存在随机性,n个游戏在一分钟之后的状态存在差异,因此,在初始阶段环境副本虽然是相同的,但是,随着不断交互,环境状态将产生差异。
所述网络模型发现模块,用于搜寻是否存在训练后的网络模型,若存在,则将所有智能体副本中的网络模型更为新训练后的网络模型。
所述第一通信子模块(未在图中示出),用于与所述通信模块建立通信连接,进行训练数据与模型参数的传输。
本发明实施例中,通过所述网络模型推理加速模块与并行环境推演模块的交互,并通过设定的预处理方式,获得训练数据,步骤包括:
(1)通过n个智能体副本与n个环境副本一对一的交互,获得n个环境副本在t时刻的环境状态(s1,s2,…,sn),以及n个智能体副本当前包含的网络模型各自根据相应环境状态产生的决策信息(a1,a2,…,an);其中,si表示第i个环境副本在t时刻的环境状态,ai表示第i个智能体副本当前包含的网络模型产生的决策信息,i=1,2,…,n;
(2)将所述决策信息(a1,a2,…,an)返回给相应的环境副本,并通过交互,获得n个环境副本t+1时刻的环境状态(s′1,s′2,…,s′n)与奖励;其中,s′i表示第i个环境副本在t+1时刻的环境状态。
如图3所示,为强化学习智能体与环境交互的示意图。Agent表示智能体,Environment表示环境,state St表示n个环境副本在t时刻的环境状态(s1,s2,…,sn),actionAt表示n个智能体副本当前包含的网络模型各自根据相应环境状态产生的决策信息(a1,a2,…,an),rewardRt表示将actionAt返回给相应的环境副本获得的回报(即奖励);同理,St+1与Rt+1表示n个环境副本t+1时刻的环境状态,以及将相应决策信息返回环境副本后获得的回报。
(3)重复多次交互,即重复前述步骤1)~步骤2),之后通过设定的预处理方式对环境状态,或者对环境状态、决策信息与奖励进行处理,获得训练数据;训练数据将被发送至训练数据集中存储模块存储,发送完毕后行动者模块继续执行上述步骤1)~步骤3),直到训练结束。同时,还会周期性地在发送完训练数据后,通过网络模型发现模块搜寻是否有新训练出的网络模型参数,若有,则将所有智能体副本中的参数更换为新的网络模型参数。
本发明实施例中,环境是指强化学习的应用场景,如果为应用场景为游戏场景,则环境即为游戏场景。游戏场景中,环境状态包括:游戏的图像界面中能够观测到各个物体的状态,例如,玩家控制的角色的状态,以及环境固有物体(玩家不可控制物体)的状态。决策信息为控制角色做出的动作。以王者荣耀这一游戏为例,环境状态包括:1)能够观测到的玩家控制的角色的状态:视野中的英雄的状态,例如,血量、蓝量、金钱、装备、位置等信息中的一个或多个;2)环境固有物体(玩家不可控制物体)的状态:小兵与野怪的状态(位置与血量等)、地形(障碍物的位置与大小等)、塔的状态(血量与是否保护)等等。决策信息包括:动作指令,用于控制英雄在当前环境状态下所做出的动作,例如,移动或者释放特定技能等。当将决策信息返回给环境后,环境状态将发生变换,例如,决策信息为移动或者释放特定技能后,环境状态动相应影响的位置会发生变化;或者蓝量,某个敌方英雄或者小兵的血量会发生变化。
本领域技术人员可以理解,强化学习的目的是在选定环境下获得最优的决策,所涉及的信息主要包括:1)状态空间,例如,前文介绍的王者荣耀这一游戏中所包含的所有状态构成的集合;2)动作空间,例如,前文介绍的王者荣耀这一游戏中所包含的所有动作构成的集合;3)奖励函数:用于刻画“在特定状态下,进行特定动作(决策)能得到的奖励”的函数。4)状态转移函数:用于刻画“在特定状态下,进行特定动作之后,环境会推演到的下一步状态”的函数。
本发明实施例中,预处理分为对环境状态的预处理,以及将决策信息与奖励转变为可供训练的数据的处理。对不同环境状态的预处理方式不同,在Atari游戏中会对视频的游戏区域进行裁剪,并将图像的分辨率降低,并进行灰度处理。对王者荣耀游戏的处理有:对类别数据进行onehot编码等。将决策信息与奖励转变为可供训练的数据的处理与具体训练方案相关,如果选择PPO(Proximal Policy Optimization,近端策略优化)算法需要将从数据中计算出GAE(Generalized Advantage Estimation,广义优势函数估计),作为训练数据的一部分,如果选择DQN算法,则之前对环境状态的预处理获得的数据可以直接应用,无需再进行处理。综上,预处理后获得的训练数据包括:通过场景图像获得的预处理后的环境状态,预处理后可供训练的决策信息与奖励。。
需要说明的是,上述PPO算法与DQN算法均为学习者模块训练网络模型时所涉及的算法,具体算法过程可参见常规技术,本发明不赘述;当然,以上两类算法仅为示例,并非构成限制,在实际应用中,用户可以根据需要或者经验选择训练阶段的算法。
二、学习者模块。
图4展示了单个学习者模块的主要结构,包括:训练数据预取模块,网络模型优化模块、网络模型同步模块第二通信子模块;其中:
所述训练数据预取模块,用于在训练时异步地将训练数据预取到GPU的显存中,提高训练效率。
所述网络模型优化模块,用于利用训练数据对网络模型进行训练,获得优化后的网络模型的参数。其中,所使用的网络模型和训练方式均由用户指定,本发明不做限制。
所述网络模型同步模块,用于当学习者模块的数目M大于1时,利用所有学习者模块获得的优化后的网络模型的参数进行网络模型参数的同步。例如,可使用环形AllReduce算法,同步网络模型参数。如果M=1,则网络模型优化模块获得的优化后的网络模型的参数会被通信模块直接同步给所有的行动者。
所述第二通信子模块(未在图中示出),用于与所述通信模块建立通信连接,进行训练数据与模型参数的传输。
三、训练数据集中存储模块。
本发明实施例中,训练数据集中存储模块主要用于保存行动者产生的训练数据,并供学习者训练使用。具体的:可以使用一个环形队列存储训练数据,并且包含两个线程,分别负责接收训练数据并存入队列中,以及提取训练数据供学习者进行训练。各个线程之间通过条件锁控制,实现队列操作的原子性。
四、通信模块。
本发明实施例中,通信模块主要用于传输训练数据和网络模型的参数。
通信模块由消息队列实现,在启动之后,主要进行以下两种通信模式:
第一种通信模式为请求回复(Req-Rep)模式,如图5所示,此模式类似于客户端和服务器之间的通信,是多对一的传输模式,负责将行动者模块获得的训练数据发送至训练数据集中存储模块;
第二种通信模式为发布者订阅者(Pub-Sub)模式,如图6所示,此模式是一对多的传输模式,由学习者模块通过广播通信,将训练得到的网络模型参数发布给所有订阅模型的行动者模块。
优选的,为了方便用户使用,上述四类模块应适当地对用户隐藏、透明,因此本发明还设计了一套用户接口,方便研究者更简单地使用本框架,而无需知悉其中的大部分实现细节。主要包括:
(1)网络模型接口,用于对网络模型的构建、推理、参数的保存与读取进行封装。
本发明实施例中,使用了与深度学习框架无关的接口设计,用户可选取任意框架,如Tensorflow和PyTorch,作为网络模型的实现工具。
(2)智能体接口,用于对强化学习的主要流程进行封装。
本发明实施例中,行动者模块中的数据采集(Sample)和学习者模块中的模型训练(Learn)均被实现在同一个智能体(Agent)类之下,让用户可以很轻松地保证算法各流程的一致性。除此以外,智能体类也对状态预处理、训练数据后处理、超参数修改等功能进行了封装。
(3)环境接口,用于环境各类信息进行封装。
本发明实施例中,环境接口采用了类似于OpenAIGym的设计,除了保留Gym了中的一些接口,也对环境中状态的预处理、回报值的设计(RewardShaping)进行了封装。用户可方便地对新的研究环境进行接入。
此外,对于智能体接口和模型接口,本发明通过统一的超参数配置接口和元编程方法,非常方便地实现了实验配置的固化和读取。用户在定义了算法、模型之后,框架系统会自动识别出其中的超参数,并在框架系统运行时保存相应超参数的具体数值,记录为配置文件。框架系统可通过读取配置文件,使用相同配置进行实验复现。
本发明提供的上述训练框架系统的主要工作过程如下:
(1)通过用户接口进行网络模型、智能体、环境等一系列数据的配置。
(2)训练开始时,行动者模块、学习者模块、训练数据集中存储模块以及通信模块被相继启动,其中行动者模块会在多台机器上面启动多份,每台机器如果包含多个CPU核心,则每个行动者模块占用当前机器的一个CPU核心,作为一个进程启动。当有多个学习者模块参与训练时,每个学习者占用一张GPU卡,同样在多台机器上启动。为了传递数据,每个行动者模块和学习者模块,都会启动相应的通信子模块与系统中的通信模块建立通信连接。除此以外,集中存储模块不会启动多个副本。
(3)每个行动者在启动后,首先初始化n个智能体副本,以及相等数量的环境副本。之后开始循环执行网络模型推理与并行环境推演,重复网络模型推理与并行环境推演一定次数后,使用用户指定的数据处理方式,即可得到训练数据,并发送到集中存储模块中。发送完毕后行动者继续执行上述循环,直到训练结束。同时,行动者模块会周期性地在发送完训练数据后,通过网络模型发现模块搜寻是否有新训练出的模型,若有,则将所有智能体副本中的模型更换为新模型。
(4)每个学习者在启动后,初始化一个智能体副本,用于保存和训练模型。之后,预取训练数据、优化网络模型;若只有单个学习者,则优化得到的模型参数会被通信模块直接同步给所有的行动者;当有多个学习者参与分布式训练时,需要通过网络模型同步模块,使用环形AllReduce算法,同步网络模型参数。
以上步骤(3)~(4)不断循环,直至满足训练停止条件,例如,训练次数达标。
本发明实施例提供的上述训练框架系统,它可以通过分布式地运行多个行动者模块,利用集群大量的CPU计算资源,大规模、高并发地产生训练数据,突破了单机训练的物理限制,大幅提升了强化学习中的数据产生效率。通过支持多个学习者模块加入训练,本框架更是进一步地提高了训练效率。同时,为了方便用户使用,本训练框架系统进行了清晰合理的抽象,为强化学习中的所有过程设计了接口,使得用户无需知悉训练中所涉及到的大部分实现细节。因此,通过本发明设计的大规模强化学习分布式训练框架系统,强化学习研究者可以更轻松地进行大规模强化学习,充分利用大规模集群的计算资源,缩短了训练智能体所需的时间。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,包括:布设在集群内多台计算机上且分布式并行运行的N个行动者模块与M个学习者模块,以及训练数据集中存储模块,行动者模块与学习者模块在运行时分别占用所属计算机中的不同计算资源,N与M均为设定的正整数;其中:
每一行动者模块,用于通过智能体当前包含的网络模型,从当前应用场景中获得训练数据;
训练数据集中存储模块,用于存储训练数据;
每一学习者模块,用于从所述训练数据集中存储模块中提取训练数据进行网络模型的训练,并输出训练得到的网络模型参数更新所述行动者模块中智能体包含的网络模型。
2.根据权利要求1所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,所述行动者模块与学习者模块在运行时分别占用所属计算机中的不同计算资源包括:每一行动者模块占用所在计算机中的一个CPU核心,作为一个进程;每一学习者模块占用所属计算机中的一张GPU卡。
3.根据权利要求1或2所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,每一行动者模块包括:网络模型推理加速模块、并行环境推演模块与网络模型发现模块;其中:
所述网络模型推理加速模块中包含n个智能体副本,所述并行环境推演模块中包含n个环境副本,n个环境副本均为应用场景;所述网络模型发现模块,用于搜寻是否存在训练后的网络模型,若存在,则将所有智能体副本中的网络模型更为新训练后的网络模型;其中,n为设定的正整数;
通过所述网络模型推理加速模块与并行环境推演模块的交互,并通过设定的预处理方式,获得训练数据。
4.根据权利要求3所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,通过所述网络模型推理加速模块与并行环境推演模块的交互,并通过设定的预处理方式,获得训练数据的步骤包括:
通过n个智能体副本与n个环境副本一对一的交互,获得n个环境副本在t时刻的环境状态(s1,s2,…,sn),以及n个智能体副本当前包含的网络模型各自根据相应环境状态产生的决策信息(a1,a2,…,an);其中,si表示第i个环境副本在t时刻的环境状态,ai表示第i个智能体副本当前包含的网络模型产生的决策信息,i=1,2,…,n;所述环境状态包括:应用场景的图像中呈现出的各个物体的各类状态;决策信息包括:针对应用场景中某个角色的动作指令;
将所述决策信息(a1,a2,…,an)返回给相应的环境副本,并通过交互,获得n个环境副本t+1时刻的环境状态(s′1,s′2,…,s′n)奖励;其中,s′i表示第i个环境副本在t+1时刻的环境状态;
重复多次交互后通过设定的预处理方式对环境状态,或者对环境状态、决策信息与奖励进行处理,获得训练数据。
5.根据权利要求1或2所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,每一学习者模块包括:训练数据预取模块,网络模型优化模块与网络模型同步模块;其中:
训练数据预取模块,用于在训练时异步地将训练数据预取到GPU卡的显存中;
网络模型优化模块,用于利用训练数据对网络模型进行训练,获得优化后的网络模型的参数;
网络模型同步模块,用于当学习者模块的数目M大于1时,利用所有学习者模块获得的优化后的网络模型的参数进行网络模型参数的同步。
6.根据权利要求1所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,该系统还包括:通信模块,用于传输训练数据和网络模型;
每一行动者模块与每一学习者模块中包含相应的通信子模块,用于与所述通信模块通信连接,进行训练数据与模型参数的传输。
7.根据权利要求6所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,所述通信模块包括两种通信模式:
第一种通信模式为请求回复模式,是多对一的传输模式,负责将行动者模块获得的训练数据发送至训练数据集中存储模块;
第二种通信模式为发布者订阅者模式,是一对多的传输模式,由学习者模块通过广播通信,将训练得到的网络模型参数发布给所有订阅模型的行动者模块。
8.根据权利要求1所述的一种基于分布式设计的大规模强化学习训练框架系统,其特征在于,该系统还包括:用户接口;所述用户接口包括:
网络模型接口,用于对网络模型的构建、推理、参数的保存与读取进行封装;
智能体接口,用于对强化学习的主要流程进行封装;
环境接口,用于环境各类信息进行封装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612321.1A CN114861826A (zh) | 2022-05-31 | 2022-05-31 | 基于分布式设计的大规模强化学习训练框架系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612321.1A CN114861826A (zh) | 2022-05-31 | 2022-05-31 | 基于分布式设计的大规模强化学习训练框架系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861826A true CN114861826A (zh) | 2022-08-05 |
Family
ID=82641779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210612321.1A Pending CN114861826A (zh) | 2022-05-31 | 2022-05-31 | 基于分布式设计的大规模强化学习训练框架系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861826A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115951587A (zh) * | 2023-03-10 | 2023-04-11 | 苏州浪潮智能科技有限公司 | 自动驾驶控制方法、装置、设备、介质及自动驾驶车辆 |
CN116226662A (zh) * | 2023-01-05 | 2023-06-06 | 哈尔滨工业大学(深圳) | 一种多智能体协同强化学习方法、终端及存储介质 |
-
2022
- 2022-05-31 CN CN202210612321.1A patent/CN114861826A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226662A (zh) * | 2023-01-05 | 2023-06-06 | 哈尔滨工业大学(深圳) | 一种多智能体协同强化学习方法、终端及存储介质 |
CN116226662B (zh) * | 2023-01-05 | 2024-02-09 | 哈尔滨工业大学(深圳) | 一种多智能体协同强化学习方法、终端及存储介质 |
CN115951587A (zh) * | 2023-03-10 | 2023-04-11 | 苏州浪潮智能科技有限公司 | 自动驾驶控制方法、装置、设备、介质及自动驾驶车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Du et al. | A survey on multi-agent deep reinforcement learning: from the perspective of challenges and applications | |
CN114861826A (zh) | 基于分布式设计的大规模强化学习训练框架系统 | |
CN113919485B (zh) | 基于动态层级通信网络的多智能体强化学习方法及系统 | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
Wong et al. | Deep Multiagent Reinforcement Learning: Challenges and Directions | |
CN104102522B (zh) | 交互式游戏中智能非玩家角色的人工情感驱动方法 | |
CN114662639A (zh) | 一种基于值分解的多智能体强化学习方法及系统 | |
CN112215350A (zh) | 一种基于强化学习的智能体控制方法及装置 | |
CN112434791A (zh) | 多智能体强对抗仿真方法、装置及电子设备 | |
Zhu et al. | A Q-values sharing framework for multi-agent reinforcement learning under budget constraint | |
CN113313209A (zh) | 一种高样本效率的多智能体强化学习训练方法 | |
Dastani et al. | The second contest on multi-agent systems based on computational logic | |
Källström et al. | Reinforcement learning for computer generated forces using open-source software | |
Bai et al. | Lamarckian platform: Pushing the boundaries of evolutionary reinforcement learning towards asynchronous commercial games | |
CN112755534B (zh) | 一种数据处理方法、装置和存储介质 | |
CN114492052A (zh) | 一种全局流级别网络仿真方法、系统及装置 | |
Zhou et al. | Efficient and robust learning on elaborated gaits with curriculum learning | |
Ueda et al. | Particle filter on episode for learning decision making rule | |
CN111443806A (zh) | 交互任务的控制方法、装置、电子设备及存储介质 | |
Rao et al. | PRobPlan: A framework of integrating probabilistic planning into ROS | |
CN117008989A (zh) | 一种数据处理方法及相关装置 | |
CN113157252B (zh) | 一种电磁信号通用分布式智能处理分析平台及方法 | |
Duan et al. | Particle Swarm Based Reinforcement Learning | |
Wang et al. | Learning cooperative behaviours in adversarial multi-agent systems | |
Chen | Robot Learning from Heterogeneous Demonstration |
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 |