【泡泡机器人原创】未来的机器人未来

2017-09-16 11:13

  Rosen Diankov介绍了Mujin在工业生产实践中获得的经验,顺便直截了当地表示“云机器人”不靠谱,的Ken Goldberg当场就不乐意了,两人一顿。Rosen Diankov后来又了基于深度学习的方案肯定会让使用者完全没法在机器人出问题的时候向客户解释是什么原因,也引发了一些听众的讨论。

  很多人都看到了基于神经网络的方法的神奇之处,但是都因为这种方法没法从理论上严格证明稳定性而在态度上有所保留。不能理论上证明稳定性,就意味着不安全,不安全的机器人,不应该和人类一起工作,还记得阿西莫夫机器人三定律吗?安全,作为机器人学发展过程中始终需要牢记的要点,确实是对深度神经网络控制方法的强有力反驳。在自然语言处理和语音识别这些人工智能领域的发展早期,也有过类似的争论,概率性的统计系统最终战胜了逻辑严密的专家系统。但是语音识别系统出了错,无非是闹个笑话;而机器人系统出了错,轻则毁物伤人,重则造类的生命,马虎不得。

  过去几十年中,制造业对自动装配和自动执行任务的需求催生了工业机器人这项技术。一台工业机器人就是对一部分人类躯干的仿生:钢制的结构是身体部位,关节电机是肌肉,电线是神经,而控制器则是一个简单的大脑。工业机器人只需要从一个地方把装配用的物料伸手送到另一个地方去摆好,等着另一个机器人伸手过来焊接或者装配就够了。工业机器人功能极其有限,只能用来抓取特定形状的物体、做一两个动作,但是可以高精度、无休止地重复这个动作。

  在我看来,2017年的机器人学界正处于历史的关键时刻。隔壁计算机视觉领域的学者已经达成了“深度神经网络好好好不搞不是地球人”的状态,而机器人学界还在彼此争论的状态。未来会如何发展呢?我不禁想起《欧拉的宝石》(Eulers Gem)中讲述的四色证明问题:数学家们一开始都认为四色问题可以严格地通过推理证明,但是在很多年的纠结之后不得不接受四色问题只能通过计算机穷举得证。机器人的控制和规划,是不是也是下一个四色问题呢?用黑盒子般的神经网络代替传统的严密的数学方程进行机器人控制,如果真的只有这样才能实现更加智能的机器人的话,机器人学家们会像《数学:确定性的》(Mathematics: The Loss Of Certainty)中描述的那些因为哥德尔不完备而极度失望的数学家们那样放弃这个研究领域么?

  后来当Pieter Abbeel的时候,workshop变得人山人海,房间后面站满了听众。

  和人工智能的其他领域相比,机器人领域的研究者并没有那么快接受深度神经网络,即使这个研究领域正在遇到一些瓶颈和困难可能会被深度神经网络解决。

  深度神经网络和增强学习的支持者则认为,机器人通过尝试不同动作获得励或者惩罚的过程,和人类的学习过程是类似的,因此虽然这种方法没有理论的证明,但是仿生的原理就是最好的证明。当然,这种说法也有可商榷之处:人类在学习抓取一个物体的动作后,还可以闭上眼睛再抓取一遍;但是利用深度神经网络设计的机器人控制器,如果没有图像输入则完全无法运行,这说明人类在学习过程中学到了更多的东西,或者借助了更多的传感器,不仅仅是图像。

  泡芙们,大家好!今天,【泡泡机器人原创】 给大家带来了,YY硕的 未来的机器人未来 一文。

  应该继续坚守传统的方法,还是采用神经网络的黑盒子去控制机器人,我想很多人都希望知道这个问题的答案。深入去看的话,这个问题又和更多深层次的问题联系在了一起:神经网络是不是可以作为机器人的大脑?通过神经网络学习机器人的动作是不是在模拟人类的学习过程,进而,是不是模拟了人类的意识?意识是神经网络的简单连接,还是精密的数学公式?我们应该用仿生的方式去探索对人类智能和意识的模拟,还是应该继续构建公式和可推导的理论?神经网络在其他人工智能领域的胜利是否也会在机器人领域再次复现?

  余生也晚,没有看到19世纪末爱迪生和特斯拉关于直流电交流电的争论,也未曾目睹20世纪初爱因斯坦和玻尔对量子力学的争论。如今这个时代,可能真的能够亲身参与到机器人领域一场重要的争论和发展的过程之中,想想还常激动的。

  6月2日是本届ICRA最后一天,这一天举办了各种workshop,让大家能够通过更详细的互相交流学习。其中一个workshop——AI in Automation,让基于深度学习的方法和传统机器人方法之间的争论变得异常激烈。

  他完后,第一个提问的居然是Vijay Kumar。Vijay Kumar是大学的工程院院长,美国国家工程院院士,担任过白宫科技政策办公室助理总监,优秀的机器人学家,也是多旋翼飞行器领域的者。Vijay Kumar问Pieter Abbeel他的方法如何应对复杂的接触力变化。而Pieter Abbeel回答说这些我们都没有考虑,不知道如何我的方法就是好用了。Vijay Kumar又接着问了一些问题,Pieter Abbeel的解释看似并不能让他信服。

  随后的几年间,Pieter Abbeel进一步做出了更多让人感到惊讶的演示,他们实验室的机器人逐步学会了更多的动作:

  人类的意识具有丰富的想象力,意识存在于大脑中,大脑的奥秘至今未被人所知。而人类的躯干,虽然也有诸多未解之谜,但是人们对躯干的大体结构和工作原理已经搞得比较清楚了:大脑想要让躯干执行一个动作,于是对脊髓发出神经信号,脊髓将信号传导到对应身体部位的肌肉中,让肌肉收紧,从而带动身体部位产生想要的动作。

  在过去几年中,深度学习引发的浪潮让计算机视觉、自然语言处理、语音识别等研究领域都纷纷倒向了神经网络为主的研究方法,一大批研究也很快成了可行的商业应用。“人工智能”这个概念在过去的五十年间几次起落,这一次随着深度神经网络的复兴,人们乐观地估计,也许人工智能不会再衰落了,而是即将快速进入人类的生活。另外让所有人感到惊奇的是,这一波人工智能的浪潮居然在中国掀起了最大的波澜。过去两年中,中国新兴的人工智能创业公司数量与硅谷不相上下,人工智能相关的科技、展会、论坛更是雨后春笋一般出现,甚至有一个周末不同地区的不同组织在同时举办好几场“科技论坛”、“人工智能大会”的盛况。

  传统的机器人学研究认为,有效稳妥地控制机器人抓取刚性的物体,需要对机器人的模型和被抓取的物体的模型知道得很清楚,然后做妥善的受力分析,比如抓取球,那么要先通过传感器扫描这个球,获取它的形状,然后分析对这个几何体的哪几个力就能够稳定把它抬起来,然后再控制机器人的手移动到能够产生这些力的。抓取球、抓取立方体、抓取圆柱体,都可以这样做。机器人控制过程中的适应性则是来自于在模型当中添加一些“噪声”,也就是让模型稍稍变得不精确,然后让控制器能够抵抗这些噪声的干扰。

  然而,并非所有的科学家和研究人员都信服这种新的技术。前几天我在一个知乎回答AlphaGo「理解」围棋吗? - 知乎里介绍了AlphaGo怀揣神经网络炼丹的方式,策略搜索也是同样的思。机器人在拼积木时,每隔一小段时刻都会问自己怀里的神经网络该怎么移动,神经网络根据它当前的状态,告诉机器人应该怎么移动自己的关节。神经网络里面的结构对于机器人和机器人的研究人员来说都是黑盒子。在传统机器人学里,人们在控制论的基础上发展出了对控制器可靠性和稳定性的分析理论。根据传统方法设计出的控制器,因为都是显式的数学表达式,所以可以严密精确地分析控制器是否可靠,是否会在机器人处于特定的状态时失控。然而根据策略搜索技术设计出的控制器,是一个包含神经网络的黑盒子,无法通过数学方法严密精确地分析控制器是不是可靠。

  百度前首席科学家Andrew Ng(吴恩达),博士期间师从世界的计算机视觉大神Micheal Jordon(不是打篮球的那个),2004年从美国大学伯克利分校博士毕业后,在斯坦福大学教书,带出了一名叫做Pieter Abbeel的。Pieter Abbeel 2008年从斯坦福大学博士毕业后,又回到了美国大学伯克利分校做教授。所谓将门无犬子,Pieter Abbeel 4年博士期间发表了众多有里程碑意义的学术论文,了“学徒学习”这一个崭新的增强学习领域。2011年,Pieter Abbeel 进一步改进了传统增强学习技术中的策略网络技术,通过深度神经网络表达机器人的运动策略,使用策略搜索(Policy Search),实现了机器人叠毛巾的演示:

  和传统机器人学不同,Pieter Abbeel和Sergey Levine采用的方法并不在乎机器人的模型和被抓取的物体的模型,也不对抓取的过程做任何受力分析。策略搜索技术的原理很简单,让机器人用一个相机看着自己的手,胡乱移动,碰巧能把积木拼起来就可以得到“励”,拼不起来只能得到“惩罚”。这里的励和惩罚不是对机器人的或者摸摸头给个糖什么的,只是对“选择调整神经网络权值的梯度方向”的一个形象表达,这里神经网络的输入是图像和机械臂上关节的,输出是当前这个状态下应该给关节上的控制量,每个时刻的输入都对应一个输出,所有时刻的输出就构成机器人的动作序列。机器人得到足够的励后,也就能学会拼积木的动作序列。当然基于神经网络的策略搜索并非完全遗弃传统方法,Sergey Levine发明的式策略搜索就借助了传统机器人学的方法,先通过传统方法让机器概按照能拼起积木的动作移动一下,然后用这个动作序列去机器人的学习过程,实现更快达成学习目标的目的。(第二个动图实际上是在描述一个过程,不用在意这些细节)

  在2017年的ICRA召开前夕,Sergey Levine已经是整个机器人学界最受人瞩目的焦点,可能没有之一。4月17日,Sergey Levine界第一的机器人研究机构——卡耐基梅隆大学(CMU)机器人学院的时候,据说听众人山人海,走廊都坐满了人。在ICRA会议里,Sergey和自己的学生一口气发表了10篇论文。ICRA会议甚至专门为“策略搜索”设置了专题环节,整个环节就是Sergey的学生轮番上阵讲论文。

  AI in Automation这个workshop到场的知名研究人员除了Pieter Abbeel,Sergey Levine和Ken Goldberg以外,还有Rosen Diankov。Rosen Diankov博士毕业于CMU的机器人学院,是Mujin的CTO,而Mujin应该是目前世界上给工业机器人加装视觉识别和规划解决方案最优秀的公司。前阵子国内一家叫做梅卡曼德的创业公司获得了数百万投资之后,自豪地说公司的目标是“对标Mujin”,Mujin的技术领先程度可见一斑。

  现在我们有了能高精度重复劳动的机器人。直到这一步,机器人学家们对于机器人如何设计和开发,都有着共识。但是下一步工作,就给研究者们造成困惑了:如何让机器人能够适应未知的并且与之交互?这个问题对于工业机器人的下一步发展至关重要。目前投入应用的工业机器人,都必须有一个精密的产线与之配套,装配的物料必须放在特定给工业机器人、流水线上运过来的待装配的结构也必须在特定的,偏一两厘米都不行;工业机器人的手是为要装配的物料特殊定制过的,如果把这台机器人搬去另一条产线抓取其他的物体,手就必须更换,机器脑里的程序也得重写……

  同样在的我暗暗惊讶居然能够在一个屋子里见到这么多我认识或者不认识的机器人领域的大神们,听他们讨论机器人技术的未来。

  理想情况下,我们希望机器脑里的程序不需要重写,就能够适应抓取物体过程中物体和抓取的手的不确定性或者变化。这里的困惑点在于:应该怎样在机器脑里写程序去让机器人有一定的适应性。适应性来自于什么样的程序、表达方式和数学工具?

  此间,2012年开始,用深度神经网络实现的图像识别算法开始在ImageNet上传统方法,股价只有5块钱的Nvidia宣布赌上全家老小搞深度学习。2014年,Pieter Abbeel实验室的博士后Sergey Levine发明了式策略搜索(Guided Policy Search),进一步提高了机器人学习新动作的效率。Sergey Levine后来成为了伯克利的教授,和Pieter Abbeel一起继续在基于神经网络的机器人控制研究领域探索。2016年,采用深度神经网络策略搜索技术的AlphaGo击败李世石,Nvidia的股价站上100块钱,进一步让这种技术站上了风口浪尖。

  大家就会问,那么抓取个毛巾、或者抓取一个橡皮鸭子这类软的能变形的东西怎么办。这个确实很难办。传统机器人学家可能会争论道,毛巾也可以被看做是一大堆刚性物体连接成的整体,还是能用同样的办法分析,只是被抓取的物体复杂一些而已,当然这些需要极大的计算量去对毛巾进行建模,可能还需要一些有限元分析的技巧。而橡皮鸭子则就更难办了,随着橡胶的老化,新鸭子和旧鸭子的硬度不同,光从外表上看不出区别,能给旧鸭子的力可能会把新鸭子捏扁。

  5月30日,在AlphaGo击败柯洁一个星期之后,世界最大规模的机器人学术会议——第三十四届ICRA(国际机器人与自动化学术会议)在新加坡召开了。大疆创新近几年来每年都赞助和支持这项会议,因此我也参加了这次会议,得以在这次会议上目击机器人前沿领域的一场争论。

  结束ICRA之后,在微信上和大学伯克利分校的朋友聊起来workshop的所见所闻,朋友说在伯克利,Pieter Abbeel等人也经常在各种seminar和talk上与伯克利做传统机器人控制的一派学者比如Ruzena Bajcsy他们争论。我又好奇去打听了一下其他学校,CMU大部分教授都持怀疑态度,只有Abhinav Gupta等少数几人和伯克利同行打成了一片;MIT教授Russ Tedrake,2004年和吴恩达同时期博士毕业,毕业论文写的是用增强学习和神经网络训练机器人的控制器,然而现在放弃了这种思,转而去仔细钻研机器人系统的物理和动力学模型,似乎说明了自己的立场。所以传统CS四大名校中,除了斯坦福完全不怎么搞机器人以外,其他三所学校机器人方向的研究人员都各有态度。

  一些非技术背景的和大众往往认为机器人和人工智能是一回事。事实上,他们两者差别很大。机器人这个学科是自动化和机械设计的衍生学科,早在文艺复兴时代就已经开始被达芬奇这样的上古大神思考和研究,几百年来都以如何让人类设计的机构具备更强的自主性为主要目标。而人工智能则是在计算机诞生之后才出现的新兴学科,继承了数理逻辑和统计学,目的是让机器实现接近人的思考和逻辑推理的能力。两者一定程度上有点类似,机器人学是在设计仿生人类躯干的机器,而人工智能学是在设计仿生人类意识的机器,两者当然可以结合起来,也必须结合起来,但是他们的研究方向和目标有本质的不同。

  我在ICRA和不同大学的研究人员就这个问题聊天。听到了各种不同的声音。Pieter Abbeel的学生MZ和我讨论他的一项用策略搜索让一个特种机器人能够学会移动的工作的时候,坦言现在他们完全没有考虑过控制器稳定性鲁棒性这些问题。CMU的某实验室负责人SS则非常激烈地了这种方法,觉得让研究生和博士埋头调神经网络很蠢(graduate student in the loop control)。

  刘慈欣早年有一篇短篇小说叫做《朝闻道》,描述了这样一个场景:名为“排险者”的具备先进文明的外星人来到地球,和地球人接触后决定,把一些人类未知的数学和物理学的研究问题的解决方法告诉地球的科学家,但是为了不文明间不能主动帮助其他文明发展的“知识密封准则”,这些科学家在了解自己想知道的科学问题的答案之后,必须被排险者。虽然外星人提出了这样的要求,但还是有大批科学家前来询问外星人问题,然后心甘情愿被。接受这个条件的有数学家、古生物学家和物理学家。如果外星人在2017年来到地球,我想一定会有机器人学家上前去询问外星人这些问题。

  Pieter Abbeel和Sergey Levine在大学伯克利分校的另一个同事,负责AutoLab的Ken Goldberg,则在ICRA上发表了一项与Google合作的新工作,让基于神经网络的方法和传统的机器人学方法稍稍显得没有那么对立。这项叫做Dexterity Network(Dex-Net)的研究是这样的:首先通过传统机器人学中分析受力和建模的思,建立一个包含大量数据的数据集,这个数据集里的每一项数据包含一个物体的模型和这个物体在不同姿态下可以被稳定抓起来的施力方式,这些施力方式是通过物体模型计算出来的。有了数据之后,用这些数据训练一个神经网络。然后给出一个新物体,通过神经网络判断这个物体和数据集里哪个物体最相似,然后根据最相似的物体的数据集里包含的施力方式计算出这个新物体的最稳定施力方式。说起来简单,但是其实做起来里面有异常庞大的计算量,于是整个算法占用了Google云服务器上的1500台虚拟机的计算量。这个工作整合了众多新的思和工具,实现得非常漂亮,同时也让“云机器人”这个概念受到了关注。但是,它的优秀表现来自于背后巨大的计算量,虽然思很简单,但是这个巨大的计算量需求让人看起来感觉也许继续沿用传统的方法给被抓取的物体扫描建个模重新分析受力也没有吃多少亏。

  或许,神经网络的方法火热一段时间之后也会沉寂下去。在机器人学发展的早期,有一种叫遗传算法的技术和叫做Lisp的编程语言,有人用这两者实现了自动给机器人生成控制逻辑的算法。通过类似神经网络反向梯度的机制,让Lisp自动裁剪程序逻辑提高控制的表现,最后生成一大堆人根本不能读懂的程序,但是可以实现对机器人的控制。即使凯文凯利在他的《失控》一书中深情鼓吹过这种算法的牛逼之处,但是二三十年来,遗传算法并没有成为机器人科研和工业实践中的主流。本质上来说,神经网络只是这种技术的另一种实现形式。