前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google X教你用模拟器训练机器人,准确率超93%,ICRA2021已发表

Google X教你用模拟器训练机器人,准确率超93%,ICRA2021已发表

作者头像
新智元
发布2023-05-22 16:28:04
1920
发布2023-05-22 16:28:04
举报
文章被收录于专栏:新智元新智元


新智元报道  

来源:Google AI Blog

编辑:LRS

【新智元导读】机器人的训练相比自然语言处理、视觉等领域来说更加困难,因为需要实际搭建一个环境,更多的时间来试错。而使用模拟器来模拟机器人,训练出来的模型想要直接应用到真实环境之间还需要消除他们之间的gap。

机器人研究中的强化和模仿学习方法可以实现自主环境导航和高效的目标操作,这反过来又为实际应用开辟了广阔的前景。

先前的工作已经展示了使用深层神经网络进行端到端学习的机器人是如何通过理解相机的观察来采取行动和解决任务,从而可靠和安全地与我们周围的非结构化世界进行互动的。

然而,端到端的学习方法虽然可以对复杂的机器人操作任务进行概括和规模化,但是它们需要成千上万个真实世界的机器人训练片段,这是很难获得的。

人们可以尝试通过模拟实际运行环境来缓解这种限制(即不需要真正地搭建一个机器人),从而使虚拟机器人能够在更大规模的数据上更快地学习,但是模拟无法与真实世界完全匹配,自然而然地,模拟于现实之间存在一个gap,这也是成为了机器人研究中的新挑战。

造成这种差距的一个重要原因是模拟中呈现的图像与真实的机器人摄像机观测值之间的差异,这导致机器人在现实世界中表现不佳。

到目前为止,用于弥补这种差距的工作采用了一种叫做像素级域适应(pixel-level domain adaptation)的技术,这种技术将合成图像转换成像素级的真实图像。

一个经典的模型是 GraspGAN,它使用了一个生成式对抗网络(GAN) 用来生成图像,可以为每个领域的特定数据集的模拟图像和真实图像之间的转换建模。

这些伪装成真实的图像(GAN生成的)纠正了一些与真实图像相似的缺陷,因此通过模拟学习的策略在真实机器人身上能够显著提升效果,缩小模拟到真实之间的差距。

然而,它们用于模拟到实际传输数据时还有一个限制,由于 GANs 是在像素级上传输图像,机器人任务学习所必需的多像素特征或结构可能被任意修改甚至删除。

为了解决上述问题,X与Everyday Robot Project项目合作,引入了 RL-CycleGAN 和 RetinaGAN 两个新模型,它们训练了机器人特定一致性的 GANs,使它们不会随意修改机器人任务学习所需的视觉特征,从而弥合了模拟和真实之间的视觉差异。

X,以前也称为Google X及Research at Google,是一个由谷歌公司运行的秘密实验室,位于加利福尼亚州旧金山湾区某处,实验室的工作由谷歌公司联合创始人之一谢尔盖·布林督导。

论文中还展示了这些一致性如何保留了对策略学习至关重要的特征,消除了手工设计、也无需针对不同任务进行调整,能够允许机器人在类似于真实环境中训练,这种方法能够在不同任务、领域和学习算法之间都取得不错的效果。

RL-CycleGAN

在RL-CycleGAN模型中,主要关注如何从sim-to-real的迁移,并展示了如何利用强化学习训练得到的一个抓取模型取得了sota性能。

RL-CycleGAN利用 CycleGAN 的一个变体来进行模拟到真实的适应,确保真实图像和模拟图像之间任务相关特征的一致性。

CycleGAN通过确保修改后的图像能够恢复到原始区域与原始图像完全相同来保持图像内容,这就是所谓的循环一致性。

为了进一步鼓励改编后的图像对机器人有用,CycleGAN与一个强化学习机器人代理人联合训练,以确保机器人的行动在GAN-adaption之后是相同的。

也就是说,任务特定的特征,如机器人手臂或可识别的物体位置是不变的,但是 GAN 仍然可以改变光照或者不影响任务级别决策的域之间的纹理差异。

评价 RL-CycleGAN 在机器人不分无差别(indiscriminate)的抓取任务中的表现,经过580,000次与RL-CycleGAN 相适应的实际试验和模拟训练,该机器人抓取物体的成功率达到94% ,超过了现有最先进的模拟实际方法 GraspGAN 的89% 成功率和未经模拟使用实际数据的87% 成功率。

仅有28,000个试验,rl-cyclegg 方法达到了86% ,与之前的基线数据20倍相当。

RetinaGAN

在RetinaGAN中,扩展了之前的工作,将模仿学习应用在在一个开门(door opening)的任务中。

 虽然 RL-CycleGAN 能够十分可靠地利用任务感知,利用强化学习将各个领域的任务仿真转换为真实,一个自然而然的问题出现了: 我们能否开发一种更加灵活的仿真转换技术,广泛应用于不同的任务和机器人学习技术?

在 ICRA 2021会议上提出的 RetinaGAN, 一种对象感知的 Sim-to-Real 传输方法中,提出了一种任务解耦、算法解耦的 GAN 方法来实现sim-to-real传输,而不是关注机器人对物体的感知。

RetinaGAN 通过感知一致性,增强对对象语义感知,通过目标检测预测所有图像中所有对象的包围盒位置。

在一个理想的近似真实模型中,我们期望对象检测器能够预测 GAN 转换前后相同的盒子位置,因为对象不会发生结构性变化。

通过反向传播的方法,RetinaGAN 被训练成这样一种理想状态: 当 a)模拟图像从模拟转换为真实图像,然后再转换回模拟图像,b)当真实图像从真实图像转换为模拟图像,然后再转换回真实图像时,对物体的感知具有一致性。我们发现这种基于对象的一致性比 RL-CycleGAN 所要求的任务特定的一致性更广泛地适用。

评估 RetinaGAN 在真实机器人上的应用为了建立一个更加灵活的模拟真实传输技术,我们以多种方式评估 RetinaGAN,以了解它在哪些任务和什么条件下能够实现模拟真实传输。

我们首先将 RetinaGAN 应用于抓取任务,RetinaGAN 更注重强调了真实的物体纹理、阴影和光照的转换,同时保持了可感知物体的视觉质量和显著性。

将事先训练好的 RetinaGAN 模型与分布式强化学习方法 Q2-Opt 结合起来,训练一个基于视觉的任务模型,用于实例抓取。

在真实机器人上,经过10万次训练后,该策略能够成功地抓住目标实例,成功率达到80% ーー优于先前的适应方法 RL-CycleGAN 和 CycleGAN (两者均达到68%)和无领域适应的训练(灰条下: sim 数据为19% ,real数据为22% ,混合数据为54%)。这给了我们信心,感知一致性是一个有价值的策略模拟到真实的转移。此外,仅有10,000次训练(8% 的数据) ,RetinaGAN 的 RL 策略成功率达到66% ,与之前的方法相比,数据显著减少。

接下来,我们将 RetinaGAN 与一种不同的学习方法,行为克隆(behavioral cloning) 结合起来:打开会议室的大门,让操作人员进行演示。

利用模拟和真实演示的图像,我们训练 RetinaGAN 将合成图像转换为逼真的图像,从而缩小模拟与真实之间的差距。

然后我们训练了一个行为克隆模型来模拟人类操作者在真实的和 retinagan 适应的模拟演示中的任务解决行为。当通过预测要采取的行动来评估这个模型时,机器人93% 的时间进入真正的会议室,超过了75% 以下的基线。

这项工作已经证明了局域网上的额外约束可以解决视觉模拟实际差距,而不需要特定任务的调整,这些方法达到较高的实际机器人成功率与较少的数据收集。Rl-CycleGAN 将合成图像转换为真实的图像,这种转换具有自动保留任务相关特性的 rl 一致性损失。

RetinaGAN 是一种对象感知的类真实适应技术,它可以在不同的环境和任务之间进行有效的适应,不依赖于任务学习方法。由于 RetinaGAN 没有受过任何特定任务知识的训练,因此我们展示了如何在新的物体推送任务中重用它。我们希望这项工作能够进一步推广到解决非结构化环境中与任务无关的机器人操作问题。

参考资料:https://ai.googleblog.com/2021/06/toward-generalized-sim-to-real-transfer.html

推荐阅读:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】机器人的训练相比自然语言处理、视觉等领域来说更加困难,因为需要实际搭建一个环境,更多的时间来试错。而使用模拟器来模拟机器人,训练出来的模型想要直接应用到真实环境之间还需要消除他们之间的gap。
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档