ADVERTISEMENT
想實現真正的無人駕駛用什麼技術呢?企業和研究人員分成兩派。第一種選擇,用攝影鏡頭和電腦視覺技術;第二種選擇,用攝影鏡頭、光學雷達和電腦視覺技術。特斯拉的無人駕駛技術只用純粹的電腦視覺技術和攝影鏡頭,為什麼這樣選擇?在今年的CVRP(Conference on Computer Vision and Pattern Recognition,電腦視覺和模式辨識大會)上,特斯拉首席AI科學家Andrej Karpathy解釋了原因。
在演講中,Karpathy詳細談到公司的策略。特斯拉開發深度學習系統,只需要視訊輸入就能感知汽車周邊環境。他還解釋了為什麼特斯拉選擇的方法是將無人駕駛變成現實的最佳選擇。
通用電腦視覺系統
深度神經網路是無人駕駛技術的核心組件。攝影鏡頭採集數據,像是道路、標誌、障礙物、人等訊息,交給神經網路分析。
辨識圖像中的對象時,深度學習可能會犯錯。正因如此,許多無人駕駛公司會選擇光學雷達,它將雷射射向各方向,為汽車周邊環境繪製3D地圖。光學雷達能夠多提供一層訊息,這樣神經網路就會更可靠。
增加光學雷達也有問題。Karpathy說:「你必須用光學雷達提前為環境繪圖並製作高精度地圖,你必須獲取所有的車道訊息,知道它是如何連接的,知道所有的交通號誌燈在哪裡。在測試時,你只是指引汽車在地圖上行駛,很簡單。」
困難點在於為每一個地方繪製精準地圖。Karpathy說:「無法大規模收集、製作、繪製高精度光學雷達地圖。要讓這樣的基礎設計保持最新極為困難。」
特斯拉無人駕駛系統沒有使用光學雷達和高精度地圖。Karpathy說:「汽車上發生的一切都基於攝影鏡頭,汽車周身有8個攝影鏡頭。」
無人駕駛技術必須知道車道線在哪裡,交通號誌燈在哪裡,交通號誌燈的狀態如何。汽車必須在沒有預製訊息的前提下掌控道路訊息。
Karpathy認為以影像視覺為基礎的無人駕駛技術更難,因為神經網路只能依靠視訊流。Karpathy補充說:「當系統步入正軌,它就變成通用視覺系統,基本上可以在任何地方部署。」
有了通用視覺系統,汽車不再需要複雜的裝置。Karpathy認為特斯拉正在朝這一方向邁進。之前特斯拉汽車同時依靠雷達和攝影鏡頭,現在出貨的汽車拋棄了雷達。
Karpathy說:「我們刪除了雷達,這些汽車只有視覺。」他還說特斯拉的深度學習系統已經進化到一定程度,比雷達好幾百倍,現在雷達成了制約,只會拖後腿。
監督式學習
很多人並不認同特斯拉的方法,沒有光學雷達深度地圖,神經網路測距、深度估算會存在不確定性,這是主要的爭論點。
Karpathy認為:「人類本身就是靠視覺駕駛汽車前進的,人的神經網路可以處理視覺輸入訊息,理解周邊對象的深度和速度。合成神經網路能像人類神經網路一樣運行嗎?這是最大的問題。我們認為答案是YES。」
特斯拉工程師想開發一套深度學習系統,它可以偵測對象,獲取深度、速度、加速度訊息。他們用監督式學習技術應對挑戰,也就是說用帶註釋的資料訓練系統,讓它可以學著偵測對象,理解相關屬性。
為了訓練深度學習架構,特斯拉團隊需要大量視訊數據,而且數據中的對象及其屬性都要準確註釋。為無人駕駛汽車製作資料庫相當複雜。
Karpathy說:「當你擁有龐大、純淨、多樣化資料庫,就可以用它訓練大型神經網路,從實踐結果看,成功是有保障的。」
自動加入標籤的資料庫
全球已經有幾百萬輛特斯拉汽車,它們裝有攝影鏡頭。特斯拉可以收集數據,訓練汽車視覺深度學習模型。特斯拉無人駕駛團隊已經獲取1.5PT數據,它們包括100萬段10秒影片,裡面有60億個對象。
要為資料庫貼上標籤是一件很難的事。可以讓資料標籤公司手動加入標籤,也可以透過線上論壇進行。不過這樣做需要大量人力,成本比較高,進度也慢。
為了解決這一問題,特斯拉引入自動標籤添加技術,它將神經網路、雷達數據、人力評估結合在一起。資料庫是離線註釋的,神經網路可以來回檢視影片,將預測與事實比較,調整參數。
離線添加標籤還有一個好處,工程師可以引入強大的運算密集對象偵測網路,它可以部署在汽車上,運行即時低延遲應用。特斯拉還會用雷達感測器數據進一步驗證神經網路的註釋。所有這一切都能提高標籤網路的精準度。
Karpathy說:「如果是離線註釋,你可以擁有『後見之明』優勢,整合不同感測器數據時工作起來更順手。還有,你也可以引入人力,他們可以清理、驗證、編輯。」
分層式深度學習結構
修正自動標籤系統需要多少人力?Karpathy沒有說。但有一點可以確定,在引導自動標籤系統向正確方向前進時,人類感知起到了關鍵作用。
在開發資料庫的過程中,特斯拉團隊發現200多個觸發點,也就意味著在偵測對象時有很多地方要調整。有哪些問題呢?例如,不同攝影鏡頭的偵測結果不一致,攝影鏡頭和雷達之間的偵測結果不一致。有些場景需要特別關注,比如隧道入口、出口。
為了處理這些觸發點,特斯拉團隊花了4個月時間。當標籤網路進一步最佳化,越來越好,團隊開始部署,用「影子模式」運行,也就是說將系統裝進消費版汽車,暗中執行但不會發送指令給汽車。然後團隊將網路的輸出結果與傳統網路、雷達、駕駛習慣對比。
數據工程迭代7次。最開始團隊用初始數據訓練神經網路,然後將深度學習應用於「影子模式」,在真車上運作,用觸發點偵測不一致、錯誤、特殊場景。接下來修訂錯誤,如果必要還要往資料庫加入新資料。
Karpathy說:「按照這樣的流程我們重複一次又一次,直到網路變得超級好。」
由此證明,將半自動標籤系統與人力檢測結合效果很好,當中神經網路做重複性工作,由人負責高級感知問題和極端情況。
垂直整合
特斯拉是如何用超級電腦訓練、微調深度學習模型的呢?Karpathy透露了一些細節。
計算集群由80個節點組成,參數為:720個80GB 8x A100 節點(共5760 個GPU);1.8 EFLOPS(720節點* 312 TFLOPS-FP16-A100 * 8 gpu/節點);10 PB「熱層」NVME儲存@ 1.6 TBps。特斯拉將所有節點連接在一起,如此一來神經網路就能高效完成分散式訓練。
特斯拉汽車內也有AI晶片。Karpathy說:「這些晶片專為神經網路設計,我們希望它能運行真正的無人駕駛應用。」
特斯拉最大的優勢在於垂直整合。它製造汽車和無人駕駛硬體,可以收集遙測和影像數據,可以用專有資料庫開發並訓練神經網路,它有內部運算集群,透過影子模式測試網路。當然啦,特斯拉還有專業團隊,包括機器學習工程師、研究人員、硬體設計師。
Karpathy說:「在所有層,我們都可以設計並工程化,不會有第三方干擾。命運完全由自己掌控,我覺得這點很了不起。」Karpathy還舉了一些例子,證明特斯拉神經網路單靠自己就能擊敗傳統機器學習模型(它們與雷達訊息結合)。Karpathy相信,如果系統繼續進化,特斯拉可以淘汰光學雷達。其它企業想複製特斯拉的成功很難。
問題
深度學習真的能克服當前無人駕駛存在的所有問題嗎?無人知道。的確,對象檢測、速度和距離估計在駕駛過程中扮演關鍵角色,但人類視力還有其它重要功能。
還有,深度學習的因果推理能力並不強,如果遇到新場景,它可能會手足無措。雖然特斯拉已經擁有龐大的多樣化資料庫,但開放公路的環境相當複雜,新的不可預知事情一直在發生。
將因果和推理植入深度神經網路能解決問題,還是利用龐大、分佈良好的資料庫來讓神經網路達到通用深度學習的程度,進而克服因果障礙,到底哪種方法能成功?AI研究者存在分歧。特斯拉無人駕駛團隊的似乎偏向後一種方法。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!