CN109190751A - 一种基于深度强化学习的机器自主决策方法 - Google Patents
一种基于深度强化学习的机器自主决策方法 Download PDFInfo
- Publication number
- CN109190751A CN109190751A CN201810796645.9A CN201810796645A CN109190751A CN 109190751 A CN109190751 A CN 109190751A CN 201810796645 A CN201810796645 A CN 201810796645A CN 109190751 A CN109190751 A CN 109190751A
- Authority
- CN
- China
- Prior art keywords
- movement
- network
- state
- training
- environment
- 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.)
- Granted
Links
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (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)
Abstract
本发明公开了一种基于深度强化学习的机器自主决策方法,本发明让机器在环境中自主学习并做出正确的行为决策。核心特色在于在训练初期采用动作惩罚方法避免学习陷入局部最优,和在训练后期采用二次反向探索方法解决后期学习停滞问题。
Description
技术领域
本发明涉及一种机器自主决策方法,具体涉及一种基于深度强化学习的机器自主决策方法。
背景技术
最近,强化学习的概念被提出,强化学习的目的便是让机器在环境中自主学习并做出正确的行为决策。这些决策通常为能够解决实际问题,从事人类生产活动等有实际价值的行为。
强化学习的参与者包括强化学习主体和环境,其中强化学习主体也称为代理或者机器。该方法的灵感来自于主体对环境的适应,如果代理的某个行为导致环境正的奖励(强化信号),那么代理以后产生这个行为的趋势便会变多。比如动物捕食到了食物,他们便得到了饱腹的满足感。他们会记住并在之后更加倾向于做出能够找到食物的动作。
强化学习把学习看作试探评价过程,代理选择一个动作用于环境,环境接受该动作后根据其自身的规则使状态发生变化,同时给出一个强化信号(奖励或惩罚)反馈给代理,代理根据得到的强化信号和环境的新状态再选择下一个动作,选择的原则是使代理受到的奖励概率增大。选择的动作不仅影响立即获得的强化信号,而且影响环境下一时刻的状态进而影响最终累积获得的强化信号。
强化学习不同于大部分深度学习所采用的监督学习模式,这主要表现在指导信号上,强化学习中环境提供的强化信号是对代理产生的动作好坏作一种评价(通常为标量值),而不是直接告诉代理什么是正确的动作,你应该怎么做。由于外部环境提供的信息很少,代理必须靠自身的经历进行学习。通过这种方式,代理在行动——评价中获得关于环境的知识,改进自身的行动方案以适应环境。
发明内容
本发明针对现有技术的不足,提出了一种基于深度强化学习的机器自主决策方法。
本发明是让机器在环境中自主学习并做出正确的行为决策。对于扫地机器人来说,其所在环境中正确的行为便是找到并清除地面上的杂物。对于自动驾驶智能来说其正确的行为便是寻路并沿着路线驾驶载具安全到达目的地。
本发明内容的主要步骤是:
步骤一:构建训练样本
构建训练样本e(s,a,r,s′,d),表示主体与环境的一次交互,其中s为这次交互中环境的状态,a为代理在这个状态下执行的动作,r为代理在状态s下做出的动作a得到的奖励反馈,s′为环境受到这个动作后发生变化产生的新状态,d指示新的状态是否为终止状态;
步骤二:构建强化学习网络
根椐训练样本,构建行动者网络,输入为环境状态,输出为要执行的动作:a=μ(s);定义行动网络用来预测动作价值函数值为:
y=r+γQ(s′,μ(s′));其中,动作价值函数为:
Q(s,a)=r+(1-d)γ·Q(s′,a′);
构建评判家网络,输入为状态和动作,输出为输入动作的动作价值Q(s,a),其中s为状态值,a为执行的动作;
步骤三:网络训练
在评判者网络中计算得到动作价值函数Q在当前状态下对于动作a的梯度:
在行动者网络中得到动作a对于行动者网络参数θμ的梯度:
将上面两个梯度相乘得到的便是动作价值Q对于行动者网络参数的梯度:
在训练过程中,引入噪声N进行探索;实际训练代理执行的动作为行动者网络给出的动作与探索噪声之和μ(s)+N;
详细训练过程如下:
将动者评判家网络的权重随机初始化为θQ,θμ
使用上一步的权重初始化目标行动者与评判家网络μ′,Q′
对于每一个情节:
为动作探索初始化随机过程噪声N
重置环境,获得初始状态s1
对于一个情节中的每一步:
根据当前的策略网络和探索噪声,获得动作
at=μ(st|θμ)+Nt
执行动作at,获得奖励rt和新的状态st+1
将样本(st,at,rt,st+1)存储到回放缓冲区R中
从回放缓冲区R中采样获得小批量样本
对于采样获得的每个样本,计算yi=r+γQ′(st+1,μ′(st+1))
通过最小化损失训练评判家
使用样本中的数据计算以下梯度并按该梯度更新行动者网络
更新行动者与评判家的目标网络
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′。
本发明相对于现有技术所具有的有益效果:本发明让机器在环境中自主学习并做出正确的行为决策。核心特色在于在训练初期采用动作惩罚方法避免学习陷入局部最优,和在训练后期采用二次反向探索方法解决后期学习停滞问题。
附图说明
图1为网络框架图;
图2训练环境;
图3动作惩罚训练效果图;
图4反向代理训练效果图。
具体实施方式
面结合附图,通过具体实施例,对本发明的技术方案进行清楚、完整的描述。
1.网络框架图
如图1所示,系统包含行动者与评判家网络,它们共享卷积层部分,其各层参数如下:
输入层为代理与环境交互最近4帧的灰度图像维度为(84,84,4)
卷积层1:卷积核数目32,大小8x8,步进(4,4)
卷积层2:卷积核数目32,大小4x4,步进(2,2)
卷积层3:卷积核数目32,大小3x3,步进(1,1)
所有卷积层均采用线性修正激活函数(ReLU),且最后一层的输出转换为一维。
行动者网络的各层参数:
全连接层1:神经元数目256,激活函数为线性修正,输入为共享卷积层的输出
全连接层2:神经元数目256,激活函数为线性修正,输入为全连接层1的输出
全连接层3:神经元数目为输出动作维度,激活函数为tanh,输入为全连接层2的输出,输出即对应着行动者网络对于输入状态给出的最优动作。
评判家网络的各层参数:
动作输入层,输入为要预测Q值的动作,维度为(3,)
动作线性处理层,类型为全连接,神经元数目32,激活函数为线性。说明:将动作的特征映射到32维向量上,通过这样的线性处理增大维度,其特征更容易被后面的神经元学习到。
全连接层1,神经元数目256,激活函数为线性修正,输入为共享卷积层的输出和动作线性处理层输出的结合,其包括了输入状态与输入动作的全部特征信息
全连接层2,神经元数目256,激活函数为线性修正,输入为全连接层2的输出
全连接层3,神经元数目1,激活函数为线性,输入为全连接层2的输出,输出即为评判家网络的输出,对应为输入状态下给定动作的Q值。
超参数的选取上行动者网络的学习速率为1e-4,评判家网络的学习速率为1e-3,目标网络的缓变速率τ=0.001,经验回放缓冲区大小为100,000。2.训练环境
训练环境是一个模拟汽车驾驶的环境,使用物理仿真。训练代理接收96x96x3的RGB图像,输出的动作为转向,加速,制动三个连续的值。转向的动作区间为[-1,1],其中-1代表最大左转,1代表最大右转,0代表不转向。加速的动作区间为[0,1],其中0代表不加速,1代表最大加速。制动的动作区间为[0,1],其中0代表不制动,1代表最大制动。
环境在初始化时会随机生成一条环形赛道,赛道中有N条检查带,每帧当汽车通过一条检查带将会获得1000/N的奖励(当汽车脱离赛道后其不会通过检查带),其他情况下会得到-0.1的惩罚。环境的最大时长为1000帧,当汽车绕行一周回到出发点或者运行1000帧后,本轮模拟结束,其分数取本次测试中的最高分数。例如200帧时的分数为100分,但之后汽车脱离赛道,分数逐渐降低,最后分数仍取100。可以得知,如果汽车以m帧绕行赛道一周回到出发点,其间通过了n条检查带,则最终分数为1000n/N–0.1m,即汽车在赛道上以越短的时间通过越多的检查点,其分数越高,我们的目的便是以尽量快的速度通过尽量多的检查点。
图2中道路的背景为深灰色,其上的浅灰色的条为检查带,左下角的数字代表目前获得的分数。分数右侧白色的矩形条指示车辆当前的速度,四个蓝色的矩形条分别代表车辆4个轮胎的转速,矩形条越高代表速度越快。底部正中间绿色的矩形条指示向环境输入的转向动作,左转的动作越大,矩形条靠左侧的长度越长;右转的动作越大,矩形条靠右侧的长度越长。底部最右侧的红色矩形条指示车辆当前的转向速度,车辆左转向的速度越大,矩形条靠左侧的长度越长;车辆右转向的速度越大,矩形条靠右侧的长度越长。3.动作惩罚训练效果图
如图3所示,在加入动作惩罚后,系统的训练效果图。其本质相当于给行动者网络的输出加入了L2规范化。通过附加这样的惩罚,行动者网络的输出值会更加倾向于在中立值附近,而不会像上图一样陷在极大或极小值。这样这些中立值附近的动作会更多的被执行,评判家网络将会学习到更多中立值附近的动作价值函数及其对于动作的梯度,行动者网络也会有更大可能接受中立值附近的动作梯度指导,这样的训练过程会更加稳定健壮。在这些值附近探索,也更容易发掘出最优动作。
4.反身代理训练效果图
图4所示,在第一次正向探索学习之后,得到了一个已经学习到一些策略但并不完美健壮的网络。第二次学习时,直接载入这个网络,但是在学习过程中让探索噪声的幅度由0线性增加到0.5。也就是说让网络从网络自身学习到的行为探索到我们给定的最初行为。这样的反向探索能够使得评判家从行动者网络给出的动作的附近完善梯度,直到最初的给定动作。在完善后的动作梯度指导下,行动者网络可以被优化到给出更为合理的动作行为。
任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (1)
1.一种基于深度强化学习的机器自主决策方法,其特征在于,该方法具体包括以下步骤:
步骤一:构建训练样本
构建训练样本e(s,a,r,s′,d),表示主体与环境的一次交互,其中s为这次交互中环境的状态,a为代理在这个状态下执行的动作,r为代理在状态s下做出的动作a得到的奖励反馈,s′为环境受到这个动作后发生变化产生的新状态,d指示新的状态是否为终止状态;
步骤二:构建强化学习网络
根椐训练样本,构建行动者网络,输入为环境状态,输出为要执行的动作:a=μ(s);定义行动网络用来预测动作价值函数值为:
y=r+γQ(s′,μ(s'));其中,动作价值函数为:
Q(s,a)=r+(1-d)γ·Q(s′,a′);
构建评判家网络,输入为状态和动作,输出为输入动作的动作价值Q(s,a),其中s为状态值,a为执行的动作;
步骤三:网络训练
在评判者网络中计算得到动作价值函数Q在当前状态下对于动作a的梯度:
在行动者网络中得到动作a对于行动者网络参数θμ的梯度:
将上面两个梯度相乘得到的便是动作价值Q对于行动者网络参数的梯度:
在训练过程中,引入噪声N进行探索;实际训练代理执行的动作为行动者网络给出的动作与探索噪声之和μ(s)+N;
详细训练过程如下:
将动者评判家网络的权重随机初始化为θQ,θμ
使用上一步的权重初始化目标行动者与评判家网络μ′,Q′
对于每一个情节:
为动作探索初始化随机过程噪声N
重置环境,获得初始状态s1
对于一个情节中的每一步:
根据当前的策略网络和探索噪声,获得动作
at=μ(st|θμ)+Nt
执行动作at,获得奖励rt和新的状态st+1
将样本(st,at,rt,st+1)存储到回放缓冲区R中
从回放缓冲区R中采样获得小批量样本
对于采样获得的每个样本,计算yi=r+γQ′(st+1,μ′(st+1))
通过最小化损失训练评判家
使用样本中的数据计算以下梯度并按该梯度更新行动者网络
更新行动者与评判家的目标网络
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810796645.9A CN109190751B (zh) | 2018-07-19 | 2018-07-19 | 一种基于深度强化学习的机器自主决策方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810796645.9A CN109190751B (zh) | 2018-07-19 | 2018-07-19 | 一种基于深度强化学习的机器自主决策方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109190751A true CN109190751A (zh) | 2019-01-11 |
CN109190751B CN109190751B (zh) | 2020-12-22 |
Family
ID=64936348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810796645.9A Active CN109190751B (zh) | 2018-07-19 | 2018-07-19 | 一种基于深度强化学习的机器自主决策方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109190751B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443412A (zh) * | 2019-07-18 | 2019-11-12 | 华中科技大学 | 动态优化加工过程中物流调度及路径规划的强化学习方法 |
CN110471297A (zh) * | 2019-07-30 | 2019-11-19 | 清华大学 | 多智能体协同控制方法、系统及设备 |
CN112612274A (zh) * | 2020-12-22 | 2021-04-06 | 清华大学 | 用于超声检查机器人的自主运动决策控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324085A (zh) * | 2013-06-09 | 2013-09-25 | 中国科学院自动化研究所 | 基于监督式强化学习的最优控制方法 |
WO2017091629A1 (en) * | 2015-11-25 | 2017-06-01 | Osaro, Inc. | Reinforcement learning using confidence scores |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107292344A (zh) * | 2017-06-26 | 2017-10-24 | 苏州大学 | 一种基于环境交互的机器人实时控制方法 |
CN107909153A (zh) * | 2017-11-24 | 2018-04-13 | 天津科技大学 | 基于条件生成对抗网络的模型化策略搜索学习方法 |
CN109242099A (zh) * | 2018-08-07 | 2019-01-18 | 中国科学院深圳先进技术研究院 | 强化学习网络的训练方法、装置、训练设备及存储介质 |
-
2018
- 2018-07-19 CN CN201810796645.9A patent/CN109190751B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324085A (zh) * | 2013-06-09 | 2013-09-25 | 中国科学院自动化研究所 | 基于监督式强化学习的最优控制方法 |
WO2017091629A1 (en) * | 2015-11-25 | 2017-06-01 | Osaro, Inc. | Reinforcement learning using confidence scores |
CN106970615A (zh) * | 2017-03-21 | 2017-07-21 | 西北工业大学 | 一种深度强化学习的实时在线路径规划方法 |
CN107292344A (zh) * | 2017-06-26 | 2017-10-24 | 苏州大学 | 一种基于环境交互的机器人实时控制方法 |
CN107909153A (zh) * | 2017-11-24 | 2018-04-13 | 天津科技大学 | 基于条件生成对抗网络的模型化策略搜索学习方法 |
CN109242099A (zh) * | 2018-08-07 | 2019-01-18 | 中国科学院深圳先进技术研究院 | 强化学习网络的训练方法、装置、训练设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
A. TAMPUU ETAL.: "Multiagent cooperation and competition with deep reinforcement learning", 《PLOS ONE》 * |
王慧君: "自我控制反馈对动作技能学习的作用", 《中国优秀硕士学位论文全文数据库 哲学与人文科学辑》 * |
赵翾: "无人驾驶地下矿用汽车路径跟踪与速度决策研究", 《中国博士学位论文全文数据库 工程科技Ⅰ辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443412A (zh) * | 2019-07-18 | 2019-11-12 | 华中科技大学 | 动态优化加工过程中物流调度及路径规划的强化学习方法 |
CN110471297A (zh) * | 2019-07-30 | 2019-11-19 | 清华大学 | 多智能体协同控制方法、系统及设备 |
CN112612274A (zh) * | 2020-12-22 | 2021-04-06 | 清华大学 | 用于超声检查机器人的自主运动决策控制方法及系统 |
CN112612274B (zh) * | 2020-12-22 | 2022-07-22 | 清华大学 | 用于超声检查机器人的自主运动决策控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109190751B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11867599B2 (en) | Apparatus and methods for controlling attention of a robot | |
Sewak | Deep reinforcement learning | |
CN109711529B (zh) | 一种基于值迭代网络的跨领域联邦学习模型及方法 | |
Lyu et al. | SDRL: interpretable and data-efficient deep reinforcement learning leveraging symbolic planning | |
US9440352B2 (en) | Apparatus and methods for robotic learning | |
Vera et al. | Situated action: A symbolic interpretation | |
CN110587606B (zh) | 一种面向开放场景的多机器人自主协同搜救方法 | |
CN110147456A (zh) | 一种图像分类方法、装置、可读存储介质及终端设备 | |
CN108701265A (zh) | 学习服务提供装置 | |
de la Cruz et al. | Pre-training with non-expert human demonstration for deep reinforcement learning | |
CN109190751A (zh) | 一种基于深度强化学习的机器自主决策方法 | |
Tongloy et al. | Asynchronous deep reinforcement learning for the mobile robot navigation with supervised auxiliary tasks | |
CN109447096A (zh) | 一种基于机器学习的扫视路径预测方法和装置 | |
CN114510012A (zh) | 一种基于元动作序列强化学习的无人集群演进系统及方法 | |
Dhakan et al. | Intrinsic rewards for maintenance, approach, avoidance, and achievement goal types | |
Caselles-Dupré et al. | Flatland: a lightweight first-person 2-d environment for reinforcement learning | |
CN114154397A (zh) | 一种基于深度强化学习的隐式对手建模方法 | |
Hussein et al. | Deep active learning for autonomous navigation | |
Yang et al. | Transfer learning and curriculum learning in Sokoban | |
Saito et al. | Python reinforcement learning projects: eight hands-on projects exploring reinforcement learning algorithms using TensorFlow | |
Boschetti et al. | Interactive modelling for natural resource management | |
Almalki et al. | Exploration of reinforcement learning to play snake game | |
Liu et al. | Design of transfer reinforcement learning mechanisms for autonomous collision avoidance | |
Stein et al. | Learning in context: enhancing machine learning with context-based reasoning | |
Censi et al. | The ai driving olympics: An accessible robot learning benchmark |
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 |