当前位置:主页 > 电子网讯 > 正文

深度强化学习将如何控制机械臂的灵活动作

时间:2018-09-05 17:13 来源:未知 编辑:admin

核心提示

在这篇博文中,伯克利人工智能实验室的科学家们将展示深度强化学习将如何控制机械臂的灵活动作。另外还会讨论如何用低成本的硬件,高效地使用强化学习,以及如何能加速学习速...

在这篇博文中,伯克利人工智能实验室的科学家们将展示深度强化学习将如何控制机械臂的灵活动作。另外还会讨论如何用低成本的硬件,高效地使用强化学习,以及如何能加速学习速度。以下是论智带来的编译。

为什么用机械抓手?

目前市面上大部分机器人都是用简单的抓手进行控制,对工厂来说已经足够了。但是,对于非结构化的、以人为中心的环境(例如家庭),能进行多任务的操控器是非常重要的。多手指的机械手是最常见的操控器之一,它能完成多种日常生活中的动作,例如移动物体、开门、打字、绘画等。

但是,控制灵活的机械手非常困难。其中精密的传感器和驱动器使得高级机械手价格很高。深度强化学习的出现能在便宜的硬件上实现复杂任务的自动控制,但是很多深度强化学习应用都需要大量模拟数据,这让他们在成本和安装上都很复杂。人类可以快速学习各种动作,无需大量的动作示例。 我们首先会展示深度强化学习是如果通过在现实世界中的训练而用于学习复杂操控行为的,无需任何模型或模拟器,使用低廉的机器人硬件。之后,我们会展示加入额外的监督机制,包括示范和模拟,从而能加速学习的时间。我们在两个硬件平台上进行学习:一个是有三根手指的简易机械手,价格不到2500美元。另一个是高级的Allegro机械手,价格为15000美元。

现实中的无模型强化学习

深度强化学习算法通过试错法进行学习,从经验中将奖励函数最大化。我们将用一个气门转动任务当做示范,阀门或者水龙头必须旋转180°才能开启。

奖励函数仅仅是目前阀门的方向和目标位置之间的负面距离,机器人手臂必须自己思考如何移动旋转。深度强化学习的中心问题是如何利用微弱的奖励信号找到能让该任务成功的复杂且协调的行为策略。该策略由一个多层神经网络表示,通常这需要大量实验,由于数量太多,领域内专业人士都在讨论深度强化学习方法能否用于模拟之外的训练。然而,这样会对模型的可用性施加很多限制:在现实环境中直接学习可以从经验中学到任意一种任务,然而用使用模拟器则需要设计合适的示例,对任务和机器人进行建模,并仔细调整它们的参数,以实现良好结果。首先,我们将证明现有的强化学习算法是可以直接在真是硬件上直接学习这一任务的。

我们用Truncated Natural Policy Gradient来学习这一任务,在真实硬件上需要大约9个小时。

直接的强化学习方法很有吸引力,它无需过多假设,而且能自动掌握很多技能。由于这种方法除了建立函数无需其他信息,所以很容易在改进后的环境中重新学习技能,例如更换了目标物体或机械手。

下图用了不同的材料(海绵),也能使用一样的方法让机械手学习旋转阀门。如果用模拟法,很难精确学习,而直接在现实中训练可以不需要精确的示范。

另一个任务是在水平平面上翻转180°的板子,在没有模拟案例的情况下,用了8小时解决了这一问题。

这些行为都是在不到2500美元的设备上实现的,另外还有一台定制的台式机。

用人类示范加速学习

无需模型的强化学习可以很通用,但是假如人类专家在其中加入监督,将更有助于学习速度的加快。具体方法可以参考我们的论文Demonstration Augmented Policy Gradient(DAPG)。DAPG背后的思想是,人类示范可以从两方面加速强化学习:

通过行为克隆对策略提供好的初始状态

在学习过程中添加辅助学习信号,用辅助奖励引导研究探索

强化学习中的辅助目标能阻止策略在强化学习过程中偏离示范。用有限的数据克隆的纯粹行为通常无法训练成功的策略,因为分布偏差和有限的数据支持。强化学习对鲁棒性和泛化很重要,利用示范的确可以加速学习过程。下图是我们在不同任务上做出的验证:

在现实世界,我们能用带有多功能传感器的抓手和算法显著加快学习速度。下面的示例中,是人类老师直接移动机器人的手指,结果将训练时间减少到了4个小时以下。

示范将人类的先验知识用一种自然的方式结合到了算法中,并且加速学习过程。然而,并不是所有任务都能用示范加速,我们还需要寻找其他替代的加速方法。

通过模仿加速学习

某种任务的模拟模型能通过大量的模拟数据对显示数据进行增强。对于要表示现实世界复杂性的莫数据,通常需要对多种模拟参数进行随机选择。此前的研究证明这样的随机结果有助于产生稳定的策略,可以用于人脸的迁移。我们的实验也证明了用随机数据从模拟到现实的迁移很有效。

虽然对脆弱的机器人来说,通过随机化进行迁移是很不错的选择,但这种方法会有几点弊端。首先,由于是随机的,最终策略会过于保守。另外,参数的选择也是产生好结果的重要一点,某一领域中好的结果也许不能迁移到其他领域中,第三,在复杂模型中增加了大量随机的结果,会使得训练时间大大增加,也需要更多计算量。最后,可能也是最重要的一点,一个精准的模拟器必须手动搭建,进行每项新任务时都要手动调整,需要很多时间。

用学习过的模型加速学习

此前,我们同样研究了经过学习的动态模型是如何加速现实中强化学习的,同时无需手动调整模拟器。用这种方法,动态模型中的局部导数能近似计算出来,可以对局部进行迭代优化策略。这种方法能从现实中获得多种随时可用的操控策略。另外,我们可以看到算法还能在软体机器人抓手上学会控制动作。

然而,这种方法的表现也受到模型质量的影响,未来会朝着基于模型的强化学习的方向研究。

结语

虽然现实环境中的训练很普遍,但它仍有几处挑战:

由于需要进行大量探索行为,我们发现机械抓手很快就会发热,所以需要时间暂停,以免造成损坏。

由于抓手要处理多种任务,我们需要搭建一个自动重启装置。未来如果想取消这一装置,就需要自动学习如何重启了。

强化学习方法需要提供奖励,而这一奖励需要手动设计。最近我们正在研究自动奖励机制。

但是,让机器人直接从真实世界学习复杂技巧是创建完全通用的机器人的必经之路。和人类学习一样,机器人也可以通过简单的试错获取技巧。同时加上示范、模拟器和先验知识,可以大大减少训练时间。

  • 基于Xilinx 和FPGA的DDR2 SDRAM存储器接口 基于Xilinx 和FPGA的DDR2 SDRAM存储器接口

    本白皮书讨论各种存储器接口控制器设计所面临的挑战和 Xilinx 的解决方案,同时也说明如何使用 Xilinx软件工具和经过硬件验证的参考设计来为您自己的应用(从低成本的 DDR SDRAM 应用到...

  • USB IP核的设计及FPGA验证 USB IP核的设计及FPGA验证

    介绍了一款可配置的USB IP核设计,重点描述USB IP核的结构划分,详细阐述了各模块的设计思想。为了提高USB lP的可重用性,本USB IP核设计了总线适配器,经过简单配置可以用于AMBA ASB总...

  • 模拟I2C总线多主节点通信原理及实现方法 模拟I2C总线多主节点通信原理及实现方法

    摘要 介绍模拟I2C总线的多主节点通信原理,并提出一种新的实现方法。这种采用延时接收比较来实现仲裁的方法,可使不具有I2C接口的普通微控制器(MCU)能够实现模拟I2C总线的多主通...

  • 采用MAX3221电平转换器的串口驱动原理图 采用MAX3221电平转换器的串口驱动原理图

    ...

  • 硬件在环(HIL)测试系统对I/O接口的选择 硬件在环(HIL)测试系统对I/O接口的选择

    本教程讨论了多种I/O接口选项,能够用于实时处理器创建您的硬件在环测试系统。 高性能模块化的I/O接口是构建成功硬件在环测试系统所必须的。硬件在环(HIL)测试系统体系结构教程讨...

  • 基于单片无操作系统的 USB 主机控制器接 基于单片无操作系统的 USB 主机控制器接

    论文以Compaq、Microsoft 等公开的 USB 主机控制器接口规范为基础,遵循USB 主机的协议规范,开发了独立于操作系统的USB 主机底层驱动程序,并在S3C2410 平台上得到了验证。下面详细论述主机控...

  • 基于WM2002设计的立体声耳机驱动方案 基于WM2002设计的立体声耳机驱动方案

    本文介绍了WM2002主要特性,方框图,典型应用框图以及推荐外接元件数值和DC1升压转换器和电荷泵外接元件数值。 Wolfson 公司的WM2002是采用Wolfson myZoneTM环境噪音消(ANC)除技术的立体声...

  • OLED显示器中的多线定址驱动技术 OLED显示器中的多线定址驱动技术

    多线定址(mulTI-line addressing)技术是一种能够同时驱动显示器中一条或多条走线,以便在不增加线速的情况下提升讯框速率。特别是对於OLED显示器而言,多线定址技术能够降低功耗、延...

  • 基于CPLD的专用键盘接口芯片的方案设计 基于CPLD的专用键盘接口芯片的方案设计

    在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等[1,4] 。其中利用键盘接口输入数据,是实现现场实时调试、数据调整和控制最常用的方法...