为什么猎鹰 9 号飞上了天,而特斯拉自动驾驶还是事故不断?——谈谈冗余
The following article is from 坚持装深刻 Author 周伯通
最近有两则和马斯克相关的大新闻。一则是一辆特斯拉Model 3在台湾的高速公路上行驶,直接撞上了一辆侧翻在路上的货车。特斯拉车主声称在事故发生前开启了自动驾驶功能,当他看到前方白色货车时,以为车辆遇到障碍物会“自己停下来”,但车辆并没有停,想刹车已经来不及了。
这至少是特斯拉第五次关于自动驾驶的事故了。2016年,在美国佛罗里达州,同样开启自动驾驶模式的Model S撞了一辆正在过马路的白色拖挂卡车,造成驾驶员死亡,这也成为特斯拉自动驾驶造成死亡的首个案例。
另一则消息是SpaceX完成了一次发射任务,成功利用其龙飞船(Crew Dragon)将两名NASA宇航员送入太空,并成功与国际空间站完成对接,并将本次任务使用的猎鹰 9 号火箭的全新助推器成功回收。
问题是:
为啥都能用猎鹰 9 号运载火箭安全地把人送上太空的马斯克,为什么做不到高速公路上100%安全的自动驾驶?
一个最根本的原因是:猎鹰9号上的冗余设计远高于特斯拉汽车。猎鹰 9 号运载火箭有 9 台发动机,但实际上它只需要7台发动机就能完成飞行任务,而2台发动机同时失效的可能性几乎为零。猎鹰 9 号带了 5 台计算机,其中4 个计算机使用同样的软件,各自独立计算,再根据少数服从多数的原则,确保获得正确答案。万一软件同时出错死机,第五台计算机的独立软件就可以发挥作用。
而特斯拉汽车自动驾驶的冗余度就没有那么高。特斯拉自动驾驶的标配硬件是:8 个摄像头+1个毫米波雷达+12个超声波传感器。这种配置以视觉为主,主要靠摄像头“看”,毫米波雷达和传感器只是辅助作用,覆盖的面积有限。所以,在遇到与背景难以分辨的颜色,例如高速公路上的白色物体时,摄像头就有可能产生误判。
业内当然有更稳妥的解决方案,比如Waymo就采用了5个激光雷达+1个摄像头+4个毫米波雷达的方案,又“看”又“听”,增加了安全冗余。量产的奥迪A8也采用了又“看”又“听”的方案,但与特斯拉相比,系统价格要昂贵很多。
为什么同为马斯克的企业,采用的却是不同的安全冗余?大概有以下几方面原因:
首先,航天飞行系统的复杂度要远高于目前特斯拉的L3级自动驾驶系统。越是复杂的系统,出错的可能性更大,需要更多的冗余。安全冗余做得更多的是NASA,总体计算,同样是把载人飞船发射到空间站,SpaceX 报价只要 1 亿 3300 万美元,NASA则需要 4 亿 5000 万美元,SpaceX等于是一下子省掉了 2/3,而马斯克整天想的是要把登陆火星的火箭价格降低十倍。
其次,出错的代价更大。猎鹰9号载人航天的意义重大,这是美国自2011年航天飞机退役以来,不再依赖俄罗斯而是用民营火箭来接送美国宇航员往返空间站。这次发射备受瞩目,连特朗普在焦头烂额中都来蹭热点。如果这次发射失败或者像挑战者号那样在众目睽睽之下爆炸,将对马斯克以及整个美国航天业产生重大打击。
当然,特斯拉的自动驾驶技术爆出的安全事故同样抓人眼球,但他早就把用户说明书中的自动驾驶功能的表述改为了辅助驾驶,将责任转给了用户。而且,特斯拉是最早上自动驾驶系统的,马斯克又自带“创新”第一人的光环,大家对特斯拉的自动驾驶系统出事故的容忍度相对要高很多。这也是为什么传统车企不敢降低冗余推低成本自动驾驶系统的原因。
再者,猎鹰9号重新定义了火箭设计,所有的9台发动机的一模一样,里面的软硬件系统也是尽量采用商业化产品,所以冗余的成本很低。而特斯拉的自动驾驶系统却是量产的,如果采用Waymo的方案,一套系统的价格要贵几十万。一辆车贵几十万的成本会让产品竞争力急剧下降,相比较而言,降低一定的安全冗余,只要事故发生率控制在一定范围内,低成本的自动驾驶解决方案对特斯拉反而是优选。
系统的冗余
冗余无处不在。越是对安全性要求高、出错代价大的系统,就需要越多的冗余度。比如说航空领域也充满冗余。开飞机的驾驶员有两个,引擎至少双发,飞机的操作系统至少两套。飞机的限定的最高和最低飞行速度、起飞和着陆时的最大重量、最大允许飞行高度、最大俯仰角和仰角等参数都有严格的规定,而实际飞机设计可达的参数要远高于限定值,保证了充分的冗余。
对汽车而言,我们看到运货的重卡载重的后轮胎任意一个轴承上的一边至少有两个轮胎,其实仅需要一个轮胎,另外一个轮胎就是冗余备份。一般普通家用车的设计时速可以达到甚至超过200千米每小时,而实际我们知道上高速时速却不超过120千米每小时。这多出来的部分就是冗余,车跑在限速的高速上就好像让刘翔参加中学生体育达标测试一样轻松。
除了航天航空和汽车系统,信息系统也有很多冗余设计。首先,根据香农的信息论,所谓有效信息,就是看它克服了多少不确定性。信息不是越简短越好,因为信息在传输过程中会有噪音和误差,所以,必须利用信息的冗余度,克服误差。举一个例子,根据国标,银行的账号由13-19位数字表示,而卡号最后一位数字,根据校验位前的数字根据一个标准的计算模型计算得到。所以,即使如果你账号中间输错了1位,系统会自动识别无效的账号。而信用卡有三位校验码,安全性就更高了。这种技术也广泛被应用在各种格式的电子数据传输中。
除了软件,IT系统的硬件冗余也很重要,为什么阿里巴巴热衷于搞双十一?其中一个原因也是对内服务器做压力测试,看看冗余是否足够。除此之外,重要的数据要做灾备,像银行、政府部门、军事单位往往会在几个不同的城市做灾备,而且具备出现问题快速切换的能力。
国家层面的系统设计,冗余更是必不可少。上世纪60年代中期,在当时冷战的国际背景下,为防止以东部沿海城市和地区为主的工业设施在或有的战争中毁于一旦,在我国的大西南、大西北广泛开展了以基础工业、国防科工和交通设施为主的大规模经济建设活动。
此外,国家对石油、粮食、军火以及医疗物资等都会做一定的储备以防万一。这次疫情对于各国的医疗物资的冗余度就是一个极大的考验。同在欧洲,德国是欧洲拥有最多医疗床位的国家之一,尤其是重症床位。德国每10万居民中有29.2张重症监护病床,意大利12.5张、法国11.6张,西班牙9.7张,尽管中国只有3.6张,但我们平时也没感觉在中国ICU该进进不了的情况。但在发生重大灾难时,德国高冗余度的ICU数量在这次疫情期间发挥了重要的作用。这也证明中国不可能采取群体免疫的政策,只有采取就地按住,再把所有冗余资源送到湖北的政策才能减少影响,这种策略被证明是正确的。
组织的冗余
对于一个组织而言,保持冗余度是组织,特别是复杂度高的大组织发展的前提条件。腾讯内部一直有赛马机制,当时在腾讯内部至少有三个团队在同时做类似微信这个产品,最后是作为冗余备份不被看好的张小龙团队杀出重围,用《腾讯传》里面的话说就是“偏居广州的张小龙团队一直游离在边缘地带,如同一把锈迹斑斑的宝剑。” 国外的很多企业都会做接班人计划,国内的企业会做后备干部库,找一群人投入资源来培养,最后只有一个人胜出,但冗余的人力资源投入保证了组织的弹性和活力。
很多大企业采用矩阵式的管理。在横向的职能部门之外,再设立垂直的业务部门。这冗余的设计在管理上必然会造成大企业病、多头领导等问题,但为什么很多大企业不得不采用呢?因为大企业从上往下的节点太多,管理幅度太大,一个复杂组织通过纵横两条线的管理确保重要信息能够穿透级别,确保信息畅通;同时纵横两条线也形成互相制约关系,减少错误发生。对于大组织而言,保持队形最重要。任正非说:矩阵式管理结构,是公司的唯一出路,公司所有的制度都应有强化矩阵结构的思想。
当然,现代新型管理理论对于矩阵制有很多挑战。但本质上减少冗余度的前提是压缩层级,减少信息传递节点,简化系统。否则,老板的一句话,从上到下传五遍,copy一定走样。
生活中的冗余
但除了这些新玩意儿和大玩意儿需要冗余,我们生活中也处处充满冗余。明天孩子要参加考试了,多准备两支笔,一块橡皮,但最冗余的是我们对孩子的叮嘱。很多家长送到考场,还反复再说:“仔细一点,时间多要检查检查呀!”这些废话毫无信息量,但有时是有用的。
我们日常会话,碰到重要的信息要反复强调,换着法儿说,确认受者听懂并理解你的意思。比如,我们这篇文章里就会出现很多例子、很多角度,其实传达的只有一个信息,冗余的重要性。领导开会作报告,可能10分钟只讲了一个信息,但这个信息如此重要,以至于哪怕你刷手机刷了10分钟也不会忽视。冗余度越高,实际上表明这事情越重要。
中文是简洁的语言,往往一本小说中译本的厚度只有英语原版的一半厚度。曾有人拿《史记》和《圣经》做对比,用同样的编码进行压缩,中文和英文的压缩比均为1.8:1左右。这个现象其实不难理解,英语的词汇更为丰富,中文与英语相比去掉了动词的各种时态、性别、单复数和语气等信息,而更为严谨的法语和德语,还有名词的阴阳性信息,格位信息。
冗余信息多了,篇幅自然会长一些,但重要信息不易丢失。这就是为什么联合国重要的法律文书还是必须用英语和法语撰写,如果仅仅用中文书写,产生歧义的可能性更大。举个例子来说,中国人的12生肖翻译成英语就变得五花八门,今年是鼠年,那到底是mouse还是rat?明年是牛年到底是cow还是bull或是ox?羊年是sheep还是goat还是lamb?简洁的代价就是可能减损了信息。我们读法律合同,特别是英语的法律合同,往往是一个意思用不同的词汇和语句反复表达,目的也是减少任何可能的不确定性。
当然白话文和古文相比,已经大幅度提升了冗余度。通过啰嗦一点表达准确的含义,有利于工业化的大规模协作。而且,随着印刷术的普及,篇幅增加的成本远不及信息误差带来的损失,所以,在20世纪初的白话文运动恰逢其时。当然,我们接受白话文,必然的代价是损失了“凄凄惨惨切切”的古文给我们带来的朦胧诗意。
总结一下,今天的主要观点是:如果一个事情足够重要或者足够复杂,那就要投入比必要更多的冗余资源参与其中。
记住这个观点,今天所有的其他内容都是冗余。
作者介绍
周伯通,国内A股市场最大的汽车上市公司的总法。在日常繁忙的工作之余,他会坚持写一些“装作”深刻的东西,他说,装着装着,就说不定真的深刻了。他的目标是成为一个 “有好看皮囊的有趣灵魂”。