周璐婕,黨建武,2,王瑜鑫,張振海
(1.蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,甘肅 蘭州 730070;2.甘肅省人工智能與圖形圖像處理工程研究中心,甘肅 蘭州 730070;3.蘭州交通大學(xué) 土木工程學(xué)院,甘肅 蘭州 730070;4.中鐵西北科學(xué)研究院有限公司,甘肅 蘭州 730070)
車(chē)載設(shè)備是列車(chē)運(yùn)行控制系統(tǒng)中重要的行車(chē)控制設(shè)備,是確保高速鐵路安全運(yùn)行的核心。車(chē)載設(shè)備運(yùn)用至今,雖整體性能穩(wěn)定,但使用過(guò)程中也發(fā)生了不少故障,嚴(yán)重干擾運(yùn)輸組織和秩序。車(chē)載設(shè)備故障診斷是防止列車(chē)故障、保證安全運(yùn)行的重要部分,并且為維修人員提供及時(shí)的維修信息,壓縮故障延時(shí)。
車(chē)載設(shè)備運(yùn)行過(guò)程中,通過(guò)車(chē)載安全計(jì)算機(jī)記錄了大量的應(yīng)用事件日志(Application Event Log,AElog),可以反映車(chē)載某一時(shí)刻的狀態(tài)信息,AElog數(shù)據(jù)由非結(jié)構(gòu)化文本形式記錄,包括各模塊正?;虍惓9ぷ鲿r(shí)的標(biāo)志性語(yǔ)句。技術(shù)員通過(guò)人工分析AElog數(shù)據(jù)來(lái)判別車(chē)載設(shè)備的運(yùn)行情況,分析難度大,診斷效率低。為滿足現(xiàn)代化鐵路高速運(yùn)行的需求,利用機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)列控車(chē)載設(shè)備智能故障分類(lèi)是當(dāng)前急需解決的問(wèn)題。
車(chē)載設(shè)備包含的模塊眾多,故障機(jī)理不同,各模塊故障出現(xiàn)的概率不平衡。同時(shí),正常工作的記錄數(shù)據(jù)遠(yuǎn)大于故障數(shù)據(jù),也存在正常與故障數(shù)據(jù)間不平衡的問(wèn)題。因此須針對(duì)數(shù)據(jù)的不平衡性,研究有效的列控車(chē)載故障診斷模型。
目前,車(chē)載故障診斷主要基于數(shù)據(jù)驅(qū)動(dòng)的智能分類(lèi)技術(shù)[1-2]。通過(guò)人工進(jìn)行故障文本特征選擇,再輸入分類(lèi)模型進(jìn)行分類(lèi),分類(lèi)模型主要包括貝葉斯網(wǎng)絡(luò)、邏輯回歸、支持向量機(jī)等[3]。這些方法存在3個(gè)問(wèn)題:①,依賴特征工程,例如文獻(xiàn)[4]利用向量空間模型表征列控車(chē)載記錄的文本數(shù)據(jù),通過(guò)特征詞選擇與權(quán)值分配實(shí)現(xiàn)文本向量化轉(zhuǎn)換,這種文本表示存在明顯的表示稀疏問(wèn)題,此類(lèi)數(shù)據(jù)輸入分類(lèi)器,將面臨維災(zāi)難,同時(shí)語(yǔ)義特征也無(wú)法被描述;②多數(shù)機(jī)器學(xué)習(xí)方法同等地對(duì)待數(shù)據(jù)集中的所有樣本,以提升分類(lèi)器總體分類(lèi)精度為目標(biāo),適用于分布較均勻的數(shù)據(jù)集[5];③傳統(tǒng)分類(lèi)算法的優(yōu)點(diǎn)是模型復(fù)雜度低,訓(xùn)練速度相對(duì)較快,可解釋性較強(qiáng)。但由于模型層次較淺,不能實(shí)現(xiàn)文本特征的自動(dòng)提取,分類(lèi)效果受人工特征選擇的影響?;谝陨蠁?wèn)題,并結(jié)合車(chē)載AElog數(shù)據(jù)的實(shí)際特點(diǎn),本文提出針對(duì)性的模型對(duì)其改進(jìn)。
深度學(xué)習(xí)[6]概念被提出后,迅速成為研究熱點(diǎn),該方法改變了先進(jìn)行特征選擇,再輸入分類(lèi)器訓(xùn)練的傳統(tǒng)模式,實(shí)現(xiàn)了特征學(xué)習(xí)與提取。Mikolov團(tuán)隊(duì)[7-8]設(shè)計(jì)出包含CBOW和Skip-gram兩種語(yǔ)言模型的詞向量生成工具Word2vec,讓Hinton[9]提出的文本分布式表示得以廣泛應(yīng)用。文本分布式表示可以通過(guò)訓(xùn)練語(yǔ)言模型,將詞語(yǔ)映射成一個(gè)維度小、數(shù)值稠密的實(shí)數(shù)向量,能刻畫(huà)詞語(yǔ)的語(yǔ)義和語(yǔ)法關(guān)系,同時(shí)具備良好的計(jì)算性,避免了人工選擇特征的困難,解決了向量稀疏的問(wèn)題。借助詞向量,深度學(xué)習(xí)在自然語(yǔ)言處理的典型任務(wù)中取得優(yōu)異的性能[10-11]。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)能夠從詞向量表示的文本中獲得局部敏感信息,提取高層次文本特征,緩解了特征工程的工作量,有效用于文本分類(lèi)問(wèn)題[12]。文獻(xiàn)[13]利用CNN對(duì)短文本進(jìn)行建模,并在7組公開(kāi)數(shù)據(jù)集上進(jìn)行對(duì)比試驗(yàn),證明CNN在文本分類(lèi)任務(wù)中的有效性,同時(shí)也表明了詞向量對(duì)提升系統(tǒng)性能的重要意義。文獻(xiàn)[14]提出將基于字符級(jí)的CNN模型用于文本分類(lèi),該模型適用于多種語(yǔ)言,性能優(yōu)于詞袋模型等傳統(tǒng)模型以及循環(huán)網(wǎng)絡(luò)模型??偟膩?lái)看,借助詞向量和基于深度學(xué)習(xí)的文本分類(lèi)方法在多數(shù)分類(lèi)任務(wù)中取得了比以往研究更好的效果。但多數(shù)用于文本分類(lèi)的CNN沒(méi)有考慮到樣本不均衡的問(wèn)題,造成多數(shù)樣本類(lèi)的分類(lèi)精度高,而少數(shù)樣本類(lèi)分類(lèi)精度低,直接影響分類(lèi)效果。
不平衡分類(lèi)問(wèn)題的研究主要包括基于數(shù)據(jù)和基于算法的兩種方法[15]。數(shù)據(jù)層面利用欠采樣對(duì)多數(shù)類(lèi)樣本進(jìn)行約簡(jiǎn)或是利用過(guò)采樣對(duì)少數(shù)類(lèi)樣本自動(dòng)生成,通過(guò)改變數(shù)據(jù)集中樣本的分布來(lái)降低數(shù)據(jù)間的不平衡程度。算法層面通過(guò)改進(jìn)模型的損失函數(shù)或調(diào)整模型結(jié)構(gòu)使之更傾向于少數(shù)類(lèi)樣本。
借鑒前人的研究經(jīng)驗(yàn),本文進(jìn)一步探索文本結(jié)構(gòu)化處理與非均衡數(shù)據(jù)分類(lèi)在車(chē)載設(shè)備記錄數(shù)據(jù)中的應(yīng)用,解決列控車(chē)載故障診斷問(wèn)題。以車(chē)載安全計(jì)算機(jī)記錄的AElog數(shù)據(jù)為依據(jù),分析故障模式;結(jié)合AElog數(shù)據(jù)特點(diǎn),利用語(yǔ)言模型訓(xùn)練詞向量來(lái)表示文本語(yǔ)義特征,實(shí)現(xiàn)文本的向量轉(zhuǎn)化;采用CNN進(jìn)行文本深層次特征提取,用于故障分類(lèi);針對(duì)樣本不均衡問(wèn)題,通過(guò)合成少數(shù)類(lèi)過(guò)采樣方法(Synthetic Minority Over-sampling Technique,SMOTE)隨機(jī)生成少數(shù)類(lèi)文本向量數(shù)據(jù),并在卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練階段采用焦點(diǎn)損失函數(shù)對(duì)樣本加權(quán),進(jìn)一步減小不均衡樣本對(duì)分類(lèi)效果造成的影響。為驗(yàn)證模型的有效性,選取某鐵路局提供的車(chē)載AElog數(shù)據(jù)進(jìn)行試驗(yàn)分析,通過(guò)精確率、召回率、G-mean和F1-Measure等指標(biāo)對(duì)構(gòu)建的基于卷積神經(jīng)網(wǎng)絡(luò)的模型進(jìn)行評(píng)價(jià),驗(yàn)證該模型在列控車(chē)載故障診斷中的可行性與優(yōu)越性。
我國(guó)CTCS-3級(jí)列控車(chē)載設(shè)備硬件采用分布式結(jié)構(gòu)設(shè)計(jì),雙系冷備,核心控制模塊采用“單硬件雙軟件”的設(shè)計(jì)結(jié)構(gòu)。CTCS3-300T型列控車(chē)載設(shè)備主要由CTCS-3控制單元ATPCU、CTCS-2控制單元C2CU、測(cè)速測(cè)距單元SDU、網(wǎng)關(guān)TSG、安全數(shù)字輸入輸出單元VDX、安全無(wú)線傳輸單元STU-V、司法記錄單元JRU、應(yīng)答器信息接收模塊BTM+CAU、軌道電路信息接收單元TCR、人機(jī)界面DMI等組成[16]。
ATPCU是CTCS-3核心計(jì)算控制單元,在每個(gè)ATPCU單元內(nèi)部均有一塊非易失存儲(chǔ)區(qū),在列車(chē)運(yùn)行過(guò)程中,可實(shí)時(shí)記錄車(chē)載各個(gè)模塊正?;虍惓9ぷ鲿r(shí)的標(biāo)志性語(yǔ)句,即AElog數(shù)據(jù)。通過(guò)查看這些文本型數(shù)據(jù),可以分析出相關(guān)模塊的工作狀態(tài),也能根據(jù)故障語(yǔ)句分析故障原因。記錄內(nèi)容通常包括記錄時(shí)間、報(bào)告此記錄的文件、文件中的行數(shù)、任務(wù)名稱(chēng)、上電時(shí)間、語(yǔ)句編碼、模塊正常工作或故障時(shí)的標(biāo)志性語(yǔ)句等。圖1為某次列車(chē)運(yùn)行結(jié)束后AElog記錄的實(shí)例,其中記錄了BTM工作異常導(dǎo)致的BTM端口無(wú)效的故障,文本中“Balise Port invalid”“StatusPort invalid in BTM”等語(yǔ)句是關(guān)注的重點(diǎn)。從圖1中可以看出,這些語(yǔ)句按時(shí)間順序逐條記錄,由大量長(zhǎng)短不一的英文短文本組成,故障或正常語(yǔ)句多樣,包含了重要的故障信息,如故障發(fā)生的具體模塊、具體現(xiàn)象等,是判斷車(chē)載故障的主要依據(jù)。
圖1 AElog數(shù)據(jù)(部分)記錄
本文以CTCS3-300T型車(chē)載設(shè)備中的列車(chē)接口相關(guān)故障和BTM相關(guān)故障為例,以AElog記錄的文本數(shù)據(jù)為基礎(chǔ),挖掘具體故障信息,實(shí)現(xiàn)故障的自動(dòng)分類(lèi)。將這兩種故障類(lèi)型進(jìn)行編號(hào),見(jiàn)表1。加入正常狀態(tài)共13種模式。
表1 故障類(lèi)型
基于CNN的車(chē)載設(shè)備故障分類(lèi)模型見(jiàn)圖2,主要包括3部分:文本預(yù)處理、利用CNN實(shí)現(xiàn)特征學(xué)習(xí)與分類(lèi)、對(duì)CNN進(jìn)行訓(xùn)練。在預(yù)處理階段,通過(guò)訓(xùn)練CBOW模型將AElog文本轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的向量形式。針對(duì)轉(zhuǎn)換后的文本向量矩陣,利用SMOTE方法對(duì)少數(shù)類(lèi)數(shù)據(jù)自動(dòng)生成,降低數(shù)據(jù)間的不平衡程度。再經(jīng)CNN的卷積與池化操作,實(shí)現(xiàn)文本特征的自動(dòng)提取,在輸出層利用Softmax實(shí)現(xiàn)分類(lèi)。訓(xùn)練時(shí)通過(guò)改進(jìn)CNN模型的損失函數(shù),使模型更加關(guān)注難分樣本,進(jìn)一步提升分類(lèi)器對(duì)不平衡數(shù)據(jù)的分類(lèi)能力。
圖2 列控車(chē)載設(shè)備故障分類(lèi)模型結(jié)構(gòu)
文本需要通過(guò)預(yù)處理轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的數(shù)字形式。數(shù)字化的過(guò)程需最大程度保留文本的語(yǔ)義特征,減少語(yǔ)義信息的損失。針對(duì)車(chē)載記錄數(shù)據(jù)的特點(diǎn),AElog數(shù)據(jù)的預(yù)處理包含標(biāo)志性語(yǔ)句分段、分詞、向量表示和少數(shù)類(lèi)樣本自動(dòng)生成等,主要步驟如下:
Step1AElog文件處理:由于列車(chē)每趟運(yùn)行后,記錄數(shù)據(jù)多達(dá)數(shù)百條,為提高診斷精度,將對(duì)數(shù)據(jù)統(tǒng)一模式,提取標(biāo)志性語(yǔ)句,以AElog中的提示指令為節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行分段,則每段包含1~7條標(biāo)志性語(yǔ)句。
Step2分詞:以詞為單位對(duì)其進(jìn)行分詞處理,相較于中文文本,英文文本以空格為依據(jù)進(jìn)行分詞,結(jié)合AElog數(shù)據(jù)的特點(diǎn),下劃線也作為分詞依據(jù)。為節(jié)省存儲(chǔ)空間、提高搜索效率,需過(guò)濾停用詞和符號(hào)。部分車(chē)載詞典和分詞結(jié)果見(jiàn)表2和表3。
表2 部分車(chē)載詞典
表3 部分故障說(shuō)明
Step3生成詞向量詞典:文本分布式表示的優(yōu)勢(shì)在于可以短時(shí)間內(nèi)充分利用文本的上下文信息訓(xùn)練語(yǔ)言模型,將詞語(yǔ)轉(zhuǎn)化為向量空間中同一維度的稠密向量,解決向量稀疏問(wèn)題;且向量空間的相似度可以表示文本語(yǔ)義的相似度,修正詞與詞之間完全正交的不恰當(dāng)結(jié)果。參考Word2vec中基于Hierarchical Softmax算法的CBOW模型,以分詞后的車(chē)載記錄數(shù)據(jù)作為訓(xùn)練語(yǔ)料庫(kù)C。算法主要思想是通過(guò)當(dāng)前任意詞的上下文Context(w)來(lái)預(yù)測(cè)當(dāng)前詞w,優(yōu)化目標(biāo)函數(shù)為
(1)
CBOW模型通過(guò)輸入當(dāng)前詞上下文的詞向量,經(jīng)投影層對(duì)所有詞向量進(jìn)行累加,在輸出層利用Huffman樹(shù)實(shí)現(xiàn)目標(biāo)優(yōu)化。Huffman樹(shù)以語(yǔ)料庫(kù)中出現(xiàn)的詞作為葉子節(jié)點(diǎn),對(duì)語(yǔ)料庫(kù)中任意詞w,Huffman樹(shù)都存在一條從根節(jié)點(diǎn)到詞w對(duì)應(yīng)的節(jié)點(diǎn)路徑,將路徑中的每個(gè)分支看成一次二分類(lèi),每次分類(lèi)就產(chǎn)生一個(gè)概率,將這些概率連乘起來(lái)就是所需的P(w|Context(w))。之后用隨機(jī)梯度上升法將此函數(shù)最大化,直至訓(xùn)練結(jié)果達(dá)到可以接受的誤差范圍。訓(xùn)練所得詞語(yǔ)的語(yǔ)義相似度與詞向量的余弦距離成正比。
Step4文本向量化:每類(lèi)車(chē)載正常或故障狀態(tài)均由1~7個(gè)短句構(gòu)成的文本共同實(shí)現(xiàn)判別,按照短句中單詞的順序從詞典中取出對(duì)應(yīng)的詞向量,使文本轉(zhuǎn)化為向量矩陣。為解決各組文本數(shù)據(jù)長(zhǎng)度不統(tǒng)一的問(wèn)題,對(duì)樣本中每組文本進(jìn)行詞數(shù)統(tǒng)計(jì),選擇最高詞數(shù)作為文本向量維度,其他長(zhǎng)度不足的文本用0補(bǔ)齊。
(2)
式中:rand(0,1)為0到1之間的隨機(jī)數(shù)。SMOTE算法相對(duì)于隨機(jī)復(fù)制過(guò)采樣法,可以有效防止過(guò)擬合,提高分類(lèi)器性能。在利用SMOTE算法獲得新數(shù)據(jù)集的基礎(chǔ)上,建立基于CNN的特征提取與故障分類(lèi)模型。
文獻(xiàn)[13]利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行建模,完成句子級(jí)的分類(lèi)任務(wù)。本文在此網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行拓展研究,結(jié)合車(chē)載記錄數(shù)據(jù)特點(diǎn),構(gòu)建具有多尺度卷積核和批歸一化處理層的卷積神經(jīng)網(wǎng)絡(luò)分類(lèi)模型。
2.2.1 網(wǎng)絡(luò)概況
網(wǎng)絡(luò)結(jié)構(gòu)如圖2卷積神經(jīng)網(wǎng)絡(luò)部分所示。
第一部分為輸入層,用于輸入文本向量矩陣M∈RS×n,其中行數(shù)S為文本段中最高詞數(shù),列數(shù)n為詞向量維度。
第二部分為卷積及池化層,卷積層通過(guò)卷積窗口與輸入層的局部區(qū)域連接。設(shè)卷積窗口的權(quán)值矩陣為W∈Rh×n,h為卷積窗口的寬度,n為矩陣的列數(shù),且與M的列數(shù)相同,卷積窗與輸入層由上到下滑動(dòng)做卷積運(yùn)算,對(duì)輸入進(jìn)行分層特征提取,所得卷積結(jié)果為
Ci=g(w·Mi:i+h-1+bi)
(3)
式中:i=1,2,…,s-h+1;Mi:i+h-1為由第i個(gè)詞到第i+h-1個(gè)詞組成的連續(xù)文本段;bi為偏置項(xiàng);g(·)為不飽和非線性函數(shù)ReLU,此函數(shù)能解決梯度爆炸/梯度消失等問(wèn)題,同時(shí)能夠加快收斂速度[18]。將所獲得的Ci依次排列就構(gòu)成卷積層的向量C∈RS-h+1。
由于車(chē)載記錄的故障文本長(zhǎng)短變化大,為更全面地提取特征,本文選用3種寬度的卷積窗口以獲取不同詞數(shù)級(jí)別的語(yǔ)義特征。
在卷積之后,通過(guò)池化操作聚合信息,減少神經(jīng)元數(shù)目,降低特征維數(shù),實(shí)現(xiàn)特征的進(jìn)一步提取。本文采用最大池化法來(lái)獲取全局特征向量。池化結(jié)果為
Oj=max{C}
(4)
式中:j=1,2,…,t,t為卷積窗口總數(shù)。將Oj依次排列就構(gòu)成池化層向量O∈Rt。
第三部分是分類(lèi)層。經(jīng)過(guò)卷積與池化操作,已經(jīng)提取出所需的特征向量,下一步是實(shí)現(xiàn)分類(lèi)。將池化層的輸出經(jīng)壓平(Flatten)層壓為1維向量,經(jīng)全連接層整合局部信息,之后送入分類(lèi)器。為提升網(wǎng)絡(luò)性能,本層的激勵(lì)函數(shù)也采用ReLU函數(shù)。在輸出層利用Softmax邏輯回歸實(shí)現(xiàn)分類(lèi)。
2.2.2 批歸一化處理
遠(yuǎn)程控制模塊既可以使用具有固定IP地址的Web服務(wù)器作為中轉(zhuǎn)站,也可以使用GPRS網(wǎng)絡(luò)上網(wǎng)卡動(dòng)態(tài)接收數(shù)據(jù),從而使得控制中心可移動(dòng)。在控制終端,將接收到的數(shù)據(jù)存入數(shù)據(jù)庫(kù),然后利用基于MatLAB的最小二乘支持向量機(jī)建立土壤水分檢測(cè)鹽分補(bǔ)償模型。
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中,各層之間參數(shù)變化會(huì)引起數(shù)據(jù)分布發(fā)生變化,出現(xiàn)梯度彌散、影響網(wǎng)絡(luò)收斂速度等問(wèn)題,為減少內(nèi)部協(xié)變量遷移(Internal Covariate Shift)的影響[19],本模型中在兩處加入批歸一化BN(Batch Normalization)處理:①在卷積運(yùn)算后加入歸一化層,再進(jìn)行激活和池化運(yùn)算;②在分類(lèi)層計(jì)算激活值前加入歸一化層。相較于未歸一化處理的網(wǎng)絡(luò)輸入是{x1,…,xm},該批次樣本數(shù)量為r,處理后的輸出數(shù)據(jù)為{y1,…,ym},算法過(guò)程如下,計(jì)算輸入樣本的均值μ與方差σ分別為
(5)
(6)
(7)
式中:ε為一個(gè)常量。
為了解決在歸一化處理后帶來(lái)的數(shù)據(jù)分布特征被破壞的問(wèn)題,引入?yún)?shù)α和β對(duì)歸一化后的數(shù)據(jù)進(jìn)行性重構(gòu),恢復(fù)原始的特征分布。
(8)
批歸一化處理包括對(duì)輸入進(jìn)行歸一化以及對(duì)歸一化后的數(shù)據(jù)重構(gòu),進(jìn)行尺度不變的平移變換。
2.2.3 模型訓(xùn)練
訓(xùn)練多分類(lèi)卷積神經(jīng)網(wǎng)絡(luò)模型時(shí),常選用標(biāo)準(zhǔn)的交叉熵?fù)p失函數(shù)CE為
(9)
為控制不均衡類(lèi)別對(duì)誤差損失值的貢獻(xiàn)程度,引入一個(gè)權(quán)重因子α,削弱大數(shù)量類(lèi)別對(duì)誤差損失值的影響。
(10)
與式(10)結(jié)合,得到能調(diào)整非均衡和難易分類(lèi)樣本的多類(lèi)別焦點(diǎn)損失函數(shù)FL為
(11)
本文采用反向傳播算法通過(guò)上述定義的多類(lèi)別焦點(diǎn)損失函數(shù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并對(duì)α和γ的取值進(jìn)行實(shí)驗(yàn),根據(jù)Adam優(yōu)化算法進(jìn)行梯度更新。
為研究本文提出的列控車(chē)載記錄數(shù)據(jù)分類(lèi)模型對(duì)故障的分類(lèi)效果,根據(jù)某鐵路局電務(wù)段提供的2017年8月至2018年12月的AElog文件,選取其中包含列車(chē)接口相關(guān)故障和BTM相關(guān)故障的文件,文件中包含正常運(yùn)行時(shí)的數(shù)據(jù)和故障時(shí)出現(xiàn)的表1所示的12種故障數(shù)據(jù)。通過(guò)對(duì)AElog文件進(jìn)行預(yù)處理,共得到2 450段包含正?;蚬收蠘?biāo)志性語(yǔ)句的文本段,并對(duì)每段樣本進(jìn)行分類(lèi)標(biāo)注。通過(guò)Word2vec的CBOW模型進(jìn)行無(wú)監(jiān)督訓(xùn)練獲得詞向量詞典,其中窗口寬度(Window)設(shè)置為5,詞向量維度為300。構(gòu)建圖2所示的包含一個(gè)卷積層和一個(gè)池化層的卷積神經(jīng)網(wǎng)絡(luò),為獲取豐富的特征信息,在卷積層設(shè)置多種窗口卷積核對(duì)輸入矩陣進(jìn)行卷積操作,其中卷積核窗口寬度分別為3、4、5,每組窗口個(gè)數(shù)均為200,卷積核函數(shù)選取ReLU函數(shù)。池化層利用最大池化操作進(jìn)行特征壓縮。CNN的迷你批處理尺寸設(shè)置為60,迭代次數(shù)為60,Adam學(xué)習(xí)速率0.001。每組試驗(yàn)均采用十折交叉的方式進(jìn)行。
在非均衡數(shù)據(jù)分類(lèi)中,用準(zhǔn)確率不足以充分評(píng)價(jià)分類(lèi)器性能的優(yōu)劣,因此基于混淆矩陣,選取精確率Precision、召回率Recall、F1-Measure和G-mean等[21-23]同時(shí)作為非均衡分類(lèi)器的評(píng)價(jià)指標(biāo)。對(duì)于一個(gè)M分類(lèi)問(wèn)題的混淆矩陣見(jiàn)表4。
表4 混淆矩陣
矩陣中第i類(lèi)被正確預(yù)測(cè)的樣本個(gè)數(shù)為nii,nij為類(lèi)別i被預(yù)測(cè)為類(lèi)別j的樣本個(gè)數(shù),nji為類(lèi)別j被預(yù)測(cè)為類(lèi)別i的樣本數(shù)。
根據(jù)表4,可定義性能指標(biāo)為
(12)
(13)
(14)
(15)
試驗(yàn)處理平臺(tái)為聯(lián)想計(jì)算機(jī),處理器為Intel(R) Core(TM) i5-7200,主頻2.5 GHz,8 GB內(nèi)存,120 GB固態(tài)硬盤(pán),運(yùn)行環(huán)境為Windows 10專(zhuān)業(yè)版64位。模型通過(guò)Keras框架實(shí)現(xiàn),編程語(yǔ)言為Python 3.4。
3.2.1 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)
為驗(yàn)證卷積神經(jīng)網(wǎng)絡(luò)參數(shù)對(duì)模型故障分類(lèi)效果的影響,本文針對(duì)詞向量維度、卷積核窗口寬度以及每組卷積窗口數(shù)目3個(gè)因素設(shè)置對(duì)比試驗(yàn),見(jiàn)表5。由表5可見(jiàn),在網(wǎng)絡(luò)模型其他參數(shù)不變時(shí),相較于100和200維的詞向量表示,在300維詞向量表示下,各項(xiàng)性能指標(biāo)均有提升。因?yàn)橥ㄟ^(guò)訓(xùn)練詞向量,克服了稀疏表示中存在的維災(zāi)難,將詞語(yǔ)間的詞性和語(yǔ)義關(guān)系表示為詞向量間的空間距離,維度更高的詞向量可包含更豐富、全面的文本特征和語(yǔ)義信息,對(duì)模型的分類(lèi)有積極的影響。但訓(xùn)練時(shí)間也同時(shí)增長(zhǎng),因?yàn)樵~向量維度的提升將導(dǎo)致模型中并行數(shù)據(jù)維度急劇上升。在詞向量維度一致時(shí),相較于兩種單尺寸卷積核窗口,用多尺寸卷積窗口提取文本特征時(shí),性能指標(biāo)均有所提升,說(shuō)明采用多尺寸卷積窗口提取特征時(shí)可適應(yīng)包含不同詞數(shù)級(jí)別的文本長(zhǎng)度變化,能夠更全面地提取特征。當(dāng)模型每組卷積窗口數(shù)目增加到一定程度后,分類(lèi)F1-Measure和G-mean等指標(biāo)出現(xiàn)了波動(dòng)。通過(guò)模型參數(shù)對(duì)故障分類(lèi)性能影響的比較,可知當(dāng)詞向量維度為300維,卷積三種窗口寬度為3、4、5,每組卷積窗口數(shù)目為200時(shí),車(chē)載設(shè)備故障分類(lèi)效果最佳。
表5 卷積神經(jīng)網(wǎng)絡(luò)模型參數(shù)取值比較
3.2.2 焦點(diǎn)損失函數(shù)參數(shù)
焦點(diǎn)損失函數(shù)的核心是用一個(gè)合適的函數(shù)衡量不均衡類(lèi)別間以及易分/難分樣本間對(duì)總體誤差損失的貢獻(xiàn),所以參數(shù)α和γ的取值尤為重要。本文對(duì)α和γ的取值對(duì)車(chē)載設(shè)備故障分類(lèi)性能的影響進(jìn)行測(cè)試,使用F1-Measure作為分類(lèi)結(jié)果的評(píng)估指標(biāo),該指標(biāo)綜合考慮了分類(lèi)精確率與召回率。測(cè)試結(jié)果見(jiàn)表6,當(dāng)α=0.2,γ=0.5時(shí),可以找到不均衡類(lèi)別間以及易分/難分樣本間的平衡點(diǎn),此時(shí)F1-Measure值最高。
表6 焦點(diǎn)損失函數(shù)參數(shù)取值比較
因此,本文利用焦點(diǎn)損失函數(shù)訓(xùn)練模型,該方法能夠降低不平衡、難分樣本對(duì)模型訓(xùn)練的影響,使模型更加關(guān)注難分樣本。
為驗(yàn)證批歸一化處理對(duì)本文提出的卷積神經(jīng)網(wǎng)絡(luò)在收斂速度及準(zhǔn)確率上的影響,分別使用未加入BN層的CNN網(wǎng)絡(luò)以及本文加入BN層的網(wǎng)絡(luò)進(jìn)行試驗(yàn)。兩種網(wǎng)絡(luò)在訓(xùn)練集上的損失值變化見(jiàn)圖3,損失值越大,網(wǎng)絡(luò)的預(yù)測(cè)值與真實(shí)值間的差距越大。從圖3可以看出在訓(xùn)練階段,加入BN層的網(wǎng)絡(luò)比未加入BN層的網(wǎng)絡(luò)損失值更小,且在訓(xùn)練初期,加入BN層的網(wǎng)絡(luò)損失值下降速度更快,說(shuō)明批歸一化處理可以提升卷積神經(jīng)網(wǎng)絡(luò)的梯度下降過(guò)程的收斂速度。圖4為兩種網(wǎng)絡(luò)在驗(yàn)證集上的準(zhǔn)確率的變化趨勢(shì),加入BN層的網(wǎng)絡(luò)性能穩(wěn)定,提高了網(wǎng)絡(luò)的泛化性,整個(gè)過(guò)程中分類(lèi)準(zhǔn)確率都高于未加入BN層的網(wǎng)絡(luò)。
圖3 訓(xùn)練損失值隨迭代次數(shù)變化曲線
圖4 驗(yàn)證準(zhǔn)確率隨迭代次數(shù)變化曲線
為進(jìn)一步驗(yàn)證本文模型對(duì)車(chē)載設(shè)備故障的分類(lèi)性能,將其與其他分類(lèi)模型進(jìn)行對(duì)比,設(shè)定以經(jīng)過(guò)CBOW模型訓(xùn)練所得的文本向量作為各模型的輸入。在對(duì)比試驗(yàn)中分別驗(yàn)證SMOTE和焦點(diǎn)損失函數(shù)對(duì)卷積神經(jīng)網(wǎng)絡(luò)分類(lèi)效果的影響,并與具有代表性的傳統(tǒng)機(jī)器學(xué)習(xí)算法支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行對(duì)比。由于隨機(jī)欠采樣[15]也是數(shù)據(jù)層面處理不均衡分類(lèi)的有效方法,因此也對(duì)其設(shè)置對(duì)比試驗(yàn),不同分類(lèi)方法比較見(jiàn)表7。
表7 不同分類(lèi)方法比較
基于表7的統(tǒng)計(jì)結(jié)果,可以進(jìn)行以下對(duì)比分析:
(1) 通過(guò)SMOTE方法對(duì)少數(shù)類(lèi)樣本自動(dòng)生成,降低數(shù)據(jù)間不平衡程度,或者利用焦點(diǎn)損失函數(shù)訓(xùn)練模型,使模型傾向于少數(shù)類(lèi)、難分樣本,這兩種方法都可以提升卷積神經(jīng)網(wǎng)絡(luò)的分類(lèi)效果。且在最優(yōu)參數(shù)條件下,焦點(diǎn)損失函數(shù)對(duì)模型的性能提升更多,表明焦點(diǎn)損失函數(shù)可以有效降低不平衡、難分樣本對(duì)模型訓(xùn)練的影響。兩種方式結(jié)合使用可以進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)對(duì)車(chē)載故障的分類(lèi)性能。
(2) 與傳統(tǒng)機(jī)器學(xué)習(xí)分類(lèi)方法SVM對(duì)比,本文模型在精確率Precision、召回率Recall、F1-Measure和G-mean等指標(biāo)上均高于SVM。將SMOTE方法與SVM結(jié)合,分類(lèi)效果得到提升,表明降低數(shù)據(jù)間的不平衡程度,有利于分類(lèi)器的學(xué)習(xí),但其分類(lèi)效果不及SMOTE-CNN模型,說(shuō)明由于CNN特征學(xué)習(xí)的作用,在處理車(chē)載記錄數(shù)據(jù)時(shí),能更加有效地從輸入的文本向量矩陣中提取出有用信息,從而提高了模型的識(shí)別能力。
(3) 將隨機(jī)欠采樣方法與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,效果較SMOTE有差距,說(shuō)明對(duì)多數(shù)類(lèi)樣本進(jìn)行約簡(jiǎn),雖然可以降低數(shù)據(jù)間的不平衡程度,提升模型的分類(lèi)效果,但會(huì)造成多數(shù)類(lèi)的樣本信息損失,性能提升不理想。
本文以列控車(chē)載安全計(jì)算機(jī)記錄的AElog數(shù)據(jù)為基礎(chǔ),分析列控車(chē)載各模塊故障形式,并對(duì)其文本數(shù)據(jù)進(jìn)行預(yù)處理,利用CBOW模型實(shí)現(xiàn)文本分布式表示,完成文本數(shù)據(jù)的結(jié)構(gòu)轉(zhuǎn)化。通過(guò)SMOTE方法實(shí)現(xiàn)車(chē)載記錄中少數(shù)類(lèi)數(shù)據(jù)的自動(dòng)生成,降低數(shù)據(jù)間的不平衡程度。以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),結(jié)合AElog數(shù)據(jù)中各模塊正?;虍惓9ぷ鲿r(shí)的標(biāo)志性語(yǔ)句長(zhǎng)短不一的特點(diǎn),利用多尺寸卷積網(wǎng)絡(luò)模型更全面地提取文本特征,避免了傳統(tǒng)分類(lèi)方法中人工特征選擇的過(guò)程;加入批歸一化層提高網(wǎng)絡(luò)的泛化性,加快網(wǎng)絡(luò)收斂,提升分類(lèi)準(zhǔn)確率;利用焦點(diǎn)損失函數(shù)訓(xùn)練模型,進(jìn)一步避免不平衡、難分樣本對(duì)模型訓(xùn)練的影響。通過(guò)對(duì)某鐵路局列控車(chē)載實(shí)際運(yùn)行數(shù)據(jù)的試驗(yàn),將本文模型與其他模型進(jìn)行對(duì)比,驗(yàn)證本文模型在分類(lèi)精確率Precision、召回率Recall、F1-Measure和G-mean等指標(biāo)上的優(yōu)勢(shì)。也為實(shí)現(xiàn)高速鐵路列控車(chē)載設(shè)備故障診斷提供理論依據(jù)和使用價(jià)值。