首页> 中国专利> 一种基于分布式强化学习的自主设备决策控制方法

一种基于分布式强化学习的自主设备决策控制方法

摘要

本发明公开了一种基于分布式强化学习的自主设备决策控制方法,包括训练环境搭建步骤,分布式训练步骤和输出决策模型步骤。在分布式集群中配置好采样节点、缓存节点和训练节点,将自主设备仿真环境封装到容器镜像中,分配虚拟化资源。启动分布式智能体训练系统,初始化训练端模型参数,发送参数到缓存节点,再转发到采样节点,完成智能体与仿真环境的交互过程后,再回传数据到训练节点,使用离轨深度强化学习算法更新模型参数。分布式训练完成后,将模型从系统中导出,切换到快速推理模式,用于智能决策问题。本发明在实施过程中能在较大规模分布式集群上进行训练,并且能够充分利用硬件资源,同时对于通信模式的改良能够显著减小带宽需求。

著录项

  • 公开/公告号CN114839879A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN202210553231.X

  • 发明设计人 詹德川;张云天;俞扬;周志华;

    申请日2022-05-19

  • 分类号G05B13/04(2006.01);

  • 代理机构南京乐羽知行专利代理事务所(普通合伙) 32326;

  • 代理人李玉平

  • 地址 210023 江苏省南京市栖霞区仙林大道163号

  • 入库时间 2023-06-19 16:14:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G05B13/04 专利申请号:202210553231X 申请日:20220519

    实质审查的生效

说明书

技术领域

本发明涉及一种基于分布式强化学习的自主设备决策控制方法,属于自主设备控制和分布式系统技术领域。

背景技术

现实情况下,基于强化学习实现自主设备决策控制存在数据需求量大的问题。随着自主设备决策控制的研究综合化复杂化的趋势,仅仅使用单机方法进行自主设备决策控制智能体训练在有限的时间内难以取得成果。

在现有的强化学习解决方案中,自主设备决策控制智能体训练受到有限计算资源的严重制约,在面对复杂度更好的较为真实的问题情景时,能够训练的深度强化学习模型能力有限,往往只解决避障、路径规划、动力学控制等单一领域问题。

发明内容

发明目的:针对现有技术中存在的问题与不足,如何利用分布式条件进行智能体训练,在保持高资源利用率的同时降低成本,是本发明最终想要达到的目的。本发明中将分布式深度强化学习技术引入,面对不同的问题情景,能够使用统一的方法进行端到端地自主设备决策控制智能体训练。

本发明提出一种基于分布式强化学习的自主设备决策控制方法,不需要划分各个功能模块,能够使用分层强化学习模型在复杂问题情境下统一地进行自主设备决策控制。本发明中提出的方法,首先建立包含采样节点、缓存节点和训练节点的训练系统,再进行分布式异步最大熵训练,最后将训练成果编译成高效的并发自主设备决策控制模块。

将分布式深度强化学习技术引入,面对不同的问题情景,能够使用统一的方法端到端地自主设备决策控制智能体训练。

技术方案:一种基于分布式强化学习的自主设备决策控制方法,包括训练系统搭建步骤、分布式训练步骤和并发加速模型导出步骤。

所述训练系统搭建步骤中,首先建立包含采样节点、缓存节点和训练节点的训练系统,设计实现自主设备决策控制仿真环境,将自主设备决策控制仿真环境封装到容器环境中,其次划分虚拟化的CPU服务器和GPU服务器,建立虚拟专有网络确保所有服务器处于同一网段,然后启动训练系统。

所述分布式训练步骤中,同时启动采样节点、缓存节点和训练节点,采样节点不间断地经缓存节点代理向训练节点请求同步模型,完成与仿真环境交互,发送采样得到的数据给训练节点,训练节点不断接受采样数据到样本池,当样本池容量足够时,即开始使用分层最大熵异步算法更新强化学习模型参数。

所述并发加速模型导出步骤中,关闭训练系统,停止训练算法运行,从训练服务器下载模型参数,与模型结构一同打包编译成决策控制模块,开启并行优化。

包含采样节点、缓存节点和训练节点的训练系统的建立具体为:

步骤100,对自主设备决策控制仿真环境进行容器化封装;

步骤101,对虚拟化云平台资源进行划分,得到主要目的为采样的CPU服务器和主要目的为训练控制模型的GPU服务器;

步骤102,建立虚拟专有网络确保所有服务器处于同一网段;

步骤103,启动训练系统程序,将采样节点和缓存节点绑定到CPU服务器,将训练节点绑定到GPU服务器。如果系统启动成功,则可以进行训练;如果启动失败,则从100步重新开始配置。

分布式异步训练机制具体为:

步骤200,启动训练节点、缓存节点和采样节点,并在训练节点上随机初始化控制模型参数;

步骤201,采样节点请求向训练节点请求控制模型参数,这一请求由缓存节点代理完成;

步骤202,采样节点使用请求到控制模型参数,与自主设备决策控制仿真环境进行交互,并对完整的交互数据进行记录;

步骤203,采样节点完成与自主设备决策控制仿真环境的交互后,将完整的交互数据发送给训练节点,这一请求由缓存节点代理完成,随后重复步骤201-203,直到手动终止或者达到预设的循环次数;

步骤204,训练节点收到交互数据后,存入样本池,如果样本容量没有达到预设数量,则等待一段时间再重复步骤204,否则进入步骤205,执行步骤205-208,直到手动终止或者到达预设的循环次数;

步骤205,从样本池中采样一批数据;

步骤206,使用分层最大熵异步强化学习算法计算优化目标;

步骤207,使用反向传播算法计算梯度,并更新控制模型参数;

步骤208,保存模型参数,回到步骤205。

并发加速模型导出方法具体为:

步骤300,对训练系统输入停止指令;

步骤301,从训练节点下载保存一系列控制模型参数;

步骤302,使用自动化打包程序将控制模型参数和控制模型结构编译成一个可执行控制模块;

步骤303,将控制模块调整到并行加速决策模式,并交付使用。

所述容器化封装,指使用Linux操作系统中名为控制群组的功能,为每一个仿真环境提供一个独立运行的假象,使得基于共享内存通信的自主设备决策控制仿真环境能够在不产生任何修改代码成本的前提下,互不干扰地能够在同一台虚拟机上同时运行多个实例。

所述虚拟化云平台,可以向各个公有云计算服务商购买或者自己搭建。

所述缓存节点,与多个采样节点同时存在于同一个CPU服务器上,通过UnixDomainSocket通信(一种Linux操作系统特有的跨进程通信方式)代理实现采样节点的同步模型请求和发送数据请求,构建了训练节点、缓存节点和采样节点的三层网络拓扑结构,能够有效减小训练系统需求的带宽成本。

包含采样节点、缓存节点和训练节点的训练系统,相对于其他训练系统增加了缓存节点,利用离轨强化学习算法允许采样模型和训练模型具有一定程度不一致的特点,通过缓存模型分发,并行执行网络数据流的发送、接受,较大程度上加速了整个系统的运行效率, 较大程度上降低了整个系统的带宽需求,成本更低而综合性能更强。离轨深度强化学习算法是使用深度神经网络作为强化学习模型,按照离轨范式进行训练的算法。

所述的分布式异步训练机制,使用基于最大熵原理的离轨强化学习算法,允许了采样节点与训练节点异步的工作流程,也契合控制问题对平滑输出的需求;对自主设备控制的机动层和规划层分层处理,解耦了不同层次的控制问题,提升了控制方法的有效性。

所述的并发加速模型导出方法,对模型结构和参数进行打包处理,利用编译优化技术提升整体决策模块运行效率,利用多核处理器并行执行能力在实际自主设备控制决策时,通过使用更多计算资源减小控制决策响应时延。

一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于分布式强化学习的自主设备决策控制方法。

一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于分布式强化学习的自主设备决策控制方法的计算机程序。

有益效果:与现有技术相比,本发明所提供的基于分布式强化学习的自主设备决策控制方法,能够避免以往方法模型训练速度慢,模型训练成本高,同时引入了端到端的分层最大熵异步算法,使得一种决策控制方法可以泛用在不同问题情境。

附图说明

图1为本发明实施例的训练系统配置流程图;

图2为本发明实施例的训练算法交互流程图;

图3为本发明实施例的模型编译导出流程图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种基于分布式强化学习的自主设备决策控制方法,首先建立包含采样节点、缓存节点和训练节点的训练系统,再进行分布式异步最大熵训练,最后将训练成果编译成高效的并发自主设备决策控制模块。包括训练系统搭建步骤、分布式训练步骤和并发加速模型导出步骤

训练系统搭建步骤流程如图1所示。为了能够在同一台虚拟机上同时运行多个互相隔离的自主设备仿真实例,首先需要将仿真环境封装到容器中去,既编写容器配置文件,打包容器依赖项,执行容器构建命令,最后推送到中心容器仓库(步骤100);然后对虚拟化平台资源进行划分,确保每一个虚拟机实例完整占据一台物理机的全部资源,既CPU服务器占有所有的CPU核与内存,GPU服务器占有全部的CPU核、内存与GPU计算卡(步骤101);接着建立虚拟专有网络,使得各个虚拟机之间可以通过以以太网为代表的网络连接形式互相通信(步骤102);最后编写训练系统配置脚本,为CPU服务器绑定一个代理节点和多个采样节点,为GPU服务器的每一张GPU加速卡绑定一个训练节点,启动训练系统并检查启动是否成功(步骤103)。

分布式训练步骤流程如图2所示,注意该流程图不是完全线性实施的,采样节点和训练流程具有独立的执行流。具体来说,首先向训练系统发出指令,依次启动训练节点、缓存节点和采样节点,完成采样节点模型的初始化(步骤200);缓存节点启动后,与训练节点同步模型参数,采样节点启动后,与缓存节点同步参数(步骤201);采样节点完成模型同步后,不断地与仿真环境容器进行交互,记录完整的交互数据(步骤202);采样节点结束一次交互之后,将记录的交互数据发送给缓存节点,从缓存节点同步模型然后开始下一次交互,缓存节点积攒一定数量的数据后,一次性提交所有数据到训练节点,并与训练节点进行一次模型同步(步骤203);训练节点每次接受到交互数据后,都存入到样本池中,如果样本池大小不足,则等待下一次数据传输,如果样本足够多,则进入下一步骤(步骤204);训练节点从样本池中随机采样一批数据(步骤205);使用分层最大熵异步强化学习算法,评估现有模型在采样数据上的表现,并给出优化目标(步骤206);对优化目标执行反向传播算法,得到模型参数的梯度并更新模型参数(步骤207);将更新后的模型参数保存到磁盘中,并回到步骤205(步骤208)。

并发加速模型导出步骤流程如图3所示。首先对训练系统输入停止指令,确保训练算法停止工作(步骤300);从训练服务器下载自主设备决策控制模型的最终参数(步骤301);执行智能打包程序,将模型结构和模型参数编译成一个完整的可加载执行的动态链接库模块(步骤302);将决策控制模块调整到非训练模式,执行决策控制过程(步骤303)。

显然,本领域的技术人员应该明白,上述的本发明实施例的基于分布式强化学习的自主设备决策控制方法各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号