CN113168566A - 通过使用熵约束来控制机器人 - Google Patents

通过使用熵约束来控制机器人 Download PDF

Info

Publication number
CN113168566A
CN113168566A CN201980077793.8A CN201980077793A CN113168566A CN 113168566 A CN113168566 A CN 113168566A CN 201980077793 A CN201980077793 A CN 201980077793A CN 113168566 A CN113168566 A CN 113168566A
Authority
CN
China
Prior art keywords
entropy
policy
robot
action
temperature parameter
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.)
Pending
Application number
CN201980077793.8A
Other languages
English (en)
Inventor
图奥马斯·哈尔诺亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113168566A publication Critical patent/CN113168566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Feedback Control In General (AREA)

Abstract

方法、***和装置,包括编码在计算机存储介质上的计算机程序,用于对具有策略参数的策略神经网络进行训练。所述方法中的一种方法包括:获得包括一个或多个元组的轨迹数据;通过使用所述轨迹数据、使用最大熵强化学习技术来更新所述策略参数的当前值,所述最大熵强化学习技术使(i)奖励项和(ii)熵项两者都最大化,其中在所述最大化中在所述熵项和所述奖励项之间的相对权重由温度参数确定;以及,通过使用由根据用于所述轨迹数据中的所述元组的所述策略参数的所述当前值而生成的所述策略输出所定义的概率分布,来更新所述温度参数以将所述概率分布的期望熵调节为至少等于最小期望熵值。

Description

通过使用熵约束来控制机器人
相关申请的交叉引用
本申请要求于2018年11月30日提交的美国专利申请第62/773,932号的优先权,其全部内容通过引用的方式并入本文。
背景技术
本说明书涉及控制机器人以执行特定任务。
一些***通过使用策略神经网络来控制机器人,该策略神经网络生成定义了在可以由机器人执行的动作上的概率分布的输出,即,所述***根据由策略神经网络所生成的输出来选择待由机器人执行的动作。
神经网络是采用一个或多个非线性单元层来预测针对接收到的输入的输出的机器学习模型。一些神经网络是深度神经网络,它除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作所述网络中下一层(即,下一隐藏层或输出层)的输入。所述网络的每个层根据相应参数集合的当前值来从接收到的输入生成输出。
发明内容
本说明书描述了一种实施为在位于一个或多个位置中的一个或多个计算机上的一个或多个计算机程序的***,其用于对策略神经网络进行训练。所述策略神经网络用于控制机器人以便使所述机器人在环境中执行特定任务。例如,所述任务可以是涉及在环境中进行导航、在环境中移动物体或者两者的工业机器人任务。
可以实施在本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个优点。
由于深度强化学***台(即,涉及真实世界机器人与真实世界环境进行交互的平台)上调整超参数可能是有问题的。更具体地,机器人(例如四足机器人或者其他移动机器人)可能在大量的试错学习之后被损坏或者至少被严重磨损,该试错学习通常是必需的以确定用于强化学习训练过程的超参数的有效超参数设定。
具体地,在最大熵强化学习中,在所述最大化中在熵项和奖励项之间的相对权重由参数确定,该参数被称为温度参数。常规的最大熵强化学习技术需要进行大量的超参数调整来为给定任务确定针对温度参数的最佳设定。当在真实世界机器人上学习所述策略时,这种超参数搜索可能导致在甚至训练过程开始之前就对机器人造成损坏、磨损或者两者。
然而,所描述的技术需要最少的或不需要进行超参数调整,因为温度参数是在对策略神经网络的训练期间学习的。换句话说,所要求保护的技术通过动态地并且自动地调整用于确定所述策略的随机性的温度参数,来自动权衡探索与开发。因此,可以有效地确定控制策略,而不会过度磨损或者损坏真实世界机器人,因为减少了或者甚至消除了对试错学习的需求。
附加地,所描述的技术随着所述策略在训练期间改善时间而自动调整所述温度参数。这可以进一步减少训练迭代的数量和机器人学习高质量控制策略所需的机器人磨损程度。更一般地,自动调整温度参数导致了所述策略自由地在其中不确定最佳动作的区域中进行更多的探索,但是在好动作与坏动作之间具有明确区别的状态中保持更高的确定性,从而提高了所学习的最终策略的质量。
在附图和下面的描述中阐述了在本说明书中描述的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将通过描述、附图以及权利要求书而变得显而易见。
附图说明
图1示出了示例控制***。
图2是用于对策略神经网络进行训练的示例过程的流程图。
图3是用于更新当前温度参数的示例过程的流程图。
各个附图中的相似附图标记和标号指示相似的元件。
具体实施方式
图1示出了示例控制***100。该控制***100是实施为在位于一个或多个位置的一个或多个计算机上的计算机程序的***的示例,其中实施了下面描述的***、组件和技术。
***100包括策略神经网络110、训练引擎150和一个或多个存储器,该一个或多个存储器存储所述策略神经网络110的一组策略参数118和温度参数152。
***100通过选择待由机器人102执行的动作106并且然后使机器人102执行所选择的动作106,来控制机器人102与环境104进行交互。
机器人102执行所选择的动作106通常使环境104转变到新状态。通过重复地使机器人102在环境104中执行动作,***100可以控制机器人102完成指定任务。例如,所述任务可以是涉及在环境中进行导航、在环境中移动物体或两者的工业机器人任务。
具体地,控制***100通过使用策略神经网络110来控制机器人102以便使机器人102在环境104中执行指定任务。
策略神经网络110是具有参数(在本说明书中称为“策略参数”)的神经网络,所述神经网络接收用于表征由机器人102与之进行交互的环境104的状态的状态表示120,并且生成策略输出122,该策略输出122定义了在可以由机器人102执行的可能动作集合上的概率分布。
所述可能动作集合中的每个动作通常是多维动作,例如多维向量。例如,每个维度可以与机器人102的不同关节或电机对应,并且可以是所述关节或电机的控制输入,例如待施加到所述关节的扭矩或者所述电机的位置或者设定。作为一个示例,如果机器人由沿着所述机器人的框架被定位在不同点的八个致动器电机所控制,则每个动作通常将是八维向量,其中每个维度与所述八个电机中的一个电机对应,并且在该维度下的值与该电机的预期电机位置对应。
当所述动作集合是离散的时,策略输出122可以包括针对所述集合中的每个动作的相应概率。当所述动作集合是连续的时,策略输出122可以针对每个维度包括在所述维度的可能值上的分布的参数,例如高斯分布的均值和协方差。
通常,状态表示120是从由机器人102的传感器捕获到的传感器数据生成的。例如,状态表示120可以包括观测值,所述观测值包括用于表征机器人102的当前状态的一个或多个传感器读数,例如用于测量机器人102的某些关节或者电机的角度的传感器、用于测量机器人102的定向和角速度的IMU等等。
在一些情况下,观测值还可以包括由摄像头传感器捕获到的图像、由激光传感器捕获到的激光数据、或两者。
在一些情况下,状态表示120包括附加数据,例如除了当前观测值之外的一个或多个最近接收到的观测值、用于指定由机器人执行的最新动作的数据、或者用于指定由***100接收的最新奖励124的数据100。
策略神经网络110可以具有允许策略神经网络110将接收到的状态表示120映射到策略输出122的任何适当的神经网络架构。例如,当状态表示120包括高维图像或者激光数据时,策略神经网络110可以是卷积神经网络。作为另一示例,当状态表示120仅包括相对较低维度的输入(例如用于表征机器人的当前状态的传感器读数)时,策略神经网络110可以是多层感知器。
***100使用策略输出122来控制机器人,即,根据动作选择策略来选择在当前时间步待由机器人执行的动作106,并且然后使机器人执行动作106,例如通过直接向机器人传输控制信号、或者通过向机器人102的控制***传输用于标识动作106的数据。
***100可以通过使用各种动作选择策略中的任何动作选择策略基于动作选择输出122来选择待由机器人102执行的动作,例如通过根据动作的概率值来对动作进行采样,或者通过选择具有最高概率值的动作。
***100可以在每个时间步接收相应的奖励124,其中奖励124由标量数值指定并且表征例如机器人102朝向完成指定任务的进度。
为了改进对机器人102的控制,训练引擎150重复地更新策略神经网络110的策略参数118,以使策略神经网络110生成更准确的策略输出,即,导致***100接收到更高的奖励124的策略输出,并且因此,改进了机器人102在预期的任务上的性能。换句话说,训练引擎150通过重复地更新策略参数118来对策略神经网络110进行训练。
具体地,训练引擎150通过使用最大熵强化学习技术来更新策略参数118。在这种技术中,训练引擎150更新策略参数118以根据策略参数的当前值来使(i)奖励项和(ii)熵项两者最大化,所述奖励项测量在用于进行更新的轨迹数据中的元组中的总奖励,所述熵项测量由通过处理在所述轨迹数据中的元组中的状态表示而生成的策略输出所定义的概率分布的熵。虽然“熵”术语通篇是指测量概率分布的‘熵’,但是要明白,当动作空间是连续的(并且策略网络的输出是连续概率分布的参数)时,“熵”术语通常测量所述概率分布的微分熵。
在轨迹数据中的每个轨迹是元组序列,其中每个元组包括状态表示、响应于所述状态表示而执行的动作、以及响应于所述机器人执行所述动作而获得的奖励。
在所述最大化中在熵项和奖励项之间的相对权重由被称为温度参数152的参数确定。例如,熵项可以乘以在总体目标中被优化的温度参数。即,目标函数可以包括总体项,该总体项是在奖励项与温度参数152和熵项的乘积之间的差。
具体地,目标函数J(π)可以满足:
Figure BDA0003084533660000061
其中E是期望算子,τ是从由策略神经网络π引起的轨迹分布采样的轨迹,即,通过从由策略神经网络110生成的策略输出122中选择动作而生成的轨迹,该轨迹包括时间步0到T,r(st,at)是作为机器人102响应于状态表示st执行动作at的结果而由***100接收到的奖励,π(st,at)是在通过使用策略神经网络来处理状态表示st而生成的概率分布中的分配给动作at的概率,并且α是温度参数。
与将温度参数152视为必须在进行训练之前被设置的超参数的常规最大熵强化学习技术不同,所述训练引擎152还在更新策略参数118时重复地更新温度参数152,即,对策略神经网络110进行训练相结合。具体地,训练引擎150重复地更新温度参数152以将由策略神经网络110的输出所定义的概率分布的期望熵调节为至少等于(即,大于或等于)最小期望熵值。
下面参照图2和图3更详细地描述了对策略神经网络110进行训练和更新温度参数152。
图2是用于对策略神经网络进行训练的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,被适当编程的控制***(例如图1的控制***100)可以执行过程200。
所述***可以重复地对轨迹数据(例如从重放缓冲区或者用于存储由于所述机器人与环境进行交互(同时通过策略神经网络或者某一其他控制策略被控制)而生成的轨迹数据的其他存储器采样的轨迹数据)执行过程200,以对策略神经网络进行训练、并且与所述训练相结合地调整所述温度参数。
所述***获得轨迹数据(步骤202)。所述轨迹数据包括一个或多个元组,其中每个元组标识用于表征环境的状态的状态表示、在环境处于由所述状态表示表征的状态时由机器人执行的动作、响应于机器人执行所述动作而接收到的奖励、以及用于表征在机器人执行动作之后所述环境的下一状态的下一状态表示。
通过使用轨迹数据,所述***通过使用最大熵强化学习技术来更新所述策略参数的当前值,该最大熵强化学习技术根据所述策略参数的当前值来使(i)奖励项和(ii)熵项两者最大化,所述奖励项测量在所述轨迹数据中的元组中的总奖励,所述熵项测量由通过处理在所述轨迹数据中的元组中的状态表示而生成的策略输出所定义的概率分布的熵,其中在所述最大化中在熵项和奖励项之间的相对权重由当前温度参数确定(步骤204)。
通常,作为这种更新的一部分,所述***通过使用策略神经网络来处理在所述轨迹数据中的每个元组中的每个状态表示,以根据所述策略参数的当前值来生成用于所述状态表示的策略输出。
更具体地,所述***可以通过使用当前温度参数和任何适当的最大熵强化学习技术来确定所述更新。作为特定示例,所述***可以使用Soft Actor-Critic(柔性致动-评价,SAC)算法来确定对策略参数的当前值的更新。在SAC算法中,在计算误差和梯度之前,将熵项通过当前温度参数值来缩放,即,乘以当前温度参数值。在Haarnoja等人于2018年发布的“Soft Actor-Critic:Off-Policy Maximum Entropy Deep Reinforcement Learningwith a Stochastic Actor(柔性致动-评价:带有随机致动的非策略最大熵深度强化学习)”(可在arXiv:1801.01290找到)中更详细地描述了SAC算法。
所述***通过使用由根据用于在轨迹数据中的元组的策略参数的当前值而生成的策略输出所定义的概率分布,来更新温度参数(步骤206)。具体地,所述***更新所述温度参数,以将由策略输出所定义的概率分布的期望熵调节为至少等于最小期望熵值。
该最小期望熵值是固定值,所述固定值调节由策略神经网络在进行训练期间生成的策略输出所定义的概率分布的期望最小熵。
在一些实施方式中,最小期望熵是作为输入提供给所述***的常数。
在一些其他实施方式中,所述***在进行训练之前确定最小期望熵值。例如,当动作空间是连续的时,可以基于在可能动作集合中的动作的动作维度数量来确定最小期望熵值。作为特定示例,最小期望熵值可以是动作维度数量的负数,即,使得当存在八个动作维度时,最小期望熵值将为-8。
通常,所述***通过使用目标函数来确定所述更新,针对概率分布中的每个概率分布,该目标函数取决于温度参数、概率分布的熵、和最小期望熵值。
作为特定示例,目标函数J(α)可以满足
Figure BDA0003084533660000091
其中α是温度参数,E是期望算子,at是针对第t个元组通过根据策略参数的当前值处理在所述元组中的状态表示st而从由策略神经网络πt生成的概率分布所采样的动作,并且
Figure BDA0003084533660000092
是最小期望熵值。
如从目标函数J(α)的上述公式可以看出的,由于所述函数忽略了由策略神经网络生成的概率分布对温度参数的依赖性,因此,目标函数J(α)的优化器始终为正或负无穷大。因此,代替使J(α)最小化,所述***在每次迭代时对所述最小化采取仅一个(或几个)梯度步,并且然后,更新πt以更好地匹配已更新的α,即,通过双重梯度下降来联合地更新所述强化学习目标和J(α)。
下面参照图3来更详细地描述更新当前温度参数。
图3是用于更新当前温度参数的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,被适当编程的控制***(例如图1的控制***100)可以执行过程300。
针对每个元组,所述***从由策略神经网络针对所述元组生成的概率分布对动作进行采样(步骤302)。换句话说,所述***从可能动作集合中选择动作,其中每个动作具有被选择的概率,该概率取决于(例如等于)该动作在所述概率分布中的概率。
针对每个元组,所述***确定关于温度参数的目标函数的梯度,即,确定在(i)通过所述概率分布而分配给已采样的动作的概率的对数的负数与(ii)最小期望熵值之间的差(步骤304)。
所述***组合所述元组的梯度(步骤306),即,通过对所述元组的梯度进行求和或者求平均值,并且从所组合的梯度确定对温度参数的更新(步骤308)。所述***可以通过将更新规则(例如ADAM更新规则或者随机梯度下降更新规则)应用于用于确定所述更新的组合梯度来确定所述更新。
然后,所述***将所述更新应用于当前温度参数,即,从当前温度参数减去所述更新,以确定已更新的温度参数(步骤310)。
对过程300的说明描述了对每个元组采取一个梯度步来更新温度参数。在一些情况下,所述***在确定对当前温度参数的最终更新之前执行多个梯度步(即,两个、五个或者十个梯度步)以进行迭代。
本说明书结合***和计算机程序组件使用术语“配置”。对于一个或多个计算机的***,要配置为执行特定操作或者动作意味着已经在所述***上安装了在操作中使所述***执行所述操作或者动作的软件、固件、硬件或者它们的组合。对于一个或多个计算机程序,要配置为执行特定操作或者动作意味着所述一个或多个程序包括指令,该指令在由数据处理装置执行时使所述装置执行操作或者动作。
可以在数字电子电路***中、有形体现的计算机软件或者固件中、计算机硬件中(包括本说明书所公开的结构及其结构等效物)或者它们中的一个或多个的组合中,实施本说明书中描述的主题的实施例和功能操作。可以将本说明书中描述的主题的实施例实施为一个或多个计算机程序,即,编码在有形非暂时性存储介质上以由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或者串行存取存储器设备、或者它们中的一个或多个的组合。替换地或者附加地,程序指令可以编码在人工生成的传播信号上,例如机器生成的电气信号、光学信号或者电磁信号,生成该信号是为了对信息进行编码以传输至合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”是指数据处理硬件并且囊括了用于处理数据的所有种类的装置、设备和机器,例如包括:可编程处理器、计算机、或者多个处理器或者计算机。该装置还可以是或者进一步包括专用逻辑电路***,例如FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***、或者它们中的一个或多个的组合的代码。
可以用任何形式的程序语言(包括编译语言或者解释语言或者陈述性语言或者程序语言)来编写计算机程序(也可以被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或者代码),并且可以按照任何形式(包括作为独立程序或者模块、组件、子例程、或者适合用于计算环境的其他单元)来部署计算机程序。程序可以但并非必须与文件***中的文件对应。可以将程序存储在保持其他程序或者数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,或者存储在专用于所探讨的程序的单个文件中,或者存储在多个协作文件(例如用于存储一个或多个模块、子程序或者部分代码的文件)中。计算机程序可以被部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个地点或跨多个地点分布并且通过数据通信网络互连。
在本说明书中,术语“数据库”被广泛地用于指代任何数据类集:所述数据不需要按照任何特定方式被结构化,或者根本不需要被结构化,并且其可以被存储于在一个或多个位置中的一个或多个存储设备中。因此,例如,索引数据库可以包括多个数据类集,该多个数据类集中的每个数据类集可以被不同地组织和访问。
类似地,在本说明书中,广泛地使用术语“引擎”来指代被编程为执行一个或多个特定功能的基于软件的***、子***或者过程。通常,引擎将被实施为安装在位于一个或多个位置的一个或多个计算机上的一个或多个软件模块或者组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
可以通过一个或多个可编程计算机来执行本说明书中描述的过程和逻辑流,该一个或多个可编程计算机执行一个或多个计算机程序以通过操作输入数据并且生成输出来执行功能。还可以通过专用逻辑电路***(例如FPGA或者ASIC)或者专用逻辑电路***和一个或多个编程计算机的组合来执行所述过程和逻辑流。
适合于执行计算机程序的计算机可以基于通用或者专用微处理器或者两者、或者任何其他种类的中央处理单元。一般而言,中央处理单元将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的元件是用于进行或者执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路***补充或者可以并入该专用逻辑电路***中。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁盘、磁光盘或者光盘),或者计算机还将被可操作地耦合以接收来自该海量存储设备的数据或者向该海量存储设备传递数据或者进行两者。然而,计算机不是必需具有这种设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏机、全球定位***(GPS)接收器、或者便携式存储设备(例如通用串行总线(USB)闪存驱动),仅举数例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括:例如,半导体存储器设备(例如EPROM、EEPROM、和闪速存储器设备)、磁盘(例如内部硬盘或者可移动盘)、磁光盘、CD-ROM盘和DVD-ROM盘。
为了提供与用户的交互,可以在计算机上实施本说明书中描述的主题的实施例,该计算机具有:用于向用户显示信息的显示设备,例如CRT(阴极射线管)或者LCD(液晶显示器)监视器;以及键盘和指向设备,例如鼠标或者轨迹球,用户可以通过该键盘和该指向设备来将输入提供给计算机。其他种类的设备也可以用于提供与用户的交互;例如提供给用户的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。附加地,计算机可以通过向用户所使用的设备发送文档和从该设备接收文档(例如通过响应于从网络浏览器接收到的请求而向用户的设备上的网络浏览器发送网页)来与用户进行交互。而且,计算机可以通过向个人设备(例如运行消息应用程序的智能电话)发送文本消息或其它形式的消息和从所述用户接收返回的响应消息来与用户进行交互。
用于实施机器学习模型的数据处理装置还可以包括:例如,用于处理机器学习训练或者生产(即,推理)、工作量的公共部分和计算密集型部分的专用硬件加速器单元。
可以使用机器学习框架(例如TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或者Apache MXNet框架)来实施和部署机器学习模型。
可以将本说明书中描述的主题的实施例实施在包括后端组件的计算***(例如作为数据服务器)或者包括中间件组件的计算***(例如应用服务器)或者包括前端组件的计算***(例如具有图形用户界面、网络浏览器或者app的用户计算机,用户可以通过该图形用户界面、该网络浏览器或者该app来与本发明中所描述的主题的实施方式进行交互)、或者包括一个或多个这种后端组件、中间件组件或者前端组件的任何组合的计算***中。所述***的组件可以通过任何形式或者介质的数字数据通信(例如通信网络)被相互连接。通信网络的示例包括:局域网(“LAN”)和广域网(“WAN”),例如互联网。
所述计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行的并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施例中,服务器向用户设备传输数据(例如HTML页面),例如为了向与所述设备(该设备充当客户端)进行交互的用户显示数据和接收来自该用户的用户输入。可以在服务器处从设备接收在用户设备处生成的数据(例如用户交互的结果)。
虽然本说明书包括许多具体实施细节,但是不应该将这些细节视为对任何发明或者可能被要求的内容的范围的限制,而是作为可以针对特定发明的特定实施例的特征的描述。在本说明书中在分开实施例的上下文中描述的某些特征还可以组合地实施在单个实施例中。相反,在单个实施例的上下文中描述的各种特征也可以分开地或者按照任何合适的子组合实施在多个实施例中。此外,虽然上文可能将特征描述为以某些组合来起作用并且最初甚至这样要求,但是在一些情况下,可以从组合中删除来自所要求的组合的一个或多个特征。并且所要求的组合可以指向子组合或者子组合的变化。
类似地,虽然按照特定顺序在附图中描绘了并且在权利要求书中叙述了操作,但是不应该将其理解为需要按照所示出的特定顺序或者按照相继顺序来执行这种操作、或者需要执行所有图示的操作以实现预期的结果。在某些情况下,多任务和并行处理可以是有利的。此外,不应该将在上述实施例中的各种***模块和组件的分开理解为在所有实施例中需要这种分开,并且应该理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在以下权利要求书的范围内。例如,可以按照不同的顺序来执行权利要求书中阐述的动作,并且仍然实现预期的结果。作为一个示例,在附图中描绘的过程不一定需要所示的特定顺序或者相继顺序,以实现预期的结果。在一些情况下,多任务处理和并行处理可以是有利的。

Claims (10)

1.一种用于训练策略神经网络的方法,所述策略神经网络具有多个策略参数并且用于控制与环境进行交互的机器人,其中所述策略神经网络被配置为:接收用于表征所述环境的状态的状态表示作为输入,并且根据所述策略参数来处理所述状态表示以生成策略输出,所述策略输出定义了在能够由所述机器人执行的动作集合上的概率分布,所述方法包括:
获得包括一个或多个元组的轨迹数据,每个元组标识用于表征所述环境的状态的状态表示、在所述环境处于由所述状态表示表征的所述状态时由所述机器人执行的动作、响应于所述机器人执行所述动作而接收到的奖励、以及在所述机器人执行所述动作之后用于表征所述环境的下一状态的下一状态表示;
通过使用所述轨迹数据、使用最大熵强化学习技术来更新所述策略参数的当前值,所述最大熵强化学习技术根据所述策略参数的所述当前值来使(i)奖励项和(ii)熵项两者最大化,所述奖励项测量在所述轨迹数据中的所述元组中的总奖励,所述熵项测量由通过处理在所述轨迹数据中的所述元组中的所述状态表示而生成的策略输出所定义的概率分布的熵,其中在所述最大化中在所述熵项和所述奖励项之间的相对权重由温度参数确定;以及
通过使用由根据用于在所述轨迹数据中的所述元组的所述策略参数的所述当前值而生成的所述策略输出所定义的所述概率分布,来更新所述温度参数以将所述概率分布的期望熵调节为至少等于最小期望熵值。
2.根据权利要求1所述的方法,还包括:
通过使用所述策略神经网络并且根据所述策略参数的已更新的值来控制所述机器人。
3.根据前述权利要求中的任一项所述的方法,其中更新所述温度参数包括:通过使用目标函数来更新所述温度参数,针对所述概率分布中的每个概率分布,所述目标函数取决于所述温度参数、所述概率分布的所述熵、和所述最小期望熵值。
4.根据权利要求3所述的方法,其中所述最小期望熵值基于在可能动作集合中的所述动作的动作维度数量。
5.根据权利要求4所述的方法,其中所述最小期望熵值是所述动作维度数量的负数。
6.根据权利要求3至5中的任一项所述的方法,其中更新所述温度参数包括:
针对所述一个或多个元组中的每个元组,确定关于所述目标函数的所述温度参数的梯度;以及
通过使用所确定的梯度来更新所述温度参数。
7.根据权利要求6所述的方法,其中确定所述梯度包括针对所述元组中的每个元组:
从由所述策略神经网络针对该元组所生成的所述概率分布对动作进行采样;以及
确定在(i)通过所述概率分布而分配给已采样的动作的所述概率的对数的负数与(ii)所述最小期望熵值之间的差。
8.根据权利要求3至7中的任一项所述的方法,其中所述目标函数满足:
Figure FDA0003084533650000021
其中α是所述温度参数,E是所述期望算子,at是针对第t个元组通过根据所述策略参数的所述当前值处理所述元组中的所述状态表示st而从由所述策略神经网络πt所生成的所述概率分布采样的动作,并且
Figure FDA0003084533650000022
是最小期望熵值。
9.一种或多种存储指令的计算机可读存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据前述权利要求中的任一项所述的方法中的任何一种方法的相应操作。
10.一种包括一个或多个计算机和存储指令的一个或多个存储设备的***,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据前述权利要求中的任一项所述的方法中的任何一种方法的相应操作。
CN201980077793.8A 2018-11-30 2019-12-02 通过使用熵约束来控制机器人 Pending CN113168566A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862773932P 2018-11-30 2018-11-30
US62/773,932 2018-11-30
PCT/US2019/064047 WO2020113228A1 (en) 2018-11-30 2019-12-02 Controlling robots using entropy constraints

Publications (1)

Publication Number Publication Date
CN113168566A true CN113168566A (zh) 2021-07-23

Family

ID=69165562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980077793.8A Pending CN113168566A (zh) 2018-11-30 2019-12-02 通过使用熵约束来控制机器人

Country Status (4)

Country Link
US (1) US20220019866A1 (zh)
EP (1) EP3888014A1 (zh)
CN (1) CN113168566A (zh)
WO (1) WO2020113228A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919475A (zh) * 2021-12-16 2022-01-11 中国科学院自动化研究所 机器人技能学习的方法、装置、电子设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114190102A (zh) * 2020-07-15 2022-03-15 百度时代网络技术(北京)有限公司 具有多门专家混合软演员评论家的视频推荐
US11992945B2 (en) * 2020-11-10 2024-05-28 Google Llc System and methods for training robot policies in the real world
CN112926628A (zh) * 2021-01-29 2021-06-08 北京字节跳动网络技术有限公司 动作价值的确定方法、装置、学习框架、介质及设备
CN114282640B (zh) * 2021-12-31 2024-02-06 北京瑞莱智慧科技有限公司 多样性策略的生成方法、装置、介质和计算设备
CN115314904B (zh) * 2022-06-14 2024-03-29 北京邮电大学 基于多智能体最大熵强化学习的通信覆盖方法及相关设备
CN114986518B (zh) * 2022-07-19 2022-11-04 聊城一明五金科技有限公司 用于汽车拆解生产线的智能控制方法及***
CN116168333B (zh) * 2023-04-20 2023-08-22 华南理工大学 一种自监督视觉语言导航预训练方法、装置及存储介质
CN116774725B (zh) * 2023-05-19 2024-01-16 北华航天工业学院 一种改进sac算法的低空无人机路径规划及避障方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919475A (zh) * 2021-12-16 2022-01-11 中国科学院自动化研究所 机器人技能学习的方法、装置、电子设备及存储介质
CN113919475B (zh) * 2021-12-16 2022-04-08 中国科学院自动化研究所 机器人技能学习的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP3888014A1 (en) 2021-10-06
WO2020113228A1 (en) 2020-06-04
US20220019866A1 (en) 2022-01-20

Similar Documents

Publication Publication Date Title
CN113168566A (zh) 通过使用熵约束来控制机器人
CN110692066B (zh) 使用多模态输入选择动作
US11868894B2 (en) Distributed training using actor-critic reinforcement learning with off-policy correction factors
US11727281B2 (en) Unsupervised control using learned rewards
CN110326004B (zh) 使用路径一致性学习训练策略神经网络
US10860920B2 (en) Distributional reinforcement learning
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
US11537887B2 (en) Action selection for reinforcement learning using a manager neural network that generates goal vectors defining agent objectives
EP3788549B1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US11977983B2 (en) Noisy neural network layers with noise parameters
US11868866B2 (en) Controlling agents using amortized Q learning
US20210103815A1 (en) Domain adaptation for robotic control using self-supervised learning
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
US20220036186A1 (en) Accelerated deep reinforcement learning of agent control policies
US20230330846A1 (en) Cross-domain imitation learning using goal conditioned policies
US20220237488A1 (en) Hierarchical policies for multitask transfer

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