写点什么

谷歌和 UC 伯克利联合发布机器人深度 RL 算法 SAC,机器人 2 小时学会行走

  • 2019-01-21
  • 本文字数:1927 字

    阅读完需:约 6 分钟

谷歌和UC伯克利联合发布机器人深度RL算法SAC,机器人2小时学会行走

深度强化学习(RL)使得直接从现实世界中获得的经验和交互中实现机器人行为完全自主学习成为可能,因为它能够使用通用神经网络表示来处理复杂的感知输入。然而,许多现有的 RL 算法需要数天或数周(或更多)的真实数据才能收敛到期望的行为。此外,这样的系统可能难以在复杂的机器人系统(例如腿式机器人)上部署,因为它们在探索阶段很容易被损坏,超参数设置可能难以调整,而且各种安全方面的考虑也可能会引起诸多限制。


我们最近与加州大学伯克利分校合作,发布了Soft Actor-Critic(SAC),这是一种稳定而有效的深度 RL 算法,适用于真实世界的机器人技能学习,与机器人实验的要求完全一致。重要的是,SAC 的效率足以在几个小时内解决实际的机器人任务,并且可以在仅有一组超参数的各种环境中工作。下面,我们将讨论 SAC 背后的一些研究,并介绍我们最近的一些实验。

真实世界机器人学习的要求

真实世界的机器人实验面临一些重大的挑战,例如由于硬件故障和手动重置导致的数据流经常中断,为避免机器人的机械磨损而进行的平滑工作,因为算法及其实现会由于机械磨损而受到限制,包括但不仅限于):


  • 良好的样品效率可以减少学习时间

  • 需要调整的超参数数量最少

  • 重用已经收集的不同场景数据(称为离策略学习)

  • 确保学习和实验不会损坏硬件

Soft Actor-Critic

Soft Actor-Critic 基于最大熵强化学习,这个框架旨在最大化预期奖励(标准的 RL 目标)并最大化策略的熵。熵越高的策略随机性更强,这意味着最大熵强化学习更喜欢随机性强但可以获得高回报的策略。


为什么这对机器人学习来说很重要?最明显的原因是针对最大熵优化的策略更加健壮:如果策略在训练期间能够容忍高度随机的行为,则更有可能在测试时成功响应意外的扰动。然而,更微妙的原因是最大熵的训练可以提高算法对超参数的健壮性和样本效率(了解更多信息,请参阅此BAIR博客文章本教程


Soft Actor-Critic 通过学习将状态映射到动作的随机策略和估计当前策略的目标值的 Q 函数来最大化熵奖励,并使用近似动态编程来对其进行优化。这样,SAC 将目标视为一种获得更好的强化学习算法的基本方法,这些算法性能稳定,并且样本效率足以适用于真实世界的机器人应用程序。有关技术细节,请参阅我们的技术报告

SAC 的性能

我们在两项任务上评估 SAC 的性能:1)使用 Ghost Robotics 的 Minitaur 机器人进行四足行走,以及 2)使用三指 Dynamixel Claw 旋转阀门。学习行走是一项重大挑战,因为机器人是欠驱动的,因此必须精确地平衡腿上的接触力以驱动机器人前进。未经训练的策略可能导致机器人失去平衡而摔倒,而摔倒次数过多最终会损坏机器人,这使得样本有效的学习变得至关重要。


我们在平坦的地面上训练这些策略,随后在不同的地形和障碍物上进行了测试。原则上,利用 SAC 学习的策略应该对于测试时间扰动是稳健的,因为其被训练为熵最大化(即输入最大噪声)。实际上,我们观察到使用此方法学习的策略对这些扰动是稳健的,而无需任何额外的学习。





(在 Minitaur 机器人上使用 SAC 学习走路的展示。有关学习过程的完整视频,请访问我们的项目网站


而操作任务需要机械手臂旋转阀门状物体,使彩色桩钉朝右,如下图所示。由于感知上的挑战和机械手臂有 9 度的自由活动空间,该任务非常具有挑战性。为了感知阀门,机器人必须使用右下方插图中显示的原始 RGB 图像。每次实验,阀门的初始位置被随机均匀地重置,迫使策略学习使用原始 RGB 图像来感知当前的阀门方向。



SAC 迅速地完成了这两项任务:Minitaur 学会运动需要 2 个小时,而通过图像观察阀门旋转任务需要 20 个小时。我们还在为提供图像,而是实际阀门位置作为策略的观察对象,学习了此情况下阀门旋转任务的策略。SAC 可以在 3 小时内学习这个更简单的阀门任务。为了进行比较,先前的工作使用自然策略梯度在没有图像的情况下,7.4 小时内学习相同任务。

结论

我们的工作表明,基于最大熵框架的深度强化学习可以应用于学习现实世界环境中的机器人技能。由于这些策略是直接从现实世界中学习的,因此它们表现出对环境变化的健壮性,这非常难得。结果还表明,我们可以直接从高维图像观察中学习,这是典型机器人技术面临的重大挑战。我们希望,SAC 的发布有助于其他研究团队在未来采用深度 RL 来处理更复杂的现实任务。


有关更多技术细节,请访问BAIR博客文章,或阅读早期预印本和更完整的算法详解。你还可以在 GitHub 上找到具体的实现方法 https://github.com/rail-berkeley/softlearning

致谢

此研究由谷歌和加州大学伯克利分校合作完成。感谢所有参与人,包括 Sehoon Ha,Kristian Hartikainen,Jie Tan,George Tucker,Vincent Vanhoucke 和 Aurick Zhou。


原文链接:https://ai.googleblog.com/2019/01/soft-actor-critic-deep-reinforcement.html


2019-01-21 15:368437
用户头像

发布了 98 篇内容, 共 65.9 次阅读, 收获喜欢 285 次。

关注

评论

发布
暂无评论
发现更多内容

对上管理

张老蔫

28天写作

【docker 总结】第三篇 - Container 容器

Brave

,docker 12月日更

2020年净利暴涨1288%,遨森电商携手DataPipeline构建实时数据融合体系跑出加速度!

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

Go 语言快速入门指南:第三篇 流程控制

宇宙之一粟

for 流程控制 swith 签约计划第二季 if语句

阿里云 FaaS 架构设计与创新实践

阿里巴巴云原生

阿里云 Serverless 云原生 Faas

神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践

刘悦的技术博客

人工智能 机器学习 深度学习 PyTorch 图像处理

Thanos 架构剖析(二)统一的查询入口

耳东@Erdong

Thanos query 签约计划第二季 Query Frontend

Thanos 架构剖析(五)历史数据怎么办

耳东@Erdong

Thanos 签约计划第二季 compactor

Thanos 架构剖析(六)告警规则如何管理

耳东@Erdong

Thanos 签约计划第二季 Rule

模块2作业

miliving

和12岁小同志搞创客开发:手撕代码,做一款数字骰子

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Thanos 架构剖析(一)Thanos 架构总览

耳东@Erdong

架构 Thanos 签约计划第二季

Thanos 架构剖析(四)数据存储和运维工具

耳东@Erdong

store tools Thanos 签约计划第二季

拆解&组合

圣迪

数据 创新 组合 拆解 要素

【Spring Boot 快速入门】六、Spring Boot集成Redis

小阿杰

redis SpringBoot 2 内容合集 签约计划第二季

腾讯新闻基于 Flink PipeLine 模式的实践

腾讯云大数据

flink pipeline 流计算 Oceanus

底层逻辑的生命力

卢卡多多

28天写作 12月日更

Thanos 架构剖析(三)如何选择 Sidecar 和 Receiver

耳东@Erdong

Thanos 签约计划第二季 Sidecar Receiver

学习源码整体架构系列 | 前端

若川

内容合集 签约计划第二季 技术专题合集

创业研发团队的氛围营造

wood

创业 管理 28天写作

和12岁小同志搞创客开发:手撕代码,做一款遥控灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

Volatile 原理七:volatile都不保证原子性,为啥我们还要用它

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

不脱发的程序猿

Python qt PyQt GUI设计 窗口之间数据传递

精髓 一文带你了解VMware vSphere 网络、vSwitch、端口组!

Ethereal

广州站 | 云原生 Serverless 技术实践营精彩回顾

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动

45 K8S之系统扩展CRD/自定义API Server

穿过生命散发芬芳

k8s 28天写作 12月日更

Dubbo3 Triple 协议简介与选型思考

阿里巴巴云原生

阿里云 云原生 dubbo HTTP 协议

Go 语言快速入门指南:第四篇 与数据为舞之数组

宇宙之一粟

数组 签约计划第二季 12月日更

你还在一个挨一个的删除镜像文件吗?

liuzhen007

28天写作 12月日更

【Spring Boot 快速入门】七、Spring Boot集成RabbitMQ

小阿杰

RabbitMQ SpringBoot 2 内容合集 签约计划第二季

重学计算机组成原理(4)-还记得纸带编程吗?

JavaEdge

12月日更

谷歌和UC伯克利联合发布机器人深度RL算法SAC,机器人2小时学会行走_AI&大模型_谷歌机器人团队_InfoQ精选文章