未加星标

机器人学习(Robot Learning)的发展机器人

字体大小 | |
[商业智能 所属分类 商业智能 | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

机器人学习(Robot Learning)的发展机器人
网络
机器人学习(Robot Learning)的发展机器人
模型
机器人学习(Robot Learning)的发展机器人
神经网络
机器人学习(Robot Learning)的发展机器人
深度学习
机器人学习(Robot Learning)的发展机器人
机器人

5月16号,发了一篇Blog介绍他们最新的机器人进展。

他们的机器人已经可以只看一眼人类的行为就能模仿,虽然说他们的堆积木问题还相对比较简单,但是这效果还是让人兴奋不已。回到2015年,我们能想到机器人学习(Robot Learning)可以发展到这种程度吗?老实说我非常惊讶,完全超出了想象。深度学习的发展实在是太快了,每天都在发生变化。记得两个月前,几乎每周出一篇蛮不错的GAN论文,让人感叹看论文都看不过来(当然,对于有些大神来说,竟毫无压力)。


回到机器人学习这个话题上,在这个领域做出最重要贡献的是加州伯克利大学的Pieter Abbeel和Sergey Levine团队,几乎可以说他们以一个团队之力开拓了机器人学习这个领域,确实是太厉害了。而现在,可以肯定的是机器人学习会成为接下来深度学习最重要的研究方向之一,会有越来越多的人投入进来。


因此,今天这篇blog我想从头梳理一下机器人学习这两年发展过程中出现的一些有影响力的paper。然而由于个人能力有限,必有疏漏,还请知乎里的大神们批评指正。


1.Robot Learning到底指什么?

我发现不同人对Robot Learning的理解是不一样的。比如做NLP的朋友认为ChatBot也是机器人,因此Robot Learning也应该包含NLP。我觉得这样看也没错,只是我们这里关注的Robot Learning就是面对Robot这种实体机器人本身。Robot Learning想要解决的核心问题是让机器人能够自己学会执行各种决策控制任务,比如叠衣服,拿东西,开门之类的问题。对于这类问题,更多的需要对机器人进行底层的连续控制,而不是最顶层的决策。可以认为开门本身就是一个决策指令。

其实我们都知道机器人涵盖的范围很广,对机器人智能的描述更是很难界定。实际上计算机视觉、语音识别、NLP、机器人控制这些都是机器人智能的一个分支,最终都会集成到机器人身上。

那么现在的情况就是计算机视觉和语音识别这种感知任务通过深度学习已经解决得不错了,但是NLP和机器人控制这两部分还差的有点远。而要让机器人能够走进千家万户,必须首先能够解决机器人动的问题,能够不需要编程就能让机器人自己移动,完成各种设定的基本任务,具有一定的通用性。在这个实现的基础上,再进一步考虑机器人的顶层智能问题,也就是NLP需要研究的,让机器人具有情感。从总的趋势看,短期低端的NLP会较快取得突破,比如购物机器人、咨询机器人之类,虽然还是通过不了图灵测试,但是却能满足需求,能够实际应用;中期需要Robot Learning的突破,使得真正的实体机器人能够落地;远期才是NLP与Robot Learning的结合,达到从顶层思辨情绪到底层行为的高度智能。

再回到Robot Learning,我们这里显然主要关注Deep Learning在Robot Learning上的使用。我们希望用一个端到端的神经网络就能实现机器人的控制,输入看到的图像,输出机器人各个关节的电机控制。以前的机器人都是人工编程,固定程序,这显然是行不通的,而Deep Learning则非常有希望让机器人真正牛逼起来,去适应不同的环境,学习掌握不同的技能。

所以最后注明一下:Robot Learning这个概念或许很早,或许有多种含义,但我们这里Robot Learning专指基于Deep Learning面向解决机器人实际决策与控制任务的一个小方向。

2.Robot Learning的发展路径

Robot Learning从目前来看,经过了以下研究思路的发展:

利用传统的控制算法结合深度学习来实现机器人端到端的控制。这个方法主要是以Guided Policy Search(GPS)为首。这个方法是Sergey Levine提出的,通过与传统方法结合,确实可以让机器人学习出一些有意思的技能,但是有个根本问题摆在面前,就是传统方法通常需要知道整个系统的模型,而这在实际的机器人中非常难以适用。就比如四轴飞行器的控制,我们可以通过外部的Vicon设备来精确的定位四轴飞行器的位置,从而实现对其精确控制,但是在户外,我们根本就做不到这点,也就无法精确建模。因此,还依赖传统方法是没有出路的,我们使用深度学习就是要抛弃传统方法的弊端。


深度增强学习DRL。由于DeepMind在DRL取得了巨大成功,而DRL就是面向决策与控制问题,特别适用于机器人,因此想在机器人上使用DRL是一种必然的想法。Google Brain团队(依然以Sergey Levine为首)做出了一些进展,在我们之前的专栏文章中也有分析谷歌的协作机械臂>>https://zhuanlan.zhihu.com/p/22758556。但是在使用DRL之后,DRL的弊端也就显现出来了,那就是需要大量的尝试来获取数据。对于这个问题,在机器人仿真环境还好,但是在真实的机器人上就根本没办法这么做了。为了解决这个问题,也就引出来下面两个研究思路。


迁移学习Transfer Learning。既然在真实环境不行,而仿真环境可以,那么是不是可以先在仿真环境中训练好,再把知识迁移到真实机器人上。Google Deepmind在这一块做了一些不错的工作,提出了ProgressiveNeural Net和PathNet,验证了迁移的可能性。而且很显然的,仿真环境越真实,迁移效果会越好。那么,搞一个非常仿真的环境就非常有意义了。这不,Nvidia 刚刚推出Isaac机器人模拟系统,确实是对Robot Learning的研究注入了一剂强心剂。


Imitation Learning 模仿学习/Few Shot Learning 少样本学习/ Meta Learning 学会学习。这是另一条思路,那就是尽量减少数据的使用量。我们如果能够教机器人几次机器人就能学会技能那么问题也能解决。而这一块也就是OpenAI (依然是Sergey Levine)那帮人在如火如荼的研究的方向。而且特别是Meta Learning,直指通用人工智能的核心。如果能够在Meta Learning上取得突破,那么本身会是革命性的。

因此,Robot Learning发展到这里,把研究的方向就聚焦到第三和第四点上了,并且也取得了一定的成果,但是显然还有非常多的工作可以去做。

下面我们进入Paper分析模式,分析一下以上四个方面涉及的一些有影响力的papers。专业性上会有提升,需要一定的深度学习,增强学习基础。分析之前先po一下Robot Learning最有影响力的几个大神:



机器人学习(Robot Learning)的发展机器人

3.End-to-End Training of Deep Visuomotor Policies


机器人学习(Robot Learning)的发展机器人

这篇文章可以说是Robot Learning的开山之作,使用完全的端到端神经网络实现了真实机器人的控制,可以让机器人自己挂衣服、开瓶盖等等任务。在DeepMind还在搞仿真机器人这种实验时,这篇文章突然蹦不出来,确实引起了不小的轰动。Robot Learning也就从这里得到了关注,我自己也是从这篇文章才发现Deep Learning确实有让机器人落地的潜力。

这篇文章的核心方法是Guided Policy Search。基本的思路如下图:



机器人学习(Robot Learning)的发展机器人

简单的说就是我们首先构建一个端到端的神经网络,输入图像,输出控制,如下图所示:



机器人学习(Robot Learning)的发展机器人

具体网络就是一个CNN通过多层卷积输出一个feature points,也就是估计图像中的关键点,然后与机械臂上基本参数串联,经两层FClayer输出motor torques。

那么有了这个网络之后需要采集样本才能训练。样本怎么采集呢?使用传统机器人控制算法比如LQR,通过获取整个控制模型来计算出一条控制轨迹出来。这控制轨迹trajectory就是样本了,一个图像对应一个控制。ok,采集了就训练,训练后用训练的神经网络来产生新的样本,并基于样本优化出新的控制轨迹,进一步训练。就这样无限循环。这本质还是DAGGER的思想。

通过这样的反复采样-优化-训练的模式,机器人本身可以探索到足够的state和action space,从而能够较有效的实现控制。然后训练结束,要test的时候,就可以只使用神经网络进行,不需要知道整个控制模型了,这也是使用Deep Learning最酷的地方了,本来传统方法每次都需要模型,现在一换,拟合一个神经网络,竟然就不用模型了。也因此,这篇文章的实现效果非常的酷。

这篇文章的缺点也很明显:(1)还是需要model呀 (2)训练时间也是要很长啊,因为要采集大量样本。所以,估计Sergey Levine想,训练时间先不管,先搞个不需要传统方法的吧。于是就有了下面这篇文章了。


4.LearningHand-Eye Coordination for Robotic Grasping with Deep Learning and Large-ScaleData Collection

一作依然是SergeyLevine。这篇文章也很有名,Google土豪啊,用了十几个机械臂训练几个月收集数据:


机器人学习(Robot Learning)的发展机器人

这篇文章的出发点就是一个,看看收集巨量数据能否训练出不错的效果。于是他们构建了个很大的神经网络来训练,但是没有使用RL,而使用CEM。



机器人学习(Robot Learning)的发展机器人

输入当前帧和初始帧,然后输入Motor Command,输出则是捡取物体的成功概率。这个和一般的做法很不一样,一般policy是输出动作。而这个则是输出成功概率,某种程度上讲,这是一个value network而不是policy network。我想可能的一个原因是做这个实验的时候A3C还没出来,当时还是DQN的时代,要不然就用A3C呀。事实上之后Sergey Levine团队确实改用DRL做了。那么他为了训练这个网络,需要sample出motor command,这里就是使用CEM来采样,效果当然会比随机采样来的好。


这篇文章的思路其实比较简单,关键是训练成本非常高,非Google没有这样的资源去实验这个事情。那么实验出来效果确实还很不错,这其实就是验证了deep learning的有效性。之后Google的paper也再没有使用上面这样的网络结构了。


其他一些paper

Deep Reinforcement Learning for Robotic Manipulation

Deep Visual Foresight for Planning Robot Motion

具体请参考>>谷歌的协作机械 https://zhuanlan.zhihu.com/p/22758556


Target-driven Visual Navigation in Indoor Scenes using Deep Reinforcement Learning

具体请参考>>深度增强学习再发力,家用机器人已近在眼前https://zhuanlan.zhihu.com/p/22523121


Sim-to-Real Robot Learning from Pixels with Progressive Nets

具体请参考>>从虚拟到现实,迁移深度增强学习让机器人革命成为可能!https://zhuanlan.zhihu.com/p/21470871


Control of Memory, Active Perception, and Action in Minecraft

具体请参考>>史蒂夫的人工智能大挑战 https://zhuanlan.zhihu.com/p/21320865


Learn to Navigate in Complex Environments

这篇同样是Navigation的问题,但是使用了Learn to Reinforcement Learn + UNREAL两篇文章的思想。首先是Learn to Reinforcement Learn,大家看上图的c和d,都把上一次的reward和action也输入到网络中,这样神经网络可以感知reward和action做meta learning,使得即使变换不同的迷宫,也能够快速调整。UNREAL的思想则体现在d图,辅助训练了两个目标:一个是encoder输出深度信息Depth,一个是最后的网络输出是否走过的判断。综合这两种做法再结合A3C训练,效果非常不错,能够适应不同的迷宫同时具备一定的定位能力,这一定程度上取得了SLAM的效果。


----- Imitation Learning -----

接下来到现在的Imitation Learning研究阶段。为什么单独画条线,是因为前面的paper都相对旧了,imitation learning及相关的few shot learning,meta learning才是当前最热的研究方向(不过所谓最热也就是OpenAI,Google这帮人在搞呀)


这块的论文现在有点多了,要讲到one shot imitation learning这篇还需要不少篇幅。算了,就先不写,改到下一篇我们继续说吧。


欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:418451831

分页:12
转载请注明
本文标题:机器人学习(Robot Learning)的发展机器人
本站链接:http://www.codesec.net/view/555005.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 商业智能 | 评论(0) | 阅读(83)