今年 10 月,跳票已久的 Autopilot V9 版本終于落地,Musk 吹過的牛也在一步步實現(xiàn)。媒體上關(guān)于 Autopilot V9 的溢美之詞不絕于耳,但卻沒人能從技術(shù)角度說說這次的 V9 到底牛在哪里。好在民間有大神,在特斯拉論壇上,就有一位神經(jīng)網(wǎng)絡(luò)從業(yè)者對 V9 進行了深入剖析??赐晁姆治?,你對 Musk 的崇拜恐怕要再多幾分。
記者對神經(jīng)網(wǎng)絡(luò)工程師 jimmy-d 的論壇發(fā)言進行了整理和編譯,各位讀者可千萬別錯過這份營養(yǎng)滿滿的技術(shù)大餐。
統(tǒng)一的攝像頭網(wǎng)絡(luò)讓 8 顆攝像頭火力全開
與前一個版本的 V8 類似,我認為 V9 的神經(jīng)網(wǎng)絡(luò)中也用到了“攝像頭網(wǎng)絡(luò)”,它能直接處理來自攝像頭的輸出。當(dāng)然這還不夠,特斯拉還準備了一套“后置處理網(wǎng)絡(luò)”,它能將“攝像頭網(wǎng)絡(luò)”生成的數(shù)據(jù)變成更高級別的抽象,而且已經(jīng)擁有了可操作性。與 V8 相比,V9 有了巨大的躍升。
這個“攝像頭網(wǎng)絡(luò)”到底強大到什么地步呢?
它能一次控制 8 顆攝像頭。需要注意的是,V9 上所有攝像頭采集的圖片和視頻權(quán)重都是一樣的(V8 有所不同,不同攝像頭采集的數(shù)據(jù)重要程度不同)。
具體來說特斯拉這 8 顆攝像頭:
前置的 3 顆與后置的 1 顆處理分辨率均為 1280x960(釋放了攝像頭的最高分辨率);
剩下的 4 顆攝像頭則用了 640x480 的處理分辨率(其實這 4 顆攝像頭與前后那 4 顆最高分辨率相同,但在這里只用到了其分辨率的四分之一)。
*注:特斯拉的 8 顆攝像頭包括 3 顆前置攝像頭,它們中有一顆是窄視角攝像頭,覆蓋范圍可達 250 米,一顆是中程攝像頭(主攝像頭),能看 150 米遠,另一顆則是廣角攝像頭,但覆蓋范圍僅 60 米。另外車尾還有 1 顆攝像頭,剩下 4 顆則對稱安裝在車輛轉(zhuǎn)向燈下放和 B 柱上。
除此之外,這 8 顆攝像頭均升級到了 3 條色彩通道(紅綠藍 3 條色彩通道),且用上了雙層架構(gòu)設(shè)計。與其相比,V8 上的 2 條色彩通道(紅綠 2 條色彩通道)+單層架構(gòu)設(shè)計就寒酸多了。而且別忘了,V8 的攝像頭分辨率只有 640x416,且只有主攝像頭和窄視角攝像頭有這“待遇”。
傳聞稱 V8 的多個版本也給那 4 顆比較“閑”的攝像頭配備了神經(jīng)網(wǎng)絡(luò),但它到底派沒派上用場恐怕只有特斯拉內(nèi)部人員才知道。
可以肯定的是,V8 時代 Autopilot 駕駛時只用到了主攝像頭和窄視角攝像頭,而那顆前置廣角攝像頭是用來感應(yīng)雨水的。不過在 V9 上,這 8 顆攝像頭確實是火力全開。
除了擺脫攝像頭“閑置”的罵名,V9 的神經(jīng)網(wǎng)絡(luò)處理能力還大幅提升。拿主攝像頭來說,1280x960 的分辨率與 3 條色彩通道和雙層架構(gòu)設(shè)計疊加,每幀文件大小就能達到 1280x960x3x2 字節(jié),換算過來就是 7.3 M。反觀 V8 的主攝像頭,每幀輸入只有 0.5 M,數(shù)據(jù)量是 V9 的1/13。
與谷歌的 Inception V1 神經(jīng)網(wǎng)絡(luò)相比(兩者用了類似的底層架構(gòu)概念),V9 的攝像頭網(wǎng)絡(luò)規(guī)模要大上 10 倍,算力更是提升了 200 倍。
雖然側(cè)方的 4 顆攝像頭分辨率只有主攝像頭的1/4,但 8 顆攝像頭火力全開,13 倍的數(shù)據(jù)輸入量雖然加大了 ECU 的壓力,但也能提供更為精細的物體細節(jié)。
更為有趣的是,攝像頭接口發(fā)生了改變,V9 上每一幀都是成對處理。不過,這些成對處理得畫面還是有時間偏差的,延遲大致在 10-100 毫秒,這樣才能呈現(xiàn)出動作,而動作能提供深度信息并將物體從背景中分離出來,幫助車輛識別并預(yù)測物體軌跡(包括車輛自己的軌跡)。
對系統(tǒng)的基礎(chǔ)感知來說,這個升級至關(guān)重要。
圖像處理網(wǎng)絡(luò)效率大躍升
在 V8 上,主攝像頭和窄視角攝像頭用了相同的架構(gòu),但權(quán)重有差異。
這點并無問題,畢竟兩顆攝像頭有完全不同的視場。分別訓(xùn)練兩顆攝像頭會大大降低物體識別的難度,同時神經(jīng)網(wǎng)絡(luò)的規(guī)模和訓(xùn)練量也會有所下降。不過這也意味著你必須打造兩個不同的訓(xùn)練數(shù)據(jù)集并分別對它們進行評估,而且在運行時兩個不同的神經(jīng)網(wǎng)絡(luò)還要交替上線。
在 V9 上,特斯拉則用上了獨立的圖像處理網(wǎng)絡(luò)(Camera Agnostic,意為獨立于攝像頭),它能在相同權(quán)重下處理任何攝像頭的輸出數(shù)據(jù)。同時也能解決 V8 上神經(jīng)網(wǎng)絡(luò)的問題并提升其穩(wěn)定性。
這種解決方案也意味著神經(jīng)網(wǎng)絡(luò)必須更了解物體到底長什么樣,無論鏡頭畸變有何不同(畸變無法用物理方式修復(fù))。此外,獨立的圖像處理網(wǎng)絡(luò)很燒錢,因為它需要大量的訓(xùn)練、海量的數(shù)據(jù)庫和一個規(guī)模龐大的神經(jīng)網(wǎng)絡(luò)。
當(dāng)然,特斯拉選擇這樣一個解決方案也不是為了給自己找麻煩。這套獨立的圖像處理網(wǎng)絡(luò)在計算效率上有了較大提升。當(dāng)它只需要依照一個權(quán)重時,就不用頻繁在 GPU 中寫入各種數(shù)據(jù)。更重要的是,你可以在一個數(shù)據(jù)集的框架下大批量處理各種攝像頭采集的圖像了。這樣一來,同等的硬件就能獲得性能加成。
我從來沒想過有廠商愿意搞這種獨立的圖像處理網(wǎng)絡(luò),特斯拉真給力!
怪物級別的神經(jīng)網(wǎng)絡(luò)
如果要用一個詞形容 V9 的神經(jīng)網(wǎng)絡(luò),恐怕你腦海里第一個蹦出來的詞是怪物,但事實上它比怪物還要強悍。當(dāng)你將神經(jīng)網(wǎng)絡(luò)里的一個權(quán)重乘以 5,就會發(fā)現(xiàn)你得到的不只是 5 倍的能力提升。
在表達能力上,神經(jīng)網(wǎng)絡(luò)的提升服務(wù)更是幾何級的。打個比方,如果 V8 的表達能力是 10,那么 V9 就是 100000,絕對是爆炸性的性能飛躍。不過,想用好這個性能飛躍,就需要訓(xùn)練數(shù)據(jù)也配合著增加,你“喂給”神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)量可能是原來的數(shù)百萬倍。
?。?注:其實數(shù)據(jù)方面特斯拉并不擔(dān)心,畢竟和 Waymo 相比,它們奔跑在路上的車輛要多得多。數(shù)據(jù)顯示,2016 年年底特斯拉售出車型的行駛里程已經(jīng)高達 35 億英里,隨著大量 Model 3 入役,想必 Musk 的數(shù)據(jù)庫都快塞不下這些數(shù)據(jù)了,而時不時就實現(xiàn)一個里程碑的 Waymo 才累積了 1000 萬英里的路測歷程。)
簡單來說,這套神經(jīng)網(wǎng)絡(luò)比我見過的任何視覺神經(jīng)網(wǎng)絡(luò)都要龐大,只是想想它需要的學(xué)習(xí)數(shù)據(jù)我都感覺不可思議。為了萬無一失我甚至算了很多遍,但最終我驚奇的發(fā)現(xiàn),限制我的并非計算方法,而是我的想象力。
V9 神經(jīng)網(wǎng)絡(luò)上的變化讓車輛有能力識別任何方向上的每個物體,其探測距離甚至能達到數(shù)百米。同時,它還能抓住這些物體的瞬間動作。如果考慮到攝像頭視場的重疊,每出現(xiàn)一個物體,至少會被兩顆攝像頭發(fā)現(xiàn),這就大大提升了車輛安全性。
在 V9 上,特斯拉是不是用了半監(jiān)督學(xué)習(xí)?特斯拉使用的數(shù)據(jù)肯定有一部分不帶標簽,畢竟誰能找來這么多人給天量的數(shù)據(jù)加標簽?
在我看來,特斯拉的模擬測試設(shè)計師們肯定打造了一臺專門生成數(shù)據(jù)標簽的機器,不過即使這樣恐怕加了標簽的數(shù)據(jù)也不夠用。而且,特斯拉去哪找這么狂暴的數(shù)據(jù)中心來訓(xùn)練神經(jīng)網(wǎng)絡(luò)呢?難道 Musk 是谷歌背后的神秘人,能從 Larry Page 那弄來一整個倉庫的 TPU?
也許 Musk 又在醞釀什么神秘的殺手锏了。
總而言之,在 V9 上我看到了特斯拉的能力和野心。
特斯拉總是能實現(xiàn)業(yè)內(nèi)專家都無法想象的進步,這種通過改進“放大”計算能力、訓(xùn)練數(shù)據(jù)和產(chǎn)業(yè)資源的能力是特斯拉的核心競爭力之一,同時也降低了未來研發(fā)路上的不確定性。
從這個角度來看,特斯拉的“視覺優(yōu)先/全神經(jīng)網(wǎng)絡(luò)”模式確實前程遠大。作為一名神經(jīng)網(wǎng)絡(luò)界的從業(yè)人員,我為特斯拉感到驕傲。