首页> 中国专利> 一种基于分布式协同采样中心式优化的强化学习训练系统及方法

一种基于分布式协同采样中心式优化的强化学习训练系统及方法

摘要

本发明提供了一种基于分布式协同采样中心式优化的强化学习训练系统,包括强化学习算法模块、优先级队列缓存模块、远端奖励回溯模块、中心式优化模块、分布式机器,同时还提供了上述系统的训练方法,是通过对多组分布式采样机,采集仿真环境实例数据库中多组环境案例,进行与服务端之间的信息交互,输出对应环境案例的轨迹数据给客户端;再通过强化学习算法模块的进行配置强化学习算法模型、初始化参数该系统,还提供了上述系统的方法是通过分布式协同采样、C/S架构模式,结合奖励回溯技术,解决强化学习训练系统满足大规模强化学习训练问题,具备优秀的普适性,较高的采样效率。

著录项

  • 公开/公告号CN112199154A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 南京星耀智能科技有限公司;

    申请/专利号CN202011032658.2

  • 申请日2020-09-27

  • 分类号G06F9/455(20060101);G06F9/54(20060101);G06N20/00(20190101);H04L29/08(20060101);

  • 代理机构32341 南京中律知识产权代理事务所(普通合伙);

  • 代理人祝坤

  • 地址 210000 江苏省南京市经济技术开发区兴智科技园C栋1201、1209室

  • 入库时间 2023-06-19 09:29:07

说明书

技术领域

本发明属于训练技术领域,特别涉及一种基于分布式协同采样中心式优化的强化学习训练系统及方法。

背景技术

强化学习是用于描述和解决智能体与环境交互过程中通过学习策略以达成回报最大化或实现特定目标的技术,其不要求预先给定任何数据,而是通过接受环境对动作的奖励(反馈)获得学习信息并更新模型参数。因此便决定了强化学习需要大量的“智能体-环境”交互的数据进行训练,此外,针对不同的问题规模,其训练所需的数据量与问题规模呈指数级增长。

现有的基础强化学习技术往往仅适用于单机采样与单机训练,其不能很好地满足大规模的训练需求。在现有的一些强化学习框架中(如OpenAI提出的baselines、DeepMind提出的Horizon平台等),往往“训练控制权”掌握在算法手中,该类框架需要使用仿真环境提供的控制接口,如果仿真环境没有提供相应的“重置环境”等控制接口,该类框架与仿真环境就无法结合,这极大地限制了强化学习框架的普适能力。

与此同时,强化学习往往会面临“延迟奖励的问题”,这是由仿真环境本身决定的,而强化学习算法需要根据仿真环境当前运行的效果给出即时奖励,这就促使一些学者研究如何通过算法来解决或者缓解“延迟奖励”问题,但效果往往不明显。

另外,现有的分布式强化学习系统往往在系统中心设置一个独一份的智能体实例,然后通过通信手段,然后将该实例与分布式计算机上的每一份环境进行交互,所有的交互数据传回给中心计算机的智能体实例,通过该实例进行动作的获取与训练。这样的分布式强化学习系统极大的受限于网络通信频率,往往不能最大限度地发挥出智能体训练过程中的计算机性能。

发明内容

为了解决上述技术难题,本发明提供了一种基于分布式协同采样中心式优化的强化学习训练系统,技术方案具体为:包括强化学习算法模块、优先级队列缓存模块、远端奖励回溯模块、中心式优化模块、分布式机器;

所述强化学习算法模块,用于集成存储的强化学习算法模型,通过自定义的算法接口进行调用和切换强化学习算法;

所述优先级队列缓存模块,通过轨迹优先级设置方式,进行队列中待处理的轨迹数据存储及排序;

所述远端奖励回溯模块,通过将优先级队列缓存模块输出的轨迹(S,a,r)中r进行修改处理,生成新的轨迹(S`,a`,r`),其中S和S`分别是轨迹、新的轨迹下的环境状态,即仿真环境中对当前状态的量化描述;a和a`分别是轨迹、新的轨迹下的智能体决策的动作,即对仿真环境中智能体的控制;r和r`分别是轨迹、新的轨迹下的即时奖励,其中奖励是一个标量,描述了对某种状态下采用某种动作的好坏程度;

所述分布式机器设置了多个分布式采样机和一个中心式训练服务器,在每一个分布式采样机器上均对应一份仿真环境;

所述中心式优化模块,通过采集分布式机器的轨迹数据和优先级队列缓存模块的轨迹数据,进行数据筛选,通过强化学习算法模块的强化学习算法模型训练。

作为改进,所述远端奖励回溯模块,具体的方法为,通过对S仿真环境的处理,按照由后到前的原则,对轨迹中的r进行回溯,修改为新的奖励值,修正轨迹,进行模型收敛处理。

同时,还提出了上述强化学习训练系统的训练方法,通过对多组分布式采样机,采集仿真环境实例数据库中多组环境案例,进行与服务端之间的信息交互,输出对应环境案例的轨迹数据给客户端;再通过强化学习算法模块的进行配置强化学习算法模型、初始化参数。

作为改进,与服务端之间进行信息交互时,具体的步骤为:

(1)分布式采样机在运行时,连接访问系统回环通信接口通过内部网络通信,进行仿真环境与内部采样服务器之间的数据交互;当仿真环境完整的运行一次之后,则内部采样服务器获取到了一条完整的轨迹,然后该轨迹将发送给远端的中心式训练服务器内存储;

(2)在系统运行过程中,每一个采样机在获取到完整的轨迹之后都会发送给中心式训练服务器,中心式训练服务器中包含了多种预定的强化学习算法,当其接收到的轨迹数量满足训练条件之后,便会将暂存的所有数据用于模型的训练。其中预定的强化学习算法是现有的成熟的学习算法,例如采用DQN、rainbow、PPO、SAC等算法,以能够本发明的技术方案的算法均属于本发明的保护范围。

作为改进,每一组分布式采样机与仿真环境实例数据库通讯连接,进行模型训练的具体步骤:

步骤1通过强化学习算法模块进行设置算法模型及相应的模型训练参数,并启动服务端、客户端和配置一组仿真环境实例;

步骤4客户端将本地模型model_id作为参数发送给服务端的模型参数服务;

步骤5服务端接收到获取最新模型model_id的请求,若模型已更新,则返回给客户端worker端最新的模型model_id和相应的模型参数;若模型未更新,则返回给客户端worker端最新的模型model_id;

步骤6客户端worker使用更新的模型参数与本地仿真环境进行交互,获取(S,a,r)轨迹数据;

步骤7当单次仿真的轨迹数据采集完毕,将整条轨迹数据发送给服务端;

步骤8服务端对该轨迹数据进行奖励回溯处理和优先级设置;

步骤9将处理好的轨迹数据存储进优先级缓存中;

步骤10当优先级缓存中的数据量达到可训练的程度时,服务端从该缓存中获取优先级较高的一部分数据进行模型训练;

步骤11在服务端更新最新的模型model_id以及相应的模型参数;

步骤12删除优先级缓存中的部分低优先级的轨迹数据;

步骤13直至算法收敛,结束客户端、结束服务learner端训练。

有益效果:本发明提供的基于分布式协同采样中心式优化的强化学习训练系统,具有以下的优点:(1)是通过分布式协同采样,可以使得整个强化学习训练系统满足大规模强化学习训练问题。(2)通过C/S架构模式,“控制权”掌握在环境本身,环境本身决定重置等控制,这使得本强化学习训练系统具备优秀的普适性。(3)通过奖励回溯技术可以很好的解决“延迟奖励”问题,极大地减小采样数据量并加速模型收敛。

在本发明的强化学习训练技术中,通过每一台分布式计算机本机上均部署有智能体实例,因此模型绝大部分的采样均在本机通过本机的网络端口,极大地提高了采样效率。只有再单次采样完成后才给远端的服务端learner发送轨迹数据,因此其网络带宽占用极小,不再受限于网络通信,可以极大限度地发挥出智能体训练过程中的计算机性能。

附图说明

图1为本发明系统模块结构示意图。

图2为本发明系统客户端的流程图。

图3为本发明系统服务端的流程图。

具体实施方式

下面对本发明附图结合实施例作出进一步说明。

一种基于分布式协同采样中心式优化的强化学习训练系统,包括强化学习算法模块、优先级队列缓存模块、远端奖励回溯模块、中心式优化模块、分布式机器;

所述强化学习算法模块,用于集成存储的强化学习算法模型,通过自定义的算法接口进行调用和切换强化学习算法;

所述优先级队列缓存模块,通过轨迹优先级设置方式,进行队列中待处理的轨迹数据存储及排序;这一模块包含有轨迹保存和轨迹优先级排序两个处理方式,可以设置在服务端,即learner端,对服务端worker端发送的轨迹数据进行预处理,并将这个数据保存在该队列中;该队列包含有轨迹优先级设置处理,队列能够自动根据所设置的优先级对该队列中的所有轨迹数据进行排序。

所述远端奖励回溯模块,通过将优先级队列缓存模块输出的轨迹(S,a,r)中r进行修改处理,生成新的轨迹(S`,a`,r`),其中S和S`分别是轨迹、新的轨迹下的环境状态,即仿真环境中对当前状态的量化描述;a和a`分别是轨迹、新的轨迹下的智能体决策的动作,即对仿真环境中智能体的控制;r和r`分别是轨迹、新的轨迹下的即时奖励,其中奖励是一个标量,描述了对某种状态下采用某种动作的好坏程度。。

同一个分布式机器上设置的算法模型都与服务端所设置的一致,这样可以保证数据的互通,从而满足服务端模型训练的需要。

所述中心式优化模块,通过采集分布式机器的轨迹数据和优先级队列缓存模块的轨迹数据,进行数据筛选,通过强化学习算法模块的强化学习算法模型训练。

所述远端奖励回溯模块,具体的方法为,通过对S仿真环境的处理,按照由后到前的原则,对轨迹中的r进行回溯,修改为新的奖励值,修正轨迹,进行模型收敛处理。

作为本发明的具体实施方式,基于分布式协同采样中心式优化的强化学习训练系统的训练方法,是通过对多组分布式采样机,采集仿真环境实例数据库中多组环境案例,进行与服务端之间的信息交互,输出对应环境案例的轨迹数据给客户端;再通过强化学习算法模块的进行配置强化学习算法模型、初始化参数。

与服务端之间进行信息交互时,具体的步骤为:

(1)分布式采样机在运行时,连接访问系统回环通信接口通过内部网络通信,进行仿真环境与内部采样服务器之间的数据交互;当仿真环境完整的运行一次之后,则内部采样服务器获取到了一条完整的轨迹,然后该轨迹将发送给远端的中心式训练服务器内存储;

(2)在系统运行过程中,每一个采样机在获取到完整的轨迹之后都会发送给中心式训练服务器,中心式训练服务器中包含了多种预定的强化学习算法,当其接收到的轨迹数量满足训练条件之后,便会将暂存的所有数据用于模型的训练。

所述分布式机器设置了多个分布式采样机和一个中心式训练服务器,在每一个分布式采样机器上均对应一份仿真环境。

每一组分布式采样机与仿真环境实例数据库通讯连接,进行模型训练的具体步骤:

步骤1通过强化学习算法模块进行设置算法模型及相应的模型训练参数,并启动服务端、客户端和配置一组仿真环境实例;

步骤4客户端将本地模型model_id作为参数发送给服务端的模型参数服务;

步骤5服务端接收到获取最新模型model_id的请求,若模型已更新,则返回给客户端worker端最新的模型model_id和相应的模型参数;若模型未更新,则返回给客户端worker端最新的模型model_id;

步骤6客户端worker使用更新的模型参数与本地仿真环境进行交互,获取(S,a,r)轨迹数据;

步骤7当单次仿真的轨迹数据采集完毕,将整条轨迹数据发送给服务端;

步骤8服务端对该轨迹数据进行奖励回溯处理和优先级设置;

步骤9将处理好的轨迹数据存储进优先级缓存中;

步骤10当优先级缓存中的数据量达到可训练的程度时,服务端从该缓存中获取优先级较高的一部分数据进行模型训练;

步骤11在服务端更新最新的模型model_id以及相应的模型参数;

步骤12删除优先级缓存中的部分低优先级的轨迹数据;

步骤13直至算法收敛,结束客户端、结束服务learner端训练。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号