張力天 孔嘉漪 樊一航 范靈俊 包爾固德
1(北京交通大學(xué)軟件學(xué)院 北京 100044) 2(中國科學(xué)院計(jì)算技術(shù)研究所信息技術(shù)戰(zhàn)略研究中心 北京 100190) 3(貴陽市大數(shù)據(jù)產(chǎn)業(yè)集團(tuán)有限公司 貴陽 550081)
現(xiàn)階段,駕車出行已經(jīng)變成人們?nèi)粘I钪械囊徊糠?車輛給人們的生活帶來了很多便利,但也帶來了很多交通安全隱患.根據(jù)美國國家公路交通安全管理局(National Highway Traffic Safety Admini-stration,NHTSA)發(fā)布的《機(jī)動車碰撞概述》,美國每分鐘大約發(fā)生10起車輛事故,每3分鐘就有1人因車輛事故而喪生[1].根據(jù)世界衛(wèi)生組織2018年發(fā)表的《全球道路安全狀況報(bào)告》,全球有超過135萬人死于道路車輛事故.車輛事故問題已經(jīng)變成世界關(guān)注的焦點(diǎn)問題.預(yù)防車輛事故的方法有很多,政策方面包括提高駕駛員的安全意識、加大處罰力度和更新交通系統(tǒng)設(shè)備,而技術(shù)方面主要是在事故發(fā)生前預(yù)測事故并通知警示駕駛員.
在事故預(yù)測中,獲取車輛事故數(shù)據(jù)是很重要的環(huán)節(jié).在以往的研究中,這些數(shù)據(jù)集包含宏觀因素[2-4]或微觀因素[5-8].宏觀因素包括地理情況(如公路和街道)、環(huán)境情況(如濕度和能見度)和交通情況(如交通速度和密度).這些包含宏觀因素的數(shù)據(jù)集通常是從當(dāng)?shù)亟煌ú块T收集到的,例如RCP(part of the Ministry of Justice and Public Order of the Republic of Cyprus),CIAIR(Center for Integrated Acoustic Information Research),SPD(Seattle Police Department)數(shù)據(jù)集[9-11].微觀因素包括事故發(fā)生前的車輛行為(如速度和加速度)和駕駛員行為(如眼動和手勢).這些數(shù)據(jù)集通常使用駕駛模擬器收集,例如STSIM,SCANeR,VANET數(shù)據(jù)集[7,9].在以往的研究中,大部分?jǐn)?shù)據(jù)集只包含宏觀或微觀其中一種因素.究其原因,是宏觀因素和微觀因素難以同時收集.然而,車輛事故往往是兩者共同作用的結(jié)果[1].雖然Gite和Agrawal使用了2類因素的數(shù)據(jù)進(jìn)行事故預(yù)測,但數(shù)據(jù)集包含的特征數(shù)量非常少[5].
事故預(yù)測的另一重要環(huán)節(jié)是用算法處理數(shù)據(jù),而當(dāng)前有很多種預(yù)測車輛事故的方法.在深度學(xué)習(xí)出現(xiàn)之前,人們通常使用神經(jīng)網(wǎng)絡(luò)[10,12-14]或統(tǒng)計(jì)方法,如條件logistic模型等[15-18].目前,很多研究者使用LSTM處理時間序列事故數(shù)據(jù)[5],或使用CNN和DNN處理非時間序列數(shù)據(jù)[2,4,19],來預(yù)測駕駛員的危險行為或者預(yù)測出事故發(fā)生的時間和地點(diǎn).因?yàn)槭占降臄?shù)據(jù)中沒有可以用于預(yù)測的事故發(fā)生概率標(biāo)簽,以往的研究通常只是計(jì)算出一個0/1二分類預(yù)測結(jié)果,即僅僅判斷事故能否發(fā)生,但這樣的結(jié)果不夠?qū)嵱?,駕駛員更希望得到的是不同級別的危險預(yù)警信號[20].如果可以預(yù)測出事故概率值,就能更好地滿足駕駛員的需求.
2019年發(fā)布的事故宏觀因素?cái)?shù)據(jù)集OSU(Ohio State University)與宏觀因素?cái)?shù)據(jù)集FARS(fatality analysis reporting system)和微觀因素?cái)?shù)據(jù)集SHRP2(strategic highway research program 2)都具有一些相同的特征,為它們的融合提供了機(jī)遇[21-22].因此在本研究中,我們首先得到了一個同時包含宏觀和微觀因素的數(shù)據(jù)集.對于正樣本數(shù)據(jù),我們?nèi)诤狭税暧^因素的OSU和FARS數(shù)據(jù)集,以及包含微觀因素且與SHRP2分布相同的Sim-SHRP2(simulated strategic highway research program 2)數(shù)據(jù)集.而負(fù)樣本數(shù)據(jù),則是在美國加利福尼亞州和華盛頓州自行駕駛汽車收集而來的.此外,融合后的數(shù)據(jù)集只包含事故是否發(fā)生的0/1標(biāo)簽而不包含事故發(fā)生的概率標(biāo)簽,所以我們還設(shè)計(jì)了一個深度學(xué)習(xí)框架來預(yù)測車輛事故發(fā)生的準(zhǔn)確概率值.該框架參考了Zhang等人[23]提出的算法,是一個無監(jiān)督的深度學(xué)習(xí)框架,但是它可以使用迭代的方式為數(shù)據(jù)集生成準(zhǔn)確的概率標(biāo)簽,并使用這些概率標(biāo)簽來進(jìn)行訓(xùn)練.由于時間和資金的限制,負(fù)樣本數(shù)據(jù)量約為正樣本數(shù)據(jù)量的1/5,所以在該框架中,我們使用了deep-SVDD算法,該算法能夠很好地解決數(shù)據(jù)不均衡的問題[24].
綜上所述,本文的貢獻(xiàn)主要在實(shí)際應(yīng)用上,解決了2個問題:1)車輛事故是宏觀因素和微觀因素共同作用的結(jié)果[1],但是因?yàn)楹晡⒂^因素難以同時收集,所以以往的大部分車輛事故數(shù)據(jù)集只包含宏觀或微觀其中一種因素.針對這一問題,我們?nèi)诤狭?019年發(fā)布的事故宏觀因素?cái)?shù)據(jù)集OSU與宏觀因素?cái)?shù)據(jù)集FARS和微觀因素?cái)?shù)據(jù)集SHRP2,得到了包括宏微觀因素的數(shù)據(jù)集.2)不同層級的事故發(fā)生概率的預(yù)警可以有效地避免交通事故,并且也符合駕駛員的需求[20],但是因?yàn)槭占臄?shù)據(jù)集中沒有可以用于預(yù)測事故發(fā)生概率的標(biāo)簽,所以以往的大部分研究只得到事故是否發(fā)生的二分類結(jié)果.針對這一問題,我們設(shè)計(jì)了一個概率級別的無監(jiān)督深度學(xué)習(xí)框架,使用迭代的方式為數(shù)據(jù)集生成準(zhǔn)確的概率標(biāo)簽,并使用這些概率標(biāo)簽來進(jìn)行訓(xùn)練,從而可以預(yù)測出準(zhǔn)確的事故發(fā)生概率值.
為了得到完整而足量的訓(xùn)練數(shù)據(jù),我們首先融合了3個包含正樣本的車輛事故數(shù)據(jù)集,然后將它們與一個包含負(fù)樣本的安全駕駛數(shù)據(jù)集相結(jié)合,最終獲得了可用于訓(xùn)練的完整數(shù)據(jù)集.正樣本的3個數(shù)據(jù)集分別是OSU,F(xiàn)ARS,Sim-SHRP2,其中前2個數(shù)據(jù)集包含事故的宏觀因素,后一個包含事故的微觀因素.OSU數(shù)據(jù)集是從俄亥俄州立大學(xué)收集的涵蓋美國49個州的全國性車輛事故集合,其中包含車輛事故的地理情況和環(huán)境情況相關(guān)特征.FARS數(shù)據(jù)集是在美國進(jìn)行的全國性年度事故普查的數(shù)據(jù),其中包含交通情況相關(guān)特征.Sim-SHRP2數(shù)據(jù)集也是美國的全國性事故統(tǒng)計(jì),其中包含車輛事故中的車輛行為和駕駛員行為相關(guān)特征.負(fù)樣本數(shù)據(jù)集則是我們與騰訊自動駕駛組人員合作,駕駛配備有各類傳感器的汽車在加利福尼亞州和華盛頓州收集到的.數(shù)據(jù)融合過程如圖1所示:
Fig.1 Illustration of data fusion process圖1 數(shù)據(jù)融合流程示意圖
在構(gòu)建好包含正負(fù)樣本的具有多個特征的數(shù)據(jù)集后,我們將數(shù)據(jù)輸入深度學(xué)習(xí)框架中,首先通過無監(jiān)督算法生成粗糙概率標(biāo)簽,然后使用粗糙的標(biāo)簽迭代地訓(xùn)練深度學(xué)習(xí)算法,得到更準(zhǔn)確的標(biāo)簽,再用所得到的標(biāo)簽進(jìn)行訓(xùn)練.框架主要分為3步:
1)使用無監(jiān)督的機(jī)器學(xué)習(xí)算法對數(shù)據(jù)進(jìn)行預(yù)處理,生成粗略的概率標(biāo)簽;
2)使用有粗糙概率標(biāo)簽的數(shù)據(jù)訓(xùn)練有監(jiān)督的深度學(xué)習(xí)算法;
3)使用訓(xùn)練后的深度學(xué)習(xí)算法進(jìn)一步處理數(shù)據(jù),使生成的概率標(biāo)簽更準(zhǔn)確.
步驟2)和步驟3)不斷迭代進(jìn)行,直到深度學(xué)習(xí)算法得到充分訓(xùn)練為止.
因?yàn)橛?xùn)練數(shù)據(jù)只包含事故發(fā)生的0/1標(biāo)簽,并不包含我們所需要的概率標(biāo)簽,所以我們以迭代的方式逐漸得到準(zhǔn)確的概率標(biāo)簽.在本文中,選擇的無監(jiān)督機(jī)器學(xué)習(xí)算法是k-means聚類算法和autoencoder自編碼器,而有監(jiān)督的深度學(xué)習(xí)算法是一種修改的deep-SVDD算法.原始的deep-SVDD算法為無監(jiān)督算法,但是可以通過修改損失函數(shù),改為有監(jiān)督算法.我們選用無監(jiān)督deep-SVDD算法并把它修改為監(jiān)督學(xué)習(xí)算法,主要是因?yàn)橛?xùn)練數(shù)據(jù)的正負(fù)樣本不均衡,而deep-SVDD算法可以很好地處理這樣的數(shù)據(jù).盡管訓(xùn)練數(shù)據(jù)可以通過多次迭代逐漸獲得準(zhǔn)確的概率標(biāo)簽,但是在迭代初期的概率標(biāo)簽比較粗略,也比較適合修改為監(jiān)督算法的無監(jiān)督學(xué)習(xí),而不是一般的監(jiān)督算法.整體框架如圖2所示.值得說明的是,盡管該框架為訓(xùn)練數(shù)據(jù)生成了概率標(biāo)簽,并且使用修改的deep-SVDD算法進(jìn)行了監(jiān)督學(xué)習(xí),但是它使用的訓(xùn)練數(shù)據(jù)與k-means,autoencoder和原始的deep-SVDD算法一樣,都是沒有概率標(biāo)簽的數(shù)據(jù),所以是概率級別的無監(jiān)督學(xué)習(xí)框架.
Fig.2 Illustration of the deep learning framework process圖2 深度學(xué)習(xí)框架流程示意圖
1.2.1 正樣本數(shù)據(jù)融合
OSU數(shù)據(jù)集由事故發(fā)生的地理情況(如“經(jīng)緯度”和“所在州”)、時間、環(huán)境情況(如“降雨量”和“能見度”)等相關(guān)特征構(gòu)成;FARS數(shù)據(jù)集由地理情況、時間、事故嚴(yán)重程度、環(huán)境情況、交通情況(如“周邊是否有校車”和“周邊是否有行人”)等相關(guān)特征構(gòu)成;SHRP2數(shù)據(jù)集由地理情況、時間、事故嚴(yán)重程度、車輛行為(如“是否超速”和“是否變道”)、駕駛員行為(如“是否系安全帶”和“是否打瞌睡”)等相關(guān)特征構(gòu)成.盡管FARS數(shù)據(jù)集也包含少量駕駛員行為相關(guān)特征,但是遠(yuǎn)不如SHRP2數(shù)據(jù)集全面.我們運(yùn)行程序來融合OSU,F(xiàn)ARS,Sim-SHRP2數(shù)據(jù)集,該程序包括融合數(shù)據(jù)集和剔除無效數(shù)據(jù)項(xiàng)等功能.首先,我們根據(jù)不同數(shù)據(jù)集的相同特征來融合數(shù)據(jù)集.OSU和FARS數(shù)據(jù)集的融合方式為,如果2個事故分別來自于OSU和FARS數(shù)據(jù)集,并且它們的經(jīng)緯度距離之差小于500 m,時間之差小于30 min,那么我們就將其視為同一起事故,合并相應(yīng)的數(shù)據(jù)項(xiàng).OSU和Sim-SHRP2數(shù)據(jù)集的融合方式為,如果2個事故分別來自于OSU和Sim-SHRP2數(shù)據(jù)集,并且它們的州、其他地理情況(如“是否靠近學(xué)?!焙汀笆欠窨拷徊媛房凇钡?、時間和事故嚴(yán)重程度完全相同,那么我們就將其視為同一起事故,合并相應(yīng)的數(shù)據(jù)項(xiàng).之后,我們根據(jù)相關(guān)和相似特征來剔除無效數(shù)據(jù)項(xiàng),這些相關(guān)和相似特征如OSU數(shù)據(jù)集中的“降雨量”特征和FARS數(shù)據(jù)集中的“地面濕度”特征,以及FARS數(shù)據(jù)集中的“事故前駕駛員行為”特征和Sim-SHRP2數(shù)據(jù)集中的“駕駛員是否分心”特征等.如果某一合并數(shù)據(jù)項(xiàng)的相關(guān)和相似特征不一致,我們就將其視為無效數(shù)據(jù)并加以剔除.這些不一致一般是因?yàn)閿?shù)據(jù)記錄時的偏差引起的.其中,對于Sim-SHRP2數(shù)據(jù)集,原始SHRP2數(shù)據(jù)集無法免費(fèi)下載,但是官方網(wǎng)站提供了所有特征的概率分布,所以我們根據(jù)其提供的概率分布模擬了Sim-SHRP2數(shù)據(jù)集.融合后的數(shù)據(jù)集包含約850 000個具有97個特征的數(shù)據(jù)項(xiàng),這些特征分為5個不同類別,分別是:地理情況、環(huán)境情況、交通情況、車輛行為和駕駛員行為.
1.2.2 負(fù)樣本數(shù)據(jù)收集
為了收集負(fù)樣本數(shù)據(jù),我們使用行車記錄儀(Garmin VIRB Ultra 30)、車輛傳感器(iVICAR)和視頻記錄儀(iPhone 11),駕駛汽車(Toyota RAV4)在加利福尼亞州、華盛頓州和周邊的多個場景下采集負(fù)樣本數(shù)據(jù).這些場景互不相同,覆蓋了特征的多種組合.行車記錄儀記錄地理情況、環(huán)境情況和交通情況,而視頻記錄儀記錄駕駛員行為,采集到的視頻通過手動分析來進(jìn)一步提取特征.車輛傳感器則可以自動記錄車輛行為特征,其截圖如圖3所示.由于時間和資金的限制,收集的負(fù)樣本數(shù)據(jù)集包含約170 000個樣本,約占正樣本數(shù)據(jù)集的1/5.
Fig.3 Snapshot of the car sensor圖3 車輛傳感器截圖
我們使用無監(jiān)督機(jī)器學(xué)習(xí)方法來為訓(xùn)練數(shù)據(jù)集計(jì)算粗略的概率標(biāo)簽.根據(jù)Zhang等人[23]所述,這里應(yīng)當(dāng)使用至少2種無監(jiān)督機(jī)器學(xué)習(xí)方法來保證結(jié)果的準(zhǔn)確度,所以本項(xiàng)目同時使用了k-means算法和autoencoder.k-means算法可以將樣本劃分為k個聚類,使得彼此接近的樣本分到同一聚類之中.在本項(xiàng)目中,k-means算法會使訓(xùn)練數(shù)據(jù)集聚集為2個類:聚類1主要包含正樣本數(shù)據(jù),聚類0則主要包含剩余的負(fù)樣本數(shù)據(jù).在得到這2個聚類后,需要把每個樣本到聚類中心的余弦距離歸一化到[0,1]之間,然后可以求得樣本i的粗略概率標(biāo)簽
其中di是歸一化后的距離.也就是說,對于正樣本,距離聚類中心的距離越近,發(fā)生車輛事故的概率越大;而對于負(fù)樣本,距離聚類中心的距離越近,發(fā)生車輛事故的概率越小.autoencoder是一種可以學(xué)習(xí)無標(biāo)簽訓(xùn)練樣本編解碼過程的神經(jīng)網(wǎng)絡(luò).本項(xiàng)目中,autoencoder使用正樣本進(jìn)行訓(xùn)練,這樣當(dāng)輸入正樣本時,輸出的解碼數(shù)據(jù)與原數(shù)據(jù)差別較小,而輸入為負(fù)樣本時,輸出的解碼數(shù)據(jù)與原數(shù)據(jù)差別較大,就可以對正負(fù)樣本加以區(qū)分[25].每個樣本與其解碼樣本余弦距離的歸一化值取負(fù)加1,即是它粗略的概率標(biāo)簽.無論是k-means算法還是autoencoder算法,都難以直接求得準(zhǔn)確的概率標(biāo)簽,所以如Zhang等人[23]所述,我們對k-means算法和autoencoder算法的結(jié)果和原始0/1標(biāo)簽求平均值,這樣所得的結(jié)果更加準(zhǔn)確,可以取得更好的訓(xùn)練效果.
1.4節(jié)介紹了對原始deep-SVDD算法的修改,而本節(jié)介紹對修改deep-SVDD算法的迭代訓(xùn)練過程.我們使用得到的粗略標(biāo)簽訓(xùn)練修改的deep-SVDD算法.由于標(biāo)簽較為粗糙,損失函數(shù)項(xiàng)的超參數(shù)u需要設(shè)置為較大值.修改的deep-SVDD算法的訓(xùn)練過程與原始deep-SVDD算法一樣,首先固定超球面半徑R,使用隨機(jī)梯度下降法優(yōu)化網(wǎng)絡(luò)權(quán)重W,然后再固定W,使用線性搜索優(yōu)化R,這一過程反復(fù)進(jìn)行多次,直到收斂為止.修改的deep-SVDD算法在訓(xùn)練之后,就可以為訓(xùn)練數(shù)據(jù)計(jì)算新的概率標(biāo)簽,而這些新的概率標(biāo)簽與先前計(jì)算的粗略概率標(biāo)簽融合,就可以得到具有更準(zhǔn)確概率標(biāo)簽訓(xùn)練數(shù)據(jù)集(如1.3節(jié)所述).
接下來,我們使用這些更準(zhǔn)確的概率標(biāo)簽,再次訓(xùn)練修改的deep-SVDD算法.由于標(biāo)簽比之前更準(zhǔn)確,損失函數(shù)項(xiàng)的超參數(shù)u需要適當(dāng)調(diào)小.經(jīng)過訓(xùn)練的deep-SVDD算法再次為訓(xùn)練數(shù)據(jù)集計(jì)算概率標(biāo)簽,并將結(jié)果與先前計(jì)算的概率標(biāo)簽進(jìn)行融合.這個過程持續(xù)進(jìn)行多次,用于訓(xùn)練的概率標(biāo)簽會越來越準(zhǔn)確,deep-SVDD算法也會被訓(xùn)練得越來越充分,進(jìn)而算法的預(yù)測準(zhǔn)確度也會越來越高.
對于autoencoder,我們?yōu)榫幋a設(shè)置了3個隱藏層,分別包含128,74,32個節(jié)點(diǎn),為解碼設(shè)置了3個隱藏層,分別包含32,74,128個節(jié)點(diǎn),并讓它以30期(epoch),256批次(batch)進(jìn)行訓(xùn)練.deep-SVDD算法具有10層的CNN,每層包含128個節(jié)點(diǎn),以4期256批次反復(fù)迭代訓(xùn)練,學(xué)習(xí)率為0.000 5.
為了評測本項(xiàng)目所提出框架的性能,我們首先將整體的事故數(shù)據(jù)集分為2部分:訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集.訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)量占整個數(shù)據(jù)集的80%,而測試數(shù)據(jù)集是舍棄額外正樣本數(shù)據(jù)而剩下的正負(fù)樣本平衡數(shù)據(jù),占整個數(shù)據(jù)集的20%.首先,我們測試了不同參數(shù)下該框架的性能表現(xiàn),包括網(wǎng)絡(luò)層數(shù)(1~20)、迭代次數(shù)(1~8)和學(xué)習(xí)率(0.000 01~0.001)參數(shù).該實(shí)驗(yàn)可以驗(yàn)證1.6節(jié)所述參數(shù)設(shè)置的可行性.此外,我們還測試了不同迭代次數(shù)下(1~8)訓(xùn)練數(shù)據(jù)標(biāo)簽生成結(jié)果的準(zhǔn)確性.該實(shí)驗(yàn)可以證明該框架可以得到準(zhǔn)確的訓(xùn)練數(shù)據(jù)標(biāo)簽,進(jìn)而得到高質(zhì)量的訓(xùn)練結(jié)果.此外,該框架是概率級別的無監(jiān)督學(xué)習(xí)框架,但是在0/1級別上使用了原始的0/1標(biāo)簽是監(jiān)督學(xué)習(xí)框架,并且訓(xùn)練數(shù)據(jù)集的正負(fù)樣本不平衡,所以我們將該框架的性能與監(jiān)督的不平衡二分類算法CCNN(cost-sensitive CNN)和CDNN(cost-sensitive DNN)進(jìn)行了比較[26].同時,該框架對原始的deep-SVDD算法做了修改,所以我們也和原始deep-SVDD算法進(jìn)行了比較.為得到概率級別的結(jié)果,CCNN算法和CDNN算法直接使用輸出層的分類概率,而deep-SVDD算法計(jì)算樣本到超球面中心的余弦距離并進(jìn)行歸一化.該實(shí)驗(yàn)可以證明該框架優(yōu)于現(xiàn)有算法.實(shí)驗(yàn)在具有4個GPU節(jié)點(diǎn)、67 000個CUDA內(nèi)核和128 GB內(nèi)存的高性能計(jì)算集群上部署進(jìn)行,所有算法都使用Python和Tensorflow1.12.0深度學(xué)習(xí)框架實(shí)現(xiàn).
我們分別在0/1級別和概率級別對本項(xiàng)目所提出框架進(jìn)行了評測.
對于0/1級別,我們將預(yù)測概率值<0.5的值算作0,≥0.5的值算作1,然后將它們與測試數(shù)據(jù)集中的0/1標(biāo)簽進(jìn)行比較.因此,評測指標(biāo)為:
1)真陽性樣本量(TP).TP是正確預(yù)測的正樣本數(shù),即算法預(yù)測發(fā)生且實(shí)際也發(fā)生的事故數(shù)量.
2)假陽性樣本量(FP).FP是錯誤預(yù)測的正樣本數(shù),即算法預(yù)測發(fā)生但實(shí)際未發(fā)生的事故數(shù)量.
3)真陰性樣本量(TN).TN是正確預(yù)測的負(fù)樣本數(shù),即算法預(yù)測未發(fā)生且實(shí)際未發(fā)生的事故數(shù)量.
4)假陰性樣本量(FN).FN是錯誤預(yù)測的負(fù)樣本數(shù),即算法預(yù)測未發(fā)生但實(shí)際發(fā)生的事故數(shù)量.
5)召回率(Recall).Recall=TP/(TP+FN).
6)精確率(Precision).Precision=TP/(TP+FP).
7)準(zhǔn)確率(Accuracy).Accuracy=(TP+TN)/(TP+FP+TN+FN).
8)F值(F-score).F-score=2Recall×Precision/(Recall+Precision).
對于概率級別的數(shù)值,我們應(yīng)該將預(yù)測概率值(或生成的訓(xùn)練數(shù)據(jù)標(biāo)簽)與實(shí)際概率值進(jìn)行比較,但是數(shù)據(jù)集中沒有任何概率標(biāo)簽.因此,將該框架預(yù)測概率值(或生成的訓(xùn)練數(shù)據(jù)標(biāo)簽)與k-means算法、autoencoder進(jìn)行比較,相同結(jié)果越多,表明該框架的召回率和準(zhǔn)確率越高,評測指標(biāo)為:
1)IK是與k-means算法相同的結(jié)果數(shù)量;
2)IA是與autoencoder相同的結(jié)果數(shù)量;
3)IB是與k-means算法和autoencoder都相同的結(jié)果數(shù)量.
2.3.1 不同隱藏層數(shù)的比較
表1給出了不同隱藏層數(shù)時,本項(xiàng)目所提出框架在0/1級別上的結(jié)果.當(dāng)隱藏層數(shù)小于10時,該框架具有相對較小的召回率;而當(dāng)數(shù)目增加到10以上時,該框架具有相對較高且穩(wěn)定的召回率、精確率和準(zhǔn)確率.
Table 1 0/1-Level Results with Various Numbers of Hidden Layers表1 不同數(shù)量隱藏層的0/1級別結(jié)果
表2給出了不同隱藏層數(shù)時,本項(xiàng)目所提出框架在概率級別上的結(jié)果.類似地,當(dāng)隱藏層數(shù)小于10時,該框架具有相對較小的IK,IA,IB值;而當(dāng)數(shù)目增加到10及以上時,該框架具有較高且較平穩(wěn)的IK,IA,IB值.因此,如1.6節(jié)所述,隱藏層的數(shù)量為10是一個合理的參數(shù)選擇.
Table 2 Probability-Level Results with Various Numbers of Hidden Layers表2 不同數(shù)量隱藏層的概率級別結(jié)果
2.3.2 不同迭代次數(shù)的比較
表3給出了在不同迭代次數(shù)下,本項(xiàng)目所提出框架在概率級別上的結(jié)果.在迭代次數(shù)低于4時,該框架具有相對較小的IK,IA,IB值,而當(dāng)?shù)螖?shù)增加到4及以上時,該框架具有較高且較平穩(wěn)的IK,IA,IB值.因此,如1.6節(jié)所述,迭代次數(shù)為4是一個合理的參數(shù)選擇.
Table 3 Probability-Level Results with Various Numbers of Iterations 表3 不同迭代次數(shù)的概率級別結(jié)果
因?yàn)樵诓煌螖?shù)下,本項(xiàng)目所提出框架在0/1級別上的結(jié)果與其他算法相比沒有太大差異,所以沒有直接給出.這表明在訓(xùn)練時,該框架在0/1級別收斂時,可能并沒有在概率級別收斂,所以概率級別的研究是非常有必要的.
2.3.3 不同學(xué)習(xí)率的比較
除了0/1級別和概率級別的結(jié)果外,圖4給出了在不同學(xué)習(xí)率下,損失函數(shù)數(shù)值隨著訓(xùn)練批次增加的變化趨勢.當(dāng)學(xué)習(xí)率低于0.000 5時,損失函數(shù)值下降緩慢;當(dāng)學(xué)習(xí)率增加到0.000 5以上后,損失函數(shù)值下降迅速,但是較高的學(xué)習(xí)率會導(dǎo)致?lián)p失函數(shù)值的頻繁波動.因此,如1.6節(jié)所述,學(xué)習(xí)率為0.000 5是一個可行的相對最優(yōu)參數(shù).
Fig.4 Decrease of loss with various learning rates圖4 不同學(xué)習(xí)率的損失值下降情況
2.3.4 訓(xùn)練數(shù)據(jù)標(biāo)簽生成結(jié)果
不同迭代次數(shù)下訓(xùn)練數(shù)據(jù)的標(biāo)簽生成結(jié)果與2.3.2節(jié)相似.在迭代次數(shù)低于4時,該框架具有相對較小的IK,IA,IB值;而當(dāng)?shù)螖?shù)增加到4及以上時,該框架具有較高且較平穩(wěn)的IK,IA,IB值.第8次循環(huán)后,IK,IA,IB值分別可達(dá)9 522,12 988,5 197.因此,該框架可以得到準(zhǔn)確的訓(xùn)練數(shù)據(jù)標(biāo)簽,進(jìn)而得到高質(zhì)量的訓(xùn)練結(jié)果.
表4給出了本項(xiàng)目所提出框架與CDNN算法、CCNN算法和原始deep-SVDD算法的0/1級別的結(jié)果.這些方法都具有較高的真陽性樣本量,但是相比CDNN算法,CCNN算法、deep-SVDD算法和該框架具有更高的真陰性樣本量和更低的假陽性樣本量.除此之外,這些方法都具有相近的召回率,但是CCNN算法、deep-SVDD算法和該框架都具有更高的精確率、準(zhǔn)確率和F值.圖5給出了CDNN算法、CCNN算法、原始的deep-SVDD算法和本項(xiàng)目所提出框架的ROC曲線.CCNN算法、deep-SVDD算法和該框架的AUC值高于CDNN算法.
Table 4 0/1-Lvel Comparison Results to Different Methods表4 不同方法的0/1級別結(jié)果
Fig.5 ROC curves of the different methods圖5 不同方法的ROC曲線
圖6用韋恩圖給出了本文所提出框架與CDNN算法、CCNN算法和原始deep-SVDD算法概率級別的結(jié)果.與其他算法相比,該框架與k-means算法和autoencoder都具有更多相同的概率值.也就是說,該框架可以計(jì)算出更準(zhǔn)確的概率值.特別地,盡管CCNN算法、deep-SVDD算法和該框架在0/1類級別上的性能相似,但是該框架在概率級別上要優(yōu)于CCNN算法和deep-SVDD算法.
Fig.6 Venn diagrams of prediction results among the different algorithms圖6 不同算法的預(yù)測結(jié)果韋恩圖
本文首先通過融合OSU,F(xiàn)ARS數(shù)據(jù)集,SHRP2數(shù)據(jù)集分布相同的Sim-SHRP2,以及自己駕駛汽車,得到了一個完整的車輛事故數(shù)據(jù)集.此外,我們還設(shè)計(jì)了一個概率級別的無監(jiān)督深度學(xué)習(xí)框架來預(yù)測事故發(fā)生的準(zhǔn)確概率值.該框架使用迭代的方式為數(shù)據(jù)集生成準(zhǔn)確的概率標(biāo)簽,并使用這些概率標(biāo)簽來進(jìn)行訓(xùn)練.我們分別在事故發(fā)生的0/1級別和概率級別上對該框架進(jìn)行了評測,實(shí)驗(yàn)結(jié)果表明,該框架可以使用所得到的數(shù)據(jù)集來靈敏而準(zhǔn)確地預(yù)測車輛事故.以該框架為基礎(chǔ),可以構(gòu)建為車輛駕駛員提供不同級別事故預(yù)警的軟件.
之后,我們將把這項(xiàng)工作與目標(biāo)檢測的識別方法相結(jié)合,使得車內(nèi)設(shè)備可以自動、實(shí)時地獲取交通標(biāo)志[27]、地理情況、環(huán)境情況、交通情況和駕駛員行為等特征,進(jìn)而構(gòu)建最終的事故預(yù)警軟件.