写点什么

谷歌和 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:368384
用户头像

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

关注

评论

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

架构实战营毕业总结

紫云

架构实战营

庞氏骗局:购物就能赚钱

石云升

28天写作 电信诈骗 12月日更 庞氏骗局

hw6-拆分电商系统为微服务

WWH

架构实战营

Nacos 本地单机版部署步骤和使用 – Spring Cloud 系列教程

程序员泥瓦匠

nacos

电商业务服务拆分

🌾🌾🌾小麦🌾🌾🌾

架构实战营

长短租用户体验

张老蔫

28天写作

模块五学习总结

Geek_1d37ea

架构实战营

DDD领域驱动设计落地实践:六步拆解DDD

慕枫技术笔记

架构 后端 签约计划第二季

毕业总结

guangbao

在线JSON在线对比差异工具

入门小站

工具

设计电商秒杀系统

白开水又一杯

#架构实战营

Android C++系列:Linux线程(二)线程原语

轻口味

android 28天写作 12月日更

天长地久->曾经拥有

mtfelix

28天写作

模块五作业

Geek_1d37ea

架构实战营

对比 volatile vs synchornized

悟空聊架构

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

如何实现单体架构到微服务架构的蜕变?

看山

微服务架构 单体架构 签约计划第二季

再来一篇!看jdk源码大师亲自操刀编写的集合源码!

看点代码再上班

Java 架构 软件技术

对研发管理的一些思考

hackstoic

研发管理 规范

除了微服务,我们还有其他选择吗?

看山

容器 微服务架构 无服务器云函数 SOA 签约计划第二季

极限数据 v0.2 版本正式发布了

极限实验室

elastic console Elastic Search 极限数据平台 ES多集群管理

架构实战营 - 毕业总结

Alex.Wu

现代软件架构师的10个技巧

俞凡

架构 微服务 云原生

浅谈指标体系建设(一)

圣迪

35 K8S之kubeconfig配置文件

穿过生命散发芬芳

k8s 28天写作 12月日更

模块六作业

沐风

创业研发团的组织建设-硬件开发流程

wood

创业 敏捷 28天写作 硬件开发

拆分电商系统为微服务

deng

架构实战营

Springboot异步任务执行及监控

xcbeyond

springboot 异步任务 28天写作 12月日更

在 JavaScript 中创建私有成员

devpoint

JavaScript typescript ES2020 ES6 12月日更

【LeetCode】从英文中重建数字Java题解

Albert

算法 LeetCode 12月日更

DDD领域驱动设计落地实践系列

慕枫技术笔记

内容合集 签约计划第二季

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