近日,特斯拉中國線上下與媒體分享了其採用純視覺方案的思路與研究進展。
堅持視覺感知 用AI神經網路技術提升輔助駕駛能力
如圖1所示,Andrej說:“我們希望能夠打造一個類似動物視覺皮層的神經網路連線,模擬大腦資訊輸入和輸出的過程。就像光線進入到視網膜當中,我們希望透過攝像頭來模擬這個過程。”
圖1 攝像頭模擬人類影象處理流程示意
多工學習神經網路架構HydraNets,透過一個主幹網路處理8個攝像頭傳入進來的原始資料,利用RegNet殘差網路和BiFPN演算法模型統一處理,得出不同精度下的各型別影象特徵,供給不同需求型別的神經網路任務所用。
圖2 多工學習神經網路架構HydraNets
不過由於該結構處理的是單個攝像頭的單幀圖片畫面,在實際應用時候遇到很多瓶頸;於是在次結構之上加入了Transformer神經網路結構,使得原本提取的二維的影象特徵,變為了多個攝像頭拼合起來的三維向量空間的特徵,從而大大提升了識別率和精準度。
還沒完,由於仍是單幀的畫面,所以還需要時間維度和空間維度,以讓車輛擁有特徵“記憶”功能,用於應對“遮擋”、“路牌”等多種場景,最終實現以影片流的形式,將行駛環境的特徵提取出來,形成向量空間,讓車輛能夠精準、低延遲地判斷周圍環境,形成4D向量空間,這些影片形式特徵的資料庫為訓練自動駕駛所用。
圖3 影片化4D向量空間的神經網路架構
不過由於城市自動駕駛與高速自動駕駛不同,車輛規劃模組有兩大難題,其一是行車方案不一定有最優解,其區域性最優解會很多,也就意味著同樣的駕駛環境,自動駕駛可以選擇很多種可能的解決方案,並且都是好的方案;其二是維度較高,車輛不僅需要做出當下的反應,還需要為接下來的一段時間做好規劃,估算出位置空間、速度、加速度等諸多資訊。
所以特斯拉選擇兩個途徑解決規劃模組這兩大難題,一個是用離散搜尋方式解決區域性最優解的“答案”,以每1.5毫秒2500次搜尋的超高效率執行;另一個是用連續函式最佳化來解決高維度問題。透過離散搜尋方式先得出一個全域性最優解,然後利用連續函式最佳化來平衡多個維度的訴求,例如舒適型、平順性等,得出最終的規劃路徑。
此外,除了要為自己做規劃,還要“估算”和猜測其他物體的規劃,即用同樣的方式,基於對其他物體的識別以及基礎的速度、加速度等引數,然後替其他車輛規劃路徑,並以此應對。
不過全球各地的道路狀況千變萬化,非常複雜,如果採用離散搜尋的方式會消耗大量資源,並且使得決策時間過長,所以選擇了深度神經網路結合蒙地卡羅搜尋樹的方式,大大提高的決策效率,幾乎是數量級的差距。
圖5 不同方式下的效率
最終規劃模組的整體架構如圖5,先基於純視覺方案的架構將資料處理為4D向量空間,然後基於之前得到的物體識別以及共享的特徵資料,再利用深度神經網路尋找全域性最優解,最終規劃結果交給執行機構執行。
圖6 視覺識別+規劃、執行整體架構
當然,再好的神經網路架構和處理辦法,都離不開一個有效且龐大的資料庫。在資料從2D向3D、4D轉換過程中,約1000多人的人工標註團隊也在與時俱進在4D空間上進行標註,並且僅需在向量空間中標註後,會自動對映入不同攝像頭的具體單個畫面中,大大增加的資料標註量,但這些還遠遠不夠,人工標註的資料量遠遠喂不飽自動駕駛所需的訓練量。
圖7 4D向量空間中人工標註的演示
由於人更擅長語義識別,而計算機更加擅長與幾何、三角化、跟蹤、重建等,所以特斯拉想要創造一個人和計算機“和諧分工”共同標註的模式。
特斯拉搭建了一個龐大的自動標註流水線,用45秒-1分的影片,包括大量感測器資料,交給神經網路離線學習,然後利用大量機器和人工智慧演算法生成可以用於訓練網路的標註資料集。
圖8 影片片段自動標註處理流程
對與可行駛區域例如道路、道線、十字路口等的識別,特斯拉使用了NeRF“神經輻射場”,即一種2D向3D轉化的影象處理演算法,給出既定的XY座標點資料,讓神經網路預測地面的高度,由此生成無數的XYZ座標點,以及各種語義,例如路邊、車道線、路面等,形成大量的資訊點,並反向投射到攝像頭畫面中;然後將其道路資料和之前神經網路識別出來的畫面分割結果進行比較,並整體最佳化所有攝像頭的影象;同時結合時間維度和空間維度,創建出較為完善的重建場景。
圖9 重建道路的演示
利用此技術將不同車輛經過同一地點所重建的道路資訊,進行交叉比對,他們必須在所有位置點資訊一致對的上,才為預測正確,這樣共同作用下,形成了一種有效的道路表面的標註方法。
圖10 多影片資料標註重疊互相校驗
這與高精地圖完全不一樣,所有的影片片段所產生的標註資訊只要越來越精確精準,標註資訊和影片裡實際道路情況相符,就不必再維護這些資料。
同時利用這些技術,還可以對靜態的物體進行識別和重建,並且有紋理、沒紋理都可以根據這些3D資訊點做出標註;這些標註點對於攝像頭識別任意障礙物都非常有用。
圖11 靜態物體的3D資訊點重建
採用離線處理這些資料和標註的另一個好處是,單車網路每次只能對其他運動事物進行預測,而離線由於資料既定行,可以通曉過去和未來,就能依照確定的資料,忽視遮擋與否,對所有的物體的速度、加速度進行預測和校準最佳化,並標註,訓練網路後來更準確判斷其他運動事物,便於規劃模組進行規劃。
圖12 離線對車輛、行人的速度、加速度校對和標註
然後將這些結合起來,就形成了對影片資料中,所有道路相關、靜動態物體的識別、預判和重建,並對其動力學資料標註。
圖13 影片片段對周圍環境的重建和標註
這樣的影片資料標註將成為訓練自動駕駛神經網路的核心部分。其中一個專案就是在3個月內,利用這些資料訓練網路,成功實現了毫米波雷達所有功能並且更加準確,所以去掉了毫米波雷達。
圖14 攝像頭幾乎無法看到情況下,對速度和距離的判斷依然精準
驗證了這種方式的高度有效,那麼就需要海量的影片資料來訓練。所以同時,特斯拉還開發了“模擬場景技術”,可以模擬現實中不太常見的“邊緣場景”用於自動駕駛培訓。如圖4所示,在模擬場景中,特斯拉工程師可以提供不同的環境以及其他引數(障礙物、碰撞、舒適度等),極大提升了訓練效率。
圖15 模擬場景
特斯拉利用模擬模式訓練網路,已經用了3億張影象和50億個標註來訓練網路,接下來還會利用該模式繼續解決更多的難題。
圖16 模擬模式帶來的提升和未來幾個月預期
綜上,如果要更快速提升自動駕駛網路的能力,需要處理海量的影片片段以及運算。舉個簡單的例子,為了拿掉毫米波雷達,就處理了250萬個影片片段,生成了超過100億個標註;而這些,讓硬體越來越成為發展速度的瓶頸。
之前特斯拉使用的是一組約3000塊GPU、稍低於20000個CPU的訓練硬體,併為了模擬還加入了2000多臺FSD計算機;後來發展到10000塊GPU組成的世界排名第五的超級計算機,但是即便如此,還是遠遠不夠。
圖17目前在使用的超級計算機引數和變化
所以特斯拉決定自己研製超級計算機。
“工程學的創舉”——D1晶片與Dojo超級計算機
當下,隨著所需處理的資料開始指數級增長,特斯拉也在提高訓練神經網路的算力,因此,便有了特斯拉Dojo超級計算機。
特斯拉的目標是實現人工智慧訓練的超高算力,處理大型複雜的神經網路模式、同時還要擴充套件頻寬、減少延遲、節省成本。這就要求Dojo超級計算機的佈局,要實現空間和時間的最佳平衡。
如圖所示,組成Dojo超級計算機的關鍵單元是特斯拉自主研發的神經網路訓練晶片——D1晶片。D1晶片採用分散式結構和7奈米工藝,搭載500億個電晶體、354個訓練節點,僅內部的電路就長達17.7公里,實現了超強算力和超高頻寬。
圖18 D1晶片技術引數
圖19 D1晶片現場展示
如圖所示,Dojo超級計算機的單個訓練模組由25個D1晶片組成。由於每個D1晶片之間都是無縫連線在一起,相鄰晶片之間的延遲極低,訓練模組最大程度上實現了頻寬的保留,配合特斯拉自創的高頻寬、低延遲的聯結器;在不到1立方英尺的體積下,算力高達9PFLOPs(9千萬億次),I/O頻寬高達36TB/s。
圖20 D1晶片組成的訓練模組
圖21 訓練模組現場展示
得益於訓練模組的獨立執行能力和無限連結能力,由其組成的Dojo超級計算機的效能拓展在理論上無上限,是個不折不扣的“效能野獸”。如圖9所示,實際應用中,特斯拉將以120個訓練模組組裝成ExaPOD,它是世界上首屈一指的人工智慧訓練計算機。與業內其他產品相比,同成本下它的效能提升4倍,同能耗下效能提高1.3倍,佔用空間節省5倍。
圖9 訓練模組組合成ExaPOD
與強大硬體相匹配的,是特斯拉針對性開發的分散式系統——DPU(Dojo Processing Unit)。DPU是一個視覺化互動軟體,可以隨時根據要求調整規模,高效地處理和計算,進行資料建模、儲存分配、最佳化佈局、分割槽拓展等任務。
不久後,特斯拉即將開始Dojo超級計算機的首批組裝,並從整個超級計算機到晶片、系統,進行更進一步的完善。對於人工智慧技術,馬斯克顯然還有更遠大的追求。這種追求,寄託在他開場白中“我們遭遇了一點技術問題,希望以後可以用AI來解決”的調侃,更在於活動結尾時他許下的“我們會進一步在整個人類世界裡暢遊”的承諾。