论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World

Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World

 

文章概况

作者:Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, Pieter Abbeel

来源:2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2017) 同样是伯克利学派那篇文章中引用的工作。

论文摘要与笔记

摘要

构建起机器人模拟与硬件实验“现实鸿沟”的桥梁可以通过提高数据可用性来加速机器人研究。本文探讨了域随机化,这是一种通过在模拟器中随机化渲染转移到真实图像的模拟图像训练模型的简单方法。在模拟器中有足够的可变性的情况下,在模型中现实世界可能只是另一种变化。我们专注于目标定位的任务,这是一般机器人操作技能的踏脚石。我们发现,只使用来自具有非真实随机纹理的模拟器的数据,可以训练一个精确到1.5厘米、对干扰和部分闭塞具有鲁棒性的真实物体探测器。为了证明我们的探测器的性能,我们表明它们可以用于在杂乱的环境中执行抓取。据我们所知,这是第一次成功地将只在模拟的RGB图像上训练的深度神经网络(不在真实图像上进行预训练)转移到真实世界,以实现机器人控制。

背景目的和方法概述

上面的摘要比较抽象,这里比较详尽的讲一下来龙去脉。

在前面伯克利的文章中也提到过,这些智能系统的落地遇到的一个非常困难的问题就是continous learning,因为智能系统总会遇到一些新的情景,需要重新学习训练。你不能在现实中训练,因为会对现实环境造成破坏,你在模拟器中训练要足够快的得到训练结果,并且,模拟器的模拟要和现实足够吻合,否则你在模拟器重学到的行为同样不能用于现实中,这就是所谓“reality gap”,而解决了这个问题,就代表大量的模拟数据可以用于真实环境的训练,这就是摘要中第一句话的意思。就比如有公司用游戏GTA5中的开车数据去训练用于真实环境中的自动驾驶,首先要解决的也是这个问题,模拟的再逼真,也存在局限性,这个在后面也会提到。

再说后面的Domain Randomization,域随机数据生成,这个想法挺有道理的,全文也没提啥数据公式,关键就是这个方法。我们先说为什么"reality gap"存在,原因是你观察世界的方式是有限的,本文中只是通过一个单摄摄像头,通过照片,你能看到很多东西,能得到很多信息,但是有些信息你是得不到的,比如物体的材质,是不是刚体啊?是不是液体啊?有没有磨损啊?这些信息都会对后面的训练带来很大的影响。那么我们如何得到这些信息呢?答案是得不到,得到信息需要的消耗我们承担不起,那怎么办呢?在模拟环境中,我们随机初始化,各种信息,各种情况我们都考虑,我们相信通过这种方式,可以最好的模拟现实的情况。有兴趣可以看看这篇博文https://www.jianshu.com/p/027ba9164bd1也是讲的域随即数据生成。

论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World_第1张图片

方法详细描述

1. 最重要的一步,域随机数据生成,主要是选了下面的几个点进行了随机数据生成。

(1)桌上杂物的形状和数目。

(2)桌上物品的纹理和位置。

(3)桌子,地板等的纹理。

(4)模拟摄像机的位置方向。

(5)舞台灯光的数量。

(6)灯光的位置和光的反射性质。

(7)一些加在训练图片上的噪声。

2. 深度神经网络的训练

 使用的是VGG-16 architecture,详情还没有细看。

论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World_第2张图片

实验详情

首先,作者提到了下面的实验要说明三个事情:

(1)这种方法是否能在现实世界中获得比较高的准确度。

(2)上面的那么多随机的东西,到底有哪些是对最后准确度有显著影响的。

(3)本文的成果是否真的能实际应用于机器人的操控任务。

 

(1)下图展现了方法的准确性,值得说的是,这个结果是对学习率,batch size超参数调参后得到的最好的结果。

论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World_第3张图片

(2)关于第二点的实验结果有好几个图表,在这里就放一个最简明的:

论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World_第4张图片

你会发现加噪声影响是最小的。

(3)真实实验是个视频,不放了。

 

感想

Domain Randomization这个方法思想上挺简单的,但是我觉得得到好的结果并不容易。让我想起来以前看的一篇生成代码缺陷漏洞的文献和Facebook一篇生成对话数据的文献(https://blog.csdn.net/caozixuan98724/article/details/84889956),首先感觉这种方法极其简单,甚至愚蠢,生成的东西有一种魔幻现实主义的味道,感觉生成的东西和真实数据真的是相差很远,但是把它应用到真实的情景下竟然用起来还不错,这就比较神奇。本文中选取的几个随机生成的点绝对是经过不断尝试仔细考虑过的,最后才能做到比较好的与现实场景吻合,但是至于为什么这么好的解决了现实世界的问题,我是有点不大理解的。

你可能感兴趣的:(论文笔记,Domain,Randomization)