爱范儿也懂造无人驾驶汽车?
无人驾驶汽车的原理,某程度上并不太复杂,就找一台车子来改装一下(电动车比较好改一点),加几个传感器,再塞一套开源的自动驾驶计算平台,好,这就搞定了。
好吧,其实我们都是在忽悠大家。老实说:即你有勇气试坐,但我没这个胆子啊。
但有一个天才,敢造,也敢坐。他叫做 George Hotz,人称 Geohot。
Geohot 的“励志”故事
连 Facebook 和 Google 都争相罗致的美国著名天才黑客 Geohot(下图),在破解 iPhone 和 Playstation 后,这回看上了汽车:他只是用了区区3万美元,在车库里把自己的 Acura ILX 改装成自动驾驶汽车,并因此上了各大媒体的头条,引来各界关注。
后来Geohot 创立了自己的无人驾驶汽车公司 Comma.ai,在 Techcrunch 的 Disrupt SF2016大会里,横挑强邻,剑指同样在研发无人驾驶的特斯拉 (Teala) 和 Google,并宣布推出首款自家制自动驾驶产品:Comma One。
但这个“励志”故事的结局,是早前爱范儿报道:NHTSA(美国国家公路和交通安全管理局)要求 Geohot 必须先证明 Comma One 的安全性,但 Geohot 最后没有正面回应 NHTSA,反而决定要停掉 Comma One 项目。他在 Twitter 里抱怨:与其把时间花在与立法机关与律师扯皮,不如去做更好的科技项目。他更补充说:
NHTSA 从来也没向我们要求试驾。
人人都造“自动驾驶汽车”
事实上,除了 Geohot 之外,目前也有很多公司在埋首研发自动驾驶汽车。
传统汽车厂如奔驰 (Mercedes-Benz)、宝马 (BMW)、奥迪 (Audi)、福特 (Ford) 等等,新兴科技公司如 Google、苹果、特斯拉,真是人人要造自动驾驶汽车的大跃进,而且他们也争相承诺在要在5-10年内推出。
就连国内做搜索引擎的、造互联网电视的,也要参与自动驾驶汽车,国内那些期望“弯道超车”的汽车厂商怎能不跟上?。
无论是天才 Geohot 也好、或是国内互联网公司也好,人人都在赶热点,个个会懂造自动驾驶汽车了。
不过,自动驾驶汽车的技术,“原理上”并不是什么黑科技。要知道目前自动驾驶汽车所用的什么超声波传感、GPS 之类的玩意,从来都不是最前沿的新科技;而软件方面?不就是规划路径、自动避障而已?就连今天的无人机或扫地机器人,也能轻松地做到这一点,更不要说是汽车了。
因此,假设大家见到有一天爱范儿突然拿出一台自动驾驶汽车出来显摆,真的不要太惊讶,反正在国内生产电视机的,也要造自动驾驶汽车了。
关键在犯错机率
但如果造自动驾驶汽车真的这么没难度,为什么政府部门煞有介事,老是阻挠科技公司搞自动驾驶汽车?为什么我们到了今天,仍然不能享受自动驾驶汽车的方便?
虽然今天人类生活已大量使用人工智能,但扫地机器人撞到障碍物,可以退后再找路径(下图)。Google 的图像辨识技术错了?不要紧,再辨识一次就好;Siri 的语音辨识不准?再听一次吧。但自动驾驶汽车呢?你试试在时速100公里的速度跑到对面线去?试试把路上的一个障碍物误判为不存在?
试错 (Trial and error) 本来就是训练人工智能的重要方法之一,但自动驾驶汽车却完全不可以试错。
汽车是一台比打扫地器人贵上太多的玩意,而且破坏力也更大:只要出了意外,轻则损失数千元,重则导致人命伤亡。所以由始至终,自动驾驶汽车的关键绝非“能否做到”,而是“能否做好”;目前所用的各种黑科技,大部份都是用来减低犯错机率。
数量大了,困难就来了
问题是:当人类避免不了犯错,更何况是一言不合就挂了的电子设备?事实上,无论是 Geohot 或是 Google 的自动驾驶,也曾犯过若干的小错。Geohot 表示 Comma One v2已有50万英里的行驶样本,而根据 Google 最近的资料,他们的58辆无人驾驶汽车合计跑了223万英里(约338万公里)。
几百万英里才犯点小错,看起来自动驾驶汽车的犯错机会也不太大吧。然而,每年全球汽车的行驶里数,远比我们想像的要高。
根据调查机构 RAND 的数据,全美汽车行驶里数约3兆亿英里(约4.83兆亿公里),我们假设自动驾驶汽车,每跑223万英里就会发生小错,那每年3兆亿英里的话,就是一年之内犯了超过160万次错误。
换言之:巨大的现实交通流量,会把本来很低的犯错机率,无限量的扩大。
数量大了,环境复杂了
当然,160万次错误可能都是小错误,没什么大不了。但当行车里数的进一步增加到3兆亿英里,所遇上的路况可能与223万英里所遇上的,远远更为复杂。
Google 的223万英里行车里程,都是在美国本土进行;但全球各个地区有不同的路况,当中有马路犹如战场的北京、人口密度不高的渥太华、高温多雨的新加坡、或是弯急路窄的四川。当自动驾驶汽车覆盖到更多的地点,就需面对和以往数据完全不同,而且可能是更复杂、更恶劣的路况。
但更麻烦的是当数量多了,个中的变数也同样多了。例如大量的自动驾驶汽车同时行驶,可能互相干扰对方的无线信号,又或是当人类驾驶和自动驾驶两种汽车同时存在,系统如何调适两者的驾驶习惯?
除此之外,由于自动驾驶的车子多了,针对自动驾驶的恶意行为也增加;例如会否人为了贪玩而作出混淆自动驾驶汽车的突发行为?又或是会否出现更多针对自动驾驶汽车的黑客或病毒?
关键是测试数据
故此,在人工智能的世界里,技术、算法虽然重要;但在自动驾驶汽车里,测试数据可能比我们想像中更重要。你没有足够的测试里程,就没有足够的数据;没有足够的数据,即使你请来奥巴马试坐,也不能让人安心。
所以,尽管 Geohot 很不屑地指责 NHTSA 连试驾都不愿,即使 Google 老是说政策如何阻挠自动驾驶,但自动驾驶其中一个主力提倡者,特斯拉的 Elon Musk 也在推特里承认:
没有10亿英里(注:约16亿公里)的数据,就不能称有足够的数据。而且,10亿英里的数据只是“需要条件” (necessarily),而非“充份条件” (sufficient)。
如果说 Geohot 的50万英里不足为道,那 Google 的223万英里又如何?一样远远的不足够。Bloomberg 就狠批 Google 的自动驾驶计划,指他们早就输了。他们转引了摩根士丹利分析师的说法,指 Uber (上图)的自动驾驶汽车计划,能轻松地把 Google 甩出一个世代:
Uber 在24分钟内,就能取得 Google 自动驾驶汽车目前所能累积的数据。当然,它们的数据没有一英里是由完全的自动驾驶所取得,但我们需要理解这个规格的经验能有助人工智能的发展,有助自动驾驶学习和建立地图。
Google 再见,特斯拉你好
无疑,Google 是最早一批力推自动驾驶的科技巨头,但爱范儿就曾指出,传统车厂并不认同 Google 的想法,逼使 Google 只能靠自己单干,导致它们的数据累积速度严重落后。
后来,爱范儿也报道过 Google 自动驾驶汽车包括 Google X 创始人 Sebastian Thrun(下图) 在内的重要成员,也分别陆续离职。接着,Google 自动驾驶项目突然从 Google X 里独立出来。随着 Google 自动驾驶的光环愈来愈淡,这故事愈来愈像先前爱范儿提过的“波士顿动力”出走记。
作为自动驾驶的先驱, Google 在近几年不但被人冷待,原有的光环也开始失色。除了是因为 Uber 能轻松地在数据上辗压 Google 之外,更要命的特斯拉的自动驾驶汽车大量现身,夺去大众和媒体的集点,成为目前自动驾驶汽车领军人物。
为什么特斯拉能成为目前自动驾驶的焦点所在?也是因为 Musk 表示在6个月内,取得 Google 远远追不上的10亿英里数据。而个中的关键,是目前特斯拉每年出货量5万台以上,每辆合计几万英里的行驶里程,短时间就能完成这个庞大的数据收集任务。
虚拟驾驶与实际数据
为什么特斯拉或 Uber 的数据能快速累积?除了是因为特斯拉或 Uber 有大量汽车在外面行走,更重要的是:他们都在用实际的行车环境,来进行虚拟的人工智能训练。
正如刚才引用摩根士丹利的分析师所说:“它们的数据没有一英里是由完全的自动驾驶所取得。”这种说法可能有点夸张,但无疑在 Uber 或特斯拉的各种传感器,会在真人驾驶汽车时时进行收集,而自动驾驶系统就会根据实际的行车状况,进行“模拟自动驾驶”,而不是真正的“自动驾驶”测试。
事实上截至本年10月,特斯拉的“真实自动驾驶”里数只有1.3亿英里(约2.1亿公里),远远不如 Musk 早前夸口的10亿美里。故此,特斯拉的“自动驾驶”测试,仍然惹来巨大的争议。
不过,特斯拉取得的数据虽然并非“自动驾驶”的数据,但仍然是“真实世界“的数据,车子的确能透过这些“真实世界”数据来训练视觉辨识,也能学习人类的实际驾驶习惯。这些实际数据,绝非在实验室模拟所能相提并论。
那为什么特斯拉的“虚拟数据”仍然会带来争议?就是因为“实际世界”的环境,可能远超我们的“虚构”的景像。
当虚拟化为现实?
虽然媒体把特斯拉的自动驾驶汽车吹嘘得天花乱坠,但实际上在早前《消费者报告》最新的汽车可靠性报告里,特斯拉却几乎垫底。即使我们信得过人工智能,但特斯拉的产品真的可靠吗?
在本年6月,特斯拉自动驾驶汽车发生了首次的致命交通意外:由于肇事车子的摄像镜头,无法分辨与天空混在一起的白色货车,使车子直接撞上这台货车而酿成致命意外。
在人类驾驶汽车时所收集“模拟自动驾驶”数据,真的有比较安全吗?
尽管特斯拉强调这是个别例子,但这个例子却能突显了:人类能分辨到、但机器不能分辨的障碍,很可能都没有被数据化,全部变成了“灯下黑”。事实上,爱范儿早前就报道过,而特斯拉最后也为自动硬件进行了升级,相当于间接承认了目前的自动驾驶仍然不够可靠,需要再加入新的硬件作为安全保障。
特斯拉发生第一次致命交通意外后,特斯拉官方博客除了向遇难者致哀之外,仍然为自动驾驶汽车辩护:全球汽车的致命意外是每6000万英里一次,而在美国是每9400万英里一次,而特斯拉的自动驾驶?是1.3亿英里。从这数据看,即使特斯拉的自动驾驶汽车发生严重事故,貌似还是比人类驾驶汽车更安全。
然而,不幸地在本年10月,特斯拉被曝出在美国再次发生致交通意外。
当意外化为意外数字
由于第二次意外发生在特斯拉自动驾驶的2.22亿英里后,所以在这次意外后,特斯拉的自动驾驶致命率,降至为每1.11亿英里一次,仅比美国汽车致命率稍低一点。不过,由于资料显示这次意外涉及偷车罪行,故此能否算是交通意外,仍然甚有争议。
但关键是这种数据争议有意义吗?根据先前引用的 RAND 的数据,全美汽车行驶里数约3兆亿英里,而特斯拉的自动驾驶里数,连全美的0.001% 也不到。由于“取样比例”远远偏低,“特斯拉自动驾驶汽车”的低致命意外机会率神话,其实在统计学上毫无意义。
另外据资料显示,其实在更早之前,特斯拉在中国就发生了一宗致命车祸;但特斯拉指“无法断定邯郸那起事故发生时,自动驾驶系统是否处于激活状态”,而且,这次意外也没有在美国以至全球范围内广泛被注意。在美国范围以外,会否还发生过一些我们所不知道、或是没有被判定作“自动驾驶”的致命意外?
更何况全美、或是全球的汽车意外率,当中各种我们能想像、或不能想像的客观环境:当中可能有保养不良的旧车;也可能有想自杀轻生的司机、或是跑危险路段的职业司机。但特斯拉的自动驾驶呢?所有能跑自动驾驶的特斯拉,就算再不可靠、状态再坏,都是近年出厂的新车;其机件出现严重故障的可能性,理应低于全球汽车水平。
而且,自动驾驶才刚登场不久,不少车主对它仍不太放心;他们未必会在危险路段使用、未必会在繁忙的高速路段上使用、也未必会在雨雪天气上使用;即使车主敢于尝鲜,也可能乖乖的把手放好在方向盘上,避免了意外,也降低了意外率。
简言之,如果大家真的要对特斯拉自动驾驶的意外率认真起来?事实上,目前的特斯拉自动驾驶的意外率,极有可能被严重低估,细思极恐啊。
“自动驾驶”真的比“人类驾驶”更安全?
让我们回到主题:造一台自动驾驶汽车一点也不难,难的是让自动驾驶汽车不犯错。
自动驾驶汽车比较安全的话语,一直建立于科技公司把人类司机描绘为交通意外的“幕后黑手”。但爱范儿早前也说过:“我们不是过度相信人类的能力,而是单纯不信任电脑” ── 关键是其实我们手上与自动驾驶相关的测试数据,其实远远的叫不上足够。
也许,未来的自动驾驶真的比人类远为安全,但在目前的科技水平来说,我们没有足够资料去证明自动驾驶汽车的安全性,更遑论要讨论:在“现有的科技”下,自动驾驶是否真的比人类驾驶更安全?
爱范儿早前就曾分析过,法规发展永远不可能追上科技发展。也许对于一个热爱科技、拥抱未来的极客来说,政府和法规的确在阻挠着科技的发展;但从另一个角度看,我们真的把人类的未来,押注在科技的不确定上?
或者说,押注在爱范儿也能造自动驾驶汽车这个玩笑之上?
在人工智能的范畴,算法很重要;
在人工智能的范畴,计算能力也很重要;
但没有足够测试数据的人工智能,都是耍流氓。
题图来自 Pixabay