马斯克拥有太多光环以至于令人怀疑,甚至一度卷入斯坦福大学学历被质疑官司中,如此一位时刻站在聚光灯面前的人物,自然随时都面临着都被“头条”
“使用激动雷达(Lidar)的都是傻X”2019年4月23日北京时间凌晨2点,特斯拉举办的“AutonomyDay”发布会通过网络直播形式展示其最新进展
围绕着新的自动驾驶(AutoPilot)硬件软件进行了相关技术和实现方法的介绍
马斯克的回答引发了媒体圈或者专业人士的强烈反应,各种类似于“马斯克说用激光雷达的都是傻子”的标题横出,然后围绕着这个“结论式”观点各种混战,一度从技术层面的争论到市井谩骂
马斯克爆出惊人言论其实一点都不令人惊讶,一直被人称为疯子的他,从很早就一直拥有着“语不惊人死不休”的特点,但是此次马斯克到底说了什么话触动到这么多人的神经呢?“Lidarisafool’serrand,”ElonMusksaid.“Anyonerelyingonlidarisdoomed.Doomed![Theyare]expensivesensorsthatareunnecessary.It’slikehavingawholebunchofexpensiveappendixes.Like,oneappendixisbad,wellnowyouhaveawholebunchofthem,it’sridiculous,you’llsee.”第一句话先放在一边,后半段很容易理解,“任何人做(自动驾驶)依赖于激光雷达是注定失败的!激光雷达(对于自动驾驶)是必须的并且非常昂贵,就像是(人类)拥有一堆昂贵的阑尾,你知道的人有一个阑尾就足够糟糕了,假设你拥有一堆阑尾,这太可笑了,你以后会明白的
”稍微能有点理解能力的都能明白后半段话是为了补充说明第一句话,那么具有争议的第一句话到底什么意思呢?“Lidarisafool’serrand”,大多数媒体意译为“傻子才会选择激光雷达”之类的意思,这里我摘取了英英词典的解释
“Ataskthathaslittletonochanceofbeingsuccessfulorbeneficial”一项几乎没什么机会成功或收益的任务
翻译成中文版本就是“竹篮子打水”,如果再结合上述后半段话的补充说明,意思显而易见是马斯克认为,对于自动驾驶领域的未来使用激光雷达是一个错误的选择
而并非具有侮辱或者极强语气的嘲讽,而且马斯克在第三部分的Q&A中再次提到了对激光雷达的看法
“They’reallgonnadumpLidar,that’smyprediction,markmywords.IshouldpointoutthatIdon’tactuallysuperhateLidarorasmuchasmaysound,butatSpaceXtheDragonusesLidartonavigatetothespacestationordock.NotonlySpaceXdevelopeditsownLidarfromscratchtodothatandIspearheadthateffortpersonally,becauseinthatscenarioLidarmakessense.Andincars,it’sfreakingstupid,it’sexpensiveandunnecessaryandasLarrysaidonceyousolvevisionit’sworthless.”自动驾驶领域终将放弃掉(依靠)激光雷达,这是我的预测,记住我这句话
不过我应该指出我其实并非像你们理解的那样讨厌或憎恨激光雷达,相反SpaceX龙火箭是使用激光雷达,才能顺利导航到空间站
而且不仅是SpaceX开发了自己的激光雷达,并且是我辛苦带领团队决定此方向
因为在这个领域使用激光雷达是合情合理的
而对于汽车(自动驾驶),那是极其愚蠢的,没有必要且非常昂贵,正如Larry刚才所讲,一旦实现了我们的神经网络视觉识别,激光雷达将会(对于自动驾驶)毫无价值
读到这里大家起码对于马斯克的“惊人言论”有了自己的理解,而并非被各种“误解”的言论所“操纵”
讲到这里,就不得不认真了解一下此次“AutonomyDay”究竟公布了些什么消息,引起如此大规模的争论
特斯拉FSD芯片特斯拉之前的AP系统使用的芯片,是英伟达(Nvidia)公司的Xavier自动驾驶平台,主要由CPU和GPU和其它部件组成
汽车行驶下,传感器输入的数据相对庞大,如果是使用CPU去处理,那么估计车翻到河里了还没发现前方是河
如果用GPU,的确速度会快很多,但是功耗大,如果续航数因此大幅度降低就失去了商业意义
芯片都有针对的环境拥有的指令算法特征,简而言之,有自己的特长
AI芯片,在图像识别等领域有这独特优势,其计算是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法
而CPU则适合于不同领域的复杂算法,比如计算机服务器领域;GPU虽然也是针对图像渲染的算法,但特性不符合神经网络,倒是挺适合挖矿(斜眼)
所以CPU与GPU不是AI专用芯片,为了实现其所属领域的功能,内部有大量无用(针对神经网络)的逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以造成CPU与GPU并不能达到最优的性价比
举个简单数据对比,IBM的POWER8,最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算
一次最多执行16个操作
这还是理论上,实际使用中是不大可能做到的
那么CPU一秒钟的巅峰计算次数=16X4Gops=64Gops
再来看AI芯片
比如大名鼎鼎的谷歌的TPU1,大约700MHz,有256X256尺寸的脉动阵列,如下图所示
一共256X256=64K个乘加单元,每个单元一次可执行一个乘法和一个加法
那就是128K个操作
(乘法算一个,加法再算一个)所以,TU1一秒钟的巅峰计算次数至少是=128KX700MHz=89600Gops=大约90Tops
对比一下CPU与TPU1,会发现计算能力有几个数量级的差距,这就是为啥说CPU慢
特斯拉苦于在市场上找不到适用于其自动驾驶使用的芯片,所以自己着手研发
此外如果技术核心模块被其它公司(英伟达)所制约,也不符合公司利益,其实如果有关注特斯拉消息,早在2015年就透露出要研发自己芯片的消息
于是团队从2016年2月开始,从FSD芯片的设计到测试再到量产共历经18个月
2017年8月,FSD芯片设计完成2017年12月,第一次试验芯片并成功2018年4月,测试并改进芯片2018年7月,获得量产合格2018年12月,设备装车并测试成功2019年3月,ModelS和ModelX生产线安装FSD芯片2019年4月,Model3生产线安装FSD芯片仅仅3年多一点的时间,特斯拉研发出自己的AI芯片
或许有人会惊讶,一个从未从事芯片开发的公司如何做到的,这就不得不提到两个人,PeteBannon(现任自动驾驶团队负责人)以及JimKeller(前负责人)
JimKeller,处理器界传奇人物,曾效力于DEC、PAsemi(苹果收购以后才得以由能力研发自家处理器A系列)、AMD、苹果等公司,曾参与设计速龙(Athlon)K7处理器和苹果A4/A5/A6处理器,是速龙K8处理器的总架构师,还是制定X86-64指令集者之一
稍微了解一些电脑发展史的应该已经知道这些意味着什么,然而并没有讲完
AMD公司的K12处理器以及现在ZEN架构处理器(Ryzen)的架构主导者也是他
虽然在2018年年中离开了Tesla团队,但随后Keller为特斯拉自动驾驶做出了巨大贡献(马斯克曾公开讲过)
如果仔细查阅Keller的资料会发现,Keller大佬每次在一家公司都会把最重要的架构和布局完成后,就选择离开寻找下一个项目,或许这就是大佬吧
而后接手特斯拉自动驾驶团队的就是PeteBannon,是Keller在PAsemi的同事,被收购后也随之加入了苹果并参与研发了从A5到A9处理器的研发
了解过了两位负责人的经历背景后,先不要惊讶,让我们来具体了解一下特斯拉研制FSD芯片究竟如何
需要补充的一点,芯片的范畴较大,常见的CPU、GPU处理是集成度很高速度较快的芯片,也就是说是属于芯片范畴,特斯拉研发的FSD芯片,是由两套完全一样的的独立系统组成,每个系统的处理器囊括12个A72内核,一个神经网络处理器(NNA——NeuralNetworkAcceleration)和一个GPU组成
毕竟即便是特斯拉要实现的自动驾驶需要AI芯片(NNA)性能处理图像,仍然需要其它处理器配合来处理其余的计算
特斯拉展示了FSD芯片的构架和数据参数,涉及到较为专业的范畴,甚至某位发布会现场的听众笑称听懂了10%,所以就不赘述其技术细节数据,感兴趣自己去了解一下
技术如何实现暂且不理,把重点放在结果上
做一个横向对比,更容易去理解特斯拉的芯片强在哪里
由速度为35GOPS(Giga OperationPerSecond)的CPU处理图像才只能达到1.5帧每秒,对于高速行驶的汽车来说,远远不够
而使用600GOPS的GPU能够处理17帧每秒,虽然有所提高,但仍旧不足以支撑自动驾驶所需要的算力
而特斯拉以速度为72TOPS的神经网络处理器(NNA)处理能够达到2100帧每秒
Bannon给出的FSD所消耗的电能带来的影响,换算成Model3车型75kwh版本,如果全程使用自动驾驶,续航会从原来370miles削减为300miles
而之前使用的英伟达XavierDrive解决方案则是FSD的7倍价格而且耗能较高
特斯拉研发的FSD芯片对比前代产品以及市面上现有的方案,有着运算速度快、功耗控制不错和成本较低等优点
而一直以来存在着许多困难,但是大都集中在前三个环节上
因为控制方面,技术已经积累了很多年,并且已经又很多实现了L2自动驾驶级别的车型,技术相对成熟
而作为车,即便很低的概率,一旦出错,极有可能对人造成致命伤害,无论是道德和法律都是无法接受的事
不同的思路决定了不同的算法工程设计,而第一环节的传感器选择就成了千里之行的第一步抉择
业界普遍的解决方案为激光雷达为主配合其它传感器结合作为输入,例如大名鼎鼎的谷歌公司
有着强大的技术团队支持和资金支持,设备不成问题,算法工程师也不成问题,加上已经积累了近8年的经验,单就2018年无人驾驶测试里程就有130万英里
那为何马斯克要宣称不使用激光雷达呢?一方面是由于技术原因导致制造成本昂贵(甚至比一辆车还贵,Google公司使用的激光雷达降低过成本也要1.2W美金),另一方面由于激光特性,波长比可见光差不多,会被浓雾和雾霾遮挡造成信息不准确,也就是云噪点
马斯克曾在以前解释过为何放弃激光雷达,大致意思为“由于激光雷达的物理特性,会被太多东西干扰,最后需要武装一大堆昂贵设备,使得成本不仅高而且丑陋,最终在竞争中处于劣势
”并且特斯拉并非没有尝试该种方案,美国多处地方网友上传照片拍到特斯拉驮着激光传感器在做测试
马斯克认为的自动驾驶实现逻辑,既然人类依靠双眼就能认知周围环境,并且作出上述三个环节的决策
那么特斯拉电动车配备有8个摄像头、1个前置毫米波雷达,12个超声波传感器,已然能比人类获取的数据要多
问题的根本在哪里,即是人类最引以为傲的大脑处理
软硬结合达到自动驾驶人工智能先听我讲一个故事
当年上学的时候,大部分理工科课程都会出现一个很有意思的现象
初中的时候物理化学等知识,到了高中后,老师会说,你初中老师讲的不对不准确,忘掉那些,让我重新跟你讲
或者说,你曾经学过都是理想条件下的,老师为了方便教学简化了模型,现在我们要加入一个条件
而后当你读到大学时候会发现,原来高中老师跟初中老师是一样的……引申到一个方法论,如果为了更好的理解一个问题,往往屏蔽掉某些因素或者假设某个条件是理想状况,如此一来在已有的知识范畴里,更容易理解学习
回到正题上来,FSD芯片并非想要达到像《人工智能》级别的人工智能,而是拥有自动驾驶所需要的能力
人工智能的发展在近些年已经实现了诸多惊人的成就,例如ALphaGo,并且有一些甚至进入了生活,例如手机上语音助手
那么假设特斯拉FSD芯片已经能在自动驾驶所需范畴内能做到人工智能,让我们试着理解一下特斯拉是如何由此实现自动驾驶
当你被告知这个事物叫苹果,你会将特征信息存储对应苹果(OUTPUTS)
而后如果见到不同颜色不同形状的苹果,或许不会100%确信是苹果,但是经过信息比对,能猜出是苹果的概率很大
再然后,你对此是否为苹果的判断会越来越精准
当然这还是仅仅局限于视觉信息,如果加上触觉、嗅觉等其它信息的参与,其判断结果将更加精准
越来越多的特征信息存储,大脑会不断拥有更多的特征信息来判断,结果一步一步趋近于正确答案
就好像如果你了解某一车型,或许仅仅看到了进气格栅或者倒车镜,就能精准说出型号一样
这是因为你大脑中储存了太多的相关信息,每一个特征都能不断减少答案备选项
根据外形颜色等,你得知是一辆车,进一步的组合信息得出是某一品牌的车,再根据一些特征交叉判断得知是某一型号的车
而判断不仅仅局限于物体,例如看到两个人牵手,基础视觉信息判断出是在牵手,而后根据体型信等息得知两人是异性,那么两人的关系可能是父女、母女、情侣或者其它可能,再之后通过样貌判断得出年龄进一步缩减可能,得出两人关系
又或者当两个人相互拳打脚踢,通过具体的神态或者听到之间对话得知信息,就可以预测出他们一会是去派出所还是去喝酒又或者是分手离婚
也就是说当特征信息输入大脑后,每一个信息判断结果都会有诸多的可能,而通过相互交错影响制约,逐步降低错误结果概率,而在最终待选结果中判断得出可能性最高的,如果通过训练或者教学,得到的答案会越来越接近答案
那么特斯拉是如何通过类似大脑运行逻辑的神经网络实现自动驾驶呢?当影像信息输入后,经过FSD芯片的处理,判断出道路分界线、周围车辆、道路边界以及交通指示牌(灯)等等,对道路走向、移动物体运动轨迹作出预测,从而得出可行使区域
通过初步的学习,得知哪些东西是道路分界线、哪些是路标(什么意思)、哪些是障碍物、哪些是车辆等等,让芯片先初步认知行驶环境
例如上图中由于前车遮挡了分界线延长,芯片如果通过调取特斯拉行驶采集数据,而大量数据都是高速路的特征,则芯片判断道路是直的可能性较大,结果将会惨不忍睹
例如隧道、阴天、道路突然出现的动物等等,都需要让芯片逐步了解并学习其特征
通过生成不同的驾驶环境,让芯片去做决策并从中“学习”
如同是训练飞行员使用的飞行模拟器,但是具有人工智能的神经网络芯片,因为运行速度以及不存在疲惫问题,可以更加快速地模拟学习,不断提高精准度
就像大名鼎鼎的AlphaGo,在经过有限的围棋教学后,模拟自己与自己博弈下棋,模拟出近乎无限种可能的局面,而从中学习“正确”的走法,从而赢得人类
模拟尽管会很高效,但是毕竟是模拟驾驶,并非实际环境,模拟器就算再“完美”,仍与现实世界有差距
驾驶汽车,即便是好的驾驶员有着大量的驾驶经验,仍旧需要“老师傅”的指点教导
特斯拉通过车载传感器采集数据,可以反向学习驾驶员在遇到不同情况下作出的操作,并以此优化自己
再进一步,由于其它汽车的行驶方式不一定按照“标准”执行,特斯通过Shadow模式,作出除了预测其可能的行驶路径,还需要在安全范围内的“试错”,例如当变换道路时,根据后车的车速判断是安全的,芯片不会”毫不犹豫“转向变道,而是在安全的范围内,作出尝试转向决策,此时芯片仍“观察”后车的行驶状态,如果后车突然加速或者发生其它情况导致此次变道会有危险,则放弃变道并且回到原车道
人类依靠双眼获取的图像交叉产生的三维感知,可以判断出距离信息,而即便是某些双眼图像不交叉的动物,依靠产生位移后两个画面交叉感知,得出三维感知,最后判断出距离信息
特斯拉通过8个摄像头的图像交叉分析,以及前置的毫米波雷达信息补充,构件出周围环境的3D模型
加上雷达判断出精准的距离信息,配合图像判断物体整体空间形状,综合在一起,可以对物体有更细致精准的距离判断
马斯克讲到,即便是有人仿制我们的芯片并且反向编译了我们的自动驾驶软件,但是我们有一个巨大的优势
那就是海量的数据来源,每一台特斯拉电动车都能源源不断提供“教材”信息,通过神经网络计算后存储到的数据将是特斯拉最具有竞争力的保证
通过无线传输“学习”数据,所有的数据运算得到的“经验”可以通过OTA不断交流,使得所有的特斯拉车辆能够“三个臭皮匠,顶个诸葛亮”
并且,即便断线,特斯拉也能依靠已经存储的数据,进行安全驾驶,只不过是短暂的停止了“学习”而已
以及如何利用特斯拉电动车开展无人出租车的业务,虽然也颇为令人憧憬,但这里不过多赘述
相信读到这里,也一定与笔者一样,对特斯拉的自动驾驶充满着期待,同样的也会有着诸多的“疑问”和“不相信
让笔者来带领诸位领略一下特斯拉的自动驾驶整个自动驾驶行程是从特斯拉总部出发,在普通道路、高速路以及不同路段自动驾驶并回到原点
除了驾驶员开始执行自动驾驶,之后再无干预过车辆操作
期间有着诸多的细节,但是由于视频本身角度问题,导致中间屏幕图片有些模糊,但仍可以看到需要关注的部分
右侧道路的弯角也展示了出来,并且由于前方有STOP的停车交通指示牌,屏幕中有个红色的停车标识
细致的展示出道路形状和宽度
在看视频的时候我观察到一个细节,系统在过任何一个路况时候,如果有交通灯都会先有一瞬间判断为红灯,之后如果指示灯是绿灯,再跳转显示为绿灯并继续行驶
不知道此举是特斯拉为了安全驾驶,到了路况无论什么灯都稍作减速,待系统判断除了绿灯允许同行外,无障碍物或没有可能出现的障碍物,再继续行驶
亦或是系统的小BUG
视频被加速后展示,全程原时长差不多为十多分钟
虽说有点短,并且整体路况较好,并无特别复杂的情况,但是整个驾驶过程流畅且平稳,特斯拉宣称的诸多功能也在其中细节中展示到了
如果特斯拉能在复杂长途行驶中做到如此级别的自动驾驶,恐怕是一个划时代的里程碑
关于特斯拉与自动驾驶要知道,无论自动驾驶做的多好,其目标只是“高于平均人类驾驶员”的水平
平均事故率可能会减低,但不会完全避免
由于路上驾驶是一个极度复杂的活动,以目前业界的认知水平,是无法把所有的环境特征全部抽象化的,所以神经网络是解决这类问题的唯一选择
而即便特斯拉全部实现了其所讲功能,达到识别了99.9999.......%的行驶路况,仍会出现极小概率的问题,而这就牵扯到了道德问题,究竟是驾驶员负责还是车负责的问题,所以仍旧是一个大众或者社会能否接受实际情况的问题
文章一开头提到的马斯克“惊人”言论只是引发争论的其中一个点,而对于传感器选择、FSD芯片能力、以及相关软件的完善的质疑声也是仍是此起彼伏
由于每个人知识广度深度,以及站定立场角度问题,无论从技术角度怎么去阐释,有人仍会守着自己知识范畴和认知能力,质疑自动驾驶
笔者想说的是,虽然从第一代特斯拉电动车Roadster开始就推迟了交付期,而后诸多承诺都出现跳票的问题
但是马斯克都一个一个将其实现了,2012年发布的特斯拉ModelS的综合能力至今仍没有出现能够超越的对手
比如一个江湖道士,能够嘴里喷火,所以他说这个药包治百病所以相信了买了
又或者是因为这个人长得丑,所以他说的话都不可信
“不因人废言,不因言废人”,无论对于事情还是人,具体事件具体分析,其它只可作为补充判断
也许马斯克不是个非常懂得资本玩法的产品偏执狂,但是SpaceX和特斯拉电动车都带给了世界太多的惊喜和震撼
无论外界争论如何,亦或是最后马斯克能否实现其承诺,起码他指出了一条通往未来的方向
“Ithinkofmyselfmore[like]anengineer,who,inordertoinventthethingsIwanttoinventandcreatethem,thatIhavetodothecompanyaswell.SoI’mmorereluctantlytheCEO.It’snotmypreference,actually.我认为我更像一个工程师
我会去创造我想创造的东西包括公司
我不情愿去当CEO
这真的不是我的喜好