0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenAI开放模拟机器人环境和HER算法,让机器人从失败中学习

zhKF_jqr_AI ? 来源:未知 ? 作者:李建兵 ? 2018-03-16 11:02 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从错误中吸取教训是人类能长久保持优势的原因之一,即使我们做了失败的尝试,但至少有一部分是正确的,总结经验后也能成功。

机器人也可以使用类似的试错法学习新任务。通过强化学习,机器人尝试用不同的方法做一件事,如果尝试的方法有效则会获得奖励。给予奖励生成的强化,机器人会不断尝试直到成功到达目标。

人与机器的不同之处在于我们如何从失败和成功中学习,从中我们不仅知道哪些东西对实现目标没有帮助,而且能了解为什么失败以及之后如何避免。这就使我们能比机器人更有效地学习。

今天,位于美国旧金山的人工智能研究机构OpenAI发布了一款开源算法,名为Hindsight Experience Replay(HER),该算法将失败作为成功的手段,让机器人像人类一样学习。

HER的重要特征是它能像人类一样,即使没有达到预期目标,但至少收获了其他成果。那么为什么不假装这就是最初想实现的目标呢?

Spectrum IEEE的编辑Evan Ackerman用比喻具体形容了HER的原理:想像一下你正要击打棒球,目标是全垒打。但是在第一次击球时,球出界了,虽然没有做到全垒打,但是你却知道了一种打出界球的方法。事后通过总结,你可以这么想:“如果我的目标就是打个出界球,那么刚刚的那一记击球就是完美的!”虽然没有打出全垒打,但仍然有了进步。

HER的另一个优点是它使用了研究人员所称的“稀疏奖励”来指导学习。奖励是我们如何告诉机器人它们的所作所为对强化学习是好事还是坏事。大多数强化学习算法使用的是“密集奖励”,机器人根据完成目标的程度获得不同大小的cookies。这些cookies可以单独奖励任务的一个方面,并在某种程度上帮助指导机器人按照指示的方式学习。

密集奖励很有效,但是部署起来却有些麻烦,并且在有些情况下并不是那么实用。大多数应用非常关注结果,并且出于实用的目的,你可以从中取得成功,也可能不成功。稀疏奖励是指,机器人在成功后只得到一个cookie,这样一来,该程序就更容易测量、编程和实施。但另一方面,这种方法可能会降低学习速度,因为机器人没有获得增量反馈,它只是被一遍又一遍地告诉“没有cookie”,除非它非常幸运地偶然成功了。

这就是HER的基本原理:它让机器人通过分散奖励学习,改变原本的目标,把每次尝试行为都看做成功,所以机器人每次都能学到一些东西。

通过这种方法,强化学习算法可以获得学习信号,因为它已经实现了一些目标;即使它不是你原本想达到的目标,如果重复这个过程,最终机器人也会实现任意一种目标,包括最初真正的目标。

下面的视频是HER方法与其他深度学习方法在实践中的对比,左边是新开发的HER方法,右边是T. Lillicrap等人于2015年提出的深度决定性策略梯度(DDPG)方法:

最终的结果对比差别非常大:

HandManipulateBlockRotateXYZ-v0上四个不同配置下的中位测试成功率(曲线)和四分位范围(阴影部分)。数据绘制于训练时期,每种配置下每隔五个随机种子就进行总结

带有稀疏奖励的DDPG+HER明显优于其他所有配置,并且只从稀疏奖励中学习了成功策略来完成这项具有挑战性的任务。有趣的是,带有密集奖励的DDPG+HER能够学习,但表现得却不好。而Vanilla DDPG的两种配置均不能学习。完整的实验结果可以在论文中查看。

OpenAI此次发布了八个Gym模拟机器人环境(Gym是OpenAI用于开发和比较强化学习算法的工具包,它能教智能体各种任务,比如走路、打乒乓球或玩弹球等),其中四个用于Fetch研究平台,四个用于ShadowHand机器人,使用的是MuJoCo物理模拟引擎。

Fetch上的四个环境

机械臂末端以最快速度移动到目标位置

击中灰色目标,使其滑动到桌上一固定位置

用机械臂末端推动正方体使其到达目标位置

机械臂抓取桌上的正方体,并停留在桌子上方某固定位置

ShadowHand上的四个环境

将拇指和另一个手指移动到指定位置

在手上翻转正方体直到达到预期位置

在手上翻转彩蛋直到达到预期位置

在手上转笔直到达到预期位置

HER的问题

虽然HER对于学习稀疏奖励的复杂任务是很有前景的方式,但它仍存在改进的空间。和OpenAI最近发布的Request for Research 2.0相似,研究人员针对HER的进步提出了一下几条想法:

事后自动创建目标。目前的HER使用硬编码策略选择目标,如果算法可以自动学习应该会很有趣。

无偏差HER。替换目标以无原则的方式改变了经验的分布。这种偏差在理论上会导致不稳定,尽管在实践中还没有遇到这种情况。

HER+HRL。将HER与最近推出的层次强化学习(HRL)结合起来一定很有趣。这样一来,HER不仅仅可以应用到目标上,还能应用到较高层次的策略生成的动作上。例如,如果较高层次命令低层次实现目标A,结果实现了目标B,那么我们可以假设高层次原本命令的是目标B。

更丰富的价值函数。扩展最近的研究,并在额外的输入上调整价值函数,例如折扣因子或成功阈值。

更快的信息传播。大多数off-policy深度强化学习算法使用目标网络来稳定训练。然而,由于改变需要时间传播,就会限制训练的速度。我们注意到在我们的实验中,这是决定DDPG+HER学习速度最重要的因素。

HER+多步骤回报。由于我们更换了目标,HER上的实验是off-policy的。所以用多步骤回报使用它就变得困难了。然而,多步骤回报能让信息传播的速度更快,所以也是可行的。

On-policy HER。目前,HER只能与off-policy算法一起使用。但是,最近的算法如PPO的稳定性非常好。所以我们可以研究一下HER能否与on-policy算法一起使用。

高频动作的强化学习。目前的强化学习算法对动作过多的案例十分敏感,这就是为什么跳帧技术经常用于雅达利游戏。在连续控制领域,动作频率越趋近于无穷,性能则越趋近于零。这是由两个因素造成的:不一致的探索,和需要多次引导来传播信息。

将HER与强化学习的最近进展相结合。最近,强化学习在多个方面都有了很大进步,它可以和优先经验回放(Prioritized Experience Replay)、分布强化学习(distributional RL)以及entropy-regularized RL或反向课程生成相结合。

在论文中你可以找到关于新Gym环境应用的更多信息。

使用基于目标的环境

引入“目标”概念需要对现有Gym的API进行一些反向兼容更改:

所有基于目标的环境使用gym.spaces.Dict观察空间。环境需要包含一个智能体尝试达到的预期目标(desired_goal)、一个目前已经达到的目标(achieved_goal)、以及实际观察(observation),例如机器人的状态。

我们公开环境的奖励函数以重新计算更换目标之后的奖励。

下面是在新的基于目标的环境中,执行目标替换时的简单例子:

import numpy as np

import gym

env = gym.make('FetchReach-v0')

obs = env.reset()

done = False

def policy(observation, desired_goal):

# Here you would implement your smarter policy. In this case,

# we just sample random actions.

return env.action_space.sample()

whilenotdone:

action = policy(obs['observation'], obs['desired_goal'])

obs, reward, done, info = env.step(action)

# If we want, we can substitute a goal here and re-compute

# the reward. For instance, we can just pretend that the desired

# goal was what we achieved all along.

substitute_goal = obs['achieved_goal'].copy()

substitute_reward = env.compute_reward(

obs['achieved_goal'], substitute_goal, info)

print('reward is {}, substitute_reward is {}'.format(

reward, substitute_reward))

新的环境可以使用与Gym兼容的强化学习算法,如Baselines。用gym.wrappers.FlattenDictWrapper将基于字典的观察空间压缩成一个数组。

import numpy as np

import gym

env = gym.make('FetchReach-v0')

# Simply wrap the goal-based environment using FlattenDictWrapper

# and specify the keys that you would like to use.

env = gym.wrappers.FlattenDictWrapper(

env, dict_keys=['observation', 'desired_goal'])

# From now on, you can use the wrapper env as per usual:

ob = env.reset()

print(ob.shape) # is now just an np.array

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4720

    浏览量

    95921
  • AI
    AI
    +关注

    关注

    88

    文章

    35748

    浏览量

    282382
  • 人工智能
    +关注

    关注

    1810

    文章

    49220

    浏览量

    251471

原文标题:OpenAI开放模拟机器人环境和HER算法,让机器人从失败中学习

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业机器人的特点

    0.3%的年化生产力提升。因此,发展工业机器人推动国内自动化水平,提高产出是目前的不二之选。 ** 适用范围广** 机器人相对于工人的优势还体现在应用范围广。机器人可以运用在危险、恶劣的环境
    发表于 07-26 11:22

    盘点#机器人开发平台

    地瓜机器人RDK X5开发套件地瓜机器人RDK X5开发套件产品介绍 旭日5芯片10TOPs算力-电子发烧友网机器人开发套件 Kria KR260机器人开发套件 Kria KR260-
    发表于 05-13 15:02

    详细介绍机场智能指路机器人的工作原理

    负责接收旅客的语音指令,以便机器人理解旅客的需求。 环境感知与信息融合 :这些传感器收集到的信息会进行融合处理。例如,激光雷达提供的距离信息和摄像头捕捉的视觉信息相结合,能让机器人更准确地识别周围
    发表于 05-10 18:26

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    与地图构建:机器人理解环境 第8章聚焦SLAM(同步定位与地图构建)技术,介绍了SLAM Toolbox和Cartographer两大主流框架。我的学习体会如下: SLAM的核心原
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    ROS的全称:Robot Operating System 机器人操作系统 ROS的 目的 :ROS支持通用库,是通信总线,协调多个传感器 为了解决机器人里各厂商模块不通用的问题,机器人
    发表于 04-30 01:05

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    机器人技术的飞速发展,ROS 2 作为其核心工具之一,为开发者提供了强大的支持。与传统的理论书籍不同,本书深入浅出地讲解了 ROS 2 的架构、开发流程以及在智能机器人项目中的应用,以代码作为切入口,
    发表于 04-27 11:24

    【「具身智能机器人系统」阅读体验】2.具身智能机器人的基础模块

    具身智能机器人的基础模块,这个是本书的第二部分内容,主要分为四个部分:机器人计算系统,自主机器人的感知系统,自主机器人的定位系统,自主机器人
    发表于 01-04 19:22

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    中取得了令人瞩目的效果。 阅读感悟 传统的手动编程到借助大模型实现智能化、自主化,单一模态的交互到多模态信息的深度融合,再到扩散模型的应用,机器人控制技术正在以惊人的速度进化。这不仅
    发表于 12-29 23:04

    【「具身智能机器人系统」阅读体验】1.初步理解具身智能

    需要理解环境,适应变化的环境国际上来看,已经有不少科技公司发布了自己的机器人产品,大多数应用在安保,物流,制造等场景。 中国在具身智能机器人
    发表于 12-28 21:12

    【「具身智能机器人系统」阅读体验】1.全书概览与第一章学习

    简单的具身智能机器人的应用案例。具体目录如下: 第一章学习 具身智能机器人是指能够在无人工干预下自主执行任务的机器人。相较于传统非具身智能机器
    发表于 12-27 14:50

    OpenAI探索人形机器人开发

    据报道,OpenAI近年来对机器人技术重新燃起了浓厚的兴趣。在过去的一年中,该公司积极投资于机器人硬件和软件领域的初创公司,如Figure和Physical Intelligence,并重启了四年
    的头像 发表于 12-26 10:27 ?632次阅读

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    和经验积累,使机器人能够自主发现工艺规律,优化作业参数。家庭服务机器人则采用混合任务规划策略:将预训练的基础技能与实时规划相结合,灵活应对开放环境中的各种情况。 第9章深入探讨了元
    发表于 12-24 15:03

    【「具身智能机器人系统」阅读体验】+数据在具身人工智能中的价值

    出现重大问题。此外,机器人在不同环境中适应和泛化的能力取决于它处理的数据的多样性。例如,家庭服务机器人必须适应各种家庭环境和任务,要求它们
    发表于 12-24 00:33

    【「具身智能机器人系统」阅读体验】+初品的体验

    学习资源,以培养更多的专业人才。随着具身智能机器人技术对社会的影响越来越大,该书还可以向公众普及相关的知识,以提升社会对新技术的认知和接受度,从而为技术的发展创造良好的社会环境。 随着具身智能
    发表于 12-20 19:17

    《具身智能机器人系统》第1-6章阅读心得之具身智能机器人系统背景知识与基础模块

    搜索策略等规划算法,强调了轨迹规划需要考虑机器人的运动学约束。在轨迹规划中,机器人需要同时考虑最大曲率、加速度限制等物理约束,生成平滑可行的运动轨迹。强化学习在规划控制中的应用也很有创
    发表于 12-19 22:26