【转】我看自动驾驶技术
我看自动驾驶技术
这段时间,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年代的进步很多。人们对于自己的脑子以及感官的工作原理,仍然所知甚少,却盲目的认为那些从统计学偷来的概念,改名换姓叫“机器学习”,就能造出跟自己的头脑媲美的机器。这些人其实大大的低估了自己身体的神奇程度。
视觉和认知能力,是动物(包括人类)特有的,卓越的能力。它们让动物能够准确的感知身边复杂的世界,对此作出适合自己生存的计划。一辆能够穿越整个国家的自动车,它必须适应各种复杂的环境:天气,路况,交通,意外情况…… 所以它需要动物的认知能力。我并不是说机器永远不可能具有这种能力,然而如果你根本不去欣赏,研究和理解这种能力,倒以为所谓“机器学习”就能办到这些事情,张口闭口拿“人类”说事,你又怎么可能用机器实现它呢?我的预测是,直到人类能够完全的理解动物的脑子和感官如何工作,才有可能制造出能够接近人类能力的自动车。
诚然,有少数人开车不小心,甚至酒后驾车,导致了很多的车祸。然而因此就声称“人类是糟糕的驾驶员”,那就是以偏概全了。大部分的人还是遵纪守法,注意安全的。很多人开车几十年,从没出过车祸。另外,我们必须把“态度”和“能力”区分开来看。酒后驾车的人,不是技术不够好,而是态度有问题。电脑当然没有态度问题,然而它的技术确实难以达到人的水平。就算那些酒后驾车的人,他们的能力其实也远远在电脑之上。我无法想象当今的电脑技术,要如何才能超越驾驶技术好的人,以及职业赛车手。
如果你还没明白,也许下面这个图片可以把你拉回到现实世界:
一个机器,如何能知道旁边的车上正在发生什么,即将可能发生什么样的危险情况呢?它如何知道,需要赶快避开这辆车呢?它不能。一个没有认知能力的机器,是难以应付复杂多变的现实世界的。
现在人们对于自动车技术的关注,热情,盲目乐观和浮夸,感觉跟文化大革命,“大跃进”年代的思维方式类似。只不过现在“毛主席”换成了Google或者Tesla,“每亩产量十万”换成了“两年之内自动驾驶穿越美国”…… 我觉得与其瞎折腾自动驾驶技术,不如做点脚踏实地,在短期内能够见效,改善人们生活的东西。