长时间序贯任务结构的演示学习方法及其在手术机器人中的应用

深度模仿学习和深度强化学习具备学习机器人控制策略的潜力,即它们可将高维的传感器输入映射到机器人的控制动作。虽然这些方法在短时任务学习方面取得了巨大成功,如抓取任务(Pinto and Gupta 2016,Levine et al. 2016)和尖物插孔任务(Levine et al. 2016)。但是在将这些方法拓展到学习更长时间水平的任务时所需的示范数据数量,无论是从专家获得还是自我监督,都是过于庞大的。长时间序贯任务会遇到经典的“时间信用分配”问题:即在观察到动作的影响所需时间不确定的情况下,对该动作的回报(或惩罚)进行分配的难题(Sutton, 1984)。但是,长期行为通常会由能够解决解耦后子任务的短期技能所组成。考虑设计一个纵列式停车的控制器,整个纵列式停车任务可以分解为三个阶段:停车,倒车和调整。同样的,通常也可以根据需要操纵的部件将装配任务分解成单独的步骤。这些短期技能可以更简洁地进行参数化(作为类比,可考虑下对全局非线性函数的局部线性逼近),并且这种简化的参数化子任务本质上可以更加容易地进行学习。

这篇帖子总结了最近三篇论文的结果,这些论文提出了一些可以将更长的任务分解成更短子任务的学习算法。我们报道了在自主手术子任务背景下的实验,我们也相信这些结果适用于从工业机器人到家庭机器人的各种应用。我们提出了过渡状态聚类(Transition State Clustering, TSC),序贯加窗反向强化学习(Sequential Windowed Inverse Reinforcement Learning, SWIRL)和连续选项的深度发现(Deep Discovery of Continuous Options, DDCO)等三种算法。TSC(过渡状态聚类)考虑了在所有演示中发生的重要转换事件(即运动中的重大变化)的鲁棒学习问题。SWIRL(序贯加窗反向强化学习)提出了一个将价值函数近似为一系列短期二次回报的算法。DDCO(连续选项的深度发现)是一个具有动作空间层次表征的模仿学习通用框架。通过回顾,这三种算法都是同一个通用框架的特例。该框架中,演示者的行为被生成式地建模成一组未知闭环策略的顺序组合,这些策略会在达到参数化的“过渡状态”时进行转换。

在手术机器人中的应用

诸如Intuitive Surgical公司的达芬奇,机器人利用本地的遥控操作方便了全球数以百万计的外科手术。外科手术子任务的自动化有可能降低外科医生的乏味和疲劳,减少手术时间,并且可以在高延迟的网络上进行有监督的远程手术。因其有限的视野和不精确的驱动,手术机器人控制器的设计是特别困难的。

从具体任务看,模式切割是腹腔镜手术的基础操作之一,是外科手术医生必备的培训科目。在这个标准的外科手术训练任务中,外科医生必须切断并移除画在一张纱布上的图案,最后以完成时间和准确性两项标准对医生进行评分:

手术模式切割任务。上:手动识别转换。下:自动发现的过渡状态(a)和过渡状态聚类(b)。

我们从文(Murali et al. 2015)中标注了6个手动识别的运动基元:(1)开始,(2)开口,(3)完成第一次切割,(4)交叉,(5)完成第二次切割,以及(6)连接两个切口。TSC自动识别为7个分段,这与我们之前的工作很相符。值得注意的是,自动识别时有一个额外的聚类(标记为2'),这不符合手动分割中的任意一个转换。

在2'位置,操作员完成一个切口并开始新的切割。在逻辑层面上,开口和切割都是穿透行为,由于末端执行器的定位,它们被对应到了两个不同的运动状态。即使人类标注者忽略了这个重要的转变,TSC也将它们分在了不同的聚类。

与反向强化学习的联系

接下来我们探讨了如何使用TSC(转换状态聚类)学习到的转换来形成长期任务中的奖励。序贯加窗反向强化学习SWIRL(Krishnan et al. 2016),将单个任务建模为一系列二次的奖励函数

\\mathbf{R}_{seq} =[R_1, \\ldots ,R_k]

和过渡区域

G = [\\rho_1, \\ldots,\\rho_k ]

这里到达 \\rho_1 之前,R_1 是奖励函数;直到 \\rho_1 之后,R_2 成为奖励,其他依次类推。

假设我们拥有一个监督者,它提供了关于未知奖励函数 \\mathbf{R}^* (不一定为二次)的最优演示,而且它以同样的顺序到达G中的每个\\rho \\in G (G也是未知的) 。SWIRL(序贯加窗反向强化学习)是一种从示范的轨迹中恢复\\mathbf{R}_{seq}G的算法。SWIRL(序贯加窗反向强化学习)适用于具有离散或连续状态空间与离散动作空间的任务。只要轨迹是光滑的且不是特别高的维度时,状态空间可以表达空间状态、运动学状态或感知状态(如视觉特征)。最后,可以在RL(强化学习)算法中使用\\mathbf{R}_{seq}G来找到一个任务的最优策略。

TSC(转换状态聚类)可以解释成是在推断子任务的过渡区域 G。一旦发现转换,SWIRL(序贯加窗反向强化学习)应用最大熵逆强化学习来找到一个引导机器人进入转换条件的局部二次奖励函数。因为在分段时,许多复杂的系统可以在短时范围内进行线性近似,因此分段进一步简化了MaxEnt-IRL(最大熵逆强化学习)算法在推理时所需动力学模型的估计。MaxEnt-IRL(最大熵逆强化学习)的目标是找到一个奖励函数,使得关于这个奖励函数的最优策略与专家示例中的接近。智能体被建模为从策略 π 中取最优的动作:

\\pi(a \\mid s, \\theta) \\propto \\exp\\{A_\\theta(s,a)\\}.

其中 A_\\theta 是关于由 \\theta 参数化的奖励优势函数(即状态 s 中动作 a 与最优动作之间的价值的差)。优化目标是最大化由 \\theta 生成的演示轨迹的对数似然性。在MaxEnt-IRL(最大熵逆强化学习)中,在离散和线性高斯系统这两种情况下,该目标可以被可靠地估计。这是因为在给定由 \\theta 所参数化的特定奖励下,它需要对策略进行有效的前向搜索。于是,我们假设我们的演示可以用离散或线性动态模型来建模。

\\mathbf{R}_{seq}G 学习策略是不平凡的过程。因为在策略学习阶段(如一个常见的失败状态),解决 k 个独立的问题时,忽略了价值函数中任何可能存在的共享结构。在所有分段进行联合学习引入了对历史数据的依赖,即任何策略都必须在步骤 i + 1 之前完成步骤 i。学习一个依赖于记忆的策略可能会导致附加状态指数级别的开销。SWIRL(序贯加窗反向强化学习)利用了TSC(转换状态聚类)在某种意义上是马尔可夫过程的事实,并表明在提升的状态空间中该问题可以作为一个适当的MDP(马尔科夫决策过程)。该状态空间包括表示 {1,...,k} 中最大坐标索引的、已到达过渡区域的指标变量。

SWIRL(序贯加窗反向强化学习)应用Q-Learning的一个变体来优化在顺序奖励上的策略。该算法的基本变化是用表示“已到达过渡区域”的指标向量来增广状态空间。每个rollouts都新增了一个元组

(s, i \\in {0,...,k-1},a,r, s', i' \\in {0,...,k-1})

来存储这个信息。在状态、动作和段索引( 段索引也选择了适当的局部奖励函数)上定义Q函数:

Q(s,a,v) = R_k(s,a) + \\arg\\max_{a} Q(s',a, k')

我们还需要确定一个探索政策,即我们在累积rollouts时需要采用的随机策略。为了初始化Q-Learning,我们在每个分段采用局部行为克隆方法来获取策略 \\pi_i。我们应用这些策略的 \\epsilon-gildey版本来累积rollouts。

我们在可形变片状物张紧任务中评估了SWIRL(序贯加窗反向强化学习)。用一对夹子将一张手术纱布固定在两个较远的角落处。纱布未固定的部分允许放置在柔软的硅胶垫上。机器人的任务是够到纱布未固定的部分,抓住并提起纱布,并将其张成尽可能平整的平面。开环策略由于对意外的变化不产生反应,通常不能做到这一点。因为该任务需要一些关于纱布是否被正确抓取、纱布在抓取后如何变形的反馈以及关于纱布是否是平整的视觉反馈。任务是序贯的,由于某些抓取动作所抓到的材料或多或少,后续的展平步骤必须根据这些情况做相应的修改。

可形变片状物张紧任务

我们通过基于键盘的远程操作接口提供了15个演示。演示的平均长度是48.4个动作(尽管我们以较高的频率进行抽样观察,即每个动作大约有10次观测)。SWIRL(序贯加窗反向强化学习)从这15个示例中确定了四个分段,分别对应于移动到正确的抓取位置、抓取、再次提起纱布和拉直纱布。该任务中一个有趣的方面是分段需要多个特征,而对任何单个信号分段都可能会错过一个重要的特征。

然后,我们试图从SWIRL(序贯加窗反向强化学习)构建的奖励中学习一个策略。我们定义了一个具有32个隐藏单元与sigmoid激活函数的单层MLP(多层感知器)的Q网络。对于每个分段,我们都在与Q网络相同的体系结构(在输出层上具有附加的softmax)上,采用局部行为克隆来获得初始策略。我们用这些分段策略 \\epsilon=0.1 的贪心版本循环执行了100次试验。结果如下所示:

可形变片状物张紧任务的代表性演示中相关特征随时间的变化情况。SWIRL确定了4个分段,分别对应于到达、抓取、提升和张紧。

SWIRL(序贯加窗反向强化学习)获得RL(强化学习)高4倍的回报,比纯行为克隆高出3倍,比仅在TSC(转换状态聚类)获取的分段使用行为克隆方法高56%。

分层表示

我们现在正在探索一种新的对TSC(转换状态聚类)和SWIRL(序贯加窗反向强化学习)进行泛化的连续选项深度发现算法(DDCO Krishnan et al. 2017,将在11月举行的第一届机器人学习会议上进行展示)。

一个选项表示可以由高级策略调用以执行某个子任务的低级策略。形式上,选项集 \\mathcal{H} 中的选项 h 由控制策略 \\pi_h(a_t | s_t) 和随机终止条件 \\psi_h(s_t)\\in [0,1] 指定。高级策略 \\eta(h_t | s_t)定义在给定状态时的选项分布。一旦选项 h 被调用,就可以通过该选项的策略 \\pi_h 来选择物理控制,直到终止条件的到来。在每个物理控制应用之后且在达到下一个状态 s' 时,选项 h 以概率 \\psi_h(s') 终止。如果选项 h 确实终止,那么高层策略会选择一个分布为 \\eta(h’ | s’) 的新选项 h’。于是,分层控制策略 \\langle\\eta,(\\pi_h,\\psi_h)_{h\\in\\mathcal H}\\rangle 与系统之间的交互作用引入了一个在状态 s_t、选项 h_t、控制 a_t 和二进制终止指标 b_t 之上的随机过程。

DDCO(连续选项的深度发现)是一种先通过拟合参数来最大化一组演示轨迹的可能性,进而发现参数化选项的策略梯度算法。我们用 \\theta 表示用于 \\eta,以及用于每个选项 h\\in \\mathcal{H}\\pi_h\\psi_h 的所有可训练参数组成的矢量。例如,\\theta 可以是计算这些概率的前馈神经网络的权重和偏差。我们希望找到能够将每个生成的演示轨迹 \\xi=(s_0,a_0,s_1,\\ldots,s_T) 的对数似然最大化的 \\theta\\in\\Theta 。挑战在于这个对数似然依赖于该随机过程中的隐含变量,选项以及终止指标 \\zeta = (b_0,h_0,b_1,h_1,\\ldots,h_{T-1}) 。DDCO(连续选项的深度发现)算法使用期望——渐变算法来优化该目标函数:

\\nabla_\\theta L[\\theta;\\xi] = \\mathbb{E}_\\theta[\\nabla_\\theta \\log \\mathbb{P}_\\theta(\\zeta,\\xi) | \\xi],

其中 \\mathbb{P}_\\theta(\\zeta,\\xi) 是潜变量和可观变量的联合概率,由下式给出:

\\mathbb{P}_\\theta(\\zeta,\\xi) = p_0(s_0) \\delta_{b_0=1}\\eta(h_0 | s_0)
\\prod_{t=1}^{T-1} \\mathbb{P}_\\theta(b_t, h_t | h_{t-1}, s_t) \\prod_{t=0}^{T-1}
\\pi_{h_t}(a_t | s_t) p(s_{t+1} |s_t, a_t) ,

其中在隐含过渡 \\mathbb{P}_\\theta(b_t, h_t | h_{t-1}, s_t) 中,我们以概率 \\psi_{h_{t-1}}(s_t) 使 b_t=1h_t\\eta(\\cdot|s_t) 获得,或者以概率1-\\psi_{h_{t-1}}(s_t) 使得 b_t=0h_t 保持不变,即

\\begin{align}
\\mathbb{P}_\\theta(b_t {=} 1, h_t | h_{t-1}, s_t) &= \\psi_{h_{t-1}}(s_t) \\eta(h_t | s_t) \\\\
\\mathbb{P}_\\theta(b_t {=} 0, h_t | h_{t-1}, s_t) &= (1 - \\psi_{h_{t-1}}(s_t)) \\delta_{h_t = h_{t-1}}.
\\end{align} %]]

对数似然梯度可以分两步计算,即使用类似于Baum-Welch的前向后向算法来计算边界后验的E步骤:

u_t(h) = \\mathbb{P}_\\theta(h_t {=} h | \\xi); \\quad v_t(h) = \\mathbb{P}_\\theta(b_t {=} 1, h_t {=} h | \\xi); \\quad w_t(h) = \\mathbb{P}_\\theta(h_t {=} h, b_{t+1} {=} 0 | \\xi)

和G步骤:

\\begin{align}
\\nabla_\\theta L[\\theta;\\xi] &= \\sum_{h\\in\\mathcal{H}} \\Biggl( \\sum_{t=0}^{T-1}
\\Biggl(v_t(h) \\nabla_\\theta \\log \\eta(h | s_t) + u_t(h)\\nabla_\\theta
\\log \\pi_h(a_t | s_t)\\Biggr) \\\\
& + \\sum_{t=0}^{T-2} \\Biggl((u_t(h)-w_t(h)) \\nabla_\\theta \\log
\\psi_h(s_{t+1}) + w_t(h) \\nabla_\\theta \\log (1 - \\psi_h(s_{t+1}))
\\Biggr)\\Biggr).
\\end{align}

上面计算出的梯度接下来就可以用在任何随机梯度下降算法上。在我们的实验中,我们使用Adam和Momentum。

我们在手术机器人任务的模仿学习环境中评估了DDCO(连续选项的深度发现)算法。在一个任务中,给机器人提供一个泡沫仓以及一堆5-8个来自于三种不同类型的针状物,每个针状物的直径为1-3毫米。机器人必须找出特定类型的针状物,并将其放入标记为“accept”的杯子中,同时将所有其他针状物放入标记为“reject”的杯中。如果整个泡沫仓中的针状物被清理到正确的杯子里,则任务取得成功。为了定义这个任务的状态空间,我们首先从立体俯视图获取二进制图像,并应用基于颜色的分割方法来识别针状物(“图像”输入)。然后,我们使用在40个人工标记的图像上预先训练好的分类器,来识别并提供由在图像空间中的位置和方向所确定的候选抓取点(“抓取”输入)。另外,也观察了6个DoF(自由度)机械手的姿态和机械手手爪的开闭状态(“运动学”输入)。机器人的状态空间是(“图像”,“抓取”,“运动学”),控制空间是6个铰接的角度和抓取角度。

在手术机器人上进行针状物拾取和放置任务。

在10次试验中,7次获得了成功。主要失败模式是抓取错误,即没有拾取针状物或者拾取了多个针状物。由于这对针状物随着清理逐渐变得稀疏,机器人的抓取策略变得有些脆弱。在99次抓取的成功率为66%。相比之下,我们很少在该任务的其他方面观察到失败,去除掉34次抓取错误后,成功率则恢复到了97%。

学习出的选项可以在直观的任务边界上进行解释。对于4个选项中的每个选项,我们绘制了在计算该选项的动作时,不同输入(“图像”,“抓取”,“运动学”)的权重。将ReLU单元的非零值标记为白色,以指示输入相关性:

我们绘制了每个选项中特征层的平均激活情况,暗示了输入(图像,抓取角度或运动学)与策略和终止的相关性

我们发现这些显然是特定的选项。第一个选项只对候选抓取有很强的相关,第二个选项几乎是专门处理

图像的,而后两个选项主要是依赖于运动学特征和抓取特征的。

结论

总之,从演示中学习序贯任务的结构在机器人技术中有很多应用,比如手术子任务的自动化。该技术可以通过(将长时序贯任务的学习)分割成任务结构的学习来简化。我们展望几种未来工作的途径:(1)对旋转几何与配置空间能进行更好建模的表示;(2)综合考虑参数化基元与从解析公式中所导出基元的混合方案;(3)考虑时间分割的同时,也考虑状态空间分割。

参考文献

(关于这些论文的链接,请参阅Sanjay KrishnanKen Goldberg的主页。)

Sanjay Krishnan*, Roy Fox*, Ion Stoica, Ken Goldberg. DDCO: Discovery of Deep Continuous Options for Robot Learning from Demonstrations. Conference on Robot Learning (CoRL). 2017.

Sanjay Krishnan, Animesh Garg, Richard Liaw, Brijen Thananjeyan, Lauren Miller, Florian T. Pokorny, Ken Goldberg. SWIRL: A Sequential Windowed Inverse Reinforcement Learning Algorithm for Robot Tasks With Delayed Rewards. Workshop on Algorithmic Foundations of Robotics (WAFR) 2016.

Sanjay Krishnan*, Animesh Garg*, Sachin Patil, Colin Lea, Gregory Hager, Pieter Abbeel, Ken Goldberg. Transition State Clustering: Unsupervised Surgical Task Segmentation For Robot Learning. International Symposium on Robotics Research (ISRR). 2015.

Adithyavairavan Murali*, Siddarth Sen*, Ben Kehoe, Animesh Garg, Seth McFarland, Sachin Patil, W. Douglas Boyd, Susan Lim, Pieter Abbeel, Ken Goldberg. Learning by Observation for Surgical Subtasks: Multilateral Cutting of 3D Viscoelastic and 2D Orthotropic Tissue Phantoms. International Conference on Robotics and Automation (ICRA). May 2015.

外部参考文献

Richard Sutton. Temporal credit assignment in reinforcement learning. 1984.

Richard Sutton, Doina Precup, and Satinder Singh. Between MDPs and semi-MDPs: A framework for temporal abstraction in reinforcement learning. Artificial intelligence. 1999.

Lerrel Pinto, and Abhinav Gupta. Supersizing self-supervision: Learning to grasp from 50k tries and 700 robot hours. International Conference on Robotics and Automation (ICRA). 2016.

Sergey Levine, Peter Pastor, Alex Krizhevsky, Julian Ibarz, Deirdre Quillen. Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection (International Journal of Robotics Research). 2017.

Sergey Levine*, Chelsea Finn*, Trevor Darrell, and Pieter Abbeel. End-to-end training of deep visuomotor policies. Journal of Machine Learning Research (JMLR). 2016.

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
长时间序贯任务结构的演示学习方法及其在手术机器人中的应用
本文总结了最近三篇论文的结果,这些论文提出了一些可以将更长的任务分解成更短子任务的学习算法。
<<上一篇
下一篇>>