天天看點

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

機器學習算法已經被廣泛應用于自動駕駛各種解決方案,電控單元中的傳感器資料處理大大提高了機器學習的使用率,也有一些潛在的應用,比如利用不同外部和内部的傳感器的資料融合(如雷射雷達、雷達、攝像頭或物聯網),評估駕駛員狀況或為駕駛場景分類等。在KDnuggets網站發表的一篇文章中,作者Savaram Ravindra将自動駕駛中機器學習算法主要分為四類,即決策矩陣算法、聚類算法、模式識别算法和回歸算法。我們跟他一起看看,這些算法都是怎樣應用的。

算法概覽

我們先設想這樣一個自動駕駛場景——汽車的資訊娛樂系統接收傳感器資料融合系統的資訊,如果系統發現司機身體有恙,會指導無人車開往附近的醫院。

這項應用以機器學習為基礎,能識别司機的語音、行為,進行語言翻譯等。所有這些算法可以分為兩類:監督學習和無監督學習,二者的差別在它們學習的方法。

監督學習算法利用訓練資料集學習,并會堅持學到達到所要求的置信度(誤差的最小機率)。監督學習算法可分為回歸、分類和異常檢測或次元縮減問題。

無監督學習算法會在可用資料中擷取價值。這意味着算法能找到資料的内部聯系、找到模式,或者根據資料間的相似程度将資料集劃分出子集。無監督算法可以被粗略分類為關聯規則學習和聚類。

強化學習算法是另一類機器學習算法,這種學習方法介于監督學習和無監督學習之間。監督學習會給每個訓練樣例目标标簽,無監督學習從來不會設立标簽——而強化學習就是它們的平衡點,它有時間延遲的稀疏标簽——也就是未來的獎勵。每個agent會根據環境獎勵學習自身行為。了解算法的優點和局限性,并開發高效的學習算法是強化學習的目标。

在自動駕駛汽車上,機器學習算法的主要任務之一是持續感應周圍環境,并預測可能出現的變化。

我們不妨分成四個子任務:

  • 檢測對象
  • 物體識别及分類
  • 物體定位
  • 運動預測

機器學習算法也可以被寬松地分為四類:

  • 決策矩陣算法
  • 聚類算法
  • 模式識别算法
  • 回歸算法

機器學習算法和任務分類并不是一一對應的,比如說,回歸算法既可以用于物體定位,也可以用于對象檢測和運動預測。

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

決策矩陣算法

決策矩陣算法能系統分析、識别和評估一組資訊集和值之間關系的表現,這些算法主要使用者決策。車輛的制動或轉向是有依據的,它依賴算法對下一個運動的物體的識别、分類、預測的置信水準。決策矩陣算法是由獨立訓練的各種決策模型組合起來的模型,某種程度上說,這些預測組合在一起構成整體的預測,同時降低決策的錯誤率。AdaBoosting是最常用的算法。

AdaBoost

Adaptive Boosting算法也可以簡稱為AdaBoost,它是多種學習算法的結合,可應用于回歸和分類問題。與其他機器學習算法相比,它克服了過拟合問題,并且對異常值和噪聲資料非常敏感。AdaBoost需要經過多次疊代才能創造出強學習器,它具有自适應性。學習器将重點關注被分類錯誤的樣本,最後再通過權重将弱學習器組合成強學習器。

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

AdaBoost幫助弱門檻值分類器提升為強分類器。上面的圖像描繪了如何在一個可以了解性代碼的單個檔案中實作AdaBoost算法。該函數包含一個弱分類器和boosting元件。

弱分類器嘗試在資料維數中找到理想門檻值,并将資料分為2類。分類器疊代時調用資料,并在每個分類步驟後,改變分類樣本的權重。

是以,它實際建立了級聯的弱分類器,但性能像強分類器一樣好。

聚類算法

有時,系統擷取的圖像不清楚,難以定位和檢測對象,分類算法有可能丢失對象。在這種情況下,它們無法對問題分類并将其報告給系統。造成這種現象可能的原因包括不連續資料、極少的資料點或低分辨率圖像。K-means是一種常見的聚類算法。

K-means

K-means是著名的聚類算法,它從資料對象中選擇任意k個對象作為初始聚類中心,再根據每個聚類對象的均值(中心對象)計算出每個對象與中心對象的距離,然後根據最小距離重新劃分對象。最後重新計算調整後的聚類的均值。

下圖形象描述了K-means算法。其中,(a)表示原始資料集,(b)表示随機初始聚類中心,(c-f)表示運作2次k-means疊代示範。

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

模式識别算法(分類)

通過進階駕駛輔助系統(ADAS)中的傳感器獲得的圖像由各種環境資料組成,圖像過濾可以用來決定物體分類樣例,排除無關的資料點。在對物體分類前,模式識别是一項重要步驟,這種算法被定義為資料簡化算法。資料簡化算法可以減少資料集的邊緣和折線(拟合線段)。

PCA(原理分量分析)和HOG(定向梯度直方圖),支援向量機(Support Vector Machines,SVM)是ADAS中常用的識别算法。我們也經常用到K最近鄰(KNN,K-NearestNeighbor)分類算法和貝葉斯決策規則。

支援向量機(SVM)

SVM依賴于定義決策邊界的決策層概念。決策平面分隔由不同的類成員組成的對象集。下面是一個示意圖。在這裡,物體要麼屬于紅色類要麼綠色類,分隔線将彼此分隔開。落在左邊的新物體會被标記為紅色,落在右邊就被标記為綠色。

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

回歸算法

這種算法的專長是預測事件。回歸分析會對兩個或更多變量之間的關聯性進行評估,并對不同規模上的變量效果進行對照。回歸算法通常由三種度量标準驅動:

回歸線的形狀

因變量的類型

因變量的數量

在無人車的驅動和定位方面,圖像在ADAS系統中扮演着關鍵角色。對于任何算法來說,最大的挑戰都是如何開發一種用于進行特征選取和預測的、基于圖像的模型。

回歸算法利用環境的可重複性來創造一個機率模型,這個模型揭示了圖像中給定物體位置與該圖像本身間的關系。通過圖形采樣,此機率模型能夠提供迅速的線上檢測,同時也可以線上下進行學習。模型還可以在不需要大量人類模組化的前提下被進一步擴充到其他物體上。算法會将某一物體的位置以一種線上狀态下的輸出和一種對物體存在的信任而傳回。

回歸算法同樣可以被應用到短期預測和長期學習中,在自動駕駛上,則尤其多用于決策森林回歸、神經網絡回歸以及貝葉斯回歸。

回歸神經網絡

神經網絡可以被用在回歸、分類或非監督學習上。它們将未标記的資料分組并歸類,或者監督訓練後預測連續值。神經網絡的最後一層通常通過邏輯回歸将連續值變為變量0或1。

自動駕駛中常用的四類機器學習算法 算法概覽決策矩陣算法聚類算法模式識别算法(分類)回歸算法回歸神經網絡

在上面的圖表中,x代表輸入,特征從網絡中的前一層傳遞到下一層。許多x将輸入到最後一個隐藏層的每個節點,并且每一個x将乘以相關權重w。乘積之和将被移動到一個激活函數中,在實際應用中我們經常用到ReLu激活函數。它不像Sigmoid函數那樣在處理淺層梯度問題時容易飽和。