將汽車內(nèi)外傳感器的數(shù)據(jù)進(jìn)行融合,借此評(píng)估駕駛員情況、進(jìn)行駕駛場(chǎng)景分類,都要用到機(jī)器學(xué)習(xí)。
本文中,我們講解了不同的自動(dòng)駕駛算法。
自動(dòng)駕駛汽車的設(shè)計(jì)制造面臨著諸多挑戰(zhàn),如今,各大公司已經(jīng)廣泛采用機(jī)器學(xué)習(xí)尋找相應(yīng)的解決方案。汽車中的ECU(電子控制單元)已經(jīng)整合了傳感器數(shù)據(jù)處理,如何充分利用機(jī)器學(xué)習(xí)完成新的任務(wù),變得至關(guān)重要。潛在的應(yīng)用包括將汽車內(nèi)外傳感器的數(shù)據(jù)進(jìn)行融合,借此評(píng)估駕駛員情況、進(jìn)行駕駛場(chǎng)景分類。這些傳感器包括像激光雷達(dá),雷達(dá),攝像頭或者是物聯(lián)網(wǎng)。
車載信息娛樂系統(tǒng)所運(yùn)行的應(yīng)用,能從傳感器數(shù)據(jù)融合系統(tǒng)中獲取數(shù)據(jù)。舉個(gè)例子,如果系統(tǒng)察覺駕駛員發(fā)生狀況,有能力把車開到醫(yī)院?;跈C(jī)器學(xué)習(xí)的應(yīng)用,還包括對(duì)駕駛員的語言和手勢(shì)識(shí)別以及語言翻譯。相關(guān)的算法被分類為非監(jiān)督和監(jiān)督算法。它們兩者的區(qū)別在于學(xué)習(xí)的方式。
監(jiān)督學(xué)習(xí)算法使用訓(xùn)練數(shù)據(jù)集學(xué)習(xí),并且能夠持續(xù)學(xué)習(xí)直到達(dá)到設(shè)定的置信水平(最小化出錯(cuò)概率)。監(jiān)督學(xué)習(xí)算法分為回歸、分類和異常檢測(cè)以及數(shù)據(jù)降維。
無監(jiān)督學(xué)習(xí)算法,則嘗試挖掘有限數(shù)據(jù)的價(jià)值。這意味著,算法會(huì)在可用數(shù)據(jù)內(nèi)建立關(guān)系,以檢測(cè)模式或者將數(shù)據(jù)集分成子類(取決于之間的相似度)。從廣義上,無監(jiān)督算法可以可分為關(guān)聯(lián)規(guī)則學(xué)習(xí)和聚類。
增強(qiáng)學(xué)習(xí)算法是另外一種機(jī)器學(xué)習(xí)算法,介于非監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)之間。對(duì)于所有訓(xùn)練的例子,監(jiān)督學(xué)習(xí)中有目標(biāo)標(biāo)簽,無監(jiān)督學(xué)習(xí)中卻完全沒有標(biāo)簽。強(qiáng)化學(xué)習(xí)有延遲的、稀疏的標(biāo)簽——未來的獎(jiǎng)勵(lì)。
根據(jù)這些獎(jiǎng)勵(lì),智能體學(xué)習(xí)做出恰當(dāng)行為。去理解算法的局限性和優(yōu)點(diǎn),開發(fā)更加高效的學(xué)習(xí)算法,是增強(qiáng)學(xué)習(xí)的目標(biāo)。增強(qiáng)學(xué)習(xí)可以解決大量實(shí)際應(yīng)用,從AI的問題到控制工程或操作研究——所有這些都與開發(fā)自動(dòng)駕駛汽車相關(guān)。這可以被分為間接學(xué)習(xí)和直接學(xué)習(xí)。
機(jī)器學(xué)習(xí)算法的一個(gè)主要任務(wù)是持續(xù)渲染周圍的環(huán)境,以及預(yù)測(cè)可能發(fā)生的變化。這些任務(wù)可以分為四個(gè)子任務(wù):
在獨(dú)自動(dòng)駕駛汽車上,
目標(biāo)檢測(cè)
目標(biāo)識(shí)別或分類
目標(biāo)定位
運(yùn)動(dòng)預(yù)測(cè)
機(jī)器學(xué)習(xí)算法可以簡(jiǎn)單地分為4類:決策矩陣算法、聚類算法、模式識(shí)別算法和回歸算法??梢岳靡活悪C(jī)器學(xué)習(xí)算法來完成兩個(gè)以上的子任務(wù)。例如,回歸算法能夠用于物體定位和目標(biāo)識(shí)別或者是運(yùn)動(dòng)預(yù)測(cè)。
決策矩陣算法
決策矩陣算法系統(tǒng)地分析、識(shí)別和評(píng)估信息集和值之間關(guān)系的表現(xiàn)。這些算法主要用于決策。車是否需要?jiǎng)x車或者左轉(zhuǎn)都是基于算法根據(jù)識(shí)別、分類和預(yù)測(cè)對(duì)象的下一個(gè)動(dòng)作給出的置信水平。矩陣決策算法由各種獨(dú)立訓(xùn)練的決策模型組合而成。用某種方式,這些預(yù)測(cè)整合起來進(jìn)行總體預(yù)測(cè),同時(shí)降低決策錯(cuò)誤的可能性。AdaBoosting 是最常用的算法。
AdaBoosting
Adaptive Boosting或稱為AdaBoost,是一種多種學(xué)習(xí)算法的融合。它可用于回歸或者分類算法。相比其他機(jī)器學(xué)習(xí)算法,它克服了過擬合,并通常對(duì)異常值和噪聲數(shù)據(jù)敏感。為了創(chuàng)建一個(gè)強(qiáng)大的復(fù)合學(xué)習(xí)器,AdaBoost使用了多次迭代。因此,它又被稱為 “Adaptive Boosting”。通過迭代添加弱學(xué)習(xí)器,AdaBoost創(chuàng)建了一個(gè)強(qiáng)學(xué)習(xí)器。一個(gè)新的弱學(xué)習(xí)器加到實(shí)體上,并且調(diào)整加權(quán)向量,作為對(duì)前一輪中錯(cuò)誤分類的樣例的回應(yīng)。得到的結(jié)果,是一個(gè)比弱學(xué)習(xí)者分類器有更高準(zhǔn)確性的分類器。
AdaBoost有助于將弱閾值的分類器提升為強(qiáng)分類器。上面的圖像描述了AdaBoost的執(zhí)行,只用了簡(jiǎn)單易于理解的代碼在一個(gè)文件中就實(shí)現(xiàn)了。這個(gè)函數(shù)包含一個(gè)弱分類器和boosting組件。弱分類器在一維的數(shù)據(jù)中嘗試去尋找最理想的閾值來將數(shù)據(jù)分離為兩類。boosting組件迭代調(diào)用分類器,經(jīng)過每一步分類,它改變了錯(cuò)誤分類示例的權(quán)重。因此,創(chuàng)建了一個(gè)級(jí)聯(lián)的弱分類器,它的行為就像一個(gè)強(qiáng)分類器。
聚類算法
有時(shí),系統(tǒng)獲取的圖片不是很清晰,使得物體難以定位檢測(cè)。有時(shí),分類算法有丟失檢測(cè)物體的可能,這樣就不能分類和報(bào)告給系統(tǒng)。這些可能是不連續(xù)的數(shù)據(jù)造成的,數(shù)據(jù)點(diǎn)太少了,或者圖片分辨率太低了。聚類算法的特點(diǎn)在于從數(shù)據(jù)點(diǎn)中發(fā)現(xiàn)模式。像回歸分析一樣,聚類算法是指一類方法和問題。典型的聚類算法有層次聚類,基于質(zhì)心的聚類算法。這些算法都關(guān)注數(shù)據(jù)的內(nèi)在模式,完美地把數(shù)據(jù)分解成擁有最大相似性的簇。K-均值,多分類神經(jīng)網(wǎng)絡(luò)(Multi-class Neural Network)是最常用的算法。
K-均值算法
K-均值是著名聚類算法,它找出代表聚類結(jié)構(gòu)的k個(gè)質(zhì)心。如果有一個(gè)點(diǎn)到某一質(zhì)心的距離比到其他質(zhì)心都近,這個(gè)點(diǎn)則指派到這個(gè)最近的質(zhì)心所代表的簇。依次,利用當(dāng)前已聚類的數(shù)據(jù)點(diǎn)找出一個(gè)新質(zhì)心,再利用質(zhì)心給新的數(shù)據(jù)指派一個(gè)簇。
K-均值算法——在上圖中用“x”表示 聚類質(zhì)心,用點(diǎn)表示訓(xùn)練樣本。(a) 原始數(shù)據(jù)集。(b) 隨機(jī)初始化聚類質(zhì)心。(c-f) k-均值迭代2次的示意圖。在每次迭代中每個(gè)訓(xùn)練樣例都指派到一個(gè)最近的聚類質(zhì)心,每個(gè)聚類質(zhì)心被移動(dòng)到分配給它的點(diǎn)的平均值。
模式識(shí)別算法(分類模型)
在高級(jí)輔助駕駛系統(tǒng)(ADAS)中,利用感應(yīng)器獲取的圖像包含各種各樣的環(huán)境數(shù)據(jù)。對(duì)圖像進(jìn)行過濾變得十分必要,以剔除一些不相關(guān)的樣本得到用于分類的實(shí)例數(shù)據(jù)。在分類前,關(guān)鍵步驟是在一個(gè)數(shù)據(jù)集上的模式識(shí)別。這類算法稱為數(shù)據(jù)約簡(jiǎn)算法。
數(shù)據(jù)約簡(jiǎn)算法有助于降低數(shù)據(jù)集的邊緣、對(duì)象的直線(擬合出來的線段)和圓弧的邊緣。線段與邊緣匹配,到直角后,該匹配會(huì)產(chǎn)生一段線段。和弧線一樣,圓弧與一串直線段匹配。用不同的方式,圖像特征(圓弧和線段)組合起來形成特征,用來判斷對(duì)象。
利用PCA(主成分分析)和HOG(方向梯度直方圖),SVM(支持向量機(jī))通常在ADAS中用做識(shí)別算法。也會(huì)用K-鄰近(KNN)和貝葉斯決策規(guī)則。
支持向量機(jī)(SVM)
SVM依賴于決策平面概念,后者定義了決策邊界。決策平面可以把明顯有類關(guān)系的對(duì)象分隔開. 如下圖示。這張圖片中,對(duì)象分為紅色和綠色兩類。分離的邊界線把紅色和綠色的對(duì)象分離了。落在線左邊的新對(duì)象標(biāo)記為紅色類,落在右邊標(biāo)為綠色。
回歸算法
這類算法善于做事件預(yù)測(cè)?;貧w分析評(píng)估兩個(gè)或兩個(gè)以上變量的關(guān)系,以及變量在不同尺度上的貢獻(xiàn),主要受三個(gè)指標(biāo)影響:
1、 回歸線的形狀
2、非獨(dú)立變量的類型
3、獨(dú)立變量的數(shù)量
(攝像頭或者雷達(dá)收集到的)圖像在ADAS的驅(qū)動(dòng)和定位上起了重要作用。對(duì)于任一算法,最大的挑戰(zhàn)是利用基于圖像的模型來做特征選擇和預(yù)測(cè)。
環(huán)境的可重復(fù)性,對(duì)回歸算法為圖像和該圖像中某物體位置之間的關(guān)系,構(gòu)建統(tǒng)計(jì)模型起了杠桿作用。利用采樣圖像的統(tǒng)計(jì)模型,可以快速在線識(shí)別和離線學(xué)習(xí)。這個(gè)模型可以進(jìn)一步延伸到不需要大量人類建模的其他對(duì)象。算法返回的對(duì)象位置,作為在線階段的輸出和對(duì)象出現(xiàn)的概率。
回歸算法能夠用來短程預(yù)測(cè)和長(zhǎng)程訓(xùn)練。這類回歸算法中用到自動(dòng)駕駛上,有決策森林回歸、神經(jīng)網(wǎng)絡(luò)回歸、貝葉斯回歸等等。
神經(jīng)網(wǎng)絡(luò)回歸模型
神經(jīng)網(wǎng)絡(luò)可以用到回歸、分類或者其他無監(jiān)督學(xué)習(xí)上,來匯總沒有標(biāo)記的數(shù)據(jù),分類這些數(shù)據(jù),或者在監(jiān)督學(xué)習(xí)后預(yù)測(cè)一個(gè)連續(xù)值。神經(jīng)網(wǎng)絡(luò)常在最后一層用邏輯斯特回歸把連續(xù)值轉(zhuǎn)換成形如1或0的變量(二值變量)。
在上圖中,“x”是輸入,特征從前一層神經(jīng)元傳播而來。到最后隱藏層的每個(gè)神經(jīng)元,有很多’x’會(huì)喂進(jìn)來,每個(gè)’x’,乘以相應(yīng)的權(quán)重w。對(duì)于偏置,乘積求和后加上偏置,然后輸入到激活函數(shù)。激活函數(shù)常用的是ReLU(修正線性單元),因?yàn)樗粫?huì)像sigmoid激活函數(shù)在淺層梯度膨脹。ReLU在隱藏層輸出的激活值a,經(jīng)過求和后成為輸出層的輸出。這暗示:一個(gè)神經(jīng)網(wǎng)絡(luò)用做回歸時(shí)只有一個(gè)輸出節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)把激活值求和后乘以1向量。網(wǎng)絡(luò)的估計(jì)值,‘y帕’作為結(jié)果。‘Y帕’是所有’x’映射出來的獨(dú)立變量。你可以這樣用神經(jīng)網(wǎng)絡(luò)得到與‘x’(多個(gè)非獨(dú)立向量)相關(guān)的函數(shù),可以求出你要預(yù)測(cè)的’y'(獨(dú)立變量)。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁(yè)分享至朋友圈。