一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

减少过估计的模型化强化学习机器人控制方法及系统与流程

2021-09-22 18:56:00 来源:中国专利 TAG:机器人 控制 模型 强化 估计


1.本发明涉及一种机器人控制领域,特别是关于一种减少过估计的模型化强化学习机器人控制方法及系统。


背景技术:

2.深度强化学习具有一定的自主学习能力,无需给定先验知识,只需与环境进行不断交互,最终通过训练找到适合当前状态的最优策略,进而获得整个决策过程的最大累积奖励回报。根据智能体对交互环境信息的利用方法,强化学习可分为无模型强化学习和模型化强化学习两大类。无模型强化学习方法是智能体不断探索环境,不断试错,通常需要大量训练样本及训练时间,才能保证智能体满足一定要求。模型化强化学习方法首先需要对环境建模,得到环境模型后,此类方法无需与真实环境交互,可直接利用学得的环境模型生成所需训练样本进行策略学习,从而在一定程度上缓解样本利用率低及学习效率低的问题。另外,如果所学得的环境模型足够精确,智能体就可根据该模型在其从未访问过的区域进行策略搜索。然而,学得的环境模型与真实环境间往往存在模型误差,难以保证算法的最优解渐近收敛。
3.另外,强化学习中基于值函数估计的算法往往会由于大规模的动作值过估计而出现不稳定和效果不佳等现象的存在,而导致过估计的主要原因来自于最大化值函数max逼近,该过程目标是为了最大的累计期望奖励,而在这个过程中产生了正向偏差。
4.在值函数强化学习的机器人控制领域,现有相关技术中的基于多重目标神经网络的强化学习值函数更新方法中,提出基于多重目标神经网络的强化学习值函数更新方法,使得减少值函数估计过程中的过估计误差,从而得到最终策略。但是该现有技术存在以下缺陷:(1)使用无模型的强化学习方法,使得算法采样效率偏低。(2)采用基于值函数的强化学习方法,会存在策略退化问题,即值函数估计准确,但通过值函数得到的策略仍然不是最优。(3)使用多重目标神经网络估计值函数的方式,造成值函数的计算较为复杂,对计算资源消耗较大。


技术实现要素:

5.针对上述问题,本发明的目的是提供一种减少过估计的模型化强化学习机器人控制方法及系统,其能解决策略退化的问题,缓解值函数的过估计问题。
6.为实现上述目的,本发明采取以下技术方案:一种减少过估计的模型化强化学习机器人控制方法,其包括:步骤1、初始化环境和各网络参数;步骤2、利用与真实环境的交互数据训练环境模型;步骤3、利用策略网络π
φ
与训练后的环境模型交互,将交互数据存放在数据存放器d
model
中;步骤4、根据环境模型,采用actor

critic方法进行策略训练,其中critic评估方法采用带有方差惩罚项的评估方式,估计值根据权重λ进行调节;步骤5、重复执行步骤2至步骤4,直至收敛。
7.进一步,所述步骤1中,初始化构建策略网络π
φ
,q函数网络{q
ψ1
,q
ψ2
},q

target函
数网络及环境模型以及构建真实环境的数据存放器d
env

φ和预测环境模型的数据存放器d
model

φ。
8.进一步,所述步骤2中,环境模型的训练方法包括以下步骤:
9.步骤21、利用策略π
φ
与真实环境交互,将交互数据存放在真实环境的数据存放器d
env

10.步骤22、通过极大似然的损失函数训练环境预测模型。
11.进一步,所述步骤22中,根据环境模型训练损失函数l
ml
得到n个环境模型的更新方式为:
[0012][0013]
式中,θ
i
表示第i个环境模型的网络参数,ω
l
表示更新步长的调节因子,表示对l
ml
的θ求梯度。
[0014]
进一步,所述整体的环境模型训练损失函数l
ml
为:
[0015][0016]
式中,t表示矩阵的转置操作,μ
θ
表示参数为θ的均值向量,s
n
表示第n个模型所处的状态信息,a
n
表示第n个模型所处的动作信息,det表示计算矩阵的行列式。
[0017]
进一步,所述步骤4中,训练方法包括以下步骤:
[0018]
步骤41、critic部分对状态动作进行评估,actor部分即为选择动作的策略;
[0019]
步骤42、更新q函数网络和策略网络的参数,并每隔预先设定时间更新q

target函数网络参数。
[0020]
进一步,所述步骤42中,更新方法为:
[0021][0022][0023][0024]
其中,ψ
i
表示第i个q网络参数,表示第i个q

target函数网络参数,φ表示策略网络参数,表示对j
q
的参数ψ求梯度,表示对j
π
的参数φ求梯度,ω,ω
π
和ω
q
分别相应的更新步长。
[0025]
进一步,所述步骤5中,收敛条件为:与环境交互的次数大于预先设定的数值。
[0026]
一种减少过估计的模型化强化学习机器人控制系统,其特包括:初始化模块、环境模型训练模块、数据交互模块、策略训练模块和收敛模块;所述初始化模块,用于初始化环境和各网络参数;所述环境模型训练模块,利用与真实环境的交互数据训练环境模型;所述数据交互模块,利用策略网络π
φ
与训练后的环境模型交互,将交互数据存放在数据存放器d
model
中;所述策略训练模块,根据环境模型,采用actor

critic方法进行策略训练,其中critic评估方法采用带有方差惩罚项的评估方式,估计值根据权重λ进行调节;所述收敛模块,重复执行所述环境模型训练模块、所述数据交互模块和所述策略训练模块,直至收敛。
[0027]
进一步,所述策略训练模块中,训练方法包括以下步骤:
[0028]
步骤41、critic部分对状态动作进行评估,actor部分即为选择动作的策略;
[0029]
步骤42、更新q函数网络和策略网络的参数,并每隔预先设定时间更新q

target函数网络参数。
[0030]
本发明由于采取以上技术方案,其具有以下优点:
[0031]
1、本发明采用基于模型的强化学习方法,对动态环境进行建模,提高算法的采样效率。
[0032]
2、本发明采用actor

critic的策略优化方法,降低策略梯度的方差,解决策略退化的问题,提高算法的稳定性。
[0033]
3、本发明对值函数估计采用一种带有方差惩罚项约束的悲观估计,缓解值函数的过估计问题。
附图说明
[0034]
图1是本发明控制方法的整体流程示意图;
[0035]
图2是本发明的humanoid

v2的任务环境示意图;
[0036]
图3是不同算法在humanoid任务上的实验结果图。
具体实施方式
[0037]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0038]
本发明中采用的强化学习通常使用马尔可夫决策过程(markov decision process,简称mdp)来描述,可以由一个五元组构成(s,a,p,r,γ)。其中,s表示状态空间,a表示动作空间,r表示奖励函数,p表示状态转移概率矩阵,γ表示折扣因子。智能体每个时刻观测到状态s
t
,根据当前状态由策略π产生一个动作a
t
,通过与真实环境交互后得到下一个状态s
t 1
,并反馈奖励信号r
t
,强化学习的目标是最大化累积折扣奖励回报的期望
[0039]
而基于模型的强化学习则使用p
θ
(s

|s,a)表示环境模型,此处构建一个高斯分布p
θ
(s
t 1
|s
t
,a
t
)=n(μ
θ
(s
t
,a
t
),σ
θ
(s
t
,a
t
)),高斯分布的网络参数为θ;α表示调节因子,r表示奖励值,s表示状态信息,a表示动作信息。
[0040]
在本发明的第一实施方式中,如图1所示,提供一种减少过估计的模型化强化学习机器人控制方法,其包括以下步骤:
[0041]
步骤1、初始化环境和各网络参数;
[0042]
其中,包括初始化构建策略网络π
φ
,q函数网络{q
ψ1
,q
ψ2
},q

target函数网络及环境模型以及构建真实环境的数据存放器d
env

φ和预测环境模型的数据存放器d
model

φ,n表示环境模型的数量。
[0043]
步骤2、利用与真实环境的交互数据训练环境模型;
[0044]
具体包括以下步骤:
[0045]
步骤21、利用策略π
φ
与真实环境交互,将交互数据存放在真实环境的数据存放器d
env

[0046]
步骤22、通过极大似然的损失函数训练环境预测模型
[0047]
整体的环境模型训练损失函数l
ml
为:
[0048][0049]
式中,t表示矩阵的转置操作,μ
θ
表示参数为θ的均值向量,s
n
表示第n个模型所处的状态信息,a
n
表示第n个模型所处的动作信息,det表示计算矩阵的行列式。
[0050]
根据环境模型训练损失函数l
ml
得到n个环境模型的更新方式为:
[0051][0052]
式中,ω
l
表示更新步长的调节因子,表示对l
ml
的θ求梯度,θ
i
表示第i个环境模型的网络参数。
[0053]
步骤3、利用策略网络π
φ
与训练后的环境模型交互,将交互数据存放在数据存放器d
model
中。
[0054]
步骤4、根据环境模型,采用actor

critic方法进行策略训练,其中critic评估方法采用带有方差惩罚项的评估方式,估计值可以根据权重λ进行调节;
[0055]
具体训练方法包括以下步骤:
[0056]
步骤41、critic部分对状态动作进行评估,actor部分即为选择动作的策略。critic的损失函数j
q

i
)为:
[0057][0058]
其中,var表示方差;
[0059]
actor部分的损失函数j
π
(φ)为:
[0060][0061]
其中,d
π
表示在策略π下状态的平稳分布。
[0062]
步骤42、更新q函数网络和策略网络的参数,并每隔预先设定时间更新q

target函数网络参数;
[0063]
具体更新方式为:
[0064][0065][0066]
[0067]
其中,ψ
i
表示第i个q网络参数,表示第i个q

target函数网络参数,φ表示策略网络参数,表示对j
q
的参数ψ求梯度,表示对j
π
的参数φ求梯度,ω,ω
π
和ω
q
分别相应的更新步长。
[0068]
步骤5、重复执行步骤2至步骤4,直至收敛;
[0069]
收敛条件为:与环境交互的次数大于预先设定的数值;在本实施例中,预先设定的数值优选为200k,其中,k表示千的单位。
[0070]
步骤6、加载最终训练得到的策略模型,在仿真环境和相应的实际环境中进行测试。
[0071]
在本发明的第二实施方式中,提供一种减少过估计的模型化强化学习机器人控制系统,其包括初始化模块、环境模型训练模块、数据交互模块、策略训练模块和收敛模块;
[0072]
初始化模块,用于初始化环境和各网络参数;
[0073]
环境模型训练模块,利用与真实环境的交互数据训练环境模型;
[0074]
数据交互模块,利用策略网络π
φ
与训练后的环境模型交互,将交互数据存放在数据存放器d
model
中;
[0075]
策略训练模块,根据环境模型,采用actor

critic方法进行策略训练,其中critic评估方法采用带有方差惩罚项的评估方式,估计值根据权重λ进行调节;
[0076]
收敛模块,重复执行环境模型训练模块、数据交互模块和策略训练模块,直至收敛。
[0077]
上述实施例中,在策略训练模块中,训练方法包括以下步骤:
[0078]
步骤41、critic部分对状态动作进行评估,actor部分即为选择动作的策略;
[0079]
步骤42、更新q函数网络和策略网络的参数,并每隔预先设定时间更新q

target函数网络参数。
[0080]
实施例:
[0081]
为了体现本发明的有效性,采用mujoco仿真环境humanoid任务进行测试。该任务的目的是控制二维的humanoid“人”形机器人向前跑,使其在环境中跑得越快越好,如图2所示是该任务的具体场景。对于该仿真环境中要控制的智能体而言,输入状态是376维连续量,输出动作是连续的17维变量,全身一共17个关节,每个关节的运动范围为[

0.4,0.4]。实验时,本发明的超参数设置如表1所示。
[0082]
表1本发明的超参数设置
[0083]
超参数设置值训练总轮数200一轮中与环境交互的次数1000每次交互中模型产生的轨迹数400集成模型的个数7每次交互中策略更新的频率20模型产生轨迹的长度1

16q网络个数2q

target目标网络个数2
[0084]
在humanoid任务上,对比三种现有的基础方法(mbpo,steve,sac),ramb代表我们的方法,结果如图3所示。其中sac是无模型的方法,ramb,mbpo和steve都是模型化的方法。
[0085]
为了降低随机性造成的实验影响,每种方法至少测试4次,并将4次结果的平均值用实线表示,4次结果的标准差用阴影部分表示。另外,横轴表示与环境交互的次数,所有算法均交互200k次,纵轴表示每次交互测试得到的累积奖励回报。虚线表示sac交互2000k(即2m),所得到的实验结果。
[0086]
由此可知,本发明的方法在训练速度和最终表现上都是最优的,极大地提升了算法的数据利用效率和渐进性能。另外,本发明的方法已经接近sac无模型的方法10倍交互次数的渐进性能。
[0087]
本发明采用基于模型的强化学习方法,提高了算法的数据利用效率;并在模型化方法中提出一种减少过估计的方法,通过调整权重λ能够改善过估计的程度。
[0088]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0089]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0091]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜