孫皓天
摘要:本文針對(duì)當(dāng)代社會(huì)對(duì)無(wú)人駕駛汽車(chē)研制的迫切需求,開(kāi)展了深度學(xué)習(xí)在無(wú)人駕駛汽車(chē)中應(yīng)用的研究。文章首先從無(wú)人駕駛汽車(chē)工作原理、體系架構(gòu)設(shè)計(jì),然后深度學(xué)習(xí)的基本概念、原理和一種算法思想,運(yùn)用非監(jiān)督學(xué)習(xí)對(duì)每層的數(shù)據(jù)進(jìn)行聚類(lèi),監(jiān)督學(xué)習(xí)調(diào)整每層之間的關(guān)系,并將之應(yīng)用于減速鳴笛和行駛中的加速減速控制。
關(guān)鍵詞:無(wú)人駕駛;深度學(xué)習(xí);隱含層;閥值
中圖分類(lèi)號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)24-0121-03
Deep Learning on the Application of the Driverless Cars
SUN Hao-tian
(Class 1,Grade 2, Hefei Sixth Senior High School, Hefei 230061,China)
Abstract: Contemporary society, the author of this paper to the urgent need of driverless cars developed has carried out in-depth study in the study of the application of the driverless cars.This paper from the working principle of the driverless cars, architecture design, and then deep learning of the basic concepts, principles and an algorithm of ideas, using the data of each layer of unsupervised learning clustering, supervision and study the relationship between the adjustment of each layer, and is applied to the deceleration honking and driving the acceleration deceleration control.
Key words: driverless; deep learning; implicit layer; threshold
隨著科技的發(fā)展,現(xiàn)在機(jī)器越來(lái)越智能化。為減輕人們的工作,無(wú)人駕駛車(chē)輛成為社會(huì)發(fā)展的產(chǎn)物,其中車(chē)輛無(wú)人駕駛技術(shù)的優(yōu)點(diǎn)有增加了公共交通的安全、出行的便利(降低人為事故)、避免人們?cè)诼飞侠速M(fèi)時(shí)間,省去堵車(chē)的煩惱,高管和普通員工從離開(kāi)家門(mén)一刻起就可以閱讀郵件,或?yàn)槠渌虑樽鰷?zhǔn)備,使不會(huì)駕駛汽車(chē)的低齡兒童和成年人,不方便駕駛的老年人都會(huì)受益于無(wú)人駕駛汽車(chē),也就節(jié)省了其他人的時(shí)間、提高汽車(chē)?yán)眯?。美?guó)現(xiàn)在平均每個(gè)家庭擁有2~3輛汽車(chē),往往是一人上班,一人接送孩子以及有駕照的大孩子使用,無(wú)人駕駛汽車(chē)可以在送家長(zhǎng)上班后,自動(dòng)回家送孩子上學(xué),從而降低汽車(chē)保有率,節(jié)省對(duì)鐵礦和石油資源的使用。雖然大型汽車(chē)制造商可能不喜歡這一點(diǎn),但是從環(huán)保的角度較劃算、堵車(chē)和長(zhǎng)時(shí)間開(kāi)車(chē)造成的疲勞,或者路上的糾紛造成的“路怒癥”會(huì)降低,對(duì)人們的身心健康和安全都是很有益處的。
機(jī)器學(xué)習(xí)是無(wú)人駕駛技術(shù)成功地基礎(chǔ),深度學(xué)習(xí)是源于人工神經(jīng)網(wǎng)絡(luò)的一種高效的機(jī)器學(xué)習(xí)方法。深度學(xué)習(xí)可以提高汽車(chē)識(shí)別道路、行人、障礙物等的時(shí)間效率,并保障了識(shí)別的正確率。通過(guò)大量數(shù)據(jù)的訓(xùn)練之后,汽車(chē)可以將收集到的圖形,電磁波等信息轉(zhuǎn)換為可用的數(shù)據(jù),利用深度學(xué)習(xí)算法實(shí)現(xiàn)無(wú)人駕駛。
1 無(wú)人駕駛汽車(chē)的工作原理
如圖1所示,無(wú)人駕駛系統(tǒng)是由激光測(cè)距儀,視頻攝像頭,車(chē)載雷達(dá),微型傳感器,電腦資料庫(kù),電腦處理系統(tǒng)組成。
車(chē)頂上的激光測(cè)距儀發(fā)射激光射線(xiàn),當(dāng)激光碰到車(chē)輛周?chē)奈矬w,又反射回來(lái),計(jì)算出物體與車(chē)之間的距離。
前三后一的雷達(dá)布局,可以探測(cè)到較遠(yuǎn)的固定路障,使電腦處理系統(tǒng)能夠預(yù)先進(jìn)行處理,避開(kāi)路障;當(dāng)車(chē)道變換時(shí),車(chē)后雷達(dá)探測(cè)左右后方是否有車(chē),進(jìn)行變道;并檢測(cè)激光測(cè)距儀的盲點(diǎn)區(qū)域,防止側(cè)面撞擊;車(chē)前雷達(dá),判斷前方是否有路口,若有路口,將信息傳遞給電腦處理系統(tǒng),進(jìn)行判斷處理;當(dāng)前方有車(chē)剎車(chē),車(chē)前雷達(dá)探知后,電腦處理系統(tǒng)會(huì)進(jìn)行剎車(chē)判斷;倒車(chē)時(shí),后車(chē)?yán)走_(dá)可以測(cè)量與障礙物之間的距離,判斷倒車(chē)距離;后方有車(chē)時(shí),由激光測(cè)距儀測(cè)出車(chē)間距離,電腦處理系統(tǒng)從電腦數(shù)據(jù)庫(kù)提取數(shù)據(jù)進(jìn)行處理,判斷應(yīng)保持多大的車(chē)間距。
如圖2所示,另一套在底部的系統(tǒng)測(cè)量出車(chē)輛在三個(gè)方向上的加速度、角速度等數(shù)據(jù),然后再結(jié)合GPS數(shù)據(jù)計(jì)算出車(chē)輛的位置,通過(guò)微型傳感器監(jiān)控車(chē)輛是否偏離所制定的路線(xiàn),通過(guò)車(chē)載攝像機(jī)捕獲的圖像判斷道路的寬度,紅綠燈,所應(yīng)處道路(例如:轉(zhuǎn)彎道,待轉(zhuǎn)彎區(qū)等)。車(chē)頭會(huì)有兩個(gè)攝像頭,對(duì)道路地面進(jìn)行判斷,保障不同時(shí)占兩車(chē)道、偏離路線(xiàn),轉(zhuǎn)彎進(jìn)入轉(zhuǎn)彎道,待轉(zhuǎn)彎進(jìn)入待轉(zhuǎn)彎區(qū);當(dāng)通過(guò)紅綠燈時(shí),需通過(guò)雷達(dá)判斷前方是否有行人、車(chē)輛;車(chē)載攝像機(jī)捕獲的圖像判斷紅綠燈;通過(guò)雷達(dá)測(cè)量距離,判斷能否在紅燈之前通過(guò);若不能,則需計(jì)算應(yīng)以多大的加速度進(jìn)行減速,如圖3所示。將這些數(shù)據(jù)與車(chē)載攝像機(jī)捕獲的圖像一起輸入計(jì)算機(jī),系統(tǒng)會(huì)以極高的速度處理這些數(shù)據(jù)。這樣,系統(tǒng)就可以非常迅速的作出判斷,達(dá)到無(wú)人駕駛的目的。
3 深度學(xué)習(xí)概念
3.1 深度學(xué)習(xí)基本概念
深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究,是機(jī)器學(xué)習(xí)研究中的一個(gè)新的領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng),通過(guò)組合低層特征形成更加抽象的高層表示屬性類(lèi)別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。它模仿人腦的機(jī)制來(lái)解釋數(shù)據(jù),例如圖像,聲音和文本含。同機(jī)器學(xué)習(xí)方法一樣,深度機(jī)器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)之分。不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同。例如,卷積神經(jīng)網(wǎng)絡(luò)就是一種深度的監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型,而深度置信網(wǎng)就是一種無(wú)監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型。
3.2 深度學(xué)習(xí)的算法原理
考慮這樣一個(gè)計(jì)算集合,它可以被允許在每一個(gè)節(jié)點(diǎn)和可能的圖結(jié)構(gòu)中,并定義了一個(gè)函數(shù)族。輸入節(jié)點(diǎn)沒(méi)有孩子,輸出節(jié)點(diǎn)沒(méi)有父親。如圖4,對(duì)于表達(dá)[sin(a2+ba)] 的流向圖,可以通過(guò)一個(gè)有兩個(gè)輸入節(jié)點(diǎn)[a]和[b]的圖表示,其中一個(gè)節(jié)點(diǎn)通過(guò)使用[a]和[b] 作為輸入(例如作為孩子)來(lái)表示[ba] ;一個(gè)節(jié)點(diǎn)僅使用[a] 作為輸入來(lái)表示平方;一個(gè)節(jié)點(diǎn)使用[a2] 和[ba]作為輸入來(lái)表示加法項(xiàng)(其值為[(a2+ba)]);最后一個(gè)輸出節(jié)點(diǎn)利用一個(gè)單獨(dú)的來(lái)自于加法節(jié)點(diǎn)的輸入計(jì)算SIN。傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)能夠被看做擁有等于層數(shù)的深度(比如對(duì)于輸出層為隱層數(shù)加1)。SVMs有深度2(一個(gè)對(duì)應(yīng)于核輸出或者特征空間,另一個(gè)對(duì)應(yīng)于所產(chǎn)生輸出的線(xiàn)性混合)。
4 在無(wú)人駕駛汽車(chē)中的應(yīng)用
在無(wú)人駕駛汽車(chē)通過(guò)雷達(dá)等收集到數(shù)據(jù)時(shí),對(duì)于原始的訓(xùn)練數(shù)據(jù)要首先進(jìn)行數(shù)據(jù)的預(yù)處理化。計(jì)算均值并對(duì)數(shù)據(jù)的均值做均值標(biāo)準(zhǔn)化、對(duì)原始數(shù)據(jù)做主成分分析、使用PCA白化或ZCA白化。例如:將激光傳感器收集到的時(shí)間數(shù)據(jù)轉(zhuǎn)換為車(chē)與物體之間的距離;將車(chē)載攝像頭拍攝到的照片信息轉(zhuǎn)換為對(duì)路障的判斷,對(duì)紅綠燈的判斷,對(duì)行人的判斷等;雷達(dá)探測(cè)到的數(shù)據(jù)轉(zhuǎn)換為各個(gè)物體之間的距離。
如何將深度學(xué)習(xí)應(yīng)用于無(wú)人駕駛汽車(chē)中,主要包含以下步驟:
a) 準(zhǔn)備數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理再選用合適的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)訓(xùn)練數(shù)據(jù)和測(cè)試元組;
b) 輸入大量數(shù)據(jù)對(duì)第一層進(jìn)行無(wú)監(jiān)督學(xué)習(xí);
c) 通過(guò)第一層對(duì)數(shù)據(jù)進(jìn)行聚類(lèi),將相近的數(shù)據(jù)劃分為同一類(lèi),隨機(jī)進(jìn)行判斷;
d) 運(yùn)用監(jiān)督學(xué)習(xí)調(diào)整第二層中各個(gè)節(jié)點(diǎn)的閥值,提高第二層數(shù)據(jù)輸入的正確性;
e) 用大量的數(shù)據(jù)對(duì)每一層網(wǎng)絡(luò)進(jìn)行無(wú)監(jiān)督學(xué)習(xí),并且每次用無(wú)監(jiān)督學(xué)習(xí)只訓(xùn)練一層,將其訓(xùn)練結(jié)果作為其更高一層的輸入。
f) 輸入之后用監(jiān)督學(xué)習(xí)去調(diào)整所有層。
限于作者研究的局限性,本文以與行人之間的距離判斷是否減速鳴笛和行駛中如何控制加速減速為例介紹深度學(xué)習(xí)在無(wú)人駕駛上的應(yīng)用。
如圖5,將前方有行人和與行人之間的距離作為是否剎車(chē)?guó)Q笛的輸入。通過(guò)大量的輸入數(shù)據(jù),第二層網(wǎng)絡(luò)會(huì)將與行人間的距離中相近的劃為一類(lèi),對(duì)不同的距離類(lèi)進(jìn)行監(jiān)督學(xué)習(xí),調(diào)整當(dāng)與行人間的距離在多少范圍內(nèi)時(shí),執(zhí)行剎車(chē)?guó)Q笛和以一定的車(chē)速前進(jìn),提高第二層分類(lèi)和訓(xùn)練結(jié)果的正確性。假設(shè),有n個(gè)數(shù)據(jù),執(zhí)行剎車(chē)?guó)Q笛和以一定的車(chē)速前進(jìn)的閥值均為0.5,此時(shí)是否剎車(chē)?guó)Q笛這一節(jié)點(diǎn),將這n個(gè)數(shù)分為幾類(lèi),同一類(lèi)執(zhí)行相同的結(jié)果。若執(zhí)行剎車(chē)?guó)Q笛錯(cuò)誤,則將這一類(lèi)數(shù)據(jù)執(zhí)行剎車(chē)?guó)Q笛的閥值調(diào)低,執(zhí)行以一定的車(chē)速前進(jìn)的閥值調(diào)高。若同一類(lèi)中執(zhí)行同一結(jié)果,即出現(xiàn)執(zhí)行剎車(chē)?guó)Q笛錯(cuò)誤,又出現(xiàn)以一定的車(chē)速前進(jìn)錯(cuò)誤,則將出現(xiàn)相同錯(cuò)誤的劃為同一類(lèi)。
如圖6,所示將周?chē)?chē)輛數(shù)和與最近車(chē)輛的距離作為應(yīng)保持的車(chē)間距和行駛的速度的輸入。通過(guò)大量的輸入數(shù)據(jù),第二層網(wǎng)絡(luò)會(huì)將周?chē)?chē)輛數(shù)中相近的劃為一類(lèi),對(duì)不同的數(shù)量類(lèi)進(jìn)行監(jiān)督學(xué)習(xí),調(diào)整當(dāng)周?chē)?chē)輛數(shù)在多少范圍內(nèi)時(shí),以多大的速度行駛,保持多大的車(chē)間距來(lái)判斷是執(zhí)行加速、減速或保持現(xiàn)速。假設(shè),有k個(gè)數(shù)據(jù),執(zhí)行加速、減速和保持現(xiàn)速的閥值均為0.5,此時(shí)保持的車(chē)間距與行駛的速度這兩節(jié)點(diǎn),將這n個(gè)數(shù)分為幾類(lèi),同一類(lèi)執(zhí)行相同的結(jié)果。若執(zhí)行加速成功,則將這一類(lèi)數(shù)據(jù)執(zhí)行加速的閥值調(diào)高,執(zhí)行減速和保持現(xiàn)速的閥值調(diào)低。若同一類(lèi)中執(zhí)行同一結(jié)果,即出現(xiàn)不同的錯(cuò)誤,則將出現(xiàn)相同錯(cuò)誤的劃為同一類(lèi)。
5 結(jié)束語(yǔ)
本文對(duì)當(dāng)代社會(huì)對(duì)無(wú)人駕駛汽車(chē)研制的迫切需求,初步開(kāi)展了深度學(xué)習(xí)在無(wú)人駕駛汽車(chē)中的應(yīng)用研究。針對(duì)無(wú)人駕駛汽車(chē)上各個(gè)設(shè)備的作用采集的數(shù)據(jù),用非監(jiān)督學(xué)習(xí)對(duì)每層的數(shù)據(jù)聚類(lèi),監(jiān)督學(xué)習(xí)調(diào)整每層之間的關(guān)系和各個(gè)節(jié)點(diǎn)的閥值來(lái)提高判斷速度,保障了無(wú)人駕駛的行車(chē)安全性。因?yàn)闊o(wú)人駕駛汽車(chē)較為復(fù)雜,本文只提供了一種理論上的思考,尚未對(duì)在路口的無(wú)人駕駛控制等復(fù)雜情況進(jìn)行研究,也未開(kāi)展相關(guān)仿真驗(yàn)證工作,希望在后續(xù)工作中能夠逐步開(kāi)展。
參考文獻(xiàn):
[1] TOM M. MiTchell.機(jī)器學(xué)習(xí)[M].曾華軍,張銀奎,譯.北京:機(jī)械工業(yè)出版社,2003.
[2] Ian H. Witten Eibe Frank Mark A. Hall.數(shù)據(jù)挖掘[M].李川,張永輝,譯.北京:機(jī)械工業(yè)出版社,2012.
[3] 谷歌無(wú)人駕駛汽車(chē)[EB\OL].百度百科.
[4] 無(wú)人駕駛時(shí)代即將到來(lái)[EB\OL].網(wǎng)易新聞.
[5] 深度學(xué)習(xí)(Deep Learning)算法簡(jiǎn)介[EB\OL].Bati's eHome of Tech.
[6] 機(jī)器學(xué)習(xí)——深度學(xué)習(xí)(Deep Learning) [EB\OL].CSDN Rachel Zhang的專(zhuān)欄.