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