?

基于CNN-ADABOOST的車載設備故障診斷

2023-12-29 12:23宋鵬飛陳永剛王海涌
關鍵詞:車載分類器故障診斷

宋鵬飛,陳永剛,王海涌

(1.蘭州交通大學 自動化與電氣工程學院,蘭州 730070;2.蘭州交通大學 電子與信息工程學院,蘭州 730070)

0 引 言

列車運行控制系統(簡稱列控系統)是保證列車安全運行的重要設備,而車載設備更是列控系統的核心。車載設備的日志數據記錄了車載設備各個模塊的工作狀況,技術人員可以通過日志來對車載設備進行故障診斷,但由于不同廠家對車載設備的運行記錄不完全相同,且發生故障的原因是多方面的,所以這種嚴重依賴經驗知識的故障診斷方法難度大、處理效率低。因此,進一步研究車載設備的診斷算法,實現車載設備故障的智能診斷,對保證列控系統可靠工作、列車安全運行具有重大意義。

文獻[1]建立故障特征詞庫,采用改進的潛在狄利克雷發布模型(latent Dirichlet allocation,LDA)主題模型提取車載數據特征,通過粒子群優化算法優化的支持向量機方法實現故障信息的分類;文獻[2]通過空間向量模型(vector space model,VSM)將車載日志數據轉化為向量空間中的向量,利用主分量啟發式算法進行特征選擇,通過遺傳算法優化的反饋傳播(back propagation,BP)神經網絡實現故障診斷;文獻[3]首先利用粗糙集理論對應答器信息接收單元(balise transmission module,BTM)故障數據進行處理,實現故障的特征提取,再通過改進的布谷鳥算法優化BP神經網絡的,最后利用優化后的BP神經網絡實現故障診斷分類;文獻[4]首先利用詞向量模型(word to vecor, word2vec)對故障文本進行詞向量轉化,再通過卷積神經網絡(convolutional neural networks,CNN)實現車載日志特征提取,采用結合代價敏感學習的隨機森林算法對故障進行分類;文獻[5]采用貝葉斯正則化算法優化BP神經網絡,利用長短時記憶網絡學習故障特征信息,建立長短時記憶網絡(long short-team memory,LSTM)和優化BP神經網絡的級聯模型,實現車載設備的故障診斷。

自適應增強算法(adaptive boosting,Adaboost)作為一種自適應迭代算法,在機器學習上有廣泛的應用。通過與神經網絡相結合,常用于處理分類任務,其本質為將所有基分類器按照設定的方法組合成為強分類器,能顯著改善弱分類器的分類性能。文獻[6-7]將Adaboost算法與卷積神經網絡結合,用于圖像識別領域;文獻[8]利用Adaboost改進CNN實現金屬電鍍領域的故障診斷;文獻[9]將代價敏感算法與卷積神經網絡結合形成代價敏感卷積神經網絡(cost sentsitive convolutional neural networks,CSCNN),再將CSCNN與集成學習結合,提出了一種基于Adaboost-CSCNN的分類算法;文獻[10]將CNN的特征提取能力與Adaboost的集成學習能力結合起來,提出了Adaboost-CNN模型,克服了訓練CNN需要大量樣本來調整參數的問題;文獻[11]采用AlexNet模型作為基分類器,通過Adaboost算法更新迭代樣本數據以及卷積神經網絡的權重,形成AlexNet-Adaboost強分類器用作軸承故障診斷。

本文采用word2vec將車載設備運行日志轉化為對應的詞向量,用CNN卷積神經網絡實現對故障文本數據的特征提取,將CNN作為基分類器,通過Adaboost算法迭代更新樣本及CNN的權重生成強分類器,利用強分類器實現故障信息的分類。

1 列控車載設備及故障

CTCS-3級列控車載設備采用分布式結構,包括應答器接收單元(balise transmission module,BTM)、列車接口單元(train interface unit,TIU)[12]等,其總體結構圖如圖1所示。

圖1 CTCS-300T型列控車載設備組成Fig.1 Composition of CTCS-300T train control vehicle equipment

對300T型列控車載設備進行故障診斷的數據來源為應用事件日志(application event log, AElog),是一種半結構化文本,記錄了車載設備某一時刻的運行信息,每個模塊正?;蚬收系臓顟B語句包含在內,由包含時間信息的英文短句來進行描述。共有4個模塊保存車載日志,分別為ATPCU、C2CU、SDP和TSG4。本文的研究數據來源于ATPCU模塊,根據故障案例庫以及現場經驗知識[13],對每種出現的故障語句進行分類,可將車載設備故障數據分為20類,如表1所示。

表11 車載設備故障類型及運行狀態語句Tab.1 On-board equipment failure types and operating status statements

2 基于CNN-ADABOOST的列控車載設備故障診斷

2.1 模型整體流程

模型處理流程如圖2所示,車載日志AElog文件經過數據處理轉換為計算機可以識別的向量形式,再利用CNN對特征向量進行提取,通過Adaboost算法對樣本及CNN迭代更新權重生成強分類器,最后利用強分類器在相應的數據集上實現故障診斷。

2.2 數據處理

原始車載設備應用事件日志是一種半結構化英文文本,需要將其轉化為向量形式,神經網絡才能對其進行特征提取。Word2vec是Mikolov等[14]提出的自然語言模型,其特點是能將文本快速轉化為詞向量,其維度與獨熱編碼(one-hot)相比明顯降低,且計算復雜度明顯減少。本文采用word2vec中的跳躍文法(skip-gram)模型。

數據處理具體步驟如下。

1)文本預處理。以某局某段的車載日志為原始數據,提取運行狀態等關鍵信息,去掉停用詞和符號,建立故障信息語料庫。去掉停用詞和符號一方面可以提升分類器的分類能力,另一方面可以過濾掉無關的特征詞,使結果更加精準。

圖2 模型處理流程Fig.2 Model processing flow

2)詞向量獲得。該過程為用自然語言模型訓練生成計算機可以識別的詞向量形式。主要訓練過程:模型掃描語料庫,統計每個詞出現的次數,根據每個詞出現的次數建立哈夫曼樹,模型依次讀取每條語句中的詞,利用梯度下降法算出梯度,更新詞向量和非葉子節點處向量的詞,當遍歷完整個語料庫時,訓練終止,得到詞向量結果。

簡化目標函數為

(1)

(1)式中:C表示語料庫;p為概率函數;Context(ω)表示上下文的集合。

2.3 CNN

CNN基本結構為輸入層、卷積層、池化層、全連接層和輸出層,作為整個神經網絡的核心結構,卷積層和池化層可以交替多次使用[15]。本文所用卷積神經網絡結構如圖3所示。

圖3 卷積神經網絡結構Fig.3 Convolutional neural network architecture

輸入層是一個向量矩陣,由詞向量模型生成。為使向量長度一致,對原運行狀態語句轉化為向量時進行補零操作,即長度不足的用0補齊。

卷積層對輸入層的詞向量矩陣進行卷積操作,每進行一次卷積操作相當于提取一次相應的特征向量。卷積操作過程為

(2)

池化層作用為降低特征數量,縮減模型大小[16]。其數學模型為

(3)

一個CNN可以有多層全連接層,將特征向量作為全連接層的輸入,連接所有的特征后輸出給softmax函數,函數softmax將網絡的輸出轉化為輸出類別的概率,表示為

(4)

(4)式中:z是輸出向量;α0是最后一個全連接層的權重系數;b0為輸出層的偏差值。

CNN本身作為特征提取器,可以將word2vec生成的詞向量矩陣進行特征提取,然后通過激活函數輸出結果。具體流程為將由故障狀態語句轉化而來的詞向量矩陣作為CNN的輸入,通過定義卷積核大小及數量進行卷積與池化操作來提取特征向量,經過全連接層連接全部的特征后,通過softmax函數輸出每一類故障的診斷結果。與常見的圖像處理的區別在于,在處理圖片時,卷積核依次提取圖片的每一個像素點的特征,而在處理車載設備故障語句時,卷積核依次提取詞向量矩陣的每一個元素的特征向量。

2.4 Adaboost算法生成強分類器

Adaboost是一種迭代算法,本質是通過迭代更新權重將一定數量的弱分類器集合形成強分類器,通過深挖弱分類器的性能從而減少誤差率[17]。雖然CNN可做到分類效果,但由于車載設備故障數據存在不平衡性,即正常數據在全部數據中占據大多數,故障數據只占據少數,且不同故障數據類型包含的樣本數目也存在不均衡,因此,只依靠CNN進行分類會造成對出現次數較少的故障類型及數據識別率低的問題。Adaboost算法的主要思想是更新訓練樣本權重和基分類器權重,更新樣本權重會使模型的下一次訓練集中在分類錯誤的樣本上?;诸惼鳈嘀氐母乱蕾囉诜诸惼髟跀祿系姆诸愓`差率,使分類性能較差的分類器所占權重較小,對最終分類結果的影響較小。通過對樣本及基分類器權重的更新,能在很大程度上解決由于數據不平衡造成的漏分與錯分問題。

將CNN作為基分類器,Adaboost訓練基分類器具體步驟如下。

步驟1權重初始化,對每一個樣本賦予相同的權重,表示為

(5)

步驟2計算分類誤差率

(6)

(6)式中:em為分類誤差率;ci為第i個樣本的類別;Tm(xi)為訓練i次的神經網絡模型。

步驟3計算權重系數

(7)

步驟4更新權重

wm+1,i=wm,i·exp(αmciTm(xi))

(8)

步驟5構建強分類器。各弱分類器迭代訓練好后組合為強分類器,表示為

(9)

(9)式中:M為訓練的卷積神經網絡的數量。

Adaboost對由車載設備故障狀態語句轉化生成的詞向量矩陣中的每一行元素賦予相同的權重,將帶有權重的向量矩陣作為CNN的輸入,通過計算每一個CNN的分類誤差率及權重系數來更新詞向量矩陣的權重,在保留前一個CNN權重的前提下用更新權重后的詞向量矩陣作為下一個CNN的輸入,以此類推,依次更新不同CNN的權重,將各CNN作為基分類器按設定方式組合為強分類器,將詞向量矩陣作為強分類器的輸入來進行車載設備的故障診斷。

本研究的具體步驟如下。

步驟1獲取大量的車載故障數據,對其進行數據清洗及分類,按20種故障類型和正常類型處理構建故障語料庫;

步驟2將故障語料庫中的數據樣本按故障類別比例分為訓練集、驗證集和測試集;

步驟3通過skip-gram模型將樣本轉化為向量;

步驟4將產生的向量矩陣作為CNN的輸入;

步驟6采用初始化的向量矩陣來訓練第1個CNN;

步驟7計算基分類器在向量矩陣上的em和αm;

步驟8更新當前基分類器的權重與向量矩陣的權重;

步驟9保存當前基分類器,使用更新權重后的向量矩陣訓練下一個基分類器,對于后續的基分類器,均采用之前迭代訓練中CNN的學習參數;

步驟10對新的基分類器重復步驟7—9,直至達到目標要求;

步驟11將訓練完成的基分類器按設定組合為新的強分類器;

步驟12采用強分類器對故障進行分類。

3 實驗與分析

3.1 實驗環境及數據

實驗采用python3.6解釋器,通過使用TensorFlow框架,gensim、Keras等庫實現 word2vec、CNN以及Adaboost,硬件配置為i5 11400H、RTX3050。

本實驗數據集采用某鐵路局電務段的車載設備故障數據,通過數據預處理,產生6 180個數據樣本,其中,5 275組正常樣本和905組故障樣本,故障樣本分為F1—F20,其分布如圖4所示。

905組故障樣本按故障類別比例分為60%的訓練集、20%的驗證集和20%的測試集。

3.2 實驗參數

本文模型的參數設置情況如表2和表3所示。

表2 word2vec模型參數設置Tab.2 Parameter settings of word2vec model

表3 CNN-Adaboost模型參數設置Tab.3 Parameter settings of CNN-Adaboost model

3.3 評價指標

車載設備故障診斷本質上是一個多分類問題,而且原始數據存在不平衡性,所以二分類指標,例如準確率等,要么無法正確地評價模型的性能,要么計算較為復雜。本文選擇kappa系數作為模型性能的評價指標,kappa系數多用于多分類問題,其計算基于混淆矩陣[18],取值為[-1,1],通常為[0,1]。kappa的計算式為

(10)

(10)式中:p0為每一類正確分類的樣本數量占總樣本數的比例,即總體分類精度;pe表示為

(11)

可將kappa系數取值分為5組來表示不同級別的一致性,如表4所示。

表4 kappa系數對應的一致性級別Tab.4 Coefficient of kappa corresponds to the consistency level

3.4 模型訓練

實驗采用第2節中的CNN模型作為基分類器,通過adaboost算法對訓練數據及基分類器做迭代訓并保存相應的基分類器,當達到滿足要求的基分類器數目時訓練終止,然后將保存的各分類器按(8)式結合成強分類器。

模型訓練分為2部分:①第一部分目的是確定單個基分類器在何時擁有最優的性能。CNN迭代次數如圖5所示,由圖5可以看出,當訓練到120步后模型性能趨于穩定,對訓練集和測試集都有良好的分類能力,所以設定每個CNN迭代120次完成訓練;②第二部分目的是確定最優基分類器數目?;诸惼鲾的咳鐖D6所示,由圖6可以看出,當基分類器數目為1時,kappa系數最低,即分類性能最低。隨著迭代次數及基分類器的增加,模型的kappa系數也隨之上升。當迭代次數為4次時,模型已經具有較好的診斷性能,且后續的kappa值曲線趨于平穩。當基分類器個數為7時,模型具有最好的性能,因為基分類器在數據上產生過擬合,所以當基分類器數目大于7時,模型的分類能力有一定下降。因此,采用7個基分類器,即迭代訓練的CNN模型數量為7。

3.5 故障診斷結果及分析

為了證明本文提出的模型對車載設備故障診斷的有效性,分別用CNN、BP神經網絡、SVM和本文提出的CNN-Adaboost模型在相同的訓練集和測試集上實驗分析,其收斂步數及時間如表5所示,CNN完成實驗所需的收斂步數和時間是最低的。而CNN-Adaboost采用了7個CNN作為基分類器,所以其收斂步數為單個CNN的7倍,但由于后續的基分類器均采用前一個基分類器的參數,并且分類錯誤的數據的權重越來越高,因此,CNN-Adaboost能夠快速收斂,完成整個實驗所用時間較少。

圖5 CNN迭代次數Fig.5 Nnumber of CNN iterations

圖6 基分類器數目Fig.6 Number of base classifiers

表5 不同模型收斂步數及時間比較

各模型實驗得到的混淆矩陣如圖7—圖10所示,可以看出,由于Adaboost算法深挖分類器性能的能力,CNN-Adaboost模型的性能是最好的,對出現次數較少的類別也具有良好的分類能力。CNN、SVM、BP神經網絡對不平衡數據較敏感,對一些樣本數較少的故障類別識別能力欠佳,相較于本文設計的CNN模型,CNN-Adaboost模型的kappa系數提升了0.084,對不平衡數據的分類效果有一定的提升。不同模型的診斷性能如表6所示,本文提出的CNN-Adaboost模型的kappa系數高于其他模型,證明該研究的有效。

圖7 卷積神經網絡混淆矩陣Fig.7 Convolutional neural network confusion matrix

圖8 BP神經網絡混淆矩陣Fig.8 BP neural network confusion matrix

圖9 SVM混淆矩陣Fig.9 SVM confusion matrix

圖10 CNN-Adaboost模型混淆矩陣Fig.10 CNN-Adaboost model confusion matrix

表6 不同模型診斷性能比較

4 結束語

針對列控系統車載設備故障診斷依賴人工經驗的問題,本文提出了一種卷積神經網絡與Adaboost算法相結合的故障診斷模型。通過skip-gram模型對原始車載日志處理形成詞向量,利用CNN卷積神經網絡實現特征向量提取,采用Adaboost算法迭代訓練生成的CNN-Adaboost模型對提取的特征向量進行分類輸出,達到故障診斷的目的。

本文采用某鐵路局車載日志作為原始數據進行實驗,采用kappa系數作為模型性能的評價指標。實驗結果表明,采用Adaboost算法訓練的集成模型對訓練分類錯誤的樣本有較好的表現,能夠降低分類性能不佳的弱分類器對最終診斷結果的影響,提升了模型的故障診斷能力。

CTCS-300T的車載日志記錄在ATPCU、C2CU、SDP和TSG4個模塊中,同一個故障類別可能由不同的模塊或多個模塊引起,本文只分析實驗了ATPCU模塊的故障信息,后續可以研究多模塊數據混合的車載設備故障診斷。

猜你喜歡
車載分類器故障診斷
高速磁浮車載運行控制系統綜述
BP-GA光照分類器在車道線識別中的應用
智能互聯勢不可擋 車載存儲需求爆發
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
因果圖定性分析法及其在故障診斷中的應用
基于ZVS-PWM的車載隔離DC-DC的研究
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
基于LCD和排列熵的滾動軸承故障診斷
新型輕便式車載電子系統的結構設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合