9

我看自动驾驶技术

 3 years ago
source link: http://www.yinwang.org/blog-cn/2016/02/12/self-driving-car
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我看自动驾驶技术

这段时间,Google的自动车,Tesla的autopilot,经常出现在新闻头条。人们热烈的讨论自动驾驶技术,对这“科幻般”的技术充满了憧憬,好奇,甚至恐惧。Google说:“自动车很安全。人类是糟糕的驾驶员。” 很多人不假思索就接受了这种观点,以为自己不久以后就会被自动车所代替,所以我今天想谈谈对这些“自动车”的看法。

从我的另一篇文章,你应该已经看到,Tesla的autopilot其实根本不算是“自动驾驶”,它完全不能和Google的自动车相比。Tesla把这种不成熟的软件推送到用户的车里,为的只是跟Google抢风头,塑造自己的高大形象。看,我们先出了自动车!可是呢,Tesla那东西顶多算一个“adaptive cruise control”,离真正的自动驾驶还很遥远。可惜的是,Tesla为了自己的名声,拿用户的性命当儿戏,还有些人为它叫好。

然而就算是Google的自动车,离能够投入使用,其实还差得很远。我这里说的“很远”,不是像某些人预测的10年,20年,而是至少100年,1000年…… 甚至永远无法实现。这是为什么呢?Google不是声称,每天都要让它的自动车“学习”上百万mile的行驶记录吗?难道学习了如此的“大数据”,不能让这车子变得跟人一样聪明吗?

如果你这么想,那你可能根本不了解人工智能(AI)。需要“学习上百万mile”,并不能说明自动车很聪明。恰恰相反,这说明它们很笨。只需要问自己一个问题:一个人要学会开车,需要开多少里程?普通人从完全不会,到能安全上路,一般只需要12节课,每节课1小时。就算这一个小时你都在高速公路上开,也就80 mile的样子。12个小时就960 mile。也就是说,普通人只需要小于1000 mile的驾驶,就能成为比较可靠的司机。

对比一下Google的自动车,它们每天“分析”和“学习”一百万mile的“虚拟里程”,而且经常在外面采集数据,累计上百万的mile。然而这些自动车,仍然只能在白天,天气好的时候,在道路环境非常简单的Mountain View行驶。Mountain View就是一个小镇子,总共就没几条路,路上几乎没有行人。我从未在时速超过50mph的公路上,或者交通复杂的大城市,见到过Google的自动车。

另外据最近的报道,Google的自动车在过去一年时间里,发生了272起需要“人工干预”的错误情况。如果人不及时抢过控制权,不少情况会出现车祸。在如此简单的条件下,还需要如此多的人工干预。如果环境稍微复杂一些,自动车恐怕就完全不知所措了。

这里还有一个“特殊关照”的问题,由于Google的自动车身上有着明显的标志,行人和其它驾驶员看到它,其实都有点提心吊胆的,不敢轻举妄动,怕它犯傻撞了自己,这也变相的降低了自动车的环境复杂度。一旦Google把车身上的标志去掉,大家看不出来谁是自动车,不对它们进行特殊的关照,我行我素,事故率恐怕就上去了。

所以Google的自动车,离能够投入真正的使用,差距还非常远。在这种情况下就妄言“自动车很安全”,“人类是糟糕的驾驶员”,…… 未免也太早了些吧?自动车跟人类差距到底有多远呢?天壤之别。普通人只需要开1000 mile就能学会开车,而这些自动车学习了几百万,几千万,几亿mile,仍然门都没有摸到。这说明自动车跟人类的运动神经,有着根本的区别。

人在运动的时候看见一个物体,他的头脑里会立即闪现与之相应的“概念”,然后很快浮现出这种东西的运动特点,以及相应的对策。相比之下,自动车看到物体,它并不能准确的判断它是什么东西:它是一个车,一个人,一棵树,一个施工路障,一个大坑,还是前面的车掉下来的床垫呢?所以自动车就像一个智障儿童,学了这么久连什么是什么都不知道,却有人指望它们在十年之内能开车穿越美国。

对的,自动车配备了GPS,激光,雷达,…… 它的“感官”接收到很多的数据,有些是人类无法感觉到的。然而自动车的“头脑”(电脑),是没有认知能力的,所以就算收集到了大量的数据,它仍然不知道那东西是什么,它们之间是什么关系。电脑没有这些“常识”,所以它无法为人做出正确的判断。在危急的关头,它很可能会做出危及乘客安全的决定。“认知”是一个根本性的问题,AI领域至今没有解决它,甚至根本没有动手去研究它。

自动车使用的所谓“机器学习”的技术,跟人类的“学习”,完全是两回事。举个例子,一个小孩从来没见过猫,你只需要给她一只猫,告诉他这是“猫咪”。下一次,当她见到不管什么颜色的猫,不管它摆出什么姿势,都知道这是“猫咪”。现在的电脑,认知能力其实比小孩子,甚至其它动物都差很多。你先让电脑分析上百万张猫的照片,各种颜色,各种姿势,各种角度,拿一只猫摆在它的摄像头面前,让它看整整一年…… 最后它仍然不理解猫是什么,不能准确的判断一个东西是否是猫。如果说电脑有智商,那么它的级别就像一个蠕虫,甚至连蠕虫都不如。电脑没有认识和适应环境的能力,所以就算它再用功,“学习”再多的数据,都是白费劲。

很多人听说“人工智能”(AI),或者“机器学习”(machine learning),“深度学习”(deep learning)这类很酷的名词,就想起科幻小说里的智能机器人,就以为科幻就要成为现实。等你真的进入“机器学习”这领域,才发现一堆堆莫名其妙,稀里糊涂的做法,最后其实不怎么管用。这些大口号,包括所谓“深度学习”,其实跟人的思维方式,几乎完全不搭边。所谓“机器学习”,不过是一些普通的统计方法,拟合一些函数参数。吹得神乎其神,倒让统计专业的人士笑话。

人工智能在80年代出现过一次热潮。当时人们乐观的相信,电脑在不久就会拥有人类的智能。日本还号称要动员全国的力量,制造所谓“第五代计算机”,发展智能的编程语言(比如Prolog)。结果最后呢?人们意识到,超越人类(动物)的智能,比他们想象的困难太多太多。浮夸的许诺没能实现,AI领域进入了冬天。最近因为“大数据”,“自动车”和“Internet of Things”等热门话题的出现,“AI热”又死灰复燃。然而当今的AI,其实并没有比80年代的进步很多。人们对于自己的脑子以及感官的工作原理,仍然所知甚少,却盲目的认为那些从统计学偷来的概念,改名换姓叫“机器学习”,就能造出跟自己的头脑媲美的机器。这些人其实大大的低估了自己身体的神奇程度。

视觉和认知能力,是动物(包括人类)特有的,卓越的能力。它们让动物能够准确的感知身边复杂的世界,对此作出适合自己生存的计划。一辆能够穿越整个国家的自动车,它必须适应各种复杂的环境:天气,路况,交通,意外情况…… 所以它需要动物的认知能力。我并不是说机器永远不可能具有这种能力,然而如果你根本不去欣赏,研究和理解这种能力,倒以为所谓“机器学习”就能办到这些事情,张口闭口拿“人类”说事,你又怎么可能用机器实现它呢?我的预测是,直到人类能够完全的理解动物的脑子和感官如何工作,才有可能制造出能够接近人类能力的自动车。

诚然,有少数人开车不小心,甚至酒后驾车,导致了很多的车祸。然而因此就声称“人类是糟糕的驾驶员”,那就是以偏概全了。大部分的人还是遵纪守法,注意安全的。很多人开车几十年,从没出过车祸。另外,我们必须把“态度”和“能力”区分开来看。酒后驾车的人,不是技术不够好,而是态度有问题。电脑当然没有态度问题,然而它的技术确实难以达到人的水平。就算那些酒后驾车的人,他们的能力其实也远远在电脑之上。我无法想象当今的电脑技术,要如何才能超越驾驶技术好的人,以及职业赛车手。

如果你还没明白,也许下面这个图片可以把你拉回到现实世界:

400

一个机器,如何能知道旁边的车上正在发生什么,即将可能发生什么样的危险情况呢?它如何知道,需要赶快避开这辆车呢?它不能。一个没有认知能力的机器,是难以应付复杂多变的现实世界的。

现在人们对于自动车技术的关注,热情,盲目乐观和浮夸,感觉跟文化大革命,“大跃进”年代的思维方式类似。只不过现在“毛泽东”换成了Google或者Tesla,“每亩产量十万”换成了“两年之内自动驾驶穿越美国”…… 我觉得与其瞎折腾自动驾驶技术,不如做点脚踏实地,在短期内能够见效,改善人们生活的东西。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK