在過去的幾年里,機器學習一直是研究和工業中最熱門的話題之一。與幾十年前機器學習的出現相比,計算性能和算法的最新進展引起了人們的重新關注。
最近在人工智能方面取得的令人印象深刻的成果得益于機器學習,尤其是深度學習解決方案。應用包括自然語言處理(NLP),個人協助,AlphaGo戰勝人類,以及在學習玩Atari游戲時實現人類水平的行為。
考慮到機器學習和深度學習在解決極其復雜的問題時能夠取得如此令人印象深刻的結果,很明顯,研究人員和工程師也考慮將它們應用于自動駕駛汽車的高度自動駕駛(HAD)場景。NVIDIA的Davenet,Comma.Ai,Google Car和Tesla在這一領域取得了第一個有希望的結果。機器學習和深度學習方法已經產生了最初的原型,但這些功能的工業化帶來了額外的挑戰,例如,基本的功能安全考慮。
本文旨在促進關于機器學習在汽車行業中的作用的持續討論,并強調該主題在自動駕駛汽車背景下的重要性。特別是,它旨在增加對機器學習技術的功能和局限性的理解。
首先,我們在EB robinos參考架構的背景下討論了基于機器學習的高度自動駕駛的設計空間和架構替代方案。然后詳細介紹了 Elektrobit 目前正在研發的兩個選定用例。
第二部分提供了機器學習和深度神經網絡(DNN)的理論背景,為根據給定任務選擇機器學習技術的標準提供了基礎。最后,第三部分討論了影響功能安全考慮因素的驗證和確認挑戰。
機器學習和高度自動化駕駛
開發導致自動駕駛汽車的高度自動化駕駛功能是一項復雜且不平凡的任務。工程師通常使用分而治之的原則來應對此類挑戰。這是有充分理由的:具有明確定義接口的分解系統可以比單個黑匣子更徹底地進行測試和驗證。
我們的高度自動駕駛方法是EB robinos,如圖1所示。EB robinos 是一種具有開放接口和軟件模塊的功能軟件架構,允許開發人員管理自動駕駛的復雜性。EB robinos 參考架構按照“感知、計劃、行動”分解范式集成了組件。此外,它在其軟件模塊中利用機器學習技術,以應對高度非結構化的現實世界駕駛環境。以下小節包含 EB robinos 中集成的技術的精選示例。
圖1.開放式 EB robinos 參考架構。
相比之下,端到端的深度學習方法也存在,它涵蓋了從感覺到行動的所有內容(Bojarski et al. 2016)。然而,關于極端情況和罕見事件的處理和訓練,以及必要的指數訓練數據量,分解方法(即語義抽象)被認為是更合理的(Shalev-Shwartz et al. 2016)。
然而,即使采用分解方法,也需要決定哪些部分最好與其他部分單獨處理或與其他部分組合。還需要確定機器學習方法是否有望勝過傳統工程算法來完成特定塊完成的任務。同樣重要的是,此決定可能會受到功能安全考慮的影響。功能安全是自動駕駛的關鍵要素,如本系列后面所述。傳統的軟件組件是根據具體需求編寫的,并進行了相應的測試。
機器學習系統的測試和驗證的主要問題是它們的黑盒性質和學習方法的隨機行為。基本上不可能預測系統如何學習其結構。
上面給出的標準和理論背景可以為明智的決策提供指導。Elektrobit目前正在研究和開發機器學習方法被認為很有前途的用例。接下來將介紹兩個這樣的用例。第一個涉及為機器學習算法生成人工訓練樣本及其在交通標志識別中的部署。第二個用例描述了我們的自學汽車方法。這兩個例子都利用了當前尖端的深度學習技術。
用例 1:人工樣本生成和交通標志識別
本項目提出了一種限速和限行結束交通標志(TS)識別系統,以增強入口導航系統中使用的OpenStreetMap(OSM)數據。目的是在可以安裝在汽車擋風玻璃上的標準智能手機上運行該算法。該系統檢測交通標志及其GPS位置,并通過手機的移動數據連接將收集的數據上傳到后端服務器。該方法主要分為兩個階段:檢測和識別。檢測是通過提升分類器實現的。識別是通過概率貝葉斯推理框架執行的,該框架融合了一組視覺概率過濾器提供的信息。本文的下一期將介紹所用算法背后的理論背景。圖 2 描繪了交通標志識別 (TSR) 算法的框圖。
圖2:基于智能手機的TSR系統框圖
獲得的彩色圖像以24位RGB格式傳遞給檢測器。檢測過程通過評估通過檢測窗口計算的級聯分類器的響應來執行。
此檢測窗口以不同的比例在圖像中移動。可能的交通標志感興趣區域 (RoI) 被收集為一組對象假設。從特征提取的角度來看,分類級聯使用擴展的局部二進制模式 (eLPB) 進行訓練。假設向量中的每個元素都通過支持向量機 (SVM) 學習算法分類為交通標志。
交通標志識別方法依賴于手動標記的交通標志,這些交通標志用于訓練檢測和識別分類器。由于不同國家/地區使用的交通標志模板多種多樣,標簽過程繁瑣且容易出錯。
交通標志識別方法需要每個國家/地區的特定訓練數據才能正常運行。創建足夠的手動標記交通標志非常耗時,因為必須考慮位置、照明和天氣條件。
因此,Elektrobit 創建了一種算法,可以從單個人工模板圖像自動生成訓練數據,以克服手動注釋大量訓練樣本的挑戰。圖 4 顯示了該算法的結構。
圖4.基于機器學習的識別系統的人工樣本生成算法框圖。
此方法提供了一種生成用于機器學習算法訓練階段的人工數據的方法。該方法使用每個國家/地區的真實和通用交通標志圖像模板的簡化數據集來輸出圖像集合。
這些圖像的特征是由一系列圖像模板變形算法人為定義的。使用核主成分分析(KPCA)對這樣獲得的人工圖像進行對比一組簡化的真實世界圖像進行評估。人工數據集適用于機器學習系統的訓練,在這種特殊情況下用于交通標志識別,當生成的圖像的特征與真實圖像的特征相對應時。
Elektrobit 用基于深度區域的檢測和識別卷積神經網絡取代了 Boost SVM 分類器,以提高原始交通標志識別系統的精度。該網絡使用 Caffe (Jia et al. 2014) 部署,Caffe 是由 Berkley 開發并由 NVIDIA 支持的深度神經網絡庫。Caffe 是一個具有 Python 和 Matlab 接口的純 C++/CUDA 庫。除了其核心深度學習功能外,Caffe還提供了可以直接用于機器學習應用程序的參考深度學習模型。圖 5 顯示了用于交通標志檢測和識別的 Caffe 網絡結構。不同的彩色塊表示卷積(紅色)、池化(黃色)、激活(綠色)和完全連接的網絡層(紫色)。
圖5.Caffe中基于深度區域的檢測和識別卷積神經網絡。
用例 2:學習如何駕駛
深度學習的革命最近增加了對另一種范式的關注,即強化學習(RL)。在RL中,代理自己學習如何通過獎勵系統執行某些任務。該方法屬于半監督學習的范疇,因為獎勵系統的設計需要特定領域的知識。
即使輸入數據沒有必需的標簽,與監督學習相比也是如此。最近對RL的興趣主要是由于Deep Mind團隊的開創性工作。該團隊設法將RL與能夠學習動作值函數的深度神經網絡相結合(Mnih等人,2016)。他們的系統能夠學會以人類水平的能力玩幾款雅達利游戲。
我們構建了深度強化學習系統,如圖6所示,以便安全地進行自動駕駛學習實驗。該系統使用TORCS開源賽車模擬器(Wymann等人,2014)。TORCS在科學界被廣泛用作高度便攜的多平臺賽車模擬器。它運行在Linux(所有架構,32位和64位,小端和大端),FreeBSD,OpenSolaris,MacOSX和Windows(32位和64位)。它具有許多不同的汽車,賽道和對手。我們可以從游戲引擎收集用于對象檢測的圖像以及關鍵駕駛指示器。這些指標包括汽車的速度,自我汽車與道路中心線的相對位置,以及與前車的距離。
圖6.深度強化學習架構,用于學習如何在模擬器中駕駛。
該算法的目標是通過與虛擬環境交互來自學駕駛命令。為此目的使用了深度強化學習范式,其中深度卷積神經網絡(DNN)通過強化提供正獎勵信號的動作a來訓練。狀態由模擬器窗口中所示的當前游戲圖像表示。有四種可能的動作:加速、減速、左轉和右轉。r(s^‘,a)s
DNN 計算一個所謂的函數,該函數預測針對特定狀態要執行的最佳操作 a。換句話說,DNN 計算每個狀態-操作對的值。將執行具有最高值的操作,這會將模擬器環境移動到下一個狀態。在此狀態下,通過獎勵信號評估執行的操作。Q-sQ-Q-sr(s’,a)
例如,如果汽車能夠在不發生碰撞的情況下加速,則使這成為可能的相關動作將在 DNN 中得到加強;否則,將不鼓勵。強化是通過使用狀態獎勵信號重新訓練 DNN 在框架中執行的。圖 7 顯示了深度強化學習算法的 Caffe 實現。網絡層的顏色編碼與圖 6 相同。
圖7.一種基于Caffe的深度卷積神經網絡結構,用于深度強化學習。
第二部分定義了機器學習技術的理論背景,以及汽車開發人員可用的神經網絡類型。
審核編輯:郭婷
-
機器學習
+關注
關注
66文章
8438瀏覽量
133082 -
深度學習
+關注
關注
73文章
5513瀏覽量
121546
發布評論請先 登錄
相關推薦
AI自動化生產:深度學習在質量控制中的應用
![AI<b class='flag-5'>自動化</b>生產:深度<b class='flag-5'>學習</b><b class='flag-5'>在</b>質量控制<b class='flag-5'>中</b>的應用](https://file.elecfans.com/web2/M00/4F/E6/poYBAGLGUbCACFenAABTXFanQTU129.png)
評論