CN112313044A - 用于机器人操纵的深度强化学习 - Google Patents
用于机器人操纵的深度强化学习 Download PDFInfo
- Publication number
- CN112313044A CN112313044A CN201980040252.8A CN201980040252A CN112313044A CN 112313044 A CN112313044 A CN 112313044A CN 201980040252 A CN201980040252 A CN 201980040252A CN 112313044 A CN112313044 A CN 112313044A
- Authority
- CN
- China
- Prior art keywords
- robot
- action
- data
- state
- value
- 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
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 152
- 238000012549 training Methods 0.000 claims abstract description 93
- 238000003062 neural network model Methods 0.000 claims abstract description 62
- 230000009471 action Effects 0.000 claims description 244
- 239000000872 buffer Substances 0.000 claims description 96
- 238000005457 optimization Methods 0.000 claims description 68
- 230000007704 transition Effects 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 40
- 239000012636 effector Substances 0.000 claims description 38
- 230000000007 visual effect Effects 0.000 claims description 31
- 238000005070 sampling Methods 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 8
- 230000007423 decrease Effects 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims 1
- 230000033001 locomotion Effects 0.000 abstract description 20
- 238000013480 data collection Methods 0.000 abstract description 8
- 230000007613 environmental effect Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000003860 storage Methods 0.000 description 10
- 230000009193 crawling Effects 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000010420 art technique Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 206010034719 Personality change Diseases 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/002—Biomolecular computers, i.e. using biomolecules, proteins, cells
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39289—Adaptive ann controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Fuzzy Systems (AREA)
- Chemical & Material Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Organic Chemistry (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Manipulator (AREA)
Abstract
使用大规模强化学习来训练可由机器人用于执行机器人任务的策略模型,在该机器人任务中,机器人与一个或多个环境对象进行交互。在各种实施方式中,使用离策略深度强化学习来训练策略模型,并且离策略深度强化学习基于自监督的数据收集。策略模型可以是神经网络模型。在训练神经网络模型时利用的强化学习的实施方式利用了Q学习的连续动作变体。通过本文公开的技术,实施方式可以学习有效地泛化到先前未见过的对象、先前未见过环境等的策略。
Description
背景技术
许多机器人被显式地编程以利用一个或多个末端执行器来操纵一个或多个环境对象。例如,机器人可以利用诸如“冲击(impactive)”抓取器或“侵入(ingressive)”抓取器的抓取末端执行器(例如,使用钉、针等物理地穿透对象)来从第一位置拾取对象,将该对象移动到第二位置,以及在第二位置处放下该对象。可以抓取对象的机器人末端执行器的一些附加示例包括“收缩(astrictive)”末端执行器(例如,使用吸力或真空来拾取对象)和一个或多个“接触(contigutive)”末端执行器(例如,使用表面张力、冻结或粘合剂以拾取对象),仅举几例。
发明内容
本文公开的一些实施方式涉及使用大规模强化学习来训练策略模型,该策略模型可以被机器人用于执行机器人任务,在该机器人任务中,机器人与一个或多个环境对象交互。这样的机器人任务的一个非限制性示例是机器人抓取,其在本文呈现的各种示例中进行了描述。但是,本文公开的实施方式可用于训练用于其他非抓取机器人任务(诸如开门、投球、推对象等)的策略模型。
在本文公开的实施方式中,离策略深度强化学习用于训练策略模型,并且离策略深度强化学习基于自监督的数据收集(例如,仅使用自监督的数据)。在策略深度强化学习也可以用于训练策略模型,并且可以可选地与本文描述的离策略深度强化学习穿插。在离策略深度强化学习中利用的自监督数据可以基于执行机器人任务的情节时来自真实世界机器人的传感器观察,并且其可以可选地用来自对执行机器人任务的情节的机器人模拟的自监督数据补充。通过离策略训练、大规模自主数据收集和/或本文公开的其他技术,实施方式可以学习有效地泛化到先前未见过的对象、先前未见过的环境等的策略。
策略模型可以是机器学习模型,诸如神经网络模型。而且,如本文所述,在训练神经网络模型时使用的强化学习的实施方式利用了Q学习的连续动作变体。因此,策略模型可以表示Q函数。本文公开的实施方式训练并利用策略模型来执行闭环的基于视觉的控制,其中,机器人根据最近的视觉数据观察连续更新其任务策略,以优化长期(long-horizon)任务成功。在这些实施方式中的一些中,对策略模型进行训练,以鉴于当前状态数据预测动作的值。例如,可以使用策略模型来处理动作和状态数据两者以生成值,该值是鉴于当前状态数据而对该值的预测。
如上所述,当前状态数据可以包括由机器人的视觉组件捕获的视觉数据(例如,来自专题相机(monographic camera)的2D图像、来自立体相机的2.5D图像和/或来自3D激光扫描仪的3D点云)。当前状态数据可以仅包括视觉数据,或者可以可选地包括附加数据,诸如机器人的抓取末端执行器是打开还是闭合。该动作可以包括机器人的组件的姿态改变,诸如机器人的抓取末端执行器在笛卡尔空间中的姿态改变。姿态改变可以通过动作限定为例如平移差(指示位置的期望改变)和旋转差(指示方位角的期望改变)。该动作还可以包括例如指定组件的动态状态的目标状态的组件动作命令,其中,该动态状态是除了对象的平移和旋转之外的状态。例如,组件动作命令可以指定抓取器是要被打开、闭合还是被调整到打开和闭合之间的目标状态(例如,部分闭合)。该动作可以进一步包括终止命令,该终止命令指定是否终止机器人任务的执行。
如本文所述,鉴于可以在执行任务的情节的最后时间步骤分配正奖励(例如“1”)或负奖励(例如“0”)的奖励函数来训练策略模型。最后时间步骤是作为基于策略模型指示终止或基于最大数量时间步骤发生所确定的动作的结果而发生终止动作的时间步骤。可以利用各种自监督技术来分配奖励。例如,对于抓取任务,在情节结束时,抓取器可以被移出相机的视野,并在它在视野之外时捕获第一图像。然后,抓取器可以返回到其先前的位置并“打开”(如果在情节结束时闭合),从而放下任何抓取的对象,并捕获第二图像。可以使用背景减法和/或其他技术来比较第一图像和第二图像,以确定抓取器是否正在抓取对象(例如,该对象将存在于第二图像中,但不在第一图像中)——以及向最后时间步骤分配适当奖励。在一些实施方式中,奖励函数可以为未采取终止动作的所有时间步骤分配小惩罚(例如,-0.05)。该小惩罚能够激励机器人快速执行任务。
为了使策略模型能够学习可泛化策略,在表示各种对象和/或环境的多样数据集上对其进行训练。例如,可能需要多样的对象集,以使策略模型能够学习用于抓取的可泛化策略,诸如拾取新对象、执行预抓取操纵和/或使用基于视觉的反馈来处理动态干扰。在单个在策略训练运行(run)中收集这样的数据可能是不切实际的。例如,在单个在策略训练运行中收集这样的数据可能需要大量“时钟(clock on the wall)”训练时间,以及作为结果的对真实世界机器人的占用。
因此,本文公开的实施方式利用Q学习的连续动作泛化,在本文中有时将其称为“QT-Opt”。与其他经常不稳定的连续动作Q学习方法不同,QT-Opt免除训练显式的行动者的需要,而是使用随机优化来选择动作(在推断期间)和目标Q值(在训练期间)。QT-opt可以离策略执行,这使其可以汇集来自多个机器人和多个实验的经验。例如,可以通过在长持续时间上操作的多个机器人来收集用于训练策略模型的数据。甚至完全离策略的训练也可以提供任务执行的改进表现,而使用QT-opt进行适量的在策略微调可以进一步提高表现。QT-opt保持了非凸Q函数的通用性,同时避免了对第二最大化器网络的需要。
在各种实施方式中,在推断期间,随机优化被用来随机地选择要鉴于当前状态并使用策略模型进行评估的动作——并鉴于当前状态(从所评估的动作中)随机地选择要实现的给定动作。例如,随机优化可以是无导数(derivative-free)优化算法,诸如交叉熵方法(CEM)。CEM在每次迭代中采样一批N个值,将高斯分布拟合到这些样本中的最佳M<N个,然后从该高斯中采样下一批N个。作为一个非限制性示例,N可以是64,且M可以是6。在推断期间,CEM可用于选择64个候选动作,这些动作鉴于当前状态并使用策略模型进行评估,并且可以选择6个最佳动作(例如,具有使用策略模型生成的最高Q值的6个)。高斯分布可以拟合到这6个动作,并且从该高斯选择再64个动作。可以鉴于当前状态并使用策略模型来评估这64个动作,并且可以选择最佳的一个动作(例如,具有使用策略模型生成的最高Q值的动作)作为要实现的动作。前面的示例是N=64和M=6的两次迭代方法。可以利用附加的迭代,和/或替代的N和/或M值。
在各种实施方式中,在训练期间,随机优化被用于确定目标Q值,该目标Q值用于生成在训练期间待评估的状态、动作对的损失。例如,随机优化可用于随机选择要鉴于与状态、动作对对应的“下一状态”并使用策略模型评估的操作——并随机选择与给定动作(来自所评估的动作)对应的Q值。可以基于选择的Q值确定目标Q值。例如,目标Q值可以是选择的Q值和被评估的状态、动作对的奖励(如果有)的函数。
以上描述仅作为本文公开的一些实施方式的概述而提供。在本文中更详细地描述这些和其他实施方式。
在一些实施方式中,提供了一种在执行机器人任务期间由机器人的一个或多个处理器实现的方法,该方法包括:接收机器人的当前状态数据并选择针对机器人任务要执行的机器人动作。当前状态数据包括由机器人的视觉组件捕获的当前视觉数据。选择机器人动作包括:使用表示Q函数并使用强化学习进行训练的经训练的神经网络模型作为目标函数,对候选机器人动作执行优化,其中,执行优化包括生成在优化中考虑的候选机器人动作的子集的Q值。生成每个Q值基于使用经训练的神经网络模型对状态数据和子集中的候选机器人动作中的对应一个的处理。选择机器人动作还包括基于在执行的优化期间针对机器人动作生成的Q值,从候选机器人动作中选择机器人动作。该方法进一步包括向机器人的一个或多个致动器提供命令以引起选择的机器人动作的执行。
这些和其他实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,机器人动作包括机器人的组件的姿态改变,其中,姿态改变限定机器人的组件的当前姿态与该组件的期望姿态之间的差异。在这些实施方式中的一些中,该组件是末端执行器,并且姿态改变限定末端执行器的平移差和末端执行器的旋转差。在这些实施方式的某些版本中,末端执行器是抓取器,且机器人任务是抓取任务。
在一些实施方式中,机器人动作包括终止命令,该终止命令指定是否终止机器人任务的执行。在这些实施方式中的一些中,机器人动作还包括指定组件的动态状态的目标状态的组件动作命令,其中,该动态状态是除了组件的平移和旋转之外的状态。在这些实施方式的一些版本中,组件是抓取器,并且由组件动作命令指定的目标状态指示抓取器要被闭合。在这些实施方式的一些版本中,组件动作命令包括打开命令和闭合命令,打开命令和闭合命令共同地将目标状态限定为打开、闭合或在打开和闭合之间。
在一些实施方式中,当前状态数据还包括机器人的组件的当前状态。在这些实施方式中的一些中,机器人的组件是抓取器,并且当前状态指示抓取器被打开还是被闭合。
在一些实施方式中,优化是随机优化。在这些实施方式中的一些中,优化是无导数方法,诸如交叉熵方法(CEM)。
在一些实施方式中,对候选机器人动作执行优化包括:选择候选机器人动作的初始批次;生成初始批次中的每个候选机器人动作的Q值中的对应一个Q值;基于初始批次中的候选机器人动作的Q值,选择初始批次中的候选机器人动作的初始子集;将高斯分布拟合到选择的候选机器人动作的初始子集;基于高斯分布选择候选机器人动作的下一批次;和生成下一批次中的每个候选机器人动作的Q值中的对应一个Q值。在这些实施方式中的一些中,机器人动作是下一批次中的候选机器人动作之一,并且,基于在执行的优化期间针对机器人动作生成的Q值,从候选机器人动作中选择机器人动作包括:基于针对机器人动作生成的Q值是下一批次中的对应的Q值中的最大Q值,从下一批次中选择机器人动作。
在一些实施方式中,基于使用经训练的神经网络模型对状态数据和子集中的候选机器人动作中的对应一个的处理生成每个Q值包括:使用经训练的神经网络模型的第一分支来处理状态数据以生成状态嵌套;使用经训练的神经网络模型的第二分支来处理子集中的候选机器人动作中的第一个以生成第一嵌套;通过平铺状态嵌套和第一嵌套来生成组合嵌套;使用经训练的神经网络模型的附加层来处理组合嵌套以生成Q值中的第一Q值。在这些实施方式中的一些中,基于使用经训练的神经网络模型对状态数据和子集中的候选机器人动作中的对应一个的处理生成每个Q值还包括:使用经训练的神经网络模型的第二分支处理子集中的候选机器人动作中的第二个以生成第二嵌套;通过再使用状态嵌套并平铺再使用的状态嵌套和第一嵌套来生成附加的组合嵌套;和使用经训练的神经网络模型的附加层来处理附加的组合嵌套以生成Q值中的第二Q值。
在一些实施方式中,提供了一种训练表示Q函数的神经网络模型的方法。该方法由多个处理器实现,并且该方法包括:检索机器人转变,该机器人转变基于来自机器人执行机器人任务的情节的数据而生成。机器人转变包括:状态数据,该状态数据包括在情节期间在机器人的状态下由视觉组件捕获的视觉数据;下一状态数据,该下一状态数据包括在情节期间在机器人的下一状态下由视觉组件捕获的下一视觉数据,该下一状态是从所述状态转变到的;被执行以从所述状态转变到所述下一状态的动作;和机器人转变的奖励。该方法还包括确定机器人转变的目标Q值。确定目标Q值包括:使用表示Q函数的神经网络模型的版本作为目标函数,对候选机器人动作执行优化。执行优化包括生成在优化中考虑的候选机器人动作的子集的Q值,其中,生成每个Q值基于使用神经网络模型的该版本对下一状态数据和子集中的候选机器人动作中的对应一个的处理。确定目标Q值还包括:从生成的Q值中选择最大Q值,和基于最大Q值和奖励确定目标Q值。该方法还包括:在训练缓冲区中存储:状态数据、动作和目标Q值;从训练缓冲区中检索:状态数据、动作和目标Q值;和生成预测的Q值。生成预测的Q值包括使用神经网络模型的当前版本来处理检索的状态数据和检索的动作,其中,神经网络模型的当前版本相对于所述版本被更新。该方法还包括基于预测的Q值和目标Q值生成损失;和基于损失更新神经网络模型的当前版本。
本技术的这些和其他实施方式可以包括以下特征中的一或多个。
在一些实施方式中,机器人转变基于离线数据而生成并且从离线缓冲区检索。在这些实施方式中的一些中,从离线缓冲区检索机器人转变基于用于从离线缓冲区采样的动态离线采样率,其中,动态离线采样率随训练神经网络模型的持续时间增加而减小。在这些实施方式的一些版本中,该方法还包括通过访问存储离线情节的离线数据库来生成机器人转变。
在一些实施方式中,机器人转变基于在线数据而生成,并且从在线缓冲区检索,其中,在线数据通过机器人使用神经网络模型的机器人版本执行机器人任务的情节而生成。在这些实施方式中的一些中,从在线缓冲区检索机器人转变基于用于从在线缓冲区采样的动态在线采样率,其中,动态在线采样率随训练神经网络模型的持续时间增加而增加。在这些实施方式的一些版本中,该方法还包括基于损失来更新神经网络模型的机器人版本。
在一些实施方式中,动作包括机器人的组件的姿态改变,其中,姿态改变限定组件在所述状态下的姿态与组件在下一状态下的下一姿态之间的差异。
在一些实施方式中,当下一状态是情节的终止状态时,动作包括终止命令。
在一些实施方式中,动作包括组件动作命令,组件动作命令限定在情节的下一状态下组件的动态状态,该动态状态是除了组件的平移和旋转之外的状态。
在一些实施方式中,对候选机器人动作执行优化包括:选择候选机器人动作的初始批次;生成初始批次中的每个候选机器人动作的Q值中的对应一个Q值;基于初始批次中的候选机器人动作的Q值,选择初始批次中的候选机器人动作的初始子集;将高斯分布拟合到选择的候选机器人动作的初始子集;基于高斯分布选择候选机器人动作的下一批次;和生成下一批次中的每个候选机器人动作的Q值中的对应一个Q值。在这些实施方式中的某些中,最大Q值是下一批次中的候选机器人动作的Q值之一,并且,基于最大Q值是下一批次的对应Q值中的最大Q值来选择最大Q值。
在一些实施方式中,提供了一种在机器人任务的执行期间由机器人的一个或多个处理器实现的方法,该方法包括:接收机器人的当前状态数据,当前状态数据包括机器人的当前传感器数据;和选择针对机器人任务要执行的机器人动作。选择机器人动作包括:使用表示经学习的最优策略的经训练的神经网络模型作为目标函数对候选机器人动作执行优化,其中,执行优化包括生成在优化中考虑的候选机器人动作的子集的值,以及其中,生成每个值基于使用经训练的神经网络模型对状态数据和子集中的候选机器人动作中的对应一个的处理。选择机器人动作还包括基于在执行的优化期间针对机器人动作生成的值,从候选机器人动作中选择机器人动作。该方法进一步包括向机器人的一个或多个致动器提供命令以引起选择的机器人动作的执行。
在一些实施方式中,提供了一种训练表示策略的神经网络模型的方法。该方法由多个处理器实现,并且该方法包括:检索机器人转变,机器人转变基于来自机器人执行机器人任务的情节的数据而生成,并且机器人转变包括状态数据和动作。该方法还包括确定机器人转变的目标值。确定目标值包括使用表示策略的神经网络模型的版本作为目标函数,对候选机器人动作执行优化。该方法还包括:在训练缓冲区中存储:状态数据、动作和目标值;从训练缓冲区中检索:状态数据、动作数据和目标值;和生成预测值。生成预测值包括使用神经网络模型的当前版本来处理检索的状态数据和检索的动作数据,其中,神经网络模型的当前版本相对于所述版本被更新。该方法还包括基于预测值和目标值生成损失;和基于损失更新神经网络模型的当前版本。
其他实施方式可以包括非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,(一个或多个)中央处理单元(CPU)、(一个或多个)图形处理单元(GPU)和/或(一个或多个)张量处理单元(TPU))执行以执行诸如上述和/或本文其他地方描述的方法中的一个或多个的方法。再其他的实施方式可以包括一个或多个计算机和/或一个或多个机器人的系统,该一个或多个机器人包括一个或多个处理器,其可操作以执行所存储的指令以执行诸如上述和/或本文其他地方描述的方法中的一个或多个的方法。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1示出了可以在其中实现本文公开的实施方式的示例环境。
图2示出了图1的示例环境的组件,以及这些组件之间可能发生的各种交互。
图3是示出了将存储的离线情节数据(episode data)转换为转变(transition)并将该转变推送到离线缓冲区中的示例方法的流程图。
图4是示出了执行策略引导的任务情节并将来自策略引导的任务情节的数据推送到在线缓冲区中并可选地推送到离线数据库中的示例方法的流程图。
图5是示出了在用可用于训练策略模型的数据填充训练缓冲区时使用来自在线缓冲区或离线缓冲区的数据的示例方法的流程图。
图6是示出了训练策略模型的示例方法的流程图。
图7是示出了使用经训练的策略模型来执行机器人任务的示例方法的流程图。
图8A和图8B示出了示例策略模型的架构、可以作为对策略模型的输入应用的示例状态数据和动作数据以及可以基于使用策略模型处理输入而生成的示例输出。
图9示意性地描绘了机器人的示例架构。
图10示意性地描绘了计算机系统的示例架构。
具体实施方式
图1示出了机器人180,其包括机器人180A、180B和可选的其他(未示出的)机器人。机器人180A和180B是具有多个自由度的“机器人臂”,以使抓取末端执行器182A和182B能够沿多个潜在路径中的任一个穿行,从而将抓取末端执行器182A和182B定位在期望的位置。机器人180A和180B各自进一步控制其对应的抓取末端执行器182A、182B的两个相对的“爪”以在至少打开位置和闭合位置(和/或可选的多个“部分闭合”位置)之间致动爪。
在图1中还示出了示例视觉组件184A和184B。在图1中,视觉组件184A以相对于机器人180A的基座或其他固定参考点的固定姿态安装。视觉组件184B也以相对于机器人180B的基座或其他固定参考点的固定姿态安装。视觉组件184A和184B各自包括一个或多个传感器,并且可以生成与传感器的视线内的(一个或多个)对象的形状、颜色、深度和/或其他特征相关的视觉数据。视觉组件184A和184B可以是例如专题相机、立体相机和/或3D激光扫描仪。3D激光扫描仪包括发射光的一个或多个激光器和收集与发射光的反射相关的数据的一个或多个传感器。3D激光扫描仪可以是例如飞行时间3D激光扫描仪或基于三角测量的3D激光扫描仪,并且可以包括位置敏感检测器(PSD)或其他光学位置传感器。
视觉组件184A具有机器人180A的工作空间的至少一部分(诸如工作空间的包括示例对象191A的那部分)的视场。尽管在图1中未示出对象191A的(一个或多个)搁置表面,但是这些对象可以搁置在桌、托盘和/或其他(一个或多个)表面上。对象191包括刮铲、订书机和铅笔。在其他实施方式中,如本文所述,在机器人180A的全部或部分抓取情节(或其他任务情节)期间,可以提供更多对象、更少对象、附加对象和/或替代对象。此外,在许多实施方式中,可以周期性地用不同组的对象来替换对象191A(例如,由人或由另一机器人),以提供多样训练数据。
视觉组件184B具有机器人180B的工作空间的至少一部分(诸如工作空间的包括示例对象191B的那部分)的视场。尽管在图1中未示出对象191B的(一个或多个)搁置表面,但是它们可以搁置在桌、托盘和/或其他(一个或多个)表面上。对象191B包括铅笔、订书机和眼镜。在其他实施方式中,如本文所述,在机器人180B的全部或部分抓取情节(或其他任务情节)期间,可以提供更多对象、更少对象、附加对象和/或替代对象。此外,在许多实施方式中,可以周期性地用不同组的对象来替换对象191B(例如,由人或由另一机器人),以提供多样训练数据。
尽管在图1中示出了特定的机器人180A和180B,但是可以利用附加和/或替代的机器人,包括与机器人180A和180B类似的附加机器人臂、具有其他机器人臂形式的机器人、具有人形形式的机器人、具有动物形式的机器人、经由一个或多个轮子移动的机器人(例如,自平衡机器人)、水下载具机器人、无人飞行器(“UAV”)等。另外,尽管在图1中示出了特定的抓取末端执行器,但也可以利用附加和/或替代的末端执行器,诸如替代的冲击抓取末端执行器(例如,具有抓取“板”的抓取末端执行器、具有更多或更少“手指”/“爪”的抓取末端执行器)、“侵入”抓取末端执行器、“收缩”抓取末端执行器或“接触”抓取末端执行器或非抓取末端执行器。另外,尽管在图1中示出了视觉传感器184A和184B的特定安装,但是可以利用附加和/或替代的安装。例如,在一些实施方式中,视觉传感器可以直接安装到机器人,诸如安装在机器人的不可致动组件上或安装在机器人的可致动组件上(例如,安装在末端执行器上或靠近末端执行器的组件上)。另外,例如,在一些实施方式中,视觉传感器可以被安装在与其关联的机器人分离的非固定结构上和/或可以以非固定方式被安装在与其关联的机器人分离的结构上。
如本文所述,机器人180A、180B和/或其他机器人可以被用于执行大量的抓取情节,并且与抓取情节关联的数据可以被存储在离线情节数据数据库150中和/或被提供以包括在(回放缓冲区110A-N中的对应一个的)在线缓冲区112中。如本文所述,机器人180A和180B可以可选地初始根据脚本化的探索策略执行抓取情节(或其他任务情节),以引导(bootstrap)数据收集。脚本化的探索策略可以是随机化的,但是偏向于合理的抓取。可以将来自这样的脚本化情节的数据存储在离线情节数据数据库150中,并在策略模型152的初始训练中利用该数据以引导初始训练。
机器人180A和180B可以附加地或替代地使用策略模型152执行抓取情节(或其他任务情节),并提供来自这样的情节的数据以在训练期间包括在在线缓冲区112中和/或提供在离线情节数据数据库150中(并在训练期间抽出以用于填充离线缓冲区114)。例如,机器人180A和180B可以在执行这样的情节时利用图4的方法400。在训练期间提供以包括在在线缓冲区112中的情节将是在线情节。然而,在生成给定情节时利用的策略模型152的版本相对于基于来自该情节的实例而被训练的策略模型152的版本仍将有些滞后。被存储以包括在离线情节数据数据库150中的情节将是离线情节,并且来自该情节的实例将稍后在训练期间被抽出并用于生成存储在离线缓冲区114中的转变。
在情节期间由机器人180A或180B生成的数据可以包括状态数据、动作和奖励(reward)。情节的状态数据的每个实例至少包括情节的实例的基于视觉的数据。例如,当机器人的视觉组件是专题相机时,状态数据的实例可以包括2D图像。状态数据的每个实例可以仅包括对应的视觉数据,或者可以可选地包括附加数据,诸如在该实例时机器人的抓取末端执行器是打开还是闭合。更正式地,给定状态观察可以表示为s∈S。
情节的每个动作限定在当前状态下被实现以转变到下一状态(如果有任何下一状态)的动作。动作可以包括机器人的组件的姿态改变,诸如笛卡尔空间中机器人的抓取末端执行器的姿态改变。姿态改变可以由动作限定为例如平移差(指示位置的期望改变)和旋转差(指示方位角的期望改变)。动作还可以包括例如指定组件的动态状态的目标状态的组件动作命令,其中,该动态状态是除了对象的平移和旋转之外的。例如,组件动作命令可以指示抓取器是要被打开、闭合还是被调整到打开和闭合之间的目标状态(例如,部分闭合)。动作可以进一步包括终止命令,该终止命令指定是否终止机器人任务的执行。情节的终止状态将包括肯定终止命令,以指定机器人任务的执行的终止。
更正式地,给定状态观察可以表示为a∈A。在一些实施方式中,对于抓取任务,A包括指示抓取器位置的期望改变的笛卡尔空间中的向量t∈R3、经由正弦余弦编码而被编码的方位角的改变r∈R3、二元抓取器打开和闭合命令gopen和gclose以及结束该情节的终止命令e,使得a=(t,r,gopen and gclose,e)。
可以按照可以在执行任务的情节的最后时间步骤分配正奖励(例如“1”)或负奖励(例如“0”)的奖励函数来分配每个奖励。最后时间步骤是作为基于策略模型指示终止或基于最大数量时间步骤发生所确定的动作的结果而发生终止动作的时间步骤。可以利用各种自监督技术来分配奖励。例如,对于抓取任务,在情节结束时,抓取器可以移出相机的视野,并在其在视野之外时捕获第一图像。然后,抓取器可以返回到其先前的位置并“打开”(如果在情节结束时闭合),从而放下任何抓取的对象,并捕获第二图像。可以使用背景减法和/或其他技术来比较第一图像和第二图像,以确定抓取器是否正在抓取对象(例如,该对象将存在于第二图像中,但不在第一图像中)——以及向最后时间步骤分配适当奖励。在一些实施方式中,奖励函数可以为未采取终止动作的所有时间步骤分配小惩罚(例如,-0.05)。该小惩罚能够激励机器人快速执行任务。
图1中还示出了离线情节数据数据库150、日志读取器126A-N、回放缓冲区110A-N、贝尔曼(bellman)更新器122A-N、训练工作者(worker)124A-N、参数服务器124A-N和策略模型152。请注意,图1的所有组件都用于训练策略模型152。但是,一旦训练了训练模型(例如,根据一个或多个标准被认为被优化),机器人180A和/或180B就可以使用策略模型152并且在不存在图1的其他组件的情况下执行机器人任务。
如本文所述,策略模型152可以是深度神经网络模型,诸如在图8A和8B中示出和描述的深度神经网络模型。策略模型152表示可以表示为Qθ(s,a)的Q函数,其中,θ表示神经网络模型中的所学习的权重。本文所述的强化学习通过使贝尔曼误差最小化来寻求最佳的Q函数(Qθ(s,a)),贝尔曼误差通过下式给出:
ε(θ)=E(s,a,s′)~p(s,a,s′)[D(Qθ(s,a),QT(s,a,s′))] (1)
其中,QT(s,a,s′)=r(s,a)+γV(s′)是目标值,而D是某种散度度量(divergencemetric)。
这与用目标网络的双Q学习对应,该目标网络是关于标准贝尔曼误差的变体,其中,是滞后的目标网络。在某种数据分布(该数据分布实际上只是所有先前观察到转变上的分布)下取得期望。一旦学习了Q函数,就可以根据π(s)=arg max a Q(s,a)来恢复策略。
用深度神经网络函数近似器的Q学习为用图像观察的强化学习提供了简单且实用的方案,并且服从直接的并行化。但是,并入连续动作(诸如抓取任务中的连续的抓取器运动)对这种方法提出了挑战。一些现有技术已经试图通过使用第二网络来解决该挑战,该第二网络充当近似最大化器或将Q函数约束为在a上为凸,使得易于进行解析最大化。然而,这样的现有技术可能不稳定,这使得对于大规模强化学习任务来说是有问题的,在大规模强化学习任务中运行超参数扫描(hyperparameter sweep)代价难以承受。因此,这样的现有技术可能不适用于复杂的操纵任务,诸如抓取,其中,Q函数在输入上远不是凸的。例如,对于够向对象的动作,Q值可能是高的,但是对于对象之间的间隙,Q值可能是低的。
因此,本文描述的QT-Opt方法是一种替代方法,其在保持非凸Q函数的通用性的同时避免了对第二最大化器网络的需要。在QT-Opt方法中,状态s和动作a被输入到策略模型中,并且通过可以处理非凸和多模态优化局面的随机优化算法的手段来评估下面的式(3)中的最大值。
正式地,令πθ(s)是由Q函数Qθ(s,a)隐式地引发的策略。可以通过将目标Q函数的arg max自变数(argument)替换为最优策略πθ(s)=arg maxa Qθ(s,a)来恢复式(3)。在QT-Opt中,转而通过使用Qθ(s,a)作为目标值在a上运行随机优化来评估πθ(s)。交叉熵方法(CEM)是用于执行这种优化的一种算法,该算法易于并行化,并且对于低维问题的局部最优具有适度稳健性。CEM是一种简单的无导数优化算法,其在每次迭代中采样一批N个值,将高斯分布拟合到这些样本中的最佳M<N个,然后从该高斯中采样下一批N个。在一些实施方式中,N=64且M=6,且执行CEM的两次迭代。如本文所述,该过程可以用于在训练时计算目标,并且可以用于选择用于在真实世界中进行探索的动作。
现在转到图2,示出了图1的示例环境的组件,以及在组件之间可能发生的各种交互。这些交互可以在强化学习期间发生以根据本文公开的实施方式训练策略模型152。需要在新场景和新对象上的泛化的大规模强化学习需要大量的多样数据。可以通过在长持续时间(例如在7个机器人上为几周)内操作机器人180并将情节数据存储在离线情节数据数据库150中来收集这样的数据。
为了有效地吸收这样大而多样的数据集和在该数据集上进行训练,可以利用QT-Opt的分布式异步实施方式。图2总结了系统的实施方式。并行操作的多个日志读取器126A-N从离线情节数据150读取历史数据以生成转变,该转变被日志读取器126A-N推送到回放缓冲区的离线缓冲区114。在一些实施方式中,日志读取器126A-N可以各自执行图3的方法300的一个或多个步骤。在一些实施方式中,50、100或更多个日志读取器126A-N可以并行操作,这可以有助于对离线情节数据数据库150中连续情节之间的相关性解耦,并导致改进的训练(例如,更快的收敛和/或经训练的策略模型的更好表现)。
此外,在线转变可以可选地从机器人180推送在线缓冲区112。在线转变也可以可选地存储在离线情节数据数据库150中,并且之后由日志读取器126A-N读取,此时它们将为离线转变。
多个并行操作的贝尔曼更新器122A-N从离线缓冲区114和在线缓冲区112采样转变。在各种实施方式中,这是可以随训练的持续时间而变化的加权采样(例如,离线缓冲区114的采样率和在线缓冲区112的单独的采样率)。例如,在训练的早期,离线缓冲区114的采样率可以相对大,并且可以随训练的持续时间而降低(并且作为结果,在线缓冲区112的采样率可以增加)。这样可以避免过度拟合到初始稀有的在策略(on-policy)数据,并且可以适应在策略数据的低得多的产生速率。
贝尔曼更新器122A-N用对应的目标值标记采样数据,并将标记的样本存储在可以作为环形缓冲区操作的训练缓冲区116中。在用给定目标值标记采样数据的给定实例时,贝尔曼更新器122A-N之一可以使用当前策略模型(例如,具有当前学习的参数)来执行CEM优化过程。请注意,该异步过程的一个结果是,训练缓冲区116中的样本被标记有当前模型的不同滞后版本。在一些实施方式中,贝尔曼更新器122A-N可以各自执行图5的方法500的一个或多个步骤。
多个训练工作者124A-N并行操作,并从训练缓冲区116中随机抽出标记的转变,并使用它们来更新策略模型152。训练工作者124A-N中的每一个计算梯度并异步地将计算出的梯度发送到参数服务器128A-N。在一些实施方式中,贝尔曼更新器122A-N可以各自执行图6的方法600的一个或多个步骤。训练工作者124A-N、贝尔曼更新器122A-N和机器人180可以周期性地、连续地或以其他定期或非定期间隔从参数服务器128A-N抽出模型权重,并且可以各自利用抽出的模型权重来更新它们自己的策略模型152的本地版本。
下面参考图3-7的流程图,提供可以由图1和2的各种组件实现的方法的实施方式的附加描述。
图3是示出了示例方法300的流程图,该示例方法300将存储的离线情节数据转换为转变,并将该转变推送到离线缓冲区中。为了方便起见,参考执行流程图的操作的系统来描述操作。该系统可以包括一个或多个计算机系统的一个或多个组件,诸如日志读取器126A-N(图1)之一的一个或多个处理器。此外,尽管以特定顺序示出了方法300的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框302处,系统开始日志读取。例如,可以在强化学习开始时初始化日志读取。
在框304处,系统从过去情节读取数据。例如,系统可以从离线情节数据数据库读取数据,该离线情节数据数据库存储来自任务的机器人执行的过去情节的状态、动作和奖励。过去情节可以是由对应的真实物理机器人基于策略模型的过去版本执行的情节。在某些实施方式和/或情形下(例如,在强化学习开始时),过去情节可以是基于脚本化的探索策略、基于任务的演示的(例如,通过虚拟现实、动觉教学等)执行等而被执行的情节。这样的脚本化的探索执行和/或演示的执行可以有益于引导本文所述的强化学习。
在框306处,系统将数据转换为转变。例如,读取的数据可以来自过去情节中的两个时间步骤,并且可以包括来自状态的状态数据(例如,视觉数据)、来自下一状态的状态数据、从该状态转变到下一状态采取的动作(例如,抓取器平移和旋转、抓取器打开/闭合以及动作是否导致终止)以及该动作的奖励。奖励可以如本文所述地被确定,并且可以可选地被先前确定并与数据一起存储。
在框308处,系统将转变推送到离线缓冲区中。然后,系统返回到框304以从另一过去情节读取数据。
在各种实施方式中,方法300可以跨多个单独的处理器和/或线程被并行化。例如,方法300可以由50、100或更多个单独的工作者同时执行。
图4是示出了示例方法400的流程图,该示例方法400执行策略引导的任务情节并将来自策略引导的任务情节的数据推送到在线缓冲区中并可选地推送到离线数据库中。为了方便起见,参考执行流程图的操作的系统来描述操作。该系统可以包括一个或多个机器人的一个或多个组件,诸如机器人180A和180B之一的一个或多个处理器。此外,尽管以特定顺序示出了方法400的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框402处,系统开始策略引导的任务情节。
在框404处,系统存储机器人的状态。例如,机器人的状态可以至少包括由与机器人关联的视觉组件捕获的视觉数据。例如,状态可以包括视觉组件在对应的时间步骤捕获的图像。
在框406处,系统使用当前机器人策略模型选择动作。例如,系统可以利用随机优化技术(例如,本文描述的CEM技术)来使用当前机器人策略模型采样多个动作,并且可以选择具有使用当前机器人策略模型生成的最高值的采样动作。
在框408处,系统使用当前机器人策略模型执行动作。例如,系统可以向机器人的一个或多个致动器提供命令,以使机器人执行动作。例如,系统向机器人的(一个或多个)致动器提供命令,以使抓取器按照动作指定平移和/或旋转,和/或使抓取器按照动作指定闭合或打开(并且如果与抓取器的当前状态不同)。在一些实施方式中,动作可以包括终止命令(例如,指示情节是否应当终止的终止命令),并且如果终止命令指示情节应当终止,则在框408处的动作可以是情节的终止。
在框410处,系统基于系统使用当前机器人策略模型执行动作来确定奖励。在一些实施方式中,当动作是非终止动作时,奖励可以是例如“0”奖励——或小惩罚(例如,-0.05)以激励更快的机器人任务完成。在一些实施方式中,当动作是终止动作时,如果机器人任务成功,则奖励可以是“0”,如果机器人任务不成功,则奖励可以是“1”。例如,对于抓取任务,如果成功抓取对象,则奖励可以为“1”,否则为“0”。
系统可以利用各种技术来确定抓取或其他机器人任务是否成功。例如,对于抓取,在情节终止时,可以将抓取器移出相机的视野,并在其在视野之外时捕获第一图像。然后,抓取器可以返回到其先前的位置并“打开”(如果在情节结束时闭合),从而放下任何抓取的对象,并捕获第二图像。可以使用背景减法和/或其他技术来比较第一图像和第二图像,以确定抓取器是否正在抓取对象(例如,该对象将存在于第二图像中,但不在第一图像中)——以及向最后时间步骤分配适当奖励。在一些实施方式中,还可以可选地考虑抓取器的高度和/或(一个或多个)其他度量。例如,只有在抓取器的高度高于某个阈值时才可以考虑抓取。
在框412处,系统将框404的状态、在框406处选择的动作和框410的奖励推送到在线缓冲区,以在强化学习期间用作在线数据。下一状态(来自框404的下一迭代)也可以被推送到在线缓冲区。在框412处,系统还可将框404的状态、在框406处选择的动作和框410的奖励推送到离线缓冲区,以后续在强化学习期间用作离线数据(例如,在将来许多时间步骤中用在图3的方法300中)。
在框414处,系统确定是否终止情节。在一些实施方式和/或情形下,如果在框408的最近迭代处的动作指示终止,则系统可以终止情节。在一些附加或替代实施方式和/或情形下,如果已经针对情节执行了框404-412的阈值量的迭代和/或如果已经满足了其他基于启发的终止条件,则系统可以终止情节。
如果在框414处系统确定不终止情节,则系统返回到框404。如果在框414处系统确定终止情节,则系统进行到框402,以开始新的策略引导的任务情节。在框416处,系统可以可选地重置在框414中用于确定是否已经执行了框404-412的阈值量的迭代的计数器。
在各种实施方式中,方法400可以跨多个单独的真实和/或模拟机器人被并行化。例如,方法400可以由5、10或更多个单独的真实机器人中的每一个同时执行。另外,尽管为了清楚起见在本文的单独的图中示出了方法300和方法400,但是应当理解,在许多实施方式中,方法300和400在强化学习期间并行地执行。
图5是示出了在用可用于训练策略模型的数据填充训练缓冲区时使用来自在线缓冲区或离线缓冲区的数据的示例方法500的流程图。为了方便起见,参考执行流程图的操作的系统来描述操作。该系统可以包括一个或多个计算机系统的一个或多个组件,诸如回放缓冲区110A-N之一的一个或多个处理器。此外,尽管以特定顺序示出了方法500的操作,但这并不意味着是限制性的。一个或多个操作可以重新排序、省略或添加。
在框502处,系统开始训练缓冲区填充。
在框504处,系统检索机器人转变。可以从在线缓冲区或离线缓冲区检索机器人转变。在线缓冲区可以是根据图4的方法400填充的缓冲区。离线缓冲区可以是根据图3的方法300填充的缓冲区。在一些实施方式中,系统基于两个缓冲区的相应的采样率确定是从在线缓冲区还是离线缓冲区检索机器人转变。如本文所述,两个缓冲区的采样率可以随着强化学习进展而变化。例如,随着强化学习进展,离线缓冲区的采样率可能降低,而在线缓冲区的采样率可能增加。
在框506处,系统基于从框504检索的机器人转变信息确定目标Q值。在一些实施方式中,系统使用如本文所述的随机优化技术来确定目标Q值。在一些实施方式中,随机优化技术是CEM,并且在这些实施方式中的一些中,框506可以包括以下子框中的一个或多个。
在子框5061处,系统选择机器人的N个动作,其中,N为整数。
在子框5062处,系统通过使用策略模型的版本处理机器人的N个动作中的每一个并处理(框504的)机器人转变的下一状态数据来生成每个动作的Q值。
在子框5063处,系统基于生成的Q值从N个动作中选择M个动作,其中,M为整数。
在子框5064处,系统基于来自M个动作的高斯分布选择N个动作。
在子框5065处,系统通过使用策略模型的该版本处理N个动作中的每一个并处理下一状态数据来生成每个动作的Q值。
在子框5066处,系统从在子框5065处生成的Q值中选择最大Q值。
在子框5067处,系统基于在子框5066处选择的最大Q值来确定目标Q值。在一些实施方式中,系统将目标Q值确定为最大Q值和包括在框504处检索的机器人转变中的奖励的函数。
在框508处,系统在训练缓冲区中存储状态数据、对应的动作和在子框5067处确定的目标Q值。然后,系统前进到框504以执行框504、506和508的另一迭代。
在各种实施方式中,方法500可以跨多个单独的处理器和/或线程被并行化。例如,方法500可以由5、10或更多个单独的线程中的每一个同时执行。另外,尽管为了清楚起见,本文在单独的图中示出了方法300、400和500,但是应当理解,在许多实施方式中,在强化学习期间并行执行方法300、400和500。
图6是示出了训练策略模型的示例方法600的流程图。为了方便起见,参考执行流程图的操作的系统来描述操作。该系统可以包括一个或多个计算机系统的一个或多个组件,诸如训练工作者124A-N和/或参数服务器128A-N之一的一个或多个处理器。此外,尽管以特定顺序示出了方法600的操作,但这并不意味着是限制性的。一个或多个操作可以重新排序、省略或添加。
在框602处,系统开始训练策略模型。
在框604处,系统从训练缓冲区中检索机器人的状态数据、机器人的动作数据和机器人的目标Q值。
在框606处,系统通过使用策略模型的当前版本处理机器人的状态数据和机器人的动作来生成预测的Q值。应当注意,在各种实施方式中,将相对于用于生成在框604处检索的目标Q值的模型来更新用于在框606处生成预测的Q值的策略模型的当前版本。换句话说,将基于策略模型的滞后版本来生成在框604处检索的目标Q值。
在框608处,系统基于预测的Q值和目标Q值生成损失值。例如,系统可以基于这两个值生成对数损失。
在框610处,系统确定是否存在针对该批次要检索的附加状态数据、动作数据和目标Q值(其中利用了批次技术)。如果确定存在针对该批次要检索的附加状态数据、动作数据和目标Q值,则系统执行框604、606和608的另一迭代。如果确定不存在用于训练策略模型的附加批次,然后系统前进到框612。
在框612处,系统基于在框608的(一个或多个)迭代中确定的(一个或多个)损失来确定梯度,并将该梯度提供给参数服务器以用于基于该梯度更新策略模型的参数。然后,系统前进回到框604,并执行框604、606、608和610的附加迭代,并基于在框608的(一个或多个)附加迭代中确定的(一个或多个)损失在框612处确定附加梯度。
在各种实施方式中,方法600可以跨多个单独的处理器和/或线程被并行化。例如,方法600可以由5、10或更多个单独的线程中的每一个同时执行。此外,尽管为了清楚起见,本文在单独的图中示出了方法300、400、500和600,但是应当理解,在许多实施方式中,在强化学习期间并行执行方法300、400、500和600。
图7是示出了使用经训练的策略模型执行机器人任务的示例方法700的流程图。根据一个或多个标准认为经训练的策略模型是最优的,并且可以例如基于图3-6的方法300、400、500和600来训练经训练的策略模型。为了方便起见,参考执行流程图的操作的系统来描述操作。该系统可以包括一个或多个机器人的一个或多个组件,诸如机器人180A和180B之一的一个或多个处理器。此外,尽管以特定顺序示出了方法700的操作,但这并不意味着是限制性的。一个或多个操作可以重新排序、省略或添加。
在框702处,系统开始机器人任务的执行。
在框704处,系统接收用于执行机器人任务的机器人的当前状态数据。
在框706处,系统选择机器人动作以执行机器人任务。在一些实施方式中,系统使用本文所述的随机优化技术来选择机器人动作。在一些实施方式中,随机优化技术是CEM,并且在这些实施方式中的一些中,框706可以包括以下子框中的一个或多个。
在子框7061处,系统选择机器人的N个动作,其中,N为整数。
在子框7062处,系统通过使用经训练的策略模型处理机器人的N个动作中的每一个并处理当前状态数据生成每个动作的Q值。
在子框7063处,系统基于生成的Q值从所述N个动作中选择M个动作,其中,M为整数。
在子框7064处,系统基于来自M个动作的高斯分布选择N个动作。
在子框7065处,系统通过使用经训练的策略模型处理N个动作中的每一个并处理下一状态数据生成每个动作的Q值。
在子框7066处,系统从在子框7065处生成的Q值中选择最大Q值。
在框708处,机器人执行选择的机器人动作。
在框710处,系统确定是否终止机器人任务的执行。在一些实施方式和/或情形下,如果在框706的最近迭代处的动作指示终止,则系统可以终止机器人任务的执行。在一些附加或替代实施方式和/或情形下,如果已经针对该执行执行了框704、706和708的阈值量的迭代和/或如果已经满足了其他基于启发的终止条件,则系统可以终止情节。
如果在框710处系统确定不终止选择的机器人动作,则系统执行框704、706和708的另一迭代。如果在框710处系统确定终止选择的机器人动作,则系统前进到框712,并结束机器人任务的执行。
图8A和图8B示出了示例策略模型800的架构、可以作为对策略模型800的输入应用的示例状态数据和动作数据以及可以基于使用策略模型800处理输入而生成的示例输出880。策略模型800是图1的策略模型152的一个示例。此外,策略模型800是可以使用强化学习进行训练以表示Q函数的神经网络模型的一个示例。再另外,策略模型800是可以由机器人在执行机器人任务时(例如,基于图7的方法700)利用的策略模型的一个示例。
在图8A中,状态数据包括当前视觉数据861,并可选地包括指示机器人抓取器当前处于打开还是闭合的抓取器打开值863。在一些实施方式中,可包括附加或替代的状态数据,诸如指示机器人的末端执行器的当前高度(例如,相对于机器人基座)的状态值。
在图8A中,动作数据由附图标记862表示,并且包括:(t),其是指示抓取器平移的笛卡尔向量;(r),其指示抓取器旋转;gopen和gclose,其可以共同指示要打开、闭合抓取器还是要将抓取器调整到打开和闭合之间的目标状态(例如,部分闭合);和(e),其指定是否终止机器人任务的执行。
策略模型800包括多个初始卷积层864、866、867等,以及穿插的最大池化层865、868等。使用初始卷积层864、866、867等以及最大池化层865、868等处理视觉数据861。
策略模型800还包括两个完全连接层869和870,之后是重整形层(reshapinglayer)871。使用完全连接层869、870和重整形层871处理动作862和可选的抓取器打开值863。如图8A的“+”所指示,来自视觉数据861的处理的输出与来自动作862(以及可选的抓取器打开值863)的处理的输出级联(concatenate)。例如,可以通过平铺(tiling)使它们逐点相加。
现在转到图8B,然后使用附加的卷积层872、873、875、876等以及穿插的最大池化层874等来处理级联值。最终的卷积层876完全连接到第一完全连接层877,其转而完全连接到第二完全连接层878。使用S型(sigmoid)函数879处理第二完全连接层878的输出,以生成预测的Q值880。在推断期间,可以在随机优化过程中利用预测的Q值来如本文所述确定是否选择动作862。在推断期间,可以在随机优化过程中利用预测的Q值来如本文所述确定是否选择动作862。在推断期间,可以在随机优化过程中利用预测的Q值来如本文所述确定是否选择动作862。在训练期间,可以将预测的Q值与基于本文所述的随机优化过程而生成的目标Q值881进行比较,以生成对数损失882来更新策略模型800。
图9示意性地描绘了机器人925的示例架构。机器人925包括机器人控制系统960、一个或多个操作组件940a-940n以及一个或多个传感器942a-942m。传感器942a-942m可以包括例如视觉传感器、光传感器、压力传感器、压力波传感器(例如,麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。尽管传感器942a-942m被描绘为与机器人925集成,但这并不意味着是限制性的。在一些实施方式中,传感器942a-942m可以位于机器人925的外部,例如作为独立单元。
操作组件940a-940n可以包括例如一个或多个末端执行器和/或一个或多个伺服电动机或其他致动器,以实现机器人的一个或多个组件的运动。例如,机器人925可以具有多个自由度,并且每个致动器可以响应于控制命令在一个或多个自由度内控制机器人925的致动。如在本文中使用的,术语致动器除了可以与致动器关联并且将接收的控制命令转换成用于驱动致动器的一个或多个信号的任何(一个或多个)驱动器外还涵盖用于产生运动的机械或电气设备(例如,电动机)。因此,向致动器提供控制命令可以包括向驱动器提供控制命令,该驱动器将控制命令转换成适当的信号以驱动电气或机械设备从而产生期望的运动。
机器人控制系统960可以在诸如机器人925的CPU、GPU和/或(一个或多个)其他控制器的一个或多个处理器中实现。在一些实施方式中,机器人925可以包括“大脑箱(brainbox)”,其可以包括控制系统960的全部或一些方面。例如,大脑箱可以向操作组件940a-940n提供数据的实时突发(burst),其中,每个实时突发包括一组一个或多个控制命令,其尤其指定了操作组件940a-940n中的一个或多个中的每一个的运动(如果有的话)的参数。在一些实施方式中,机器人控制系统960可以执行本文描述的方法400和/或700的一个或多个方面。
如本文所述,在一些实施方式中,由控制系统960在执行机器人任务时生成的控制命令的全部或一些方面可以基于基于当前状态(例如,至少基于当前视觉数据)并基于对本文所述的经训练的策略模型的利用而选择的动作。随机优化技术可以用于在控制机器人的每个时间步骤选择动作。尽管在图9中将控制系统960示为机器人925的组成部分,但在某些实施方式中,控制系统960的全部或一些方面可以在与机器人925分离但与之通信的组件中实现。例如,控制系统960的全部或一些方面可以在与机器人925进行有线和/或无线通信的一个或多个计算设备(诸如计算设备1010)上实现。
图10是示例计算设备1010的框图,该示例计算设备1010可以可选地用于执行本文描述的技术的一个或多个方面。例如,在一些实施方式中,计算设备1010可以用于提供(一个或多个)期望的对象语义特征,以供机器人925和/或其他机器人进行抓取。计算设备1010通常包括至少一个处理器1014,该至少一个处理器1014经由总线子系统1012与多个外围设备通信。这些外围设备可以包括存储子系统1024,例如包括存储器子系统1025和文件存储子系统1026;用户接口输出设备1020;用户接口输入设备1022;和网络接口子系统1016。输入和输出设备允许与计算设备1010的用户交互。网络接口子系统1016提供到外部网络的接口,并联接到其他计算设备中的对应接口设备。
用户接口输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指向设备、扫描仪、结合到显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备、和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1010中或通信网络上的所有可能类型的设备以及方式。
用户接口输出设备1020可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的一些其他机制。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备1010输出到用户或另一机器或计算设备的所有可能类型的设备以及方式。
存储子系统1024存储提供本文描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统924可以包括用于执行图3、4、5、6和/或7的方法的所选方面的逻辑。
这些软件模块通常由处理器1014单独执行或与其他处理器联合执行。在存储子系统1024中使用的存储器1025可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1030以及存储固定指令的只读存储器(ROM)1032。文件存储子系统1026可以为程序和数据文件提供持久性存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在(一个或多个)处理器1014可访问的其他机器中。
总线子系统1012提供了用于使计算设备1010的各个组件和子系统按预期彼此通信的机制。尽管总线子系统1012被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备1010可以具有不同的类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断改变的性质,对图10中描绘的计算设备1010的描述仅旨在作为特定示例用于说明一些实施方式的目的。具有比图10中描绘的计算设备更多或更少的组件的计算设备1010的许多其他配置是可能的。
现在描述本文公开的一些实施方式的特定示例,以及根据这些和/或其他示例可以实现的各种优点。
与选择抓取点然后执行期望的抓取的静态学习行为相比,本文公开的实施方式能够进行闭环的基于视觉的控制,由此,机器人基于最近的观察连续地更新其抓取策略以优化长期(long-horizon)抓取成功。这些实施方式可以利用QT-Opt,这是一种可缩放自监督基于视觉的强化学习框架,其可以利用数千次(例如,超过500000次)真实世界抓取尝试来训练具有大量(例如,超过500000或超过1000000个)参数的深度神经网络Q函数以执行泛化到对未见过对象的高抓取成功率(例如,>90%、>95%)的闭环的真实世界抓取。除了获得非常高的成功率外,利用本文描述的技术的抓取还展现与更标准的抓取系统截然不同的行为。例如,某些技术可以自动学习重新抓取策略、探索对象以找到最有效的抓取、学习重新定位对象并执行其他非抓握(non-prehensile)的预抓取操纵和/或动态地响应干扰和摄动。
各种实施方式利用来自单目RGB相机的观察和包括末端执行器笛卡尔运动以及抓取器打开和闭合命令(以及可选的终止命令)的动作。强化学习算法接收用于成功提起对象的二元奖励,并且可选地没有其他奖励整形(reward shaping)(或仅对迭代进行稀疏惩罚(sparse penalty))。受约束观察空间、受约束动作空间和/或基于抓取成功的稀疏奖励(sparse reward)可以使本文公开的强化学习技术能够适宜以大规模部署。与许多强化学习任务不同,这种任务的主要挑战不仅在于最大化奖励,还在于有效地泛化到先前未见过的对象。这需要在训练期间非常多样的一组对象。为了最大程度地利用该多样的数据集,利用了QT-Opt离策略训练方法,该方法基于Q学习的连续动作泛化。与通常由于行动者-评价者的不稳定性而不稳定的其他连续动作Q学习方法不同,QT-Opt免除训练显式的行动者的需要,而是对评价者使用随机优化来选择动作和目标值。即使是完全离策略的训练也可以胜过基于先前工作的强基线,而使用离线数据进行适量的在策略联合微调可以提高对具有挑战性的先前未见过的对象的执行。
QT-Opt训练的模型在训练期间未见过的一系列对象上获得高成功率。定性实验示出,这种高成功率是由于系统采用了在没有闭环的基于视觉的控制的情况下将不可行的各种策略。学习的策略展现仅当将抓取表述为动态的闭环过程时才可行的纠正行为、重新抓取、用于确定最佳抓取的探索运动、对象的非抓握重定位以及其他特征。
当前的抓取系统通常将抓取任务作为预测抓取姿态的问题来处理,其中,系统查看场景(通常使用深度相机)、选择要抓取的最佳位置并且然后执行开环计划器以到达该位置。相比之下,本文公开的实施方式利用具有深度神经网络的强化学习,这使得能够进行动态闭环控制。这允许经训练的策略执行预抓取操纵、响应于动态干扰并在进行关于任务的最少假设的通用框架中学习抓取。
与将闭环抓取框架化为伺服问题相比,本文公开的实施方式使用通用强化学习算法来解决抓取任务,这使得能够进行长期推理(long-horizon reasoning)。实际上,这使得能够自主获取复杂的抓取策略。此外,仅使用自动获得的抓取结果标签,以将长期推理通过强化学习并入在自监督的真实世界数据上被训练的可泛化基于视觉的系统中,实施方式就可以完全是自监督的。再另外,实施方式可以对原始的单目RGB观察(例如,来自肩上相机)进行操作,而不需要深度观察和/或其他补充观察。
闭环的基于视觉的控制框架的实施方式基于将机器人操纵一般地表述为马尔可夫决策过程(Markov Decision Process,MDP)。在每个时间步骤,该策略观察来自机器人的相机的图像,并选择抓取器命令。该任务表述是一般性的,并且可以应用于除抓取之外的各种各样的机器人操纵任务。通过在数据收集期间向学习器提供奖励来简单地限定抓取任务:成功抓取导致1的奖励,而失败抓取导致0的奖励。例如,如果在情节结束时机器人将对象保持在一定高度上方,则可以认为抓取成功。MDP的框架为这样的决策制定问题提供强力的形式体系(formalism),但在该框架中进行学习可能是有挑战性的。泛化需要多样的数据,但是在每次策略更新后重新收集在许多各种不同对象上的经验是不切实际的,因此排除了在策略算法。取而代之的是,实施方式提出了基于Q学习的连续泛化的可缩放离策略的强化学习框架。尽管行为者-评价者算法是连续动作设定中的流行方法,但是本文公开的实施方式意识到更稳定和可缩放的替代方案是仅训练Q函数,并通过使用随机优化最大化该Q函数来隐式地引发策略。为了处理大数据集和网络,利用了分布式收集和训练系统,该系统异步地更新目标值、收集在策略数据、重新加载来自过去经验的离策略数据并在分布式优化框架内在两个数据流上训练网络。
利用的QT-Opt算法是适于可缩放学习并针对稳定性进行优化的Q学习的连续动作版本,从而使其能够处理比如抓取的复杂任务的大量离策略图像数据。在强化学习中,s∈S表示状态。如本文所述,在各种实施方式中,状态可以包括(或限于)图像观察,例如来自专题RGB相机的RGB图像观察。此外,a∈A表示动作。如本文所述,在各种实施方式中,动作可包括(或限于)机器人臂运动、抓取器命令和可选的终止命令。在每个时间步骤t,算法选择动作、转变到新状态并接收奖励r(st,at)。强化学习的目标是恢复选择使总预期奖励最大化的动作的策略。获取这样的最优策略的一种方式是首先解算最优Q函数,有时将其称为状态-动作值函数。Q函数指定在某个状态s下采取某个动作a之后将接收的预期奖励,而最优Q函数则指定最优策略的该值。实际上,可以学习参数化Q函数Qθ(s,a),其中,θ可以表示神经网络中的权重。最优Q函数可以通过最小化上式(1)给出的贝尔曼误差来学习,其中,QT(s,a,s′)=r(s,a)+γV(s′)是目标值,而D是散度度量。交叉熵函数可用于D,因为总回报(totalreturn)被限于[0,1]。在所有先前观察到的转变上的分布下取得期望,并且V(s′)是目标值。通过保持参数向量θ的两个滞后版本可以可选地利用两个目标网络来提高稳定性。是θ的指数移动平均版本,具有为0.9999的平均常数。是的滞后版本(例如,滞后约6000个梯度步骤)。然后可以根据 来计算目标值。这与Polyak平均和剪裁的双Q学习(clipped double Q-learning)的组合对应。一旦学习了Q函数,就可以根据来恢复策略。此方法的实际实施方式从环境交互收集样本,然后在到目前为止收集的所有样本上执行离策略训练。对于本文解决的种类的大规模学习问题,此过程的并行异步版本显著提高了放大此过程的能力。
用深度神经网络函数近似器的Q学习为用图像观察的RL(强化学习)提供了简单且实用的方案,并且可以服从直接的并行化。但是,并入连续动作(诸如抓取应用中的连续的抓取器运动)对这种方法提出了挑战。现有工作已经试图通过使用摊销最大化的第二网络或将Q函数约束为在a上为凸,使得易于进行解析最大化来解决该挑战。然而,前一类方法众所周知不稳定,这使得对于大规模强化学习任务来说是有问题的,在大规模强化学习任务中运行超参数扫描代价难以承受。动作-凸值函数不适用于复杂的操纵任务,诸如抓取,其中,Q函数在输入上远不是凸的。例如,对于够向对象的动作,Q值可能是高的,但是对于对象之间的间隙,Q值可能是低的。
提出的QT-Opt提供了简单且实用的替代方案,其在保持非凸Q函数的通用性的同时避免了对第二最大化器网络的需要。图像s和动作a被输入到网络中,并且通过可以处理非凸和多模态优化局面的随机优化算法来评估式(1)中的arg max。令为由Q函数隐式地引发的策略。可以通过将目标Q函数的arg max自变数(argument)替换为最优策略来恢复式(1)。在QT-Opt中,转而通过使用作为目标值在a上运行随机优化来评估例如,可以利用CEM方法。
用对新场景和对象进行泛化的强化学习来学习基于视觉的策略需要大量的多样数据。为了有效地在这样的大且多样的数据集上进行训练,利用了QT-Opt的分布式异步实施方式。将转变存储在分布式回放缓冲区数据库中,该数据库从盘加载历史数据并且可以接受来自跨多个机器人的实时进行实验的在线数据。通过使用一大组(例如,>500、1000个)“贝尔曼更新器”作业(job),连续用目标Q值标记该缓冲区中的数据,这些作业使用当前目标网络执行CEM优化过程,然后将标记的样本存储在第二训练缓冲区中,该第二训练缓冲区用作环形缓冲区操作。这种异步过程的一个结果是,训练缓冲区中的某些样本被标记有Q网络的滞后版本。训练工作者从训练缓冲区中随机抽出标记的转变,并将其用于更新Q函数。可以利用多个(例如,>5、10个)训练工作者,每个训练工作者计算梯度,该梯度被异步地发送到参数服务器。
QT-Opt可被应用以实现动态基于视觉的抓取。该任务需要策略,该策略可以找到对象、对其定位进行抓取(可能通过执行预抓取操纵)、拾取对象(根据需要可能重新抓取)、抬起对象并且然后发信号表示抓取完成以终止情节。为了能够实现真实世界中的自监督的抓取标记,奖励仅指示是否成功拾取了对象。这表示对抓取的一种完全的端到端方法:除了模型可以从数据中自主提取的知识外,不为模型提供关于对象、物理现象或运动计划的先验知识。
为了使模型能够学习可以拾取新对象、执行预抓取操纵和通过基于视觉的反馈处理动态干扰的可泛化策略,必须在足够大且多样的一组对象上对其进行训练。在单个在策略训练运行中收集这样的数据将是不切实际的。本文描述的离策略QT-Opt算法使得可以汇集来自多个机器人和多个实验的经验。由于完全随机的初始策略对于这样的不受约束的动作空间将产生非常低的成功,因此可以可选地利用弱脚本化的探索策略来引导数据收集。该策略是随机化的,但是偏向于合理的抓取,并取得约15-30%的抓取成功率。然后,一旦达到阈值成功率(例如,大约50%)和/或在阈值数量的迭代之后,就可以做出到使用经学习的QT-Opt策略的切换。
QT-Opt算法的这种分布式设计可以实现各种好处。例如,尝试将所有转变存储在单个机器的存储器中是不可行的。所采用的分布式回放缓冲区使得能够跨多个机器存储数十万个转变。另外,例如,Q网络非常大,并且通过减少至收敛的时间,跨多个GPU分布训练急剧地提高研究速度。类似地,为了支持大规模的模拟实验,设计必须支持运行数百个无法安装在单个机器上的模拟机器人。作为另一示例,将训练作业与数据生成作业解耦,允许将训练视为数据不可知的(data-agnostic),从而使其容易地在模拟数据、离策略真实数据和在策略真实数据之间切换。它还可以使训练和数据生成的速度被独立缩放。
在线智能体(真实或模拟机器人)从环境收集数据。使用的策略可以是Polyak平均权重并且该权重每10分钟(或以其他周期性或非周期性频率)被更新。该数据被推送到分布式回放缓冲区(“在线缓冲区”),并且还可选地被持久保存到盘以供将来进行离线训练。
为了支持离线训练,可以执行日志回放作业。出于效率原因,此作业从盘顺序读取数据。它回放保存的情节,就像在线智能体已收集该数据一样。这使得能够进行离策略数据与在线智能体收集的在策略数据的无缝融合。离线数据来自所有先前运行的实验。在完全离策略的训练中,可以通过用日志回放作业加载所有数据来对策略进行训练,从而无需与真实环境进行交互即可进行训练。
尽管分布式回放缓冲区的规模,但整个数据集可能仍无法放入存储器中。为了能够一致地访问每个数据点,可以连续运行日志回放以刷新驻留在回放缓冲区中的存储器中的数据。
初始可以可选地利用离策略训练来初始化良好的策略,然后进行到在策略联合微调的切换。为了这样做,可以通过使用日志回放作业回放来自先前实验的情节来执行完全的离策略训练。在训练离策略足够时间之后,可以重新开始QT-Opt,使用在策略和离策略数据的混合进行训练。
真实在策略数据由真实机器人生成,其中,策略的权重被周期性更新(例如,每10分钟或其他频率)。与离线数据集相比,在策略数据产生的速率要低得多,并且数据具有较小的视觉多样性。但是,在策略数据还包含示出当前策略中的故障的真实世界交互。为了避免过度拟合到初始稀有的在策略数据,可以在联合微调训练的梯度更新步骤(例如,前一百万个步骤)上逐步提高在策略数据的部分(例如,从1%到50%)。
由于真实机器人可能会意外停止(例如由于硬件故障),因此数据收集可能是不定时发生的,如果在没有任何操作员存在的情况下发生故障,则数据收集可能会具有数小时或更长时间的延迟。这可能会意外地导致数据收集速率的显著降低。为了减轻这种情况,在策略训练还可以通过训练平衡器进行门控,该训练平衡器在联合微调梯度更新步骤的数量和收集的在策略转变的数量之间强制固定比率。可以相对于GPU和机器人的速度限定该比率,GPU和机器人的速度可以随时间改变。
在各种实施方式中,可以利用目标网络来稳定深度Q学习。由于在计算TD误差时目标网络参数通常会滞后于在线网络,因此贝尔曼备份实际上可以在单独的过程中异步地执行。可以在单独的CPU机器上并行计算r(s,a)+γV(s′),并将这些计算的输出存储在附加缓冲区(“训练缓冲区”)中。
请注意,由于使用了多个贝尔曼更新器副本(replica),因此每个副本将在不同时间加载新的目标网络。所有副本将贝尔曼备份推送到训练缓冲区”中的共享回放缓冲区。这使得目标Q值有效地由最近目标网络的集成(ensemble)生成,并从隐式分布采样。
分布式回放缓冲区支持具有命名的回放缓冲区,例如:保存在线数据的“在线缓冲区”、保存离线数据的“离线缓冲区”和存储由贝尔曼更新器计算的Q目标的“训练缓冲区”。回放缓冲区接口支持从命名的缓冲区进行加权采样,这在进行在策略联合微调时有用。分布式回放缓冲区分布在多个工作者上,每个工作者包含大量(例如数千个)转变。所有缓冲区都是FIFO缓冲区,其中,如果缓冲区已满,则会移除旧值以为新值腾出空间。
Claims (39)
1.一种训练表示Q函数的神经网络模型的方法,所述方法由多个处理器实现,并且所述方法包括:
检索机器人转变,所述机器人转变基于来自机器人执行机器人任务的情节的数据而生成,并且所述机器人转变包括:
状态数据,包括在所述情节期间在所述机器人的状态下由视觉组件捕获的视觉数据,
下一状态数据,包括在所述情节期间在所述机器人的下一状态下由所述视觉组件捕获的下一视觉数据,所述下一状态是从所述状态转变到的,
被执行以从所述状态转变到所述下一状态的动作,和
所述机器人转变的奖励;
确定所述机器人转变的目标Q值,其中,确定所述目标Q值包括:
使用表示所述Q函数的神经网络模型的版本作为目标函数,对候选机器人动作执行优化,
其中,执行所述优化包括生成在所述优化中考虑的候选机器人动作的子集的Q值,其中,生成每个Q值基于使用所述神经网络模型的所述版本对所述下一状态数据和所述子集中的候选机器人动作中的对应一个的处理,
从生成的Q值中选择最大Q值,和
基于所述最大Q值和所述奖励确定所述目标Q值;
在训练缓冲区中存储:所述状态数据、所述动作和所述目标Q值;
从所述训练缓冲区中检索:所述状态数据、所述动作和所述目标Q值;
生成预测的Q值,其中,生成所述预测的Q值包括使用所述神经网络模型的当前版本来处理检索的状态数据和检索的动作,其中,所述神经网络模型的所述当前版本相对于所述版本被更新;
基于所述预测的Q值和所述目标Q值生成损失;和
基于所述损失更新所述神经网络模型的所述当前版本。
2.根据权利要求1所述的方法,其中,所述机器人转变基于离线数据而生成并且从离线缓冲区检索。
3.根据权利要求2所述的方法,其中,从所述离线缓冲区检索所述机器人转变基于用于从所述离线缓冲区采样的动态离线采样率,其中,所述动态离线采样率随训练所述神经网络模型的持续时间增加而减小。
4.根据权利要求3所述的方法,还包括通过访问存储离线情节的离线数据库来生成所述机器人转变。
5.根据权利要求1所述的方法,其中,所述机器人转变基于在线数据而生成并且从在线缓冲区检索,其中,所述在线数据通过机器人使用所述神经网络模型的机器人版本执行所述机器人任务的情节而生成。
6.根据权利要求5所述的方法,其中,从所述在线缓冲区检索所述机器人转变基于用于从所述在线缓冲区采样的动态在线采样率,其中,所述动态在线采样率随训练所述神经网络模型的持续时间增加而增加。
7.根据权利要求5所述的方法,还包括基于所述损失更新所述神经网络模型的所述机器人版本。
8.根据权利要求1所述的方法,其中,所述动作包括所述机器人的组件的姿态改变,其中,所述姿态改变限定所述组件在所述状态下的姿态与所述组件在所述下一状态下的下一姿态之间的差异。
9.根据权利要求8所述的方法,其中,所述组件是末端执行器,并且所述姿态改变限定所述末端执行器的平移差和所述末端执行器的旋转差。
10.根据权利要求9所述的方法,其中,所述末端执行器是抓取器,并且所述机器人任务是抓取任务。
11.根据权利要求8所述的方法,其中,当所述下一状态是所述情节的终止状态时,所述动作还包括终止命令。
12.根据权利要求8所述的方法,其中,所述动作还包括组件动作命令,所述组件动作命令限定在所述情节的所述下一状态下所述组件的动态状态,所述动态状态是除了所述组件的平移和旋转之外的状态。
13.根据权利要求12所述的方法,其中,所述组件是抓取器,并且其中,由所述组件动作命令指定的所述动态状态指示所述抓取器要被闭合。
14.根据权利要求1所述的方法,其中,所述状态数据还包括所述机器人的组件的当前状态。
15.根据权利要求14所述的方法,其中,所述机器人的所述组件是抓取器,并且所述当前状态指示所述抓取器被打开还是被闭合。
16.根据权利要求1所述的方法,其中,所述优化是随机优化或是交叉熵方法(CEM)。
17.根据权利要求1所述的方法,其中,对所述候选机器人动作执行优化包括:
选择所述候选机器人动作的初始批次;
生成所述初始批次中的每个候选机器人动作的Q值中的对应一个Q值;
基于所述初始批次中的候选机器人动作的Q值,选择所述初始批次中的候选机器人动作的初始子集;
将高斯分布拟合到选择的候选机器人动作的初始子集;
基于所述高斯分布选择所述候选机器人动作的下一批次;和
生成所述下一批次中的每个候选机器人动作的Q值中的对应一个Q值。
18.根据权利要求17所述的方法,其中,所述最大Q值是所述下一批次中的候选机器人动作的Q值之一,并且其中,基于所述最大Q值是所述下一批次的对应Q值中的最大Q值来选择所述最大Q值。
19.一种训练表示策略的神经网络模型的方法,所述方法由多个处理器实现,并且所述方法包括:
检索机器人转变,所述机器人转变基于来自机器人执行机器人任务的情节的数据而生成,并且所述机器人转变包括状态数据和动作;
确定所述机器人转变的目标值,其中,确定所述目标值包括:
使用表示所述策略的神经网络模型的版本作为目标函数,对候选机器人动作执行优化;
在训练缓冲区中存储:所述状态数据、所述动作和所述目标值;
从所述训练缓冲区中检索:所述状态数据、所述动作数据和所述目标值;
生成预测值,其中,生成所述预测值包括使用所述神经网络模型的当前版本来处理检索的状态数据和检索的动作数据,其中,所述神经网络模型的所述当前版本相对于所述版本被更新;
基于所述预测值和所述目标值生成损失;和
基于所述损失更新所述神经网络模型的所述当前版本。
20.一种在机器人任务的执行期间由机器人的一个或多个处理器实现的方法,所述方法包括:
接收所述机器人的当前状态数据,所述当前状态数据包括所述机器人的当前传感器数据;
选择针对所述机器人任务要执行的机器人动作,其中,选择所述机器人动作包括:
使用表示经学习的最优策略并使用强化学习进行训练的经训练的神经网络模型作为目标函数对候选机器人动作执行优化,
其中,执行所述优化包括生成在所述优化中考虑的候选机器人动作的子集的值,其中,生成每个值基于使用所述经训练的神经网络模型对所述状态数据和所述子集中的候选机器人动作中的对应一个的处理,和
基于在执行的优化期间针对所述机器人动作生成的值,从所述候选机器人动作中选择所述机器人动作;和
向所述机器人的一个或多个致动器提供命令以引起选择的机器人动作的执行。
21.一种在机器人任务的执行期间由机器人的一个或多个处理器实现的方法,所述方法包括:
接收所述机器人的当前状态数据,所述当前状态数据包括由所述机器人的视觉组件捕获的当前视觉数据;
选择针对所述机器人任务要执行的机器人动作,其中,选择所述机器人动作包括:
使用表示Q函数并使用强化学习进行训练的经训练的神经网络模型作为目标函数,对候选机器人动作执行优化,
其中,执行所述优化包括生成在所述优化中考虑的候选机器人动作的子集的Q值,其中,生成每个Q值基于使用所述经训练的神经网络模型对所述状态数据和所述子集中的候选机器人动作中的对应一个的处理,和
基于在执行的优化期间针对所述机器人动作生成的Q值,从所述候选机器人动作中选择所述机器人动作;和
向所述机器人的一个或多个致动器提供命令以引起选择的机器人动作的执行。
22.根据权利要求21所述的方法,其中,所述机器人动作包括所述机器人的组件的姿态改变,其中,所述姿态改变限定所述组件的当前姿态与所述组件的期望姿态之间的差异。
23.根据权利要求22所述的方法,其中,所述组件是末端执行器,并且所述姿态改变限定所述末端执行器的平移差和所述末端执行器的旋转差。
24.根据权利要求23所述的方法,其中,所述末端执行器是抓取器,并且所述机器人任务是抓取任务。
25.根据权利要求22所述的方法,其中,所述机器人动作还包括终止命令,所述终止命令指定是否终止所述机器人任务的执行。
26.根据权利要求25所述的方法,其中,所述机器人动作还包括指定所述组件的动态状态的目标状态的组件动作命令,所述动态状态是除了所述组件的平移和旋转之外的状态。
27.根据权利要求26所述的方法,其中,所述组件是抓取器,并且其中,由所述组件动作命令指定的所述目标状态指示所述抓取器要被闭合。
28.根据权利要求27所述的方法,其中,所述组件动作命令包括打开命令和闭合命令,所述打开命令和闭合命令共同地将所述目标状态限定为打开、闭合或在打开和闭合之间。
29.根据权利要求21所述的方法,其中,所述当前状态数据还包括所述机器人的组件的当前状态。
30.根据权利要求28所述的方法,其中,所述机器人的所述组件是抓取器,并且所述当前状态指示所述抓取器被打开还是被闭合。
31.根据权利要求21所述的方法,其中,所述优化是随机优化。
32.根据权利要求21所述的方法,其中,所述优化是无导数方法。
33.根据权利要求32所述的方法,其中,所述优化是交叉熵方法(CEM)。
34.根据权利要求32所述的方法,其中,对所述候选机器人动作执行优化包括:
选择所述候选机器人动作的初始批次;
生成所述初始批次中的每个候选机器人动作的Q值中的对应一个Q值;
基于所述初始批次中的候选机器人动作的Q值,选择所述初始批次中的候选机器人动作的初始子集;
将高斯分布拟合到选择的候选机器人动作的初始子集;
基于所述高斯分布选择所述候选机器人动作的下一批次;和
生成所述下一批次中的每个候选机器人动作的Q值中的对应一个Q值。
35.根据权利要求34所述的方法,其中,所述机器人动作是所述下一批次中的候选机器人动作之一,并且其中,基于在执行的优化期间针对所述机器人动作生成的Q值,从所述候选机器人动作中选择所述机器人动作包括:
基于针对所述机器人动作生成的Q值是所述下一批次中的对应的Q值中的最大Q值,从所述下一批次中选择所述机器人动作。
36.根据权利要求21所述的方法,其中,基于使用所述经训练的神经网络模型对所述状态数据和所述子集中的候选机器人动作中的对应一个的处理生成每个Q值包括:
使用所述经训练的神经网络模型的第一分支来处理所述状态数据以生成状态嵌套;
使用所述经训练的神经网络模型的第二分支来处理所述子集中的候选机器人动作中的第一个以生成第一嵌套;
通过平铺所述状态嵌套和所述第一嵌套来生成组合嵌套;
使用所述经训练的神经网络模型的附加层来处理所述组合嵌套以生成所述Q值中的第一Q值。
37.根据权利要求36所述的方法,其中,基于使用所述经训练的神经网络模型对所述状态数据和所述子集中的候选机器人动作中的对应一个的处理生成每个Q值还包括:
使用所述经训练的神经网络模型的所述第二分支处理所述子集中的候选机器人动作中的第二个以生成第二嵌套;
通过再使用所述状态嵌套并平铺再使用的状态嵌套和第一嵌套来生成附加的组合嵌套;和
使用所述经训练的神经网络模型的附加层来处理所述附加的组合嵌套以生成所述Q值中的第二Q值。
38.一种机器人,包括:
观察环境的视觉传感器;
存储在一个或多个非暂时性计算机可读介质中的经训练的神经网络模型,所述经训练的神经网络模型表示Q函数;
至少一个处理器,被配置为:
执行根据权利要求20-37中的任一项所述的方法。
39.一种系统,包括:
多个分布式处理器,被配置为:
执行根据权利要求1-19中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862685838P | 2018-06-15 | 2018-06-15 | |
US62/685,838 | 2018-06-15 | ||
PCT/US2019/037264 WO2019241680A1 (en) | 2018-06-15 | 2019-06-14 | Deep reinforcement learning for robotic manipulation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112313044A true CN112313044A (zh) | 2021-02-02 |
Family
ID=67185722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980040252.8A Pending CN112313044A (zh) | 2018-06-15 | 2019-06-14 | 用于机器人操纵的深度强化学习 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210237266A1 (zh) |
EP (1) | EP3784451A1 (zh) |
CN (1) | CN112313044A (zh) |
WO (1) | WO2019241680A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076615A (zh) * | 2021-04-25 | 2021-07-06 | 上海交通大学 | 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 |
CN113967909A (zh) * | 2021-09-13 | 2022-01-25 | 中国人民解放军军事科学院国防科技创新研究院 | 基于方向奖励的机械臂智能控制方法 |
CN114067210A (zh) * | 2021-11-18 | 2022-02-18 | 南京工业职业技术大学 | 一种基于单目视觉导引的移动机器人智能抓取方法 |
CN114454160A (zh) * | 2021-12-31 | 2022-05-10 | 中国人民解放军国防科技大学 | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统 |
CN116252306A (zh) * | 2023-05-10 | 2023-06-13 | 中国空气动力研究与发展中心设备设计与测试技术研究所 | 基于分层强化学习的物体排序方法、装置及存储介质 |
CN116384469A (zh) * | 2023-06-05 | 2023-07-04 | 中国人民解放军国防科技大学 | 一种智能体策略生成方法、装置、计算机设备和存储介质 |
CN117295589A (zh) * | 2021-03-16 | 2023-12-26 | 谷歌有限责任公司 | 在训练和细化机器人控制策略中使用模仿学习的系统和方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11285607B2 (en) | 2018-07-13 | 2022-03-29 | Massachusetts Institute Of Technology | Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces |
US11833681B2 (en) * | 2018-08-24 | 2023-12-05 | Nvidia Corporation | Robotic control system |
US11410030B2 (en) * | 2018-09-06 | 2022-08-09 | International Business Machines Corporation | Active imitation learning in high dimensional continuous environments |
US11325252B2 (en) | 2018-09-15 | 2022-05-10 | X Development Llc | Action prediction networks for robotic grasping |
KR102611952B1 (ko) * | 2018-10-30 | 2023-12-11 | 삼성전자주식회사 | 로봇의 행동을 제어하는 정책을 갱신하는 방법 및 그 방법을 수행하는 전자 장치 |
US11580445B2 (en) * | 2019-03-05 | 2023-02-14 | Salesforce.Com, Inc. | Efficient off-policy credit assignment |
DE102019210372A1 (de) * | 2019-07-12 | 2021-01-14 | Robert Bosch Gmbh | Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter |
EP4025395A1 (en) | 2019-09-07 | 2022-07-13 | Embodied Intelligence, Inc. | Training artificial networks for robotic picking |
WO2021046529A1 (en) * | 2019-09-07 | 2021-03-11 | Embodied Intelligence, Inc. | Systems and methods for robotic picking and perturbation |
US11685045B1 (en) | 2019-09-09 | 2023-06-27 | X Development Llc | Asynchronous robotic control using most recently selected robotic action data |
US11571809B1 (en) * | 2019-09-15 | 2023-02-07 | X Development Llc | Robotic control using value distributions |
US11615293B2 (en) * | 2019-09-23 | 2023-03-28 | Adobe Inc. | Reinforcement learning with a stochastic action set |
CN110963209A (zh) * | 2019-12-27 | 2020-04-07 | 中电海康集团有限公司 | 一种基于深度强化学习的垃圾分拣装置与方法 |
US11331799B1 (en) * | 2019-12-31 | 2022-05-17 | X Development Llc | Determining final grasp pose of robot end effector after traversing to pre-grasp pose |
CN111260027B (zh) * | 2020-01-10 | 2022-07-26 | 电子科技大学 | 一种基于强化学习的智能体自动决策方法 |
DE102020103852B4 (de) * | 2020-02-14 | 2022-06-15 | Franka Emika Gmbh | Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator |
US11663522B2 (en) * | 2020-04-27 | 2023-05-30 | Microsoft Technology Licensing, Llc | Training reinforcement machine learning systems |
US11656628B2 (en) * | 2020-09-15 | 2023-05-23 | Irobot Corporation | Learned escape behaviors of a mobile robot |
US11833661B2 (en) * | 2020-10-31 | 2023-12-05 | Google Llc | Utilizing past contact physics in robotic manipulation (e.g., pushing) of an object |
DE102020214633A1 (de) * | 2020-11-20 | 2022-05-25 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
CN114851184B (zh) * | 2021-01-20 | 2023-05-09 | 广东技术师范大学 | 一种面向工业机器人的强化学习奖励值计算方法 |
DE102021200569A1 (de) | 2021-01-22 | 2022-07-28 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Trainieren eines Gaußprozess-Zustandsraummodells |
CN112873212B (zh) * | 2021-02-25 | 2022-05-13 | 深圳市商汤科技有限公司 | 抓取点检测方法及装置、电子设备和存储介质 |
CN112966641B (zh) * | 2021-03-23 | 2023-06-20 | 中国电子科技集团公司电子科学研究院 | 一种对多传感器多目标的智能决策方法及存储介质 |
CN113156892B (zh) * | 2021-04-16 | 2022-04-08 | 西湖大学 | 一种基于深度强化学习的四足机器人模仿运动控制方法 |
CN113561187B (zh) * | 2021-09-24 | 2022-01-11 | 中国科学院自动化研究所 | 机器人控制方法、装置、电子设备及存储介质 |
CN115556102B (zh) * | 2022-10-12 | 2024-03-12 | 华南理工大学 | 一种基于视觉识别的机器人分拣规划方法及规划设备 |
CN118114746A (zh) * | 2024-04-26 | 2024-05-31 | 南京邮电大学 | 基于贝尔曼误差的方差最小化强化学习机械臂训练加速方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130345863A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | User interfaces for robot training |
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
US20170252924A1 (en) * | 2016-03-03 | 2017-09-07 | Google Inc. | Deep machine learning methods and apparatus for robotic grasping |
CN107272785A (zh) * | 2017-07-19 | 2017-10-20 | 北京上格云技术有限公司 | 一种机电设备及其控制方法、计算机可读介质 |
CN107292392A (zh) * | 2017-05-11 | 2017-10-24 | 苏州大学 | 基于深度带权双q学习的大范围监控方法及监控机器人 |
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN107553490A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市唯特视科技有限公司 | 一种基于深度学习的单目视觉避障方法 |
CN107784312A (zh) * | 2016-08-24 | 2018-03-09 | 腾讯征信有限公司 | 机器学习模型训练方法及装置 |
WO2018053187A1 (en) * | 2016-09-15 | 2018-03-22 | Google Inc. | Deep reinforcement learning for robotic manipulation |
CN107958287A (zh) * | 2017-11-23 | 2018-04-24 | 清华大学 | 面向跨界大数据分析的对抗迁移学习方法及系统 |
US20190250568A1 (en) * | 2018-02-12 | 2019-08-15 | Adobe Inc. | Safe and efficient training of a control agent |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02136904A (ja) * | 1988-11-18 | 1990-05-25 | Hitachi Ltd | 動作系列自己生成機能を持つ運動制御装置 |
US11188821B1 (en) * | 2016-09-15 | 2021-11-30 | X Development Llc | Control policies for collective robot learning |
CN109284847B (zh) * | 2017-07-20 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 一种机器学习、寻物方法及装置 |
US20190180189A1 (en) * | 2017-12-11 | 2019-06-13 | Sap Se | Client synchronization for offline execution of neural networks |
-
2019
- 2019-06-14 EP EP19736873.1A patent/EP3784451A1/en active Pending
- 2019-06-14 WO PCT/US2019/037264 patent/WO2019241680A1/en unknown
- 2019-06-14 CN CN201980040252.8A patent/CN112313044A/zh active Pending
- 2019-06-14 US US17/052,679 patent/US20210237266A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130345863A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | User interfaces for robot training |
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
US20170252924A1 (en) * | 2016-03-03 | 2017-09-07 | Google Inc. | Deep machine learning methods and apparatus for robotic grasping |
CN107784312A (zh) * | 2016-08-24 | 2018-03-09 | 腾讯征信有限公司 | 机器学习模型训练方法及装置 |
WO2018053187A1 (en) * | 2016-09-15 | 2018-03-22 | Google Inc. | Deep reinforcement learning for robotic manipulation |
CN107292392A (zh) * | 2017-05-11 | 2017-10-24 | 苏州大学 | 基于深度带权双q学习的大范围监控方法及监控机器人 |
CN107357757A (zh) * | 2017-06-29 | 2017-11-17 | 成都考拉悠然科技有限公司 | 一种基于深度增强学习的代数应用题自动求解器 |
CN107272785A (zh) * | 2017-07-19 | 2017-10-20 | 北京上格云技术有限公司 | 一种机电设备及其控制方法、计算机可读介质 |
CN107553490A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市唯特视科技有限公司 | 一种基于深度学习的单目视觉避障方法 |
CN107958287A (zh) * | 2017-11-23 | 2018-04-24 | 清华大学 | 面向跨界大数据分析的对抗迁移学习方法及系统 |
US20190250568A1 (en) * | 2018-02-12 | 2019-08-15 | Adobe Inc. | Safe and efficient training of a control agent |
Non-Patent Citations (1)
Title |
---|
SERGEY LEVINE: "Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection", 2016 INTERNATIONAL SYMPOSIUM ON EXPERIMENTAL ROBOTICS, 31 March 2017 (2017-03-31), pages 173 - 184 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117295589A (zh) * | 2021-03-16 | 2023-12-26 | 谷歌有限责任公司 | 在训练和细化机器人控制策略中使用模仿学习的系统和方法 |
CN113076615A (zh) * | 2021-04-25 | 2021-07-06 | 上海交通大学 | 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 |
CN113076615B (zh) * | 2021-04-25 | 2022-07-15 | 上海交通大学 | 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 |
CN113967909A (zh) * | 2021-09-13 | 2022-01-25 | 中国人民解放军军事科学院国防科技创新研究院 | 基于方向奖励的机械臂智能控制方法 |
CN114067210A (zh) * | 2021-11-18 | 2022-02-18 | 南京工业职业技术大学 | 一种基于单目视觉导引的移动机器人智能抓取方法 |
CN114454160A (zh) * | 2021-12-31 | 2022-05-10 | 中国人民解放军国防科技大学 | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统 |
CN114454160B (zh) * | 2021-12-31 | 2024-04-16 | 中国人民解放军国防科技大学 | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统 |
CN116252306A (zh) * | 2023-05-10 | 2023-06-13 | 中国空气动力研究与发展中心设备设计与测试技术研究所 | 基于分层强化学习的物体排序方法、装置及存储介质 |
CN116252306B (zh) * | 2023-05-10 | 2023-07-11 | 中国空气动力研究与发展中心设备设计与测试技术研究所 | 基于分层强化学习的物体排序方法、装置及存储介质 |
CN116384469A (zh) * | 2023-06-05 | 2023-07-04 | 中国人民解放军国防科技大学 | 一种智能体策略生成方法、装置、计算机设备和存储介质 |
CN116384469B (zh) * | 2023-06-05 | 2023-08-08 | 中国人民解放军国防科技大学 | 一种智能体策略生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3784451A1 (en) | 2021-03-03 |
WO2019241680A1 (en) | 2019-12-19 |
US20210237266A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112313044A (zh) | 用于机器人操纵的深度强化学习 | |
JP6721785B2 (ja) | ロボット操作のための深層強化学習 | |
EP3621773B1 (en) | Viewpoint invariant visual servoing of robot end effector using recurrent neural network | |
US10773382B2 (en) | Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation | |
US20220105624A1 (en) | Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning | |
US11607807B2 (en) | Machine learning methods and apparatus for automated robotic placement of secured object in appropriate location | |
CN112135716B (zh) | 数据高效的分层强化学习 | |
US11823048B1 (en) | Generating simulated training examples for training of machine learning model used for robot control | |
JP7291185B2 (ja) | 力及びトルク誘導ロボット組立のための技術 | |
US20220410380A1 (en) | Learning robotic skills with imitation and reinforcement at scale | |
US11571809B1 (en) | Robotic control using value distributions | |
US11685045B1 (en) | Asynchronous robotic control using most recently selected robotic action data | |
US20220245503A1 (en) | Training a policy model for a robotic task, using reinforcement learning and utilizing data that is based on episodes, of the robotic task, guided by an engineered policy | |
US20240094736A1 (en) | Robot navigation in dependence on gesture(s) of human(s) in environment with robot | |
Wang et al. | DOREP 2.0: An Upgraded Version of Robot Control Teaching Experimental Platform with Reinforcement Learning and Visual Analysis | |
WO2024059285A1 (en) | System(s) and method(s) of using behavioral cloning value approximation in training and refining robotic control policies |
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 |