自動駕駛車的AI演算法及其挑戰

作者 : Anton Hristozov,軟體工程師/研究員

AI需要解決各種不同的任務,以便實現可靠和安全的自動駕駛。在《人工智慧在自動駕駛車輛中的作用》一文中提供對AI及其在自動駕駛車輛中應用的分析後,本文重點探討自動駕駛車輛中AI的演算法和挑戰...

自動駕駛車輛(autonomous vehicles)在農業、交通運輸和軍事等領域開始成為一種現實,很快地我們也將會看到它應用於一般消費者的日常生活中。自動駕駛車輛根據感測器資訊和人工智慧(Artificial Intelligence;AI)演算法來執行一些必要的操作,因而需要收集資料、規劃並執行行駛路線。而這些任務,尤其是規劃和執行行駛路線需要非傳統的編程方法,這就有賴於AI中的機器學習(ML)技術。

上一期文章《人工智慧在自動駕駛車的作用》分析AI及其於自動駕駛車的應用,本文重點探討自動駕駛車的AI演算法和挑戰。

自動駕駛車輛採用的AI演算法

 路徑規劃和控制演算法

電腦科學中的傳統啟發式演算法可用於路徑規劃和控制,例如Bellman-Ford演算法和Dijkstra演算法。要有效使用這些演算法,需要全程對車輛進行定位,而定位就必須透過GPS等感測器,以及同步定位與製圖(SLAM)技術來完成。

SLAM可用於無法搜索到GPS訊號的地方,例如地下或封閉空間;SLAM產生由地標或障礙物組成的環境圖,同時估計車輛狀態。SLAM適用於無法使用地圖但需要創建地圖的應用,它採用感測器和特殊演算法創建資料模型,以產生地圖。

目標檢測演算法

目標檢測是AI在車輛移動中必須處理的最重要任務之一。其演算法一直是業界積極研究的方向,並有賴於不同的感測器,如攝影機或光達、雷達以及其它類型的感測器。它通常使用深度學習演算法以及某種類型的神經網路來完成工作。

目標檢測任務必須快速,因為它要處理的是車輛行駛時產生的一系列連續影像。

一些最新的技術都基於卷積神經網路(CNN),如R-CNN、快速R-CNN和You Only Look Once (Yolo)方法。R-CNN方法首先查找影像中包含潛在物件的區域,然後嘗試分析每個區域,因此它有些慢,而這也是快速R-CNN方法和Yolo方法出現的原因。Yolo方法採用單個CNN查找區域,並同時對區域中的物件進行分類,因此比其它方法快很多。而且,Yolo能夠看到整個影像,它不會引起R-CNN方法可能遇到的問題,例如將背景圖誤認為目標物件。

決策演算法

決策是指根據來自感測器的資訊確定車輛的動作。車輛會根據其規則和環境不斷做出決策,用於決策的演算法包括:決策樹(Decision Trees)、支持向量機(SVM)迴歸,以及深度強化學習。

自動駕駛車輛中AI面臨的挑戰

除了與其它AI應用面臨一些相同的挑戰,自動駕駛車領域中的AI還面臨某些特殊的障礙,涉及即時、安全和機器倫理等概念。

即時回應

即時系統是一種特殊的嵌入式系統,其特徵是在一定時間限制內產生輸出或反應。它們必須在設計上具有確定性和簡約性,以便始終滿足預期的即時行為。為此,它們通常採用特殊的即時作業系統(RTOS)或與硬體直接互動的裸機執行程式,避免使用解釋性語言和動態記憶體分配。在某些情況下,即時系統會刻意採用程式語言的子集以確保速度和確定性。

人工智慧解決方案通常與此相反,它使用高階程式語言、完全依賴作業系統、採用諸如動態記憶體分配和垃圾收集等技術。這對系統的即時決策帶來了挑戰。

另外,系統是集中式系統還是分散式系統也有影響。集中式系統更易於架構,但嚴重依賴內部通訊和強大的中央處理器。分散式系統則採用專用CPU,可以處理不同的子系統和感測器,從而降低了對於複雜中央CPU的需求。而且,分散式架構的系統功耗較低,也更靈活且更便宜。

運算複雜性

由於資料量大且運算複雜,人工智慧演算法(尤其是深度學習)需要特殊的硬體解決方案。例如對於繪圖處理單元(GPU)或張量處理單元(TPU)等硬體進行深度最佳化,以實現快速平行運算。然而,速度更快通常伴隨著更高能耗和更高成本的代價。即使採用專用硬體,也無法確定某一特定演算法能夠即時解決問題。因此,鑒於其複雜性和CPU需求,演算法的選擇成為影響即時系統的一個重要因素。測量CPU運算和記憶體用量,則有助於確定該演算法是否適用於現代車輛的典型CPU中。

黑盒行為

人工智慧演算法曾因比標準電腦演算法更難分析而為人詬病。這是因為AI演算法更複雜且依賴大量資料。一個複雜的神經網路可以執行多項AI任務,而無需瞭解其控制過程。

實際上,深度神經網路本質上可以近似任何函數,因此它才如此成功。深度神經網路可以有數以萬計的節點,這些節點透過訓練即可達到特定狀態。此外,它們可以具有許多隱藏層以及許多輸入和輸出。但當系統崩潰時,所有這些都會導致問題,需要進行取證分析來找出崩潰的確切原因。這也是業界積極研究的一個領域,如果成功將得以解決許多與使用AI相關的法律和技術問題。

結合AI與傳統控制演算法的混合法是理想的解決方案之一。這個問題對於事故預測和處理尤其重要。為什麼要做出這個決定,而不是另一個決定?整個決策過程必須由AI演算法來證明,但如果僅將演算法視為黑盒子來進行分析,那將很難或幾乎不可能證明。

準確性和可靠性

用於自動駕駛車輛的電腦視覺可能尚未準備就緒,儘管它們可以在原始條件下工作,但在感測器輸入端即使受到很小干擾的情況下也會失效。在具有一定特徵的訓練資料中進行AI演算法的訓練,其進展緩慢。

更改資料可能使分類和預測演算法極大地改變其行為,並帶來災難性的後果。例如,攜帶著大背包的人可能不會被車輛感知為一個人。

此外,很難預測進入系統的任意資料會引發什麼。已經有攻擊者利用了這個缺陷,他們利用人類看不見的影像資料來欺騙深度學習演算法,使神經網路停止正確分類。顯然,我們需要大量改進來提高機器學習演算法的可靠性和準確性。

安全性

AI的複雜性還可能導致安全問題。越複雜的系統越難開發、測試和部署。但這只是問題的一部份。另一個現實是,新的安全標準逐步浮出檯面,但尚未被交通運輸產業採用。

讓事情變得更複雜的是,AI系統的分析與驗證仍處於早期階段,因其複雜性還很難被駕馭。一般情況下,形式驗證即使對傳統軟體系統都很難,面對AI軟體就更挑戰了。不僅僅對自動駕駛車輛,也包括所有的AI應用,我們都必須創建強大的、經過校驗和驗證的AI解決方案。

安全性與AI

AI系統對於自動駕駛車輛至關重要,其安全性直接關係到整個系統的穩健性。但機器學習系統很容易受到攻擊,這樣的案例已經有很多。

AI最大的威脅是駭客可以操縱感測器發送到車輛的資料,從而使系統做出錯誤的決策。曾經有一項使用深度學習模型辨識道路標誌的實驗顯示,「在停車標誌上僅僅添加幾張黑白貼紙,就會使演算法誤以為它是45英哩/小時的限速標誌」。採用具有某些對抗性特徵的資料來訓練系統可以改善這種狀況。

在自動駕駛車中影響AI運行的最大威脅是干擾感測器作業,它會導致感測器資料串流發生變化,從而使AI演算法完全混亂。研究人員正在探索的解決方案包括混合系統、模糊邏輯,以及基於模型的傳統控制系統以補強AI。但其風險較高,因為AI已經應用於某些車輛子系統中,在不久的將來也會應用於每輛汽車中。

倫理與AI

目前,在自動駕駛和半自動駕駛車輛中實施AI,在倫理方面還不成熟,也當未取得大力發展。倫理價值觀本是人類具有的品質,很難在機器中形式化並實現。換句話說,對於機器來說,決定對與錯是很模糊的概念。機器倫理的全面發展可能還需要幾十年的時間。這也是一個活躍的研究領域,屬於人類心理學、機器學習和社會政策之間的跨學科領域。隨著技術的成熟,可能會出現一些法規提供相應的幫助。

結論

AI解決方案如今無處不在。它們是Alexa和Google Home裝置的一部份,是割草機器人的一部份,也是我們期望很快實現的自動駕駛車輛之一部份。AI所面臨的挑戰與成就在許多產業中都是相同的,但在交通運輸產業,尤其是自動駕駛車輛領域,在安全與防護方面則是面臨特殊的挑戰。部份原因在於創建自動駕駛車輛這個任務的複雜性,另一部份則是由於AI領域的發展水準,以及它是否適合解決複雜的問題,諸如目標偵測、路徑規劃和即時決策等。

隨著越來越多的自主智慧解決方案逐漸滲透到更多經濟領域,可望解決更多的障礙。也許,針對這個產業應該提出的正確問題是「我們能安全地實現嗎?」而不僅僅是「實現了嗎?」

本文同步刊登於《電子工程專輯》雜誌2020年11月號

(參考原文: Artificial intelligence algorithms and challenges for autonomous vehicles)

 

掃描或點擊QR Code立即加入 “EETimes技術論壇” Line 群組 !

 EET-Line技術論壇-QR

發表評論