作者 / 周彥武(業(yè)內(nèi)資深專家)
編輯 / 極客之心101
以特斯拉為代表的單目和三目系統(tǒng),對(duì)深度學(xué)習(xí)高度依賴。
在深度學(xué)習(xí)視覺感知中,目標(biāo)分類與探測(detection) 是一體的,無法分割。
這就意味著,如果自動(dòng)駕駛系統(tǒng)無法將目標(biāo)進(jìn)行分類,也就無法進(jìn)行探測識(shí)別。這帶來的結(jié)果是,車輛在行駛過程中,遇到前方有障礙物時(shí)候,會(huì)識(shí)別為無障礙物,進(jìn)而不減速直接撞上去。
訓(xùn)練數(shù)據(jù)集無法完全覆蓋真實(shí)世界的全部目標(biāo),能覆蓋 10% 都已經(jīng)十分了不起了,更何況真實(shí)世界每時(shí)每刻都在產(chǎn)生著新的不規(guī)則目標(biāo)。
特斯拉多次事故都是如此,比如在中國兩次在高速公路上追尾掃地車(第一次致人死亡),在美國多次追尾消防車。還有無法識(shí)別車輛側(cè)面(大部分?jǐn)?shù)據(jù)集都只采集車輛尾部圖像沒有車輛側(cè)面圖像)以及無法識(shí)別比較小的目標(biāo)。
毫米波雷達(dá)容易誤判,特別是靜止目標(biāo),如金屬井蓋,金屬天橋,金屬護(hù)欄,因此毫米波雷達(dá)會(huì)自動(dòng)過濾到靜止目標(biāo)。
此時(shí),自動(dòng)駕駛系統(tǒng)需要雙目或激光雷達(dá),這兩類傳感器都無需分類即可探測。
那么特斯拉為何不用激光雷達(dá)?真的如馬斯克所言「激光雷達(dá)價(jià)格昂貴,丑陋且不必要」嗎?背后的真正原因是什么?
01、從激光雷達(dá)算法說開去
目前,主流的激光雷達(dá)算法也是基于深度學(xué)習(xí),深度學(xué)習(xí)視覺遇到的問題,激光雷達(dá)也可能會(huì)遇到。
盤點(diǎn)一下,主流的激光雷達(dá)算法經(jīng)歷了三個(gè)階段:
第一階段是 PointNet
第二階段是 Voxel
第三階段是 PointPillar
PointNet 是斯垣福大學(xué)在 2016 年提出的一種點(diǎn)云分類/分割深度學(xué)習(xí)框架,是開天辟地的點(diǎn)云深度學(xué)習(xí)框架。
眾所周知,點(diǎn)云在分類或分割時(shí)存在空間關(guān)系不規(guī)則的特點(diǎn),因此不能直接將已有的圖像分類分割框架套用到點(diǎn)云上,也因此在點(diǎn)云領(lǐng)域產(chǎn)生了許多基于將點(diǎn)云體素化(格網(wǎng)化)的深度學(xué)習(xí)框架,取得了很好的效果。
但是,將點(diǎn)云體素化勢必會(huì)改變點(diǎn)云數(shù)據(jù)的原始特征,造成不必要的數(shù)據(jù)損失,并且額外增加了工作量,而 PointNet 采用了原始點(diǎn)云的輸入方式,最大限度地保留了點(diǎn)云的空間特征,并在最終的測試中取得了很好的效果。
有多好呢?
在 KITTI 三維目標(biāo)檢測中,F(xiàn)-PointNet 排名第一,這比激光雷達(dá)與攝像頭融合的 MV3D 還要好。
PointNet 架構(gòu)
2017 年,斯坦福大學(xué)對(duì)此做了改進(jìn),提出 PointNet++架構(gòu)。
首先,PointNet 是逐點(diǎn) point-wise MLP,僅僅是對(duì)每個(gè)點(diǎn)表征,對(duì)局部結(jié)構(gòu)信息整合能力太弱 --> PointNet++的改進(jìn):采樣(sampling)和分組整合( grouping )局部鄰域。
其次,全局特征(Global Feature)直接由最大池化(Max Pooling)獲得,無論是對(duì)分類還是對(duì)分割任務(wù),都會(huì)造成巨大的信息損失 --> PointNet++的改進(jìn):
分級(jí)特征學(xué)習(xí)框架(hierarchical feature learning framework),通過多個(gè)抽樣化( set abstraction )逐級(jí)降采樣,獲得不同規(guī)模不同層次的局部到全局的特征。
最后,分割任務(wù)的全局特征是直接復(fù)制與本地特征拼接,生成 discriminative feature 能力有限 --> PointNet++的改進(jìn):
分割任務(wù)設(shè)計(jì)了編解碼 encoder-decoder 結(jié)構(gòu),先降采樣再上采樣,使用跳過連接 skip connection 將對(duì)應(yīng)層的 local-global feature 拼接。
PointNet++結(jié)構(gòu)
但是 PointNet 的缺點(diǎn)是不是端到端的處理方式,處理點(diǎn)云需要大量手工作業(yè),于是 VoxelNet 出現(xiàn)了。
2017年,蘋果推出基于點(diǎn)云的 3D 物體檢測論文《VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection》:
將三維點(diǎn)云劃分為一定數(shù)量的 Voxel,經(jīng)過點(diǎn)的隨機(jī)采樣以及歸一化后,對(duì)每一個(gè)非空 Voxel 使用若干個(gè) VFE(Voxel Feature Encoding) 層進(jìn)行局部特征提取,得到 Voxel-wise Feature,然后經(jīng)過 3D Convolutional Middle Layers 進(jìn)一步抽象特征(增大感受野并學(xué)習(xí)幾何空間表示),最后使用 RPN(Region Proposal Network) 對(duì)物體進(jìn)行分類檢測與位置回歸。
Voxel 架構(gòu)
Voxel 的缺點(diǎn)是對(duì) GPU 要求太高,太慢,用3080 這樣的 GPU 幀率不到 5Hz。
于是終極算法登場,這就是PointPillar,幀率達(dá)到 105Hz。
在 VoxelNet 當(dāng)中,會(huì)將所有的點(diǎn)云切割成一個(gè)一個(gè) Grid,我們稱之稱為 Voxel。
PointPillar 也是這樣的操作原理,但是在 z 軸上它不進(jìn)行切割,相當(dāng)于精簡版本的 Voxel,也可以看成 z 軸上的 Voxel 合成一個(gè) Pillar。
這是由知名的零部件供應(yīng)商安波福提出的算法,是國內(nèi)車廠用的最多的算法,也是最貼近實(shí)戰(zhàn)的算法,而不是試驗(yàn)室產(chǎn)品。
PointPillar 少了 Z 軸切割,而是使用 2D 骨干,這導(dǎo)致其精度下降,性能相較于純 2D 的視覺,提升并不明顯,特斯拉不用激光雷達(dá)很正常,而不依賴深度學(xué)習(xí)的具備可解釋性的激光雷達(dá)算法目前還未見到。
博世、奔馳和豐田目前正在研究,這會(huì)是一個(gè)漫長的過程。
02、自動(dòng)駕駛的關(guān)鍵問題:過于依賴深度神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)有多好用呢?
不到半年,一個(gè)普通大學(xué)生就可以熟練調(diào)參了,幾乎沒有人研究激光雷達(dá)的傳統(tǒng)算法。
目前自動(dòng)駕駛最關(guān)鍵的問題是,過于依賴不具備解釋性的深度學(xué)習(xí)或者說深度神經(jīng)網(wǎng)絡(luò),這點(diǎn)可能導(dǎo)致自動(dòng)駕駛永遠(yuǎn)無法實(shí)現(xiàn)。
在沒有高浮點(diǎn)算力的 GPU 出現(xiàn)之前,神經(jīng)網(wǎng)絡(luò)或者說深度學(xué)習(xí)可以說完全被否定,英偉達(dá)憑一己之力撐起了半邊天。
如今 AI 是最熱門的話題,最熱門的學(xué)習(xí)方向和就業(yè)崗位,如今神經(jīng)網(wǎng)絡(luò)已經(jīng)是 AI 的全部。
實(shí)際上,當(dāng)年加州大學(xué)伯克利分校計(jì)算機(jī)科學(xué)家,人類兼容人工智能中心(CHAI)主任斯圖爾特·羅素(Stuart Russell)所著作的《人工智能:一種現(xiàn)代的方法》(Artificial Intelligence: A Modern Approach)一書,也只有 4 頁左右的內(nèi)容提到神經(jīng)網(wǎng)絡(luò)。
然而對(duì)于自動(dòng)駕駛系統(tǒng)而言,需要一個(gè)可解釋性。
可解釋性,是指人(包括機(jī)器學(xué)習(xí)中的非專家)能夠理解模型在其決策過程中所做出的選擇(怎么決策,為什么決策和決策了什么)。
因?yàn)樗桶踩珡?qiáng)關(guān)聯(lián),只有具備可解釋性才能保證安全性不斷提高,如果出了事故找不到人類思維可以理解的原因,那自然就無法解決事故,類似的事故還會(huì)發(fā)生。
而神經(jīng)網(wǎng)絡(luò)或者說現(xiàn)在的人工智能最缺的就是可解釋性。
深度神經(jīng)網(wǎng)絡(luò)缺乏歸納偏置(Inductive bias),它對(duì)未知情況的預(yù)測很不確定也不好解釋,這導(dǎo)致了使用深度模型時(shí)的「黑盒」困擾。
如果是線性回歸做擬合,我們可以觀測其 Y 值與以 X 向量為參數(shù)的線性函數(shù)。
如果是 Logistic 回歸,我們可以觀察其超平面對(duì)正負(fù)樣本的切分情況。
這些歸納偏置都可以證實(shí)(justify)模型的預(yù)測。
而深度神經(jīng)網(wǎng)絡(luò)只能表明 Y 是 X 向量的某種非線性函數(shù),該函數(shù)與數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、歸一化等各種在訓(xùn)練過程中加入的約束條件有關(guān),這導(dǎo)致在實(shí)際使用中無法證實(shí)預(yù)測結(jié)果的有效性。
簡單地說,就是特斯拉搞了個(gè)算法,它無法預(yù)測在某個(gè)環(huán)境下識(shí)別目標(biāo)的準(zhǔn)確度,完全是聽天由命,為什么在某個(gè)場景下能識(shí)別,換了一個(gè)場景就無法識(shí)別,無法解釋。
康奈爾大學(xué)發(fā)布的這篇論文:《Practical Black-Box Attacks against Machine Learning》(https://arxiv.org/abs/1602.02697v4),提出了一種解決機(jī)器學(xué)習(xí)模型黑盒對(duì)抗攻擊問題的新思路。
在計(jì)算機(jī)視覺領(lǐng)域,對(duì)抗攻擊(adversarial attack)旨在通過向圖片中添加人眼無法感知的噪音以欺騙諸如圖像分類、目標(biāo)識(shí)別等機(jī)器學(xué)習(xí)模型。
如下圖所示,輸入原圖像,圖像分類器給出的結(jié)果為「是熊貓的概率為 57.7%」,而在給原圖像加上一段噪音后,結(jié)果變成了「是長臂猿的概率為 99.3%」。
對(duì)于人類來說,這兩張圖片幾乎是一模一樣的。
但在人類看來,這兩張圖幾乎沒有任何區(qū)別。
這是人為設(shè)計(jì)的噪音,而智能駕駛領(lǐng)域噪音再是非人為產(chǎn)生的,比如下雨天的雨滴,渣土車的灰塵,嚴(yán)重的霧霾,林蔭大道的樹蔭,突然飛入的大量的麻雀等等。
除非我們真的能打開深度神經(jīng)網(wǎng)絡(luò)黑盒,不然其中的安全隱患是永遠(yuǎn)無法消除的。
03、深度神經(jīng)網(wǎng)絡(luò)的「不可解釋性」將給自動(dòng)駕駛帶來哪些難題?
由于神經(jīng)網(wǎng)絡(luò)本身不可解釋,那么一些用于攻擊或防御的算法也很有可能無法用數(shù)學(xué)去解釋其原理,例如對(duì)抗樣本的遷移性。
類似的例子還體現(xiàn)在神經(jīng)網(wǎng)絡(luò)的泛化、優(yōu)化上。
在圖像分類方面,深度神經(jīng)網(wǎng)絡(luò)效果確實(shí)比手工模型要好,以至于如今帶火了整個(gè) AI 領(lǐng)域,肯定是因?yàn)槠湓谀硞€(gè)角度觸碰到了真理,但我們既不知道是哪個(gè)角度,更不知道真理是什么。
不可解釋性,導(dǎo)致人和機(jī)器之間沒有辦法協(xié)同。
任何兩個(gè)主體之間要想?yún)f(xié)同,必須具備所謂的共同語言。如果機(jī)器的輸出人不懂,人的輸出機(jī)器不懂,導(dǎo)致人和機(jī)只能取其一,導(dǎo)致「1+1=1」,要么就全信機(jī)器,要么就全不信。
在很多風(fēng)險(xiǎn)敏感型的領(lǐng)域,醫(yī)療、軍事、金融、工業(yè),人不可能完全信賴一個(gè)機(jī)器的決策。
這種情況下,如果無法理解機(jī)器的輸出,就會(huì)導(dǎo)致沒有辦法在這樣的風(fēng)險(xiǎn)敏感型領(lǐng)域放心應(yīng)用這樣的技術(shù)和系統(tǒng)。
不可解釋性,導(dǎo)致無法復(fù)現(xiàn)事故或錯(cuò)誤。
當(dāng)前主流人工智能方法都有一個(gè)基本的統(tǒng)計(jì)學(xué)上的假設(shè)——「獨(dú)立同分布」,即我們所訓(xùn)練的模型和所測試的模型要求是一個(gè)分布。
換句話說,就是要求測試模型的數(shù)據(jù)和訓(xùn)練模型的數(shù)據(jù)「長得像」,只有在長得像的情況下,我們現(xiàn)在這個(gè)模型的性能才是有保障的。
如果測試這個(gè)模型的數(shù)據(jù)分布和訓(xùn)練分布存在偏差,從理論和實(shí)際角度來講,這個(gè)模型的性能不穩(wěn)定且沒有保障。
在實(shí)際的應(yīng)用過程中,其實(shí)很難保證一個(gè)模型的測試分布和訓(xùn)練分布是一致的。
比如自動(dòng)駕駛,我們?cè)陂_發(fā)自動(dòng)駕駛汽車視覺模塊的時(shí)候會(huì)采集很多特征來訓(xùn)練這樣的視覺模塊,訓(xùn)練出來以后,再在特定的訓(xùn)練數(shù)據(jù)分布下訓(xùn)練該模塊。
當(dāng)實(shí)際產(chǎn)品上線后,沒有辦法保證司機(jī)會(huì)將該汽車駕駛到什么樣的城市,以及這個(gè)城市的分布和訓(xùn)練數(shù)據(jù)分布是否大體一致——就像現(xiàn)在衡量算法都是去 KITTI 打榜,這樣的成績實(shí)際毫無意義。
說個(gè)有趣的例子,SpamAssassin 是一個(gè)垃圾郵件檢測的開源項(xiàng)目,它在歷史上出現(xiàn)過一個(gè)神奇的 bug,會(huì)把所有 2010 年之后的郵件全部判別為垃圾郵件。
因?yàn)樵诶]件這種強(qiáng)對(duì)抗場景里攻擊方總在變換不同花樣,它的 Bayesian 判別器按照年份調(diào)整了每個(gè)特征的權(quán)重,這本是一個(gè)合理的做法,但是訓(xùn)練集里沒有 2010 年之后的數(shù)據(jù),該判別器就本著寧可錯(cuò)殺也不放過的偏置將所有未知的郵件全部判斷為垃圾郵件。
當(dāng)然,SpamAssassin 的模型偏置提供了方便理解的證實(shí)預(yù)測的理由,這個(gè)問題很快就被找到并修復(fù)。
究其原因,由于是貝葉斯網(wǎng)絡(luò),是具備可解釋性的,所以問題最終還是解決了,但深度神經(jīng)網(wǎng)絡(luò)可不具備可解釋性,它可能在某一個(gè)領(lǐng)域持續(xù)犯錯(cuò),但卻無法修正,也就是說它無法迭代。
舉例來說,無論特斯拉的 FSD 進(jìn)化到哪個(gè)版本,它高度依賴深度神經(jīng)網(wǎng)絡(luò),它可能跟最初版本沒有任何提高,也就沒必要進(jìn)行 OTA 了。
不可解釋性意味著其安全邊界無法界定。
這不僅是說完全自動(dòng)駕駛的 L5 不可能實(shí)現(xiàn),局限在某個(gè)區(qū)域或某個(gè)限制條件下的自動(dòng)駕駛 L4 也無法實(shí)現(xiàn)。
道理很簡單,你不知道系統(tǒng)究竟在哪個(gè)范圍內(nèi)是安全的,這個(gè)限制區(qū)域或限制條件是無法界定的。
不可解釋性,導(dǎo)致自動(dòng)駕駛對(duì)算力無止境的追求。
地圖四色定理的證明,數(shù)學(xué)家將平面圖的構(gòu)型分成 1936 種,然后用計(jì)算機(jī)逐一驗(yàn)證。當(dāng)然在足夠的算力下,這可以證明地圖四色定理。
但是在這個(gè)過程中:沒有新穎理論提出。換言之,機(jī)械蠻力代替了幾何直覺。
神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)也是如此,一切都是靠蠻力。
幾千萬甚至上億參數(shù),通過調(diào)整參數(shù)擬合輸入與輸出。目前所有的機(jī)器學(xué)習(xí)都是這樣。
但人類不是如此,計(jì)算機(jī)圖像識(shí)別里圖像會(huì)被分成像素,而人類的視覺里沒有像素概念,而是整體概念,比如一個(gè)蘋果,計(jì)算機(jī)看到的是幾百萬像素,人類看到的是一個(gè)整體,人類只需要兩三個(gè)樣本甚至一個(gè)樣本就能學(xué)會(huì)識(shí)別蘋果,計(jì)算機(jī)需要幾百萬個(gè)樣本,并且準(zhǔn)確度不高。
神經(jīng)網(wǎng)絡(luò)只知道相關(guān)性,不知道因果性。
神經(jīng)網(wǎng)絡(luò)只知道這個(gè)測試與樣本有強(qiáng)相關(guān),可能是蘋果,而無法解釋為什么有關(guān)聯(lián),為什么是蘋果。
因?yàn)闊o法解釋,神級(jí)網(wǎng)絡(luò)就不斷增加深度和加大數(shù)據(jù)集。目前看來,貌似這兩種做法能提高性能。
當(dāng)然這只是猜測,畢竟深度神經(jīng)網(wǎng)絡(luò)不可解釋。
這就帶來另一個(gè)問題,那就是對(duì)算力的追求永無止境。
英偉達(dá)當(dāng)然喜聞樂見,但對(duì)消費(fèi)者來說就是成本不斷增加。
業(yè)內(nèi)把訓(xùn)練神經(jīng)網(wǎng)絡(luò)昵稱為煉丹——類似于中世紀(jì)的煉金術(shù)和中國古代的煉丹,道士們不知道最后煉出來的是什么,反正就吃了。有時(shí)候確實(shí)有效果,也有皇帝因?yàn)槌远嗔讼傻ざ溃缧鄄糯舐缘睦钍烂瘛?/p>
那么,將來有沒可能出現(xiàn)可解釋的深度神經(jīng)網(wǎng)絡(luò)?
人類的基礎(chǔ)數(shù)學(xué)理論已經(jīng)停滯了近百年,沒有重大突破。換句話說,人類智慧已經(jīng)進(jìn)入瓶頸期,想要具備可解釋的深度神經(jīng)網(wǎng)絡(luò)完全不可能。
來源:第一電動(dòng)網(wǎng)
作者:星河頻率
本文地址:http://ewshbmdt.cn/kol/175564
文中圖片源自互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系admin#d1ev.com(#替換成@)刪除。