機器學習演算法在自動駕駛領域的應用大盤點
AI科技評論按:本文原載於 kdnuggets,由林立宏、吳楚編譯。
將汽車內外感測器的數據進行融合,藉此評估駕駛員情況、進行駕駛場景分類,都要用到機器學習。本文中,我們講解了不同的自動駕駛演算法。
自動駕駛汽車的設計製造面臨著諸多挑戰,如今,各大公司已經廣泛採用機器學習尋找相應的解決方案。汽車中的ECU(電子控制單元)已經整合了感測器數據處理,如何充分利用機器學習完成新的任務,變得至關重要。潛在的應用包括將汽車內外感測器的數據進行融合,藉此評估駕駛員情況、進行駕駛場景分類。這些感測器包括像激光雷達,雷達,攝像頭或者是物聯網。
車載信息娛樂系統所運行的應用,能從感測器數據融合系統中獲取數據。舉個例子,如果系統察覺駕駛員發生狀況,有能力把車開到醫院。基於機器學習的應用,還包括對駕駛員的語言和手勢識別以及語言翻譯。相關的演算法被分類為非監督和監督演算法。它們兩者的區別在於學習的方式。
監督學習演算法使用訓練數據集學習,並且能夠持續學習直到達到設定的置信水平(最小化出錯概率)。監督學習演算法分為回歸、分類和異常檢測以及數據降維。
無監督學習演算法,則嘗試挖掘有限數據的價值。這意味著,演算法會在可用數據內建立關係,以檢測模式或者將數據集分成子類(取決於之間的相似度)。從廣義上,無監督演算法可以可分為關聯規則學習和聚類。
增強學習演算法是另外一種機器學習演算法,介於非監督學習和監督學習之間。對於所有訓練的例子,監督學習中有目標標籤,無監督學習中卻完全沒有標籤。強化學習有延遲的、稀疏的標籤——未來的獎勵。
根據這些獎勵,智能體學習做出恰當行為。去理解演算法的局限性和優點,開發更加高效的學習演算法,是增強學習的目標。增強學習可以解決大量實際應用,從AI的問題到控制工程或操作研究——所有這些都與開發自動駕駛汽車相關。這可以被分為間接學習和直接學習。
在獨自動駕駛汽車上,機器學習演算法的一個主要任務是持續渲染周圍的環境,以及預測可能發生的變化。這些任務可以分為四個子任務:
目標檢測
目標識別或分類
目標定位
運動預測
機器學習演算法可以簡單地分為4類:決策矩陣演算法、聚類演算法、模式識別演算法和回歸演算法。可以利用一類機器學習演算法來完成兩個以上的子任務。例如,回歸演算法能夠用於物體定位和目標識別或者是運動預測。
決策矩陣演算法
決策矩陣演算法系統地分析、識別和評估信息集和值之間關係的表現。這些演算法主要用於決策。車是否需要剎車或者左轉都是基於演算法根據識別、分類和預測對象的下一個動作給出的置信水平。矩陣決策演算法由各種獨立訓練的決策模型組合而成。用某種方式,這些預測整合起來進行總體預測,同時降低決策錯誤的可能性。AdaBoosting 是最常用的演算法。
AdaBoosting
Adaptive Boosting或稱為AdaBoost,是一種多種學習演算法的融合。它可用於回歸或者分類演算法。相比其他機器學習演算法,它克服了過擬合,並通常對異常值和雜訊數據敏感。為了創建一個強大的複合學習器,AdaBoost使用了多次迭代。因此,它又被稱為 「Adaptive Boosting」。通過迭代添加弱學習器,AdaBoost創建了一個強學習器。一個新的弱學習器加到實體上,並且調整加權向量,作為對前一輪中錯誤分類的樣例的回應。得到的結果,是一個比弱學習者分類器有更高準確性的分類器。
AdaBoost有助於將弱閾值的分類器提升為強分類器。上面的圖像描述了AdaBoost的執行,只用了簡單易於理解的代碼在一個文件中就實現了。這個函數包含一個弱分類器和boosting組件。弱分類器在一維的數據中嘗試去尋找最理想的閾值來將數據分離為兩類。boosting組件迭代調用分類器,經過每一步分類,它改變了錯誤分類示例的權重。因此,創建了一個級聯的弱分類器,它的行為就像一個強分類器。
聚類演算法
有時,系統獲取的圖片不是很清晰,使得物體難以定位檢測。有時,分類演算法有丟失檢測物體的可能,這樣就不能分類和報告給系統。這些可能是不連續的數據造成的,數據點太少了,或者圖片解析度太低了。聚類演算法的特點在於從數據點中發現模式。像回歸分析一樣,聚類演算法是指一類方法和問題。典型的聚類演算法有層次聚類,基於質心的聚類演算法。這些演算法都關注數據的內在模式,完美地把數據分解成擁有最大相似性的簇。K-均值,多分類神經網路(Multi-class Neural Network)是最常用的演算法。
K-均值演算法
K-均值是著名聚類演算法,它找出代表聚類結構的k個質心。如果有一個點到某一質心的距離比到其他質心都近,這個點則指派到這個最近的質心所代表的簇。依次,利用當前已聚類的數據點找出一個新質心,再利用質心給新的數據指派一個簇。
K-均值演算法——在上圖中用「x"表示 聚類質心,用點表示訓練樣本。(a) 原始數據集。(b) 隨機初始化聚類質心。(c-f) k-均值迭代2次的示意圖。在每次迭代中每個訓練樣例都指派到一個最近的聚類質心,每個聚類質心被移動到分配給它的點的平均值。
模式識別演算法(分類模型)
在高級輔助駕駛系統(ADAS)中,利用感應器獲取的圖像包含各種各樣的環境數據。對圖像進行過濾變得十分必要,以剔除一些不相關的樣本得到用於分類的實例數據。在分類前,關鍵步驟是在一個數據集上的模式識別。這類演算法稱為數據約簡演算法。
數據約簡演算法有助於降低數據集的邊緣、對象的直線(擬合出來的線段)和圓弧的邊緣。線段與邊緣匹配,到直角後,該匹配會產生一段線段。和弧線一樣,圓弧與一串直線段匹配。用不同的方式,圖像特徵(圓弧和線段)組合起來形成特徵,用來判斷對象。
利用PCA(主成分分析)和HOG(方向梯度直方圖),SVM(支持向量機)通常在ADAS中用做識別演算法。也會用K-鄰近(KNN)和貝葉斯決策規則。
支持向量機(SVM)
SVM依賴於決策平面概念,後者定義了決策邊界。決策平面可以把明顯有類關係的對象分隔開. 如下圖示。這張圖片中,對象分為紅色和綠色兩類。分離的邊界線把紅色和綠色的對象分離了。落在線左邊的新對象標記為紅色類,落在右邊標為綠色。
回歸演算法
這類演算法善於做事件預測。回歸分析評估兩個或兩個以上變數的關係,以及變數在不同尺度上的貢獻,主要受三個指標影響:
1、 回歸線的形狀
2、非獨立變數的類型
3、獨立變數的數量
(攝像頭或者雷達收集到的)圖像在ADAS的驅動和定位上起了重要作用。對於任一演算法,最大的挑戰是利用基於圖像的模型來做特徵選擇和預測。
環境的可重複性,對回歸演算法為圖像和該圖像中某物體位置之間的關係,構建統計模型起了槓桿作用。利用採樣圖像的統計模型,可以快速在線識別和離線學習。這個模型可以進一步延伸到不需要大量人類建模的其他對象。演算法返回的對象位置,作為在線階段的輸出和對象出現的概率。
回歸演算法能夠用來短程預測和長程訓練。這類回歸演算法中用到自動駕駛上,有決策森林回歸、神經網路回歸、貝葉斯回歸等等。
神經網路回歸模型
神經網路可以用到回歸、分類或者其他無監督學習上,來匯總沒有標記的數據,分類這些數據,或者在監督學習後預測一個連續值。神經網路常在最後一層用邏輯斯特回歸把連續值轉換成形如1或0的變數(二值變數)。
在上圖中,「x」是輸入,特徵從前一層神經元傳播而來。到最後隱藏層的每個神經元,有很多』x 會喂進來,每個"x ,乘以相應的權重w。對於偏置,乘積求和後加上偏置,然後輸入到激活函數。激活函數常用的是ReLU(修正線性單元),因為它不會像sigmoid激活函數在淺層梯度膨脹。ReLU在隱藏層輸出的激活值a,經過求和後成為輸出層的輸出。這暗示:一個神經網路用做回歸時只有一個輸出節點。這個節點把激活值求和後乘以1向量。網路的估計值,『y帕』作為結果。『Y帕』是所有 x 映射出來的獨立變數。你可以這樣用神經網路得到與『x』(多個非獨立向量)相關的函數,可以求出你要預測的 y (獨立變數)。
viakdnuggets,AI科技評論編譯
※全球500強個性化學習平台EdCast收購機器學習技術公司Sociative
※GANs為何引爆機器學習?這是篇基於TensorFlow教程
※前沿探索 對大腦還一知半解,科學家就直接用它來「指導」機器學習了
※機器學習演算法在自動駕駛領域的應用大盤點!
※首屆北美計算機華人學者年會:伊利諾伊大學劉兵—終身機器學習
TAG:機器學習 |
※自動駕駛技術中的機器學習演算法有哪些?
※自動駕駛汽車訓練演算法的挑戰
※深度學習在自動駕駛感知領域的應用
※L4級自動駕駛技術:將會在商用車領域率先得到應用
※從初步測試走向規模應用 自動駕駛技術還太嫩
※自動駕駛技術的法律問題
※自動駕駛汽車的運動規劃技術綜述
※深度學習在無人駕駛汽車領域應用的研究進展
※本市推動自動駕駛技術在港口等特定場景落地 卡車環衛車有望率先實現自動駕駛
※挖來了高通自動駕駛負責人,小鵬汽車要把演算法當作核心競爭力
※黑莓將與其合作夥伴聯合涉足自動駕駛技術領域,打造一款用手機控制的概念無人駕駛汽車
※MIT新型動態演算法,讓自動駕駛汽車計算緩衝區以改變車道
※好鋼用在刀刃上 蘋果重新整合自動駕駛技術計算能力
※發展自動駕駛應是怎樣的技術路線
※動動手指就能練出最強的挖掘機駕駛技術
※駕駛器自動著陸系統——空軍作戰能力的倍增器
※調查報告:相比讓機器自動駕駛 人們更喜歡機器自動烹調
※自動駕駛車的最大挑戰在於軟體革命
※把它當移動的屋子,大眾設想自動駕駛電動概念車
※盤點中美自動駕駛卡車領域公司,先進的技術和落地的場景