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