R2-D2(图右)和C3PO(图左)图片来源于网络
说起R2-D2,喜欢星战电影的朋友们一定并不陌生这个圆滚滚的小胖子机器人。别看R2-D2的个子小,它的影响可不小:R2-D2 和它的好哥们儿机器人C3PO 是仅有的两位在七部星战电影都有出镜的角色。
R2-D2凭借着呆萌的造型和在历代星战电影中出彩表现,逐渐成为最受大众欢迎的机器人角色之一,而且它的影响还超出了电影,在2003年更被入选卡耐基梅隆大学主办的机器人名人堂 (Robot Hall of Fame)。
按照星战电影小说里的设定,R2-D2是宇航技工机器人(Astromech Droid),主要功能是为星际飞船做维修保养,同时内置导航系统来存储和计算宇宙超空间跳跃的坐标。
虽然R2-D2的本职工作是做飞船维护,但在电影里的它实际承担了主角身边的万能机器人的任务,萌但不笨,屡建奇功。比如在《星球大战VI:绝地归来》,R2-D2就在救援主角天行者卢克的过程中起了至关重要的作用。
R2-D2 1977年设计原图,图片来源于推特
R2-D2在1977年由特效设计师Tony Dyson创作出来,距今已有将近40年。随着AI相关研发进入日新月异阶段,是时候星战电影里的R2-D2与现实的科技进程做一对比,看看科幻作者的想象力是有多超前……
1. 计算机视觉
R2-D2有一个可以360度旋转的镜头来观察周围的环境和识别身边的人物,具有计算机视觉能力。
计算机视觉是一门研究如何使机器“看”的科学,用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。
如今,人们已掌握部分解决具体计算机视觉任务的方法, 如脸孔、指纹、文字、医学图像等,但是“泛用型”的电脑视觉目前在民用领域还是非常有限。
毕竟,让计算机可以看并不是一个简单的工作,就拿一个最简单识别猫的任务来说,幼儿通过几张照片就可以理解猫是什么,计算机却需要上百万的图片来进行训练才能达到堪比人眼识别的准确率。
不过,计算机的优势在于可以发现图像的细节,找出人眼不易察觉出的区别,比如让计算机区分不同种类的同一科生物(比如猫、鱼),就比人眼识别要精确很多。
目前主要的机器视觉方法还是需要依赖人类的指令来进行监督,计算机科学家需要告诉计算机这些图片上的物体是猫,计算机才能依此来学习猫的特性。
在宇宙中探险的R2-D2,遇到许多奇奇怪怪不同的生物和机器人,有些是前所未见的,因此,它除了要能识别预先训练过的图像或物体,还要有对未见过的物体进行识别和产生概念的能力,而这种能自行学习并产生概念的计算机视觉能力目前依然还是难题。
2012年,Google X实验室由Andrew Ng及Jeff Dean领导的实验小组使用了16000个计算机处理器建构了一个有10亿个节点的虚拟大脑,通过分析1000万帧Youtube上的无标签剪辑图片,自动学习和产生了猫的概念,并从接下来输入的2万张图片的测试中准确识别了猫。
Google虚拟大脑自己构建产生的猫的概念图片,图片来源于Google Blog
总体而言,目前技术还做不到R2-D2那么聪明的如人类般的视觉概念认知能力,也做不到那么小巧(毕竟这需要大量的处理器参与模拟神经网络),要跟上科幻作者的想象力,还有很多困难需要克服。
2. 即时定位与地图构建
即时定位与地图构建(Simultaneous localization and mapping或简称SLAM)是机器人领域的一个难题,主要是指机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如墙角和柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。
电影里的R2-D2虽然内置有一些飞船或星球的地图,但是很多时候它也需要在陌生的环境中学习适应,才能够自由探索和行动,这时候就需要SLAM技术的帮助。
当然R2-D2也有慌不择路的时候……
现在非常普及的家政扫地机器人就是一个非常好的例子,它们就需要解决一个在2D平面的SLAM的问题,在一个室内的空间环境,它们可以探测出地面环境并且工作。
如今,SLAM方法已被应用于广泛无人机、无人车、AR、无人潜艇、行星探测车等多个领域。
Google无人车外部实景和计算机实时生成的外部环境对比
苏黎世理工自动系统实验室无人机在有限辅助监督下生成的3D空间地图
目前火热的AR技术,比如微软的HoloLens、谷歌的Project Tango和Magic Leap,都要用到SLAM方法。只有这样,AR设备才可以通过传感器计算设备自身的精确位置,同时又能将周围的三位空间进行实时重建,从而实现和身边空间的AR互动。
HoloLens使用者在真实空间的AR互动
对比电影里的R2-D2,,我们可以骄傲地说,如今的SLAM技术已经可以基本实现R2-D2在未知空间里探测和移动的功能。
3. 自然语言处理
电影里的R2-D2可以听懂主角们的讲话,但是它自己并不具备说人类语言的能力,而是说一种其他机器人可以理解的语言——一系列滴滴嘟嘟的声音所带代表的机器二维码。
闪闪发亮滴滴嘟嘟的R2-D2在很努力地说话
由于R2-D2最初的设计主要是负责飞船的修复维护,它也主要和其他机器人交互,所以并没有安装人类语言的模块。在电影里,我们看到主角需要用专门的翻译器,或者必须通过能说人类语言的机器人C3PO才可以明白R2-D2在讲什么。
自然语言处理(Natural Language Processing,或简称NLP)是人工智能和语言学领域的分支学科,主要研究计算机如何和人通过自然语言进行交互。在这此领域中的难点,比较主要的有自然语言理解,也就是解决如何让计算机听或读,把自然语言转化为计算机程序更易于处理的形式; 也有自然语言生成,也是如何让计算机说或写,把计算机信息转化为自然语言。
自然语言处理的应用已然深入到了我们平常生活的很多方面,比如文字、语音的多语种机器翻译,文字和语音的相互转换,还有时下非常流行的智能个人助理。
时下大部分的智能个人助理,比如Google Assistant、Amazon的Alexa、Apple的Siri以及微软的小娜,都可以很好地用于解决生活工作中的具体任务,包括管理日历行程、查询天气等等。值得一提的是,微软的小冰似乎走了一个完全不同的独特路径,她更关注于对话和聊天本身,而不是解决任务。相比之下,小冰更像一个情感的伴侣,可以说是诸多智能助理里最像人的智能助理。
笔者和小冰的一段有趣对话
当然目前的智能助理还有不少问题需要解决,比如多人同时对话时如何确认对话对象、聊天时语境的变换等等,还不能完全达到R2-D2那样自如理解主角的语言。不过很多智能助理已经可以“说话”,这一点可以说打败了只能讲机器语言的R2-D2。
随着技术的迭代,加上越来越多的用户参与使用和训练,相信这些智能助理也能越来越人性化,早日实现与科幻电影的机器人一样流畅的对话能力。
奇缘
这篇文章的缘起,是笔者2015年在西雅图华盛顿大学科技政策实验室主办的 WeRobot 会议上旁听了由R2-D2设计者Tony Dyson做的关于机器人的主旨讲话。没想到Tony Dyson先生于2016年初不幸辞世,西雅图的短暂相逢愈发显得珍贵。
在那次讲话里,有现场听众给Tony Dyson老先生提问:“R2-D2最大的心理问题是什么?”
老先生想了想,很爽快地回答说,“应该是拯救了银河系但没有因此被欣赏和承认吧!”
没受到表扬的R2-D2应该会是这个反应吧?
若你也赞许R2-D2为银河系做过的巨大贡献、爱过这个萌且非常努力的小机器人,请留言或点赞,我觉得它那富有想象力的爸爸Tony Dyson先生会感受到的……^_^
(作者毕业于华盛顿大学,现居西雅图。)
你也许还想看:
微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。