如何评价George Hotz发布的“自动驾驶”模块?
雷锋网按:本文系图森互联CTO侯晓迪书面回复新浪科技驻硅谷记者猫叔约访,猫叔在文章中引用了侯晓迪主要观点。雷锋网 (搜索“雷锋网”公众号关注) 已获原作者授权发布,如需转载请联系授权。
手机破得再溜,也不代表他能做好无人驾驶,就像邓亚萍乒乓球打得再好,也不代表她会做搜索引擎。先按演讲时间顺序过一遍George Hotz在2016年9月13日TechCrunch这场发布会的主要内容。
Mobileye的惊天黑幕
不知道是不是为了博人眼球, George Hotz在一开场就语出惊人地列出了几家“搞笑”无人驾驶公司,首当其冲的就是Mobileye。他这样评价:
Their business model is to work with regulators to lower the safety ratings of cars that do not having Mobileye chip in them.
Mobileye的商业模式,就是通过和立法者同流合污,来降低没安装Mobileye芯片的汽车的安全评级。
谁要是能通过这么奇葩的商业模式,能让一个公司17年不倒闭,反倒有90亿美元的市值,那才是人间奇迹。
而事实上,Mobileye自从2001年第一代芯片以来,他们所提供的辅助驾驶、半自动驾驶系统,一直是世界上你能买到的性能最好的产品,没有之一。
特斯拉的无人驾驶,也正是用的Mobileye家的EQ3解决方案,并且这里有桩轶事,早在2015年底,特斯拉就针对彭博社对的不实报道,写过一篇
打脸文章
以正视听,文章最后一句是这么说的:“
Mobileye的视觉芯片是世界上最好的,正因为如此,我们才选择它。”
然后George Hotz接着语出惊人:
Because Tesla is too innovative and it scared them (Mobileye). After the accidents Mobileye gets scared. They want no part of innovation.
因为特斯拉太有创新精神,吓到Mobileye了。所以出事之后,他们干脆举手投降不再创新了。
这就更是无脑黑了。Tesla和Mobileye的合作是因为合同到期,双方不再续约。
Mobileye 创始人CEO对此曾经表态,Tesla有意无意地让人把辅助驾驶当成自动驾驶来用,这并不是Mobileye的本意,而且现阶段技术确实还做不到自动驾驶,故而不再续约。
但如果从更深层讲,这两家分手其实本来也是必然的。体量如Tesla这样的公司,必定不可能长期通过跟其他公司,而且是当前世界上拥有独一无二技术的公司合作,来构建自己的核心竞(xue)争(tou)力。
999美元自动驾驶
在黑完一众汽车公司之后,George Hotz隆重地从黑口袋里掏出他的驾驶模块:
Comma one – this is all you need to drive a car
逗——自动驾驶,有它就行。
然后淡淡地补了一句
All you need to drive a Honda car with limited self-driving capabilities
有它就能自动驾驶自带车道保持系统的本田轿车。
听到这里我一口老血险些吐到键盘上。作为自动驾驶 人工智能 公司的CTO,我早就围观过本田的车道保持系统(Lane Keeping Assist System, LAKS)。
简单来说,这个系统可以在车速45 miles以上,路面环境清晰的时候,自动开车。
——是的,在车道线弯曲的情况下,还会自动转动方向盘。
——是的,前面车速变慢的时候,还能自动减速。这是本田以及很多其他车厂商自带的另一项叫做Adaptive Cruise Control的功能。
等等这不已经是描述的自动驾驶吗?
但为什么本田从来没有在TechCrunch Disrupt大会上宣称自己能做自动驾驶?因为毕竟作为负责任的汽车大厂,不能赌乘客身家性命做PR。
本田在推这个产品的时候,要求驾驶员必须把手放在方向盘上,而且还老老实实地把自己做不到的场景都列出来了:
-
车道线看不见的时候,LAKS功能不可用;
-
车速低于45英里的时候,LAKS功能不可用;
-
车道弯曲过大的时候,LAKS功能不可用;
-
打转向灯的时候,LAKS功能不可用;
-
踩刹车以后,LAKS功能不可用;
在这么多限制条件下,脸皮稍微薄一点的人,自然不会说自己能做自动驾驶。
事实上,目前除了采用LiDAR的Google和百度,还没有任何人声称基于机器视觉能够实现自动驾驶。
毕竟没实测过的产品(而且也不敢自己测),不知道这五个限制中,他能突破哪几个。但会上他提到一个细节:
Car’s built-in front radar… and one front facing camera, which is the same as what Tesla’s using for autopilot.
(逗一Comma one的输入包括)车内预装的前向雷达,以及单目前向摄像头;配置和Tesla一样。
这也就是说,逗一无法观察到车两侧和后方的任何信息!换句话说,逗一所谓的“自动驾驶”,很可能根本连换道都做不了。
更可怕的是,逗一要安装在后视镜的位置上,也就是说上车以后再想后悔切手动都来不及。
当然George Hotz自己后来也承认,逗一的所谓自动驾驶,还是要人看着的:
You have to pay attention, and you have to be ready to take over it at every moment.
(用逗一的时候)你还是得每时每刻留着神,随时准备切换成手动开车。
那你一开始黑Mobileye黑的那么起劲儿是几个意思?!
大数据和机器学习
再接下来进入技术环节了。主持人先讲fleet learning(通过在同一路线上行驶的历史数据,增强在这段路上自动驾驶的可靠性)。George Hotz不无自豪地点出自己和Mobileye (Tesla) 的区别:
When we ship this our fleet learning will be much much fancier than Tesla’s, because we have all the videos data. Tesla just has Mobileye feature vector and the radar.
等逗一发货以后,我们的道路学习能力就要比特斯拉不知高到哪里去了,因为我们有全部原始视频数据,相比之下Tesla只有Mobileye(算法处理过的)特征向量和雷达数据。
听到这里,我已经不知该做出什么表情了,数据比别人更原始,并不是什么值得炫耀的事情。反倒会带来从传输到存储的各种工程问题。而且最关键的不是数据有多原始,而是算法怎么处理这些数据。
于是接下来,George Hotz这样解释他的算法:
It’s deep learning. It uses the camera to try to predict what a human would do in this situation. And if it predicts something reasonable - it has an internal test for reasonability – it takes that path.
Our car has only 2000 lines of code, but it also has a 5MB model that was learned using machine learning, and you can effectively think of the model as code. This thing was generated with deep learning, which is encoding all of those edge cases in it. The reason that we can do it so quickly is because we have the data. The reason that we can do it with so few lines of code is because that we have such advanced machine learning
这就是深度学习。根据摄像头输入来预测人类驾驶员会对当前场景做出何种动作。如果算法预测出来的动作靠谱(内部有额外检查机制——后文还会提到)就控制汽车执行。
我的模型有2000行代码,还包括一个学出来的5MB模型文件。这个模型你可以理解为它就是代码。它是深度学习学出来的,可以包括各种极端情况。我们之所以只花几个月就做出这个系统,是因为我们有大量数据,我们之所以只写了2000行代码,是因为机器学习非常先进。
讲真,我这辈子见过的所有心安理得地跳过全球公认技术难点,声称自己解决全部问题的,统统都是民科。
George Hotz大概是刚读完《21天实战Caffe》就以为自己已经领悟了深度学习的真谛。但是,这是错觉,这不是科学。
接下来主持人又问起这套系统的安全性,George Hotz很有信心地答道:
First of all, our car has very strict torc limits, on how much it can turn the steering wheel, and how hard one can hit the brakes…
That’s really how we can guarantee safety
我们对算法输出的扭矩有非常严格的限制,不至于猛打方向盘或者急刹车。这样我们才能保证安全。
原来这就是他刚才提的 “额外检查机制internal test for reasonability”。要知道,Tesla自动驾驶至今为止撞的那几次,没有一次是因为你刹车或者转向不够温柔造成的!
据称,他们的训练数据只有30万英里,7900小时。拜托,这点数据在自动驾驶圈子里,提起来就让人不好意思。要知道,Tesla在首撞之前,可是已经安全行驶了1.3亿英里。
George Hotz的驾驶解决方案,不论如何改头换面加上big data, deep learning等热词,其实学术上都早已有定论。近些年人们习惯管这套做法叫 端到端的学习end-to-end learning,更早些还有模仿学习 imitation learning 等其他别名。
这类方法一大局限是,只能应付见过的输入类型。如果在实测的时候,遇到的情况和训练数据差太远,超过模型不变性(invariance)所能容忍的上限,这样的系统分分钟给跪。
就连卷积网络发明人,Facebook AI Research带头人 Yann LeCun杨立昆教授,都点评过这种拿end-to-end learning做自动驾驶的思路:
Training a basic ConvNet to keep you in lane most of the time is fairly simple and straightforward. The problem is to make it work reliably.
The basic technique of training a neural net to keep you in lane was Dean Pomerleau at CMU in the late 1980s, a system called ALVINN. I used imitation learning to train a ConvNet for a self-driving robot called DAVE back in 2003. This work motivated the DARPA LAGR program.
What this guy is doing may be cool, but it isn't particularly innovative.
训练个基础版卷积网络做车道线保持没什么难度,难点在于可靠性。
早在八十年代,卡耐基梅陇大学的Dean Pomerleau就提出了用神经网络做车道线保持的基本模型,叫ALVINN。2003年,我用这种以模仿来学习的方式,拿卷及网络搭出过一个自动行驶机器人DAVE。后来,美国国防部高等研究计划署的LAGR项目就是源自这里。
这哥们儿的工作炫酷有余,创新不足。
试想一个主要在加州采数据的系统,它有见过几次下雨下雪?见过开夜车时候迎面来的远光灯吗?见过兔子、野猪、麋鹿站在路中间吗?见过行人、自行车横穿马路吗?更不要说让只有5MB模型文件的自动驾驶,来见识北京著名地标西直门立交桥了。