基于强化学习的机器人回报函数的自适应方法

文档序号:33483964发布日期:2023-03-15 13:44阅读:72来源:国知局
基于强化学习的机器人回报函数的自适应方法

1.本发明涉及一种机器学习技术领域,具体涉及基于强化学习的机器人回报函数的自适应方法。


背景技术:

2.目前机器人行走的控制主要基于传统控制技术开展,但传统控制技术对于机器人行走线路的规划单一,存在线路规划不灵活、复杂场景缺乏应对策略等问题。随着深度学习技术和强化学习的迅猛发展,利用深度神经网络强大的特征学习能力,能够从机器人与外部环境的交互数据中学习到大量行走控制相关的特征,结合强化学习对机器人行走问题的建模,能够实现机器人行走过程中规避障碍物,但是仍然存在需要人工设计交互过程中的回报问题。


技术实现要素:

3.为了至少克服现有技术中的上述不足,本技术的目的在于提供基于强化学习的机器人回报函数的自适应方法。
4.本技术实施例提供了基于强化学习的机器人回报函数的自适应方法,包括:
5.使用actor-critic网络中的actor策略控制机器人与外部环境交互获取轨迹数据,并将所述轨迹数据存入环境缓冲池中;
6.通过所述环境缓冲池中的数据对回报模型和所述actor-critic网络进行更新;所述回报模型基于所述机器人与外部环境交互时发生的状态转移时产生的信息量构建;
7.根据更新后的所述actor-critic网络控制所述机器人与外部环境交互并获取新的轨迹数据更新所述回报模型和所述actor-critic网络。
8.现有技术中,通过强化学习对机器人进行行走避障等行走问题的建模高度依赖对机器人行走策略的评价方案,其主要体现在对机器人执行策略进行行走时的回报值计算;目前的机器人执行策略的回报值往往需要人工设计,这需要大量的人力物力来调整回报值设计方案。本技术实施例实施时,回报模型是独立于进行决策的actor-critic网络运行的,而actor-critic网络本质是用于提供策略的模型,回报模型的目的是为了对策略的优化提供指导。在实际运行时,机器人通过actor策略与外部环境交互时会产生一定的信息数据,即轨迹数据;而环境缓冲池中的数据会随着轨迹数据的更新而更新,此时可以通过神经网络训练回报模型进行回报模型的更新,使得回报模型可以根据机器人与环境的交互轨迹学习到回报值,从而指导强化学习算法优化控制策略,值得注意的是本发明中设计的回报模型不需要人工设计的回报值作为监督学习时的信号,仅使用状态转移存在的信息即可完成对回报的学习与计算,在使用强化学习算法控制机器人完成实际任务时进行指导。
9.在一种可能的实现方式中,所述回报函数包括编码器和解码器;
10.通过所述环境缓冲池中的数据对回报模型进行更新包括:
11.将所述环境缓冲池中当前的状态和动作作为第一输入数据输入所述编码器,并通
过被配置于所述回报模型的神经网络的全连接层和激活层对所述第一输入数据中的信息进行确保信息完整性的压缩,并由所述编码器的最后一层网络输出多维度高斯分布的均值和方差作为第一输出数据;
12.通过重参数方法从所述第一输出数据中采样出第二输入数据输入所述解码器,并由所述解码器的最后的全连接层输出下一时刻状态的均值和方差作为第二输出数据;
13.使用从所述环境缓冲池中采样到的下一时刻状态和所述第二输出数据对所述解码器和所述编码器进行监督学习训练。
14.在一种可能的实现方式中,通过被配置于所述回报模型的神经网络的全连接层和激活层对所述第一输入数据中的信息进行确保信息完整性的压缩采用下式进行:
[0015][0016][0017]
式中,z为压缩后的信息,kl为kl散度,q(z)为压缩之后信息的先验概率,s为状态值,a为动作值,p(z∣s,a)为通过s和a压缩到z时的后验概率,μ1为编码器输出的均值,σ1为编码器输出的方差。
[0018]
在一种可能的实现方式中,由所述解码器的最后的全连接层输出下一时刻状态的均值和方差作为第二输出数据采用下式进行:
[0019][0020]
式中,s

为下一时刻状态,s
′i为从缓冲池中采样出来的下一时刻状态,μ2为解码器中最后一层全连接网络输出的均值,σ2为解码器中最后一层全连接网络输出的方差。
[0021]
在一种可能的实现方式中,所述回报模型的优化函数基于所述编码器和所述解码器实现,且所述优化函数采用下式:
[0022][0023]
式中,μ1为编码器输出的均值,σ1为编码器输出的方差;μ2为所述解码器输出的下一时刻状态的均值,σ2为所述解码器输出的下一时刻状态的方差。
[0024]
在一种可能的实现方式中,使用actor-critic网络中的actor策略控制机器人与外部环境交互获取轨迹数据,并将所述轨迹数据存入环境缓冲池中包括:
[0025]
将机器人所在的真实环境中面对的当前状态传输到所述actor-critic网络,通过所述actor-critic网络计算之后输出动作的均值与方差;所述均值与方差为多维高斯分布;
[0026]
从多维高斯分布中采样出动作值送到机器人中,进行相关参数调整,机器人执行相应指令后到一个新的环境状态下;
[0027]
将当前状态、当前动作和下一时刻状态同时输入到所述回报模型中,计算得到发生当前状态转移时对应的回报值;
[0028]
将当前的状态、当前动作、计算得到回报值以及下一时刻的状态作为所述轨迹数据存储到所述环境缓冲池中。
[0029]
在一种可能的实现方式中,计算得到发生当前状态转移时对应的回报值采用下式进行:
[0030][0031]
式中,s为输入编码器的状态值,a为输入编码器的动作值,μ1为编码器输出的均值,σ1为编码器输出的方差,z为从编码器的输出中采样出的值且为解码器的输入,z=μ1+∈σ1,μ2为所述解码器输出的下一时刻状态的均值,σ2为所述解码器输出的下一时刻状态的方差,∈是从均值为0和方差为1中采样的值。
[0032]
在一种可能的实现方式中,所述actor-critic网络的critic网络包括一个目标q函数网络和至少两个当前q函数网络;
[0033]
通过所述环境缓冲池中的数据对所述actor-critic网络进行更新包括:
[0034]
在对当前状态下选择的动作进行评价时,使用所有的当前q函数网络进行计算,并从计算结果中选取当前q函数值最小的当前q函数网络对所述actor-critic网络中的actor网络进行更新;
[0035]
将所述计算结果中的当前q函数值与所述目标q函数网络组成mse损失函数对所述当前q函数网络进行更新;
[0036]
对所述目标q函数网络更新时,根据更新后的当前q函数网络的参数和目标q函数网络的参数使用动量原则进行更新。
[0037]
在一种可能的实现方式中,根据更新后的当前q函数网络的参数和目标q函数网络的参数使用动量原则进行更新采用下式:
[0038][0039]
式中,q
θ
为更新之后的目标q函数网络参数,为更新之前的目标q函数网络参数,q
δ
为当前q函数网络的参数,ε表示动量更新时的动量参数值,ε位于0到1之间。
[0040]
本发明与现有技术相比,具有如下的优点和有益效果:
[0041]
本发明基于强化学习的机器人回报函数的自适应方法,可以根据机器人与环境的交互轨迹学习到回报值,从而指导强化学习算法优化控制策略,避免了回报模型的人工设计干预,能够通过自适应的回报模型提高强化学习在不同场景下的行走控制更加高效。
附图说明
[0042]
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
[0043]
图1为本技术实施例方法步骤示意图;
[0044]
图2为本技术实施例回报模型示意图;
[0045]
图3为本技术实施例编码器和解码器网络结构示意图;
[0046]
图4为本技术实施例actor策略网络结构图;
[0047]
图5为本技术实施例critic网络结构图。
具体实施方式
[0048]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
[0049]
另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0050]
请结合参阅图1,为本发明实施例所提供的基于强化学习的机器人回报函数的自适应方法的流程示意图,进一步地,所述基于强化学习的机器人回报函数的自适应方法具体可以包括以下步骤s1-步骤s3所描述的内容。
[0051]
s1:使用actor-critic网络中的actor策略控制机器人与外部环境交互获取轨迹数据,并将所述轨迹数据存入环境缓冲池中;
[0052]
s2:通过所述环境缓冲池中的数据对回报模型和所述actor-critic网络进行更新;所述回报模型基于所述机器人与外部环境交互时发生的状态转移时产生的信息量构建;
[0053]
s3:根据更新后的所述actor-critic网络控制所述机器人与外部环境交互并获取新的轨迹数据更新所述回报模型和所述actor-critic网络。
[0054]
现有技术中,通过强化学习对机器人进行行走避障等行走问题的建模高度依赖对机器人行走策略的评价方案,其主要体现在对机器人执行策略进行行走时的回报值计算;目前的机器人执行策略的回报值往往需要人工设计,这需要大量的人力物力来调整回报值设计方案。本技术实施例实施时,回报模型是独立于进行决策的actor-critic网络运行的,而actor-critic网络本质是用于提供策略的模型,回报模型的目的是为了优化策略。在实际运行时,机器人通过actor策略与外部环境交互时会产生一定的信息数据,即轨迹数据;而环境缓冲池中的数据会随着轨迹数据的更新而更新,此时可以通过神经网络训练回报模型进行回报模型的更新,使得回报模型可以根据机器人与环境的交互轨迹学习到回报值,从而指导强化学习算法优化控制策略,值得注意的是本发明中设计的回报模型不需要人工设计的回报值作为监督学习时的信号,仅使用状态转移的信息即可完成对回报的学习与计算。
[0055]
在一种可能的实现方式中,所述回报函数包括编码器和解码器;
[0056]
通过所述环境缓冲池中的数据对回报模型进行更新包括:
[0057]
将所述环境缓冲池中当前的状态和动作作为第一输入数据输入所述编码器,并通过被配置于所述回报模型的神经网络的全连接层和激活层对所述第一输入数据中的信息进行确保信息完整性的压缩,并由所述编码器的最后一层网络输出多维度高斯分布的均值
和方差作为第一输出数据;
[0058]
通过重参数方法从所述第一输出数据中采样出第二输入数据输入所述解码器,并由所述解码器的最后的全连接层输出下一时刻状态的均值和方差作为第二输出数据;
[0059]
使用从所述环境缓冲池中采样到的下一时刻状态和所述第二输出数据对所述解码器和所述编码器进行监督学习训练。
[0060]
本技术实施例实施时,回报模型的优化函数是一个独特的设计,该优化函数来自于对机器人与外部环境交互时发生的状态转移时产生的信息量。具体而言,回报模型的优化函数是学习环境状态转移过程中存在的信息量,然后对actor-critic模型进行优化进行指导。在回报模型中使用神经网络学习状态转移时的回报信息量,包括依次设置的编码器和解码器两个模块,在编码器和解码器中均包含全连接层和激活层。
[0061]
具体的,回报模型中的编码器是根据当前的状态和动作对作为输入,通过神经网络的全连接和激活层将其中包含的信息进行最大化的压缩,压缩的同时确保信息的完整性,在编码器中的最后一层网络输出一个具备多维度的均值和方差。所述回报模型中的解码器既是从编码器压缩的信息中去还原出下一时刻的状态,具体来说,解码器的输入是使用重参数方法从编码器输出的多维高斯分布中采样,解码器最后的输出也是一个多维高斯分布的均值和方差,即解码器中最后的全连接层的输出下一时刻状态的均值和方差,采用多维高斯分布来增加模型的对复杂环境的适应性。
[0062]
在一种可能的实现方式中,通过被配置于所述回报模型的神经网络的全连接层和激活层对所述第一输入数据中的信息进行确保信息完整性的压缩采用下式进行:
[0063][0064][0065]
式中,z为压缩后的信息,kl为kl散度,q(z)为压缩之后信息的先验概率,s为状态值,a为动作值,p(z∣s,a)为通过s和a压缩到z时的后验概率,μ1为编码器输出的均值,σ1为编码器输出的方差。
[0066]
本技术实施例实施时,回报模型需要编码器的编码和解码器的解码之后才能计算得到转移过程中的回报值。因此,回报模型的编码器部分为了将状态-动作对的信息压缩,需要使用变分推断方法来估计输入与压缩之间的信息,所以采用上式进行压缩后的信息的计算。
[0067]
在一种可能的实现方式中,由所述解码器的最后的全连接层输出下一时刻状态的均值和方差作为第二输出数据采用下式进行:
[0068][0069]
式中,s

为下一时刻状态,s
′i为从缓冲池中采样出来的下一时刻状态,μ2为解码器中最后一层全连接网络输出的均值,σ2为解码器中最后一层全连接网络输出的方差。
[0070]
本技术实施例实施时,报模型的解码器部分是为了将编码器压缩后的信息解码出下一时刻状态,为此对于解码器部分可以使用对数最大似然估计从压缩信息中z解码下一
时刻状态。
[0071]
在一种可能的实现方式中,所述回报模型的优化函数基于所述编码器和所述解码器实现,且所述优化函数采用下式:
[0072][0073]
式中,μ1为编码器输出的均值,σ1为编码器输出的方差;μ2为所述解码器输出的下一时刻状态的均值,σ2为所述解码器输出的下一时刻状态的方差。
[0074]
本技术实施例实施时,在上述的优化函数的基础上,将编码器和解码器组合起来后就可以形成上式的优化函数。
[0075]
在一种可能的实现方式中,使用actor-critic网络中的actor策略控制机器人与外部环境交互获取轨迹数据,并将所述轨迹数据存入环境缓冲池中包括:
[0076]
将机器人所在的真实环境中面对的当前状态传输到所述actor-critic网络,通过所述actor-critic网络计算之后输出动作的均值与方差;所述均值与方差为多维高斯分布;
[0077]
从多维高斯分布中采样出动作值送到机器人中,进行相关参数调整,机器人执行相应指令后到一个新的环境状态下;
[0078]
将当前状态、当前动作和下一时刻状态同时输入到所述回报模型中,计算得到发生当前状态转移时对应的回报值;
[0079]
将当前的状态、当前动作、计算得到回报值以及下一时刻的状态作为所述轨迹数据存储到所述环境缓冲池中。
[0080]
本技术实施例实施时,将机器人在外界环境中行走问题构建为一个马尔可夫决策过程,机器人在行走过程中观测到外部环境状态输入到actor网络,actor网络给出的动作值返还到机器人,机器人执行动作之后继续行走,然后再进入到新的外部状态中,在这个转移的过程中会获得一个回报值;通过回报模型计算的回报值来指导critic网络和actor网络的优化,从而得到一个基于深度强化学习对机器人行走进行控制的算法。
[0081]
在一种可能的实现方式中,计算得到发生当前状态转移时对应的回报值采用下式进行:
[0082][0083]
式中,s为输入编码器的状态值,a为输入编码器的动作值,μ1为编码器输出的均值,σ1为编码器输出的方差,z为从编码器的输出中采样出的值且为解码器的输入,z=μ1+∈σ1,μ2为所述解码器输出的下一时刻状态的均值,σ2为所述解码器输出的下一时刻状态的方差,∈是从均值为0和方差为1中采样的值。
[0084]
本技术实施例实施时,回报模型的优化函数是一个独特的设计,该优化函数来自于对机器人与外部环境交互时发生的状态转移时产生的信息量。具体而言,回报模型的优化函数是学习环境状态转移过程中存在的信息量,然后对actor-critic模型进行优化进行指导。在回报模型中使用神经网络学习状态转移时的回报信息量,包括依次设置的编码器
和解码器两个模块,在编码器和解码器中均包含全连接层和激活层。所述回报模型中的编码器是根据当前的状态和动作对作为输入,通过神经网络的全连接和激活层将其中包含的信息进行最大化的压缩,压缩的同时确保信息的完整性,在编码器中的最后一层网络输出一个具备多维度的均值和方差。所述回报模型中的解码器既是从编码器压缩的信息中去还原出下一时刻的状态,具体来说,解码器的输入是使用重参数方法从编码器输出的多维高斯分布中采样,解码器最后的输出也是一个多维高斯分布的均值和方差,即解码器中最后的全连接层的输出下一时刻状态的均值和方差,采用多维高斯分布来增加模型的对复杂环境的适应性。通过编码器和解码器的共同运作,可以实现机器人在转移到下一时刻后回报值的计算。
[0085]
在一种可能的实现方式中,所述actor-critic网络的critic网络包括一个目标q函数网络和至少两个当前q函数网络;
[0086]
通过所述环境缓冲池中的数据对所述actor-critic网络进行更新包括:
[0087]
在对当前状态下选择的动作进行评价时,使用所有的当前q函数网络进行计算,并从计算结果中选取当前q函数值最小的当前q函数网络对所述actor-critic网络中的actor网络进行更新;
[0088]
将所述计算结果中的当前q函数值与所述目标q函数网络组成mse损失函数对所述当前q函数网络进行更新;
[0089]
对所述目标q函数网络更新时,根据更新后的当前q函数网络的参数和目标q函数网络的参数使用动量原则进行更新。
[0090]
本技术实施例实施时,所述的actor-critic网络包含一个actor策略网络和2个critic网络,分别包括依次设置的全连接层和激活层。所述actor策略网络是根据神经网络结构中最后的全连接层的输出来确定此刻状态下动作的均值和方差,具体而言,actor策略网络根据其全连接层的输出得到一个多维高斯分布的均值和方差来采样得到最终的动作值;通过一个神经网络模型学习真实的环境状态转移过程中存在的信息量作为实际的回报值,这个回报模型的本质是捕捉真实环境动态转移中隐藏信息量的能力,使用这种能力作为相应环境状态转移过程的回报值,这些回报值能够最大程度的反映出状态转移时存在的各种不确定性问题,有利于actor-critic网络的学习;所述actor策略网络根据其最后的全连接层输出均值和方差时,在从多维高斯分布进行采样之后使用tanh函数进行一次非线性映射,确保最终的动作值均在有效范围内;critic网络中包含一个目标q函数网络和2个当前q函数网络,在对当前状态下选择的动作进行评价时,使用当前q函数网络进行计算,对他们的计算结果选择q函数值较小的网络用于对actor策略网络进行更新;对计算而得的两个当前q函数值分别与目标q函数网络组成mse损失函数,实现对2个当前q函数网络进行更新。
[0091]
在一种可能的实现方式中,根据更新后的当前q函数网络的参数和目标q函数网络的参数使用动量原则进行更新采用下式:
[0092][0093]
式中,q
θ
为更新之后的目标q函数网络参数,为更新之前的目标q函数网络参数,q
δ
为当前q函数网络的参数,ε表示动量更新时的动量参数值,ε位于0到1之间。
[0094]
本技术实施例实施时,目标q函数网络的更新则是使用动量原则,即根据更新后的
当前q函数网络的参数和目标q函数网络的参数使用动量原则。
[0095]
在一种可能的实现方式中,actor-critic网络中actor网络的损失函数由两部分组成,第一部分是在某一个状态下策略选择某一动作时critic网络的评价值,即状态动作值函数,第二部分为策略选择该动作的熵,critic网络的参数更新使用td-error作为损失函数。
[0096]
在一种可能的实现方式中,请参阅图2,示出了回报模型的神经网络模型结构,该神经网络模型依次设置4层全连接与3个激活函数,每层全连接设置256个隐藏层,激活函数使用swish;如图3所示,回报模型的编码器和解码器内分别为一个神经网络模型构成,回报模型中编码器的输入为随机给定的状态及该状态下的动作,输出为信息压缩后的均值和方差;回报模型中解码器的输入为从编码器输出的均值方差中采样到的值,输出为下一时刻的状态均值和方差。如图4所示,本实施例的actor策略网络包括依次设置的3全连接层及rule层,全连接网络每层包含256个神经元,输入为当前或给定的状态,输出为面对此状态时所应采取的动作。如图5所示,本实施例的2个critic网络机构完全相同,包括依次设置的3全连接层及rule层,全连接网络每层包含256个神经元,输入为给定的状态及其对应的动作,输入是对此情景下的评价值。
[0097]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0098]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0099]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显然本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0100]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0101]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上
或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0102]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1