CN111191728B - 基于异步或同步的深度强化学习分布式训练方法及系统 - Google Patents

基于异步或同步的深度强化学习分布式训练方法及系统 Download PDF

Info

Publication number
CN111191728B
CN111191728B CN201911423249.2A CN201911423249A CN111191728B CN 111191728 B CN111191728 B CN 111191728B CN 201911423249 A CN201911423249 A CN 201911423249A CN 111191728 B CN111191728 B CN 111191728B
Authority
CN
China
Prior art keywords
gpu
cpu
data
reinforcement learning
network parameters
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.)
Active
Application number
CN201911423249.2A
Other languages
English (en)
Other versions
CN111191728A (zh
Inventor
李明强
唐思琦
陈思
高放
黄彬城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC Information Science Research Institute
Original Assignee
CETC Information Science Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC Information Science Research Institute filed Critical CETC Information Science Research Institute
Priority to CN201911423249.2A priority Critical patent/CN111191728B/zh
Publication of CN111191728A publication Critical patent/CN111191728A/zh
Application granted granted Critical
Publication of CN111191728B publication Critical patent/CN111191728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及一种基于异步或同步的深度强化学习分布式训练方法及系统,同步启动多个CPU执行同一程序,每个CPU初始化为相同的决策函数;实时收集每个CPU三元组数据到GPU;当三元组数据收集时间达到设定时长T,则GPU计算更新策略网络参数,每个CPU基于更新的策略网络参数更新所述决策函数。本发明将CPU和GPU结合使用,显着提高了硬件利用率的效率和规模,从而提高了学习速度。本发明可以采用多GPU数据采集的方式,打破了数据的相关性,提高了数据的有效性。本发明可应用于基于强化学习的游戏AI、推荐系统、智能交通等训练场景,可充分利用现有的计算资源,提高数据的采样效率以及算法的训练速度。

Description

基于异步或同步的深度强化学习分布式训练方法及系统
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于异步或同步的深度强化学习分布式训练方法及系统。
背景技术
强化学习任务通常使用马尔可夫决策过程(Markov Decision Process,简称MDP)来描述,具体而言:机器处在一个环境中,每个状态为机器对当前环境的感知;机器只能通过动作来影响环境,当机器执行一个动作后,会使得环境按某种概率转移到另一个状态;同时,环境会根据潜在的奖赏函数反馈给机器一个奖赏。综合而言,强化学习主要包含四个要素:状态、动作、转移概率以及奖赏函数。
传统的强化学习局限于动作空间和样本空间都很小,且一般是离散的情境下。然而比较复杂的、更加接近实际情况的任务则往往有着很大的状态空间和连续的动作空间。当输入数据为图像,声音时,往往具有很高维度,传统的强化学习很难处理,深度强化学习就是把深度学习对于的高维输入与强化学习结合起来。深度强化学习DRL是深度学习和强化学习的结合。这两种学习方式在很大程度上是正交问题,二者结合得很好。强化学习定义了优化的目标,深度学习给出了运行机制——表征问题的方式以及解决问题的方式。将强化学习和深度学习结合在一起,寻求一个能够解决任何人类级别任务的代理,得到了能够解决很多复杂问题的一种能力——通用智能。
深度强化学习DRL自提出以来,已在理论和应用方面均取得了显著的成果。尤其是谷歌DeepMind团队基于深度强化学习DRL研发的AlphaGo,将深度强化学习DRL成推上新的热点和高度,成为人工智能历史上一个新的里程碑。因此,深度强化学习DRL很值得大家研究。深度强化学习将有助于革新AI领域,它是朝向构建对视觉世界拥有更高级理解的自主系统迈出的一步。
深度强化学习面临很多的难点,其中包括样本利用率低、智能体训练时间长、计算力需求大、模型收敛慢等,特别是针对多智能体场景下,多智能体强化学习策略网络参数和价值网络参数搜索空间巨大,在大规模智能体场景中,随着智能体的规模越来越大,训练强化学习模型的计算力要求也在大幅度提升。
发明内容
针对训练强化学习模型的计算力不足的问题,本发明提供一种基于异步或同步的深度强化学习分布式训练方法及系统,将CPU和GPU结合使用,显着提高了硬件利用率的效率和规模,从而提高了学习速度。
为达到上述目的,本发明提供了一方面提供一种基于异步或同步的深度强化学习分布式训练方法,包括:
同步启动多个CPU执行同一程序,每个CPU初始化为相同的决策函数;
实时收集每个CPU三元组数据到GPU;
当三元组数据收集时间达到设定时长T,则GPU计算更新策略网络参数,每个CPU基于更新的策略网络参数更新所述决策函数。
进一步的,所述三元组数据为(st,at,rt),t表示时刻,st,at,rt分别表示t时刻的状态、决策以及回报。
进一步的,GPU计算更新策略网络参数θ包括:
计算:
Figure BDA0002352862900000021
计算:
Figure BDA0002352862900000022
其中
Figure BDA0002352862900000023
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
进一步的,每个CPU独立的和环境进行交互得到经验数据,各CPU线程之间相互独立。
进一步的,采用单GPU同步计算更新策略网络参数并更新到服务器或多个GPU异步计算更新策略网络参数并更新到服务器。
本发明另一方面提供一种基于异步或同步的深度强化学习分布式训练系统,包括GPU、多个CPU以及服务器;
多个CPU同步启动执行同一程序,每个CPU初始化为相同的决策函数;
所述GPU实时收集每个CPU三元组数据,当三元组数据收集时间达到设定时长T,则所述GPU计算更新策略网络参数至所述服务器;
每个CPU从所述服务器获取更新的策略网络参数并更新所述决策函数。
进一步的,所述三元组数据为(st,at,rt),t表示时刻,st,at,rt分别表示t时刻的状态、决策以及回报。
进一步的,GPU计算更新策略网络参数θ包括:
计算:
Figure BDA0002352862900000031
计算:
Figure BDA0002352862900000032
其中
Figure BDA0002352862900000033
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
进一步的,每个CPU独立的和环境进行交互得到经验数据,各CPU线程之间相互独立。
进一步的,所述GPU为一个,同步计算更新策略网络参数并更新到服务器;
或者所述GPU为多个,异步计算更新策略网络参数并更新到服务器。
本发明的上述技术方案具有如下有益的技术效果:
(1)本发明将CPU和GPU结合使用,显着提高了硬件利用率的效率和规模,从而提高了学习速度。
(2)本发明可以采用多GPU数据采集的方式,打破了数据的相关性,提高了数据的有效性。
(3)本发明可应用于基于强化学习的游戏AI、推荐系统、智能交通等训练场景,可充分利用现有的计算资源,提高数据的采样效率以及算法的训练速度。
附图说明
图1是深度强化学习分布式训练流程图;
图2更新过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本专利针对强化学习训练过程中模型收敛速度慢、样本采样效率低等问题,提出基于同步与异步的分布式训练架构进行数据的采样与策略网络训练,从而加速强化学习的训练速度。目前基于Actor-Critic的深度强化学习算法中需要更新的网络包括策略网络π(a|s;θ)与价值网络V(s;θv),价值网络是对给定状态的优劣判断,决策网络给定状态,输出可选决策或者所有可选决策的概率。
目前强化学习神经网络参数主流更新方法主要是基于BP(Back propagation)反向传播算法,在强化学习过程中,BP算法需要收集来自于智能体与环境交互产生的状态、决策以及回报(st,at,rt)t=1..,T三元组数据,并基于此三元组对策略与价值网络进行更新。
假定价值网络参数为θv,策略网络参数为θ,则价值网络更新过程为
Figure BDA0002352862900000041
Figure BDA0002352862900000042
其中
Figure BDA0002352862900000043
γ为缩放因子,γ∈(0,1),θv为价值网络参数,V(sT;θv)为价值网络输出。
由于强化学习的训练过程需要大量的三元组数据,因此往往单机形式的采样以及梯度计算方式往往难以满足强化学习训练的要求,因此本发明提出基于多cpu并行采样,同步GPU或者异步GPU优化的框架进行强化学习训练。
在强化学习过程中,BP算法需要收集来自于智能体的多份策略或价值函数梯度,因此本发明采用n个CPU核心,每个CPU内核维护公共的神经网络一样的网络结构,这些CPU内核以同步的方式执行环境步骤,即每个CPU会独立的和环境进行交互得到经验数据,这些线程之间互不干扰,独立运行。在提交最后一个观察结果后在GPU上调用该批处理。一旦动作返回,模拟器再次步骤,依此类推,结合图1-2,其步骤包括:
S1同步启动所有CPU执行同一程序,每个CPU初始化为相同的决策函数;例如为多个游戏玩家运行同一游戏程序;
S2实时收集每个CPU三元组数据到GPU;同步执行每一个CPU核心的环境,每一个CPU根据决策函数,收集三元组数据到批处理;
S3当三元组数据收集时间达到设定时长T,则GPU计算更新策略网络参数并发送给每个CPU,每个CPU基于更新的策略网络参数更新所述决策函数。
在GPU中计算:
Figure BDA0002352862900000051
计算:
Figure BDA0002352862900000052
其中
Figure BDA0002352862900000053
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
结合图2,各个工作节点进行数据收集及训练,并将数据发送给GPU,GPU将更新的策略网络参数由服务器发送给各个工作节点,各个工作节点继续完成训练。
本发明除采用多CPU采样单GPU计算梯度外,还可以采用多GPU采样与优化的方式,包括同步与异步两种方式,同步方式中各GPU通过采集三元组数据,各自计算对应的梯度,最后通过均值归约的方式计算新的参数,并将新的参数更新到参数服务器,异步方式中各GPU作为独立的数据采集-优化器,单独处理采集的数据并梯度更新,将更新的参数独立更新到参数服务器。
本发明另一方面提供一种基于异步或同步的深度强化学习分布式训练系统,包括GPU、多个CPU以及服务器;
多个CPU同步启动执行同一程序,每个CPU初始化为相同的决策函数;
所述GPU实时收集每个CPU三元组数据,当三元组数据收集时间达到设定时长T,则所述GPU计算更新策略网络参数至所述服务器;所述三元组数据为(st,at,rt),t表示时刻,st,at,rt分别表示t时刻的状态、决策以及回报;
每个CPU从所述服务器获取更新的策略网络参数并更新所述决策函数。
GPU计算更新策略网络参数θ包括:
计算:
Figure BDA0002352862900000061
计算:
Figure BDA0002352862900000062
其中
Figure BDA0002352862900000063
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
进一步的,每个CPU独立的和环境进行交互得到经验数据,各CPU线程之间相互独立。
进一步的,所述GPU为一个,同步计算更新策略网络参数并更新到服务器;或者所述GPU为多个,异步计算更新策略网络参数并更新到服务器。
综上所述,本发明涉及一种基于异步或同步的深度强化学习分布式训练方法及系统,同步启动多个CPU执行同一程序,每个CPU初始化为相同的决策函数;实时收集每个CPU三元组数据到GPU;当三元组数据收集时间达到设定时长T,则GPU计算更新策略网络参数,每个CPU基于更新的策略网络参数更新所述决策函数。本发明将CPU和GPU结合使用,显着提高了硬件利用率的效率和规模,从而提高了学习速度。本发明可以采用多GPU数据采集的方式,打破了数据的相关性,提高了数据的有效性。本发明可应用于基于强化学习的游戏AI、推荐系统、智能交通等训练场景,可充分利用现有的计算资源,提高数据的采样效率以及算法的训练速度。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (6)

1.一种基于异步或同步的深度强化学习分布式训练方法,其特征在于,包括:
同步启动多个CPU执行同一程序,每个CPU初始化为相同的决策函数;
实时收集每个CPU三元组数据到GPU;
当三元组数据收集时间达到设定时长T,则GPU计算更新策略网络参数,每个CPU基于更新的策略网络参数更新所述决策函数;
其中,
所述三元组数据为(st,at,rt),t表示时刻,st,at,rt分别表示t时刻的状态、决策以及回报;
GPU计算更新策略网络参数θ包括:
计算:
Figure FDA0004135440390000011
计算:
Figure FDA0004135440390000012
其中
Figure FDA0004135440390000013
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
2.根据权利要求1所述的基于异步或同步的深度强化学习分布式训练方法,其特征在于,每个CPU独立地和环境进行交互得到经验数据,各CPU线程之间相互独立。
3.根据权利要求1所述的基于异步或同步的深度强化学习分布式训练方法,其特征在于,采用单GPU同步计算更新策略网络参数并更新到服务器或多个GPU异步计算更新策略网络参数并更新到服务器。
4.一种基于异步或同步的深度强化学习分布式训练系统,其特征在于,包括GPU、多个CPU以及服务器;
多个CPU同步启动执行同一程序,每个CPU初始化为相同的决策函数;
所述GPU实时收集每个CPU三元组数据,当三元组数据收集时间达到设定时长T,则所述GPU计算更新策略网络参数至所述服务器;
每个CPU从所述服务器获取更新的策略网络参数并更新所述决策函数;
其中,
所述三元组数据为(st,at,rt),t表示时刻,st,at,rt分别表示t时刻的状态、决策以及回报;
GPU计算更新策略网络参数θ包括:
计算:
Figure FDA0004135440390000021
计算:
Figure FDA0004135440390000022
其中
Figure FDA0004135440390000023
γ为缩放因子,θv为价值网络参数,V(sT;θv)为价值网络输出。
5.根据权利要求4所述的基于异步或同步的深度强化学习分布式训练系统,其特征在于,每个CPU独立的和环境进行交互得到经验数据,各CPU线程之间相互独立。
6.根据权利要求4所述的基于异步或同步的深度强化学习分布式训练系统,其特征在于:
所述GPU为一个,同步计算更新策略网络参数并更新到服务器;或者所述GPU为多个,异步计算更新策略网络参数并更新到服务器。
CN201911423249.2A 2019-12-31 2019-12-31 基于异步或同步的深度强化学习分布式训练方法及系统 Active CN111191728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911423249.2A CN111191728B (zh) 2019-12-31 2019-12-31 基于异步或同步的深度强化学习分布式训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911423249.2A CN111191728B (zh) 2019-12-31 2019-12-31 基于异步或同步的深度强化学习分布式训练方法及系统

Publications (2)

Publication Number Publication Date
CN111191728A CN111191728A (zh) 2020-05-22
CN111191728B true CN111191728B (zh) 2023-05-09

Family

ID=70708084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911423249.2A Active CN111191728B (zh) 2019-12-31 2019-12-31 基于异步或同步的深度强化学习分布式训练方法及系统

Country Status (1)

Country Link
CN (1) CN111191728B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068549B (zh) * 2020-08-07 2022-12-16 哈尔滨工业大学 一种基于深度强化学习的无人系统集群控制方法
CN112256653B (zh) * 2020-11-06 2024-02-02 网易(杭州)网络有限公司 一种数据采样方法和装置
CN112732436B (zh) * 2020-12-15 2022-04-22 电子科技大学 一种多核处理器-单图形处理器的深度强化学习加速方法
CN112488826A (zh) * 2020-12-16 2021-03-12 北京逸风金科软件有限公司 基于深度强化学习对银行风险定价的优化方法和装置
CN113269329B (zh) * 2021-04-30 2024-03-19 北京控制工程研究所 一种多智能体分布式强化学习方法
CN114861826A (zh) * 2022-05-31 2022-08-05 中国科学技术大学 基于分布式设计的大规模强化学习训练框架系统
CN116523030B (zh) * 2023-06-30 2023-09-15 支付宝(杭州)信息技术有限公司 动态调度模型训练资源的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110488861A (zh) * 2019-07-30 2019-11-22 北京邮电大学 基于深度强化学习的无人机轨迹优化方法、装置和无人机

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202016004628U1 (de) * 2016-07-27 2016-09-23 Google Inc. Durchqueren einer Umgebungsstatusstruktur unter Verwendung neuronaler Netze
EP3769264A1 (en) * 2018-05-18 2021-01-27 Deepmind Technologies Limited Meta-gradient updates for training return functions for reinforcement learning systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110488861A (zh) * 2019-07-30 2019-11-22 北京邮电大学 基于深度强化学习的无人机轨迹优化方法、装置和无人机

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘建伟 ; 高峰 ; 罗雄麟 ; .基于值函数和策略梯度的深度强化学习综述.计算机学报.2018,(06),全文. *
薄海光 ; 吴立新 ; 余接情 ; 谢磊 ; .基于GPU加速的SDOG并行可视化实验.地理与地理信息科学.2013,(04),全文. *

Also Published As

Publication number Publication date
CN111191728A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111191728B (zh) 基于异步或同步的深度强化学习分布式训练方法及系统
Guo et al. Cloud resource scheduling with deep reinforcement learning and imitation learning
Du et al. A survey on multi-agent deep reinforcement learning: from the perspective of challenges and applications
CN109902818B (zh) 一种面向深度学习训练任务的分布式加速方法及系统
CN110070181A (zh) 一种用于边缘计算设备的深度学习的优化方法
CN110990155B (zh) 一种面向大规模安全监控的参数通信方法
CN109063823B (zh) 一种智能体探索3d迷宫的批a3c强化学习方法
CN112732436B (zh) 一种多核处理器-单图形处理器的深度强化学习加速方法
CN112121419B (zh) 虚拟对象控制方法、装置、电子设备以及存储介质
CN107085743A (zh) 一种基于国产众核处理器的深度学习算法实现方法与平台
CN111282272B (zh) 信息处理方法、计算机可读介质及电子设备
CN109657794B (zh) 一种基于指令队列的分布式深度神经网络性能建模方法
CN113313209A (zh) 一种高样本效率的多智能体强化学习训练方法
CN109976873B (zh) 容器化分布式计算框架的调度方案获取方法及调度方法
CN112035995B (zh) 基于gpu计算技术的非结构网格潮汐潮流数值模拟方法
CN114819095A (zh) 业务数据处理模型的生成方法、装置及电子设备
CN118153660A (zh) 一种具有多层熵结构的深度强化学习策略优化方法、系统
CN116680301A (zh) 一种面向人工智能大模型高效训练的并行策略搜索方法
CN104463940B (zh) 一种基于gpu的混合树并行构建方法
CN115292044A (zh) 数据处理方法、装置、电子设备及存储介质
CN112598112B (zh) 一种基于图神经网络的资源调度方法
CN116187466A (zh) 一种基于旋转对称性的多智能体强化学习训练方法
CN116244047A (zh) 一种用于数据中心资源调度的加速优化方法
Mao Real-time small-size pixel target perception algorithm based on embedded system for smart city
CN111950691A (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
GR01 Patent grant
GR01 Patent grant