CN110490319B - 一种基于融合神经网络参数的分布式深度强化学习方法 - Google Patents
一种基于融合神经网络参数的分布式深度强化学习方法 Download PDFInfo
- Publication number
- CN110490319B CN110490319B CN201910693037.XA CN201910693037A CN110490319B CN 110490319 B CN110490319 B CN 110490319B CN 201910693037 A CN201910693037 A CN 201910693037A CN 110490319 B CN110490319 B CN 110490319B
- Authority
- CN
- China
- Prior art keywords
- network parameters
- parameter
- working
- current network
- neural network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于融合神经网络参数的分布式深度强化学习。包括如下步骤:(1)在每个工作节点上部署深度强化学习代理;(2)每隔一定时间,所有工作节点将各自的当前网络参数和当前得到的平均回报发向参数服务器;(3)参数服务器接收所有工作节点发送过来的当前网络参数和平均回报;(4)参数服务器根据每个工作节点的平均回报占所有平均回报总和的比例来确定参数系数;(5)参数服务器根据所有的当前网络参数和其参数系数计算新的当前网络参数;(6)所有工作节点使用这个新的当前网络参数开始学习。本发明提升了深度强化算法的效果且有效的解决了工作节点频繁向参数服务器发送神经网络的参数梯度所带来的时间消耗问题。
Description
技术领域
本发明涉及人工智能领域,特别是一种分布式深度强化学习方法。
背景技术
深度强化学习算法,是一种将深度学习的感知能力和强化学习的决策能力相结合的算法,通过端对端的学习方式实现从原始输入到输出的控制。该算法在工业制造、仿真模拟、机器人控制、优化与调度、游戏博弈等领域有广泛应用。但是,要让深度强化学习代理训练出比较好的模型,需要花费大量的时间和计算资源,仅凭一台计算机已经不满足使用需求,这种需求导致了分布式深度强化学习的出现。
参数服务器作为分布式深度强化学习训练和存储的通用范式,在学术界和工业界得到了广泛应用。在参数服务器系统中,服务器节点在整个工作节点上收集和共享神经网络参数,工作节点从服务器节点读取神经网络参数并独立更新训练结果。整个体系结构基于一系列的训练迭代,当所有工作节点在训练了一批数据后返回更新的神经网络参数时,迭代就完成了。在这种模型下,每个工作节点都要频繁的向参数服务器发送参数梯度,然后等待参数服务器发送更新过后的神经网络参数。上述过程消耗时间过长的问题亟待解决。
发明内容
鉴于现有技术存在上述缺陷,本发明的目的是提出一种基于融合神经网络参数的分布式深度强化学习方法,即参数服务器将所有工作节点发来的神经网络参数进行融合从而得到新的神经网络参数,包括如下步骤:
(1)在每个工作节点上部署深度强化学习代理,初始化神经网络参数和环境起始状态,然后代理与环境进行交互,更新神经网络参数;
(2)每隔一定时间,所有工作节点将各自的神经网络参数和当前得到的平均回报发向参数服务器,等待参数服务器发回最新的神经网络参数;
(3)参数服务器接收所有工作节点发送过来的神经网络参数和平均回报;
(4)参数服务器根据平均回报计算每个工作节点对应的参数系数;
(5)参数服务器根据每个工作节点对应的参数系数和神经网络参数计算新的神经网络参数,然后将新的神经网络参数发给所有的工作节点;
(6)所有工作节点接收参数服务器发送过来的新的神经网络参数,然后用这个新的神经网络参数开始学习。
所述的步骤(5)的新的神经网络参数的具体计算方法为:
P=p1*a1+p2*a2+…+pn*an
1=a1+a2+…+an
a1到an为N个工作节点对应的参数系数,p1到pn为N个工作节点发送的神经网络参数,P为更新过后的神经网络参数。参数服务器将更新过后的神经网络参数P同步地发送给所有的工作节点;工作节点接收更新过后的神经网络参数后在用新的神经网络参数继续与环境进行交互。
本发明的优点主要包括:
(1)本发明具有通用性,与具体深度强化学习算法无关;
(2)本发明是让工作节点发送神经网络参数而不是梯度,如果发送的是神经网络的梯度,则需要产生梯度后就需要及时送往参数服务器,所以工作节点会频繁的向参数服务器发送梯度。本发明中工作节点产生梯度后直接更新神经网络参数,在一定时间后将神经网络参数发向参数服务器,工作节点向参数服务器发送神经网络参数的频率比较低,从而节省了工作节点发送和等待的时间,并且减轻了参数服务器的负载;
(3)本发明中参数服务器是根据所有工作节点的神经网络参数来更新,通过对神经网络增加扰动,提高了神经网络的稳定性;
(4)如图4所示,本发明能提高算法的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要的附图做简单地介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对应本领域普通技术人员来说,在没有付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例中的框架图。
图2为本发明的具体流程图。
图3为本发明实施例中基于DQN的算法流程图。
图4为本发明基于DQN算法和正常DQN算法结果的对比图,该次实验使用了雅达利游戏Breakout环境和三个工作节点。
具体实施方式
下面将结合本发明中的实施例附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部地实施例。
本发明提出了一种基于融合神经网络参数的分布式深度强化学习方法,具有通用性、稳定性、效果好等优点。
本发明概括来说主要包括如下步骤:
(1)在每个工作节点上部署深度强化学习代理,并且初始化神经网络参数和环境起始状态,然后代理与环境进行交互,更新神经网络参数;
(2)每隔一定时间,所有工作节点将各自的神经网络参数和当前得到的平均回报发向参数服务器,等待参数服务器发回最新的神经网络参数;
(3)参数服务器接收所有工作节点发送过来的神经网络参数和平均回报;
(4)参数服务器根据平均回报计算每个工作节点对应的参数系数;
(5)参数服务器根据每个工作节点对应的参数系数和神经网络参数计算新的神经网络参数,然后将新的神经网络参数发给所有的工作节点;
(6)所有工作节点接收参数服务器发送过来的新的神经网络参数,然后用这个新的神经网络参数开始学习。
下面结合实施例和附图对本发明的内容进行进一步的解释。本发明支持off-policy和on-policy的深度强化学习算法,也支持off-line和on-line的学习方式,可以部署在单机环境也可以部署在多机环境,具有很强的通用性。为了更好的描述本发明,实施例中使用了DQN算法和多机环境来具体描述本发明,且实施例中的环境有确定的终止状态,可以划分为回合来交互,这里的回合指的是从开始状态直到结束状态,或者是执行到最大步数。
上述一种基于融合神经网络参数的分布式深度强化学习方法的流程图如图2所示。这里对上述步骤进行详细描述。
步骤(1)具体为:将每个深度强化学习代理部署在其对应的工作节点,每个工作节点拥有一个当前网络和一个目标网络,还有一个经验池。当前网络,用来产生Q值,目标网络,用来产生Target Q值,经验池用来存放代理与环境交互所得到的经验。代理使用的策略是ε-greedy贪心策略,有一定概率选择Q值最大的动作,否则随机选择一个动作。代理将状态送到当前网络,得到Q值,根据策略选择动作,然后执行该动作,得到下一状态和回报值;如果经验池的经验到达一定数量,代理从中取出一批经验,分别送到当前网络和目标网络,得到相应的Q值和Target Q值;损失函数为:用损失函数L计算梯度,然后更新当前网络;当执行到一定步数后,用当前网络来更新目标网络的参数。
步骤(2)具体为:每隔一定回合,所有工作节点向参数服务器发送当前网络参数、目标网络参数和平均回报。平均回报为每个回合所得的总奖励值的总和除以总回合数。
步骤(3)具体为:参数服务器可以根据每个工作节点的平均回报占所有平均回报总和的比例来确定参数系数。例如,所有工作节点的回报值都为正时,可以通过以下公式计算:rk为第k个工作节点的回报,n为工作节点的个数,ak为第k个工作节点的参数系数。假设有三个工作节点,第一个工作节点的平均回报为360,第二个工作节点的平均回报为480,第三个工作节点的平均回报为360,那这三个工作节点的总平均回报为1200。根据上述公式,可计算出工作节点1、工作节点2和工作节点3的参数系数分别为0.3、0.4和0.3。如果工作节点的回报值有正有负,可以通过以下方法解决:e为自然指数,rk为第k个工作节点的回报,n为工作节点的个数,ak为第k个工作节点的参数系数。前面所提的两种方法是简单的确定参数系数的方法,也可以根据其他方式来计算参数系数。
步骤(5)具体为:
P=p1*a1+p2*a2+…+pn*an
T=t1*a1+t2*a2+…+tn*an
1=a1+a2+…+an
a1到an为N个工作节点对应的参数系数,p1到pn为N个工作节点发送的当前网络参数,t1到tn为N个工作节点发送的目标网络参数,P为更新过后的当前网络参数,T为更新过后的目标网络参数。参数服务器将更新过后的当前网络参数P和目标网络参数T同步地发送给所有的工作节点。工作节点收到当前网络和目标网络参数后在用新的神经网络参数继续与环境进行交互。
Claims (1)
1.一种基于融合神经网络参数的分布式深度强化学习方法,其特征在于,包含以下步骤:
(1)在每个工作节点上部署深度强化学习代理,并且初始化当前网络参数、目标网络参数和环境起始状态;代理与环境进行交互,然后更新当前网络参数和目标网络参数;
(2)每隔 一定时间,所有工作节点将各自的当前网络参数、目标网络参数和当前得到的平均回报发向参数服务器,等待参数服务器发回最新的当前网络参数和目标网络参数;平均回报为所有回合得到的总奖励值除以总回合数;
(3)参数服务器接收所有工作节点发送过来的当前网络参数、目标网络参数和平均回报,参数服务器可以根据每个工作节点的平均回报占所有平均回报总和的比例来确定参数系数;参数系数的具体计算方法为:
e为自然指数,rk为第k个工作节点的回报,n为工作节点的个数,ak为计算得到的第k个工作节点的参数系数;
(4)参数服务器根据每个工作节点对应的参数系数计算新的当前网络参数和目标网络参数,然后将新的当前网络参数和目标网络参数发给所有的工作节点;新的当前网络参数和目标网络参数的具体计算方法为:
P=p1*a1+p2*a2+…+pn*an
T=t1*a1+t2*a2+…+tn*an
1=a1+a2+…+an
a1到an为n个工作节点对应的参数系数,p1到pn为n个工作节点发送的当前网络参数,t1到tn为n个工作节点发送的目标网络参数,P为更新过后的当前网络参数,T为更新过后的目标网络参数;
(5)所有工作节点接收参数服务器发送过来的新的当前网络参数和目标网络参数,然后用这个新的当前网络参数和目标网络参数开始学习。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693037.XA CN110490319B (zh) | 2019-07-30 | 2019-07-30 | 一种基于融合神经网络参数的分布式深度强化学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693037.XA CN110490319B (zh) | 2019-07-30 | 2019-07-30 | 一种基于融合神经网络参数的分布式深度强化学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490319A CN110490319A (zh) | 2019-11-22 |
CN110490319B true CN110490319B (zh) | 2020-06-26 |
Family
ID=68548426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910693037.XA Active CN110490319B (zh) | 2019-07-30 | 2019-07-30 | 一种基于融合神经网络参数的分布式深度强化学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490319B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860828B (zh) * | 2020-06-15 | 2023-11-28 | 北京仿真中心 | 一种神经网络的训练方法、存储介质和设备 |
CN113282411B (zh) * | 2021-05-19 | 2022-03-22 | 复旦大学 | 一种基于边缘设备的分布式神经网络训练系统 |
CN114666218B (zh) * | 2022-04-18 | 2023-11-10 | 中国科学技术大学苏州高等研究院 | 一种基于模型迁移的高效联邦训练方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
WO2018085778A1 (en) * | 2016-11-04 | 2018-05-11 | Google Llc | Unsupervised detection of intermediate reinforcement learning goals |
CN109710289A (zh) * | 2018-12-21 | 2019-05-03 | 南京邮电大学 | 基于深度强化学习算法的分布式参数服务器的更新方法 |
CN109710404A (zh) * | 2018-12-20 | 2019-05-03 | 上海交通大学 | 分布式系统中的任务调度方法 |
CN109902818A (zh) * | 2019-01-15 | 2019-06-18 | 中国科学院信息工程研究所 | 一种面向深度学习训练任务的分布式加速方法及系统 |
-
2019
- 2019-07-30 CN CN201910693037.XA patent/CN110490319B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
WO2018085778A1 (en) * | 2016-11-04 | 2018-05-11 | Google Llc | Unsupervised detection of intermediate reinforcement learning goals |
CN109710404A (zh) * | 2018-12-20 | 2019-05-03 | 上海交通大学 | 分布式系统中的任务调度方法 |
CN109710289A (zh) * | 2018-12-21 | 2019-05-03 | 南京邮电大学 | 基于深度强化学习算法的分布式参数服务器的更新方法 |
CN109902818A (zh) * | 2019-01-15 | 2019-06-18 | 中国科学院信息工程研究所 | 一种面向深度学习训练任务的分布式加速方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110490319A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110490319B (zh) | 一种基于融合神经网络参数的分布式深度强化学习方法 | |
CN108958916B (zh) | 一种移动边缘环境下工作流卸载优化方法 | |
CN114756383B (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
CN110648049B (zh) | 一种基于多智能体的资源分配方法与系统 | |
CN113157422A (zh) | 基于深度强化学习的云数据中心集群资源调度方法及装置 | |
CN113239639B (zh) | 策略信息生成方法、装置、电子装置和存储介质 | |
CN114443249A (zh) | 一种基于深度强化学习的容器集群资源调度方法及系统 | |
CN111898770A (zh) | 一种多智能体强化学习方法、电子设备及存储介质 | |
CN115293052A (zh) | 电力系统有功潮流在线优化控制方法、存储介质和装置 | |
CN114090108B (zh) | 算力任务执行方法、装置、电子设备及存储介质 | |
CN111340192A (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
CN114238269A (zh) | 数据库参数调整方法、装置、电子设备和存储介质 | |
CN117687791A (zh) | 基于强化学习的物联网采集平台计算资源调度方法 | |
CN112312299A (zh) | 服务卸载方法、装置及系统 | |
CN104537224B (zh) | 基于自适应学习算法的多状态系统可靠性分析方法及系统 | |
CN113992520A (zh) | 一种虚拟网络资源的部署方法和系统 | |
CN116909717B (zh) | 一种任务调度方法 | |
Wang et al. | A fast converged voltage control method based on deep reinforcement learning | |
CN112306641B (zh) | 一种用于虚拟机迁移模型的训练方法 | |
Itazuro et al. | Design environment of reinforcement learning agents for intelligent multiagent system | |
CN111190654A (zh) | 功能模块的加载方法、装置、存储介质和电子装置 | |
CN116738923B (zh) | 一种基于带约束强化学习的芯片布局优化方法 | |
CN115118608B (zh) | 快速流量工程方法及装置 | |
CN112953845B (zh) | 分布式系统流量控制方法及装置 | |
CN116506352B (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 |