掌桥专利:专业的专利平台
掌桥专利
首页

基于模型不确定性与行为先验的控制策略离线训练方法

文献发布时间:2023-06-19 19:30:30


基于模型不确定性与行为先验的控制策略离线训练方法

技术领域

本发明涉及一种基于模型不确定性与行为先验的控制策略离线训练方法,用于学习机械臂的控制策略。

背景技术

强化学习是机器学习中一个重要的分支领域,智能体可以借助强化学习方法,通过与环境交互得到奖赏或惩罚信号,并据此学习到能在环境中得到最高奖赏的策略。然而,强化学习方法通常需要不断地与环境进行交互来获取可供学习的经验,在机械臂相关的任务上,这些与操作环境的交互需要消耗大量的时间与经济成本。

离线强化学习为解决这一问题提供了一种新的思路,从一个先前收集到的机械臂操作数据集中学习策略,而不与环境进行交互,免去了在环境中采样所需的时间、经济成本。

然而,由于采集机械臂操作数据的行为策略和当前待学习的控制策略存在的分布不匹配的问题,直接从机械臂操作离线数据中无法训练出表现好的策略。对此,近年来的技术方案大都是基于策略分布限制或者价值保守估计,没有仔细考虑不同的机械臂操作数据的差别,比如在机械臂操作数据中可能存在一些误操作数据,这些数据对机械臂控制策略的学习是不利的,限制了机械臂控制策略在使用这些数据进行离线学习后的性能。

发明内容

发明目的:针对现有离线强化学习技术在学习机械臂控制策略中的问题与不足,本发明提供一种基于模型不确定性与行为先验的控制策略离线训练方法,通过在机械臂离线数据上训练集成动力学模型与变分自编码器来提供对机械臂操作数据的置信度区分,在加权贝尔曼更新的框架下来离线训练机械臂的控制策略,能够使得机械臂控制策略的离线学习过程更加稳定并提升机械臂控制策略的性能。

技术方案:一种基于模型不确定性与行为先验的控制策略离线训练方法,在机械臂离线数据上训练集成动力学模型来构建对机械臂数据样本的不确定性度量,并采用变分自编码器来拟合收集该机械臂离线数据的行为先验策略,让机械臂控制策略不断与集成动力学模型交互来获取更多的机械臂操作数据,在加权贝尔曼更新的框架下仅使用机械臂离线数据与模型数据来训练机械臂的控制策略。

包括如下步骤:

步骤1:在机械臂装配操作数据集上训练集成动力学模型,所得模型可以模拟真实的机械臂操作环境;

步骤2:在机械臂装配操作数据集上训练变分自编码器,所得行为先验模型可以模拟采集这些数据的行为策略;

步骤3:开始训练基于行为者-评论家的策略网络,所述基于行为者-评论家的策略网络为机械臂控制策略,控制策略与集成动力学模型交互生成机械臂的操作样本,存入模型数据集中;

步骤4:从混合数据集中采样小批量的机械臂操作样本,计算样本的模型不确定性与解码器重构概率,并计算样本的贝尔曼更新权重;

步骤5:使用采样的小批量机械臂操作样本来进行加权贝尔曼更新训练值函数、目标值函数与控制策略;

步骤6:重复步骤3-5,控制策略训练达到收敛后,完成训练过程。

对机械臂控制策略所要面对的机械臂操作环境进行建模得到集成动力学模型,机械臂控制策略可与集成动力学模型交互来扩充机械臂的数据集,并基于集成动力学模型误差提供机械臂状态-动作对的不确定性估计;

对采集机械臂离线数据的行为策略进行建模,得到行为先验模型,行为先验模型能提供机械臂状态-动作对在行为策略下的出现概率;

基于行为者-评论家的策略网络为需要学习的机械臂控制策略,在学习阶段使用预先收集的机械臂离线数据集进行训练,训练过程采用的是加权贝尔曼更新,权重由集成动力学模型与行为先验模型两者共同构建。

上述集成动力学模型、行为先验模型和基于行为者-评论家的策略网络能够以端到端的方式进行训练。

具体地,所述集成动力学模型由N个架构相同、初始化不同的全连接神经网络表示,旨在对机械臂操作环境进行模拟。所面对的机械臂操作环境E能够建模为马尔科夫决策过程,在该环境中机械臂控制策略在每个决策步骤接收状态信息s∈S,状态信息包括机械臂的个体信息如各个关节的角度、各种传感器的示数,机械臂上摄像装置拍摄到的画面,以及视野内组装任务的相关信息等。机械臂控制策略从动作空间A中选取可执行的动作a进行决策,动作空间包括了机械臂执行动作,如机械臂的移动、夹取等。该机械臂操作环境的动力学函数P在收到动作后会转移到下一个状态s′~P(s,a),并且奖励函数R会给出一个立即奖励R(s,a),例如当机械臂夹取到目标物体时给与一个奖励。每个神经网络用高斯分布建模,即

其中D是离线数据集,里面存储有机械臂操作的经验样本,其中s,a,s′,r分别表示机械臂的运动状态、执行动作、下一个状态与获得的奖励。

具体地,机械臂控制策略与集成动力学模型交互过程包括如下步骤:

步骤21:从机械臂离线数据集D中采样一个状态作为机械臂的当前状态;

步骤22:机械臂的控制策略根据机械臂的当前状态采样一个动作;

步骤23:在集成动力学模型中随机选取一个全连接神经网络,根据机械臂的当前状态与动作生成机械臂的下一个状态与奖励;

步骤24:将下一个状态作为机械臂的当前状态,重复步骤22 -23,直到达到给定的rollout长度,将所有生成的机械臂交互数据存入模型数据集中。

具体地,每个机械臂的状态-动作对(s,a)都可以通过集成动力学模型来估计其不确定性u(s,a),计算公式如下:

其中

具体地,行为先验模型使用变分自编码器建模,旨在对采集机械臂操作数据的行为策略进行建模。由两部分组成,一部分是编码器,将机械臂的状态-动作对映射到隐空间中;另一部分是解码器,将隐空间向量映射到状态-动作空间,想要从隐空间向量中重构之前输入的机械臂状态-动作对。编码器与解码器均为多层全连接神经网络,基于以下最小化损失函数L(α)进行训练,所述最小化损失函数L(α)的数学表达式为:

其中

具体地,所述基于行为者-评论家的策略网络指在机械臂操作场景中进行机械臂控制的策略,能在机械臂操作环境下执行如移动、夹取等动作,并能够通过一系列动作完成零件装配任务。所述基于模型不确定性与行为先验的控制策略离线训练方法能通过机械臂的历史操作数据来离线学习机械臂控制策略。机械臂控制策略采用行为者-评论家模式来构建,行为者是策略π

具体地,机械臂控制策略的值函数Q

其中w(s,a)为权重,

其中c(s,a)=exp(-u(s,a)),exp()是指数函数,

一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于模型不确定性与行为先验的控制策略离线训练方法。

一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于模型不确定性与行为先验的控制策略离线训练方法的计算机程序。

附图说明

图1是本发明实施例的方法流程图;

图2是本发明实施例中集成动力学模型的训练及交互示意图;

图3是本发明实施例中行为先验模型的训练示意图;

图4是本发明实施例中所述的基于模型不确定性与行为先验的控制策略离线训练方法在模拟环境下的验证结果。

具体实施方式

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

如前所述,在线学习的强化学习技术在机械臂相关的任务上需要不断地与环境进行交互来获取可供学习的经验,消耗大量的时间与经济成本。离线强化学习则可以仅使用机械臂操作离线数据集来学习控制策略,然而,由于采集机械臂操作数据的行为策略和当前待学习的控制策略存在的分布不匹配的问题,直接从机械臂操作离线数据中无法训练出表现好的控制策略。对此,近年来的技术方案则大都是基于策略分布限制或者价值保守估计,没有仔细考虑不同的机械臂操作数据的差别,比如在机械臂操作数据中可能存在一些误操作数据,这些数据对控制策略的学习是不利的,限制了控制策略在使用这些数据进行离线学习后的性能。

鉴于此提出基于模型不确定性与行为先验的控制策略离线训练方法,一方面通过学习动力学模型来产生更多的机械臂操作样本扩充数据集,另一方面通过集成动力学模型的不确定性估计与行为先验来作为加权贝尔曼更新的权重,从而更好地利用机械臂操作样本,使得控制策略训练过程更加稳定,提高策略学习效率与最终性能。针对机械臂装配场景,任务是需要机械臂成功装配零件,方法能够在仅使用机械臂操作离线数据的情况下训练机械臂成功完成零件的装配。本方法并不仅限于机械臂任务,也可适用于其他任意的控制任务。

基于模型不确定性与行为先验的控制策略离线训练方法,包括如下步骤:

步骤1:在机械臂装配操作数据集上训练集成动力学模型,所得模型可以模拟真实的机械臂操作环境。

步骤2:在机械臂装配操作数据集上训练变分自编码器,所得行为先验模型可以模拟采集这些数据的行为策略。

步骤3:开始训练基于行为者-评论家的策略网络,基于行为者-评论家的策略网络为机械臂控制策略,控制策略与集成动力学模型交互生成机械臂的操作样本,存入模型数据集中。

步骤4:从混合数据集中采样小批量的机械臂操作样本,计算样本的模型不确定性与解码器重构概率,并计算样本的贝尔曼更新权重。

步骤5:使用采样的小批量机械臂操作样本来进行加权贝尔曼更新训练值函数、目标值函数与控制策略。

步骤6:重复步骤3-5,控制策略训练达到收敛后,完成训练过程。

如图1所示,包括集成动力学模型、行为先验模型和基于行为者-评论家的策略网络三个部分:

集成动力学模型,用于对机械臂控制策略所要面对的机械臂操作环境进行建模,策略可与集成动力学模型交互来扩充机械臂的数据集,并可基于集成动力学模型误差提供机械臂状态-动作对的不确定性估计;

行为先验模型,用于对采集机械臂离线数据的行为策略进行建模,并能提供机械臂状态-动作对在行为策略下的出现概率;

基于行为者-评论家的策略网络,此即为需要学习的机械臂控制策略,在学习阶段使用预先收集的机械臂离线数据集进行训练,训练过程采用的是加权贝尔曼更新,权重由集成动力学模型与行为先验模型两者共同构建。

所提出的集成动力学模型、行为先验模型和基于行为者-评论家的策略网络能够以端到端的方式进行训练。

控制策略所面对的机械臂装配操作环境E建模为马尔科夫决策过程,在该环境中控制策略在每个决策步骤接收状态信息s∈S,状态信息包括机械臂的个体信息如各个关节的角度、各种传感器的示数,机械臂上摄像装置拍摄到的画面,以及视野内组装任务的相关信息等。机械臂控制策略从动作空间A中选取可执行的动作a进行决策,动作空间包括了机械臂的移动、夹取等。该环境的动力学函数P在收到动作后会转移到下一个状态s′~P(s,a),并且奖励函数R会给出一个立即奖励R(s,a),例如当机械臂夹取到目标物体时给与一个奖励。离线数据集由该机械臂操作场景中的历史数据组成,是行为策略操控机械臂进行装配形成的轨迹样本,记离线数据集为D={(s,a,s′,r)},其中s,a,s′,r分别表示机械臂的运动状态、执行动作、下一个状态与获得的奖励等。

集成动力学模型如图2所示,集成动力学模型旨在拟合该环境的转移函数P(s′|s,a)与奖励函数R(s,a),通过在机械臂操作的离线数据集D上进行训练来获得。集成动力学模型旨在模拟机械臂操作场景,由多层全连接神经网络表示,每个神经网络用高斯分布建模,即

每次迭代时从训练集中采样批量的机械臂操作样本,在该批量样本上使用随机梯度下降方法优化上述损失函数,当集成动力学模型在机械臂操作测试集上的误差不再下降时,模型训练完成。其中D是上述的机械臂操作离线数据集,里面存储有机械臂操作过程的经验样本,样本中包含了机械臂的运动状态、执行动作、下一个状态与获得的奖励等。机械臂控制策略每次与集成动力学模型交互过程如图2所示。先从离线数据集D中采样一个机械臂的状态作为当前状态,策略根据机械臂的当前状态采样一个动作如移动、夹取等,然后从集成动力学模型中随机选取一个模型,根据机械臂的当前状态与策略采取的动作生成下一个状态与奖励,之后将下一个状态作为机械臂的当前状态,重复进行交互,直到达到给定的交互长度,将所有生成的机械臂操作数据存入模型数据集中。每个机械臂的状态-动作对(s,a)都可以通过集成动力学模型来估计其不确定性u(s,a),计算公式如下:

其中

行为先验模型如图3所示,使用变分自编码器建模,旨在对采集机械臂操作数据的行为策略进行建模。由两部分组成,一部分是编码器

其中

机械臂控制策略指在机械臂操作场景中进行机械臂控制的策略,能在机械臂操作环境下执行如移动、夹取等动作,并能够通过一系列动作完成零件装配任务。控制策略使用行为者-评论家模式构建,行为者是策略π

其中w(s,a)为权重,

π

其中c(s,a)=exp(-u(s,a)),exp()是指数函数,

基于模型不确定性与行为先验的控制策略离线训练方法在模拟环境halfcheetah的中等回放数据集上进行了验证。图4展示了本发明基于模型不确定性与行为先验的控制策略离线训练方法与其他近期相关的离线强化学习技术方案MOPO、UWAC在该模拟环境及数据集下的验证结果,实验结果表明本方法能够在该模拟环境与数据集下取得相较于现有离线强化学习技术方案更优的策略性能。

策略π

步骤41:从机械臂操作离线数据集D中采样一个状态作为机械臂的当前状态s;

步骤42:策略π

步骤43:在集成动力学模型

步骤44:将下一个状态s′作为机械臂的当前状态s,重复步骤42-43,直到达到给定的交互长度,将所有生成的机械臂操作数据(s,a,s′,r)存入模型数据集D

步骤45:重复步骤41-44,直到收集到了给定数量的样本。

使用机械臂操作的离线数据集D与模型数据集D

步骤51:从机械臂操作的离线数据集D与模型数据集D

步骤52:通过集成动力学模型来计算每一个样本中的机械臂状态-动作对(s,a)的模型不确定性u(s,a),计算公式如下:

其中

步骤53:根据计算出来的模型不确定性u(s,a)来计算模型置信度c(s,a),计算公式如下:

c(s,a)=exp(-u(s,a))

步骤54:计算每一个机械臂操作样本对的更新权重w(s,a),其使用了模型置信度与变分自编码器的重构概率两者共同来构建,计算公式如下:

其中

步骤55:计算目标函数值Q

其中a′~π

步骤56:更新值函数Q

其中λ

步骤57:更新策略π

其中λ

步骤58:更新目标值函数

ψ

其中τ是软更新的系数。

交替重复步骤41与步骤58机械臂的控制策略训练达到收敛后,完成训练过程。

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

技术分类

06120115931113