?

考慮數據不平衡的軌道交通裝備液壓系統內泵泄漏智能診斷方法研究

2024-02-04 03:19陳曦睿楊基宏臺永豐方亞民
現代交通與冶金材料 2024年1期
關鍵詞:編碼器分類器損失

陳曦睿,楊基宏,臺永豐,方亞民

(1.中南大學軌道交通安全教育部重點實驗室,湖南 長沙 410075;2.中車青島四方機車車輛股份有限公司,山東 青島 266111)

引言

液壓系統是許多軌道交通高端裝備的重要組成部件,例如電液轉轍機、列車制動系統、鐵路維修裝備等,保障它們的正常運行對軌道交通的高效安全運行有重要意義。由于工作環境惡劣,負荷較大,液壓系統也容易發生內泵泄漏故障,影響生產工作,甚至威脅行車安全。液壓系統內泵泄漏故障診斷在機器學習算法上屬于分類問題。而機器學習算法預設的條件往往與實際有所出入,因此很難構建一種兼具魯棒性和高效性的模型,數據集不平衡就是一個重要的方面[1]。對于一個二分類問題,假如一個數據集里0 類樣本和1 類樣本的比例是999∶1,那么分類模型什么都不用做,只需將所有樣本都分類為0類樣本,模型準確率將達到驚人的99.9%,然而這并不意味著模型有著極高的故障分類水平。在故障診斷領域,將故障樣本診斷為正常樣本,可能導致嚴重的安全事故,而將正常樣本診斷為故障樣本則可能只是增加一些維護開銷??疾靽鴥韧庋芯抗ぷ?,處理不平衡數據集的方法主要有數據重采樣、代價敏感法和集成方法[2-4]。

數據重采樣方法是指使用過采樣少數類樣本數據,或者欠采樣多數類樣本數據對整體數據集進行類別平衡,從而減少不平衡度。其中,欠采樣方法有造成信息丟失的可能性,故在此不進行詳細介紹。對于過采樣方法,如果對少數類樣本不做處理,直接進行復制,將有可能帶來過擬合的問題。因此一般處理不會直接復制,至少會將一些高斯噪聲加入少數類數據樣本,或者使用算法對少數類樣本進行合成。Chawla 等[5]在2001 年提出了合成式少數類過采樣技術(Synthetic Minority Over-sampling Technique,SMOTE),它是最早的數據合成算法,其基本原理是通過現有的兩個k 鄰近的少數類樣本來生成新的數據樣本,假設現有的兩個樣本是樣本空間里的兩個點,則新的樣本隨機生成于現有兩個樣本之間的連線上。SMOTE 的變種的主要改進在于選取現有樣本的方法上,但是用于生成新樣本的方法實際上與原始方法相似,只是現有樣本的簡單線性組合[6-8]。這對于時間序列數據的兼容度不高,因為時間序列數據往往表現的是同一特征比如壓力、電流和振動等信號在一段時間內的變換,不同數據樣本的時間標簽并不是一定嚴格對齊的,這導致采用簡單的線性組合方法會使合成的樣本失真。相比傳統的SMOTE 算法,生成模型是一種更靈活的合成多樣化樣本的方法,因為生成模型會學習原始數據的分布,生成的數據可以看作是特征的組合,而非原始數據簡單的線性組合。

曾在研究領域引起過廣泛關注的生成模型有生成對抗網絡(Generative Adversarial Network,GAN)[9]、變分編碼器(Variational Auto-Encoder,VAE)[10]和近幾年大熱的擴散模型(Diffusion Model,DM)等[11]。楊培[12]研究了高速鐵路接觸網鳥巢檢測中的不平衡數據集問題。他利用音視頻數據對高鐵接觸網進行鳥巢檢測,然而接觸網圖像數據中含有鳥巢的圖像只占總體數據的極小部分,于是他提出了一種含有雙判別器的生成對抗網絡(Double Discriminator GAN,DDGAN)對含鳥巢數據進行生成。李寧[13]利用應力應變信號對風機葉片進行異常檢測,他采用了條件生成對抗網絡(Conditional GAN,CGAN)生成多種類別的少數類故障樣本。周鑫[14]研究了ZDJ9 型轉轍機的不平衡故障檢測,他使用輔助分類生成對抗網絡(Auxiliary Classifier GAN,ACGAN)來對少數故障轉轍機數據進行生成。ZAREAPOOR 等[15]利用生成對抗模型合成少數類樣本,并在多個工業數據集進行了驗證。以上使用GAN 模型及其變種為基礎的生成對象大多都是圖像數據或者高維時間序列,GAN 模型其實在單變量的時間序列生成任務上表現不佳[16],而且GAN 模型的生成對抗式訓練導致訓練過程不穩定,這些都對GAN 網絡的實際應用產生了限制。

擴散模型在圖像生成任務上取得了比GAN 更好的結果,但是擴散模型的逆擴散過程往往需要迭代上千次,這將會消耗大量計算資源。擴散模型的一個重要研究方向就是減少逆擴散過程的迭代次數[17-18]。相比于GAN 模型,VAE 的訓練更為穩定,而相比于擴散模型,VAE 消耗的計算資源少。

另外,兩類不平衡數據集分類方法中,集成學習是通過集成多個基礎的分類模型,提高對少數類的分類能力,這勢必會帶來額外的開銷。代價敏感學習則是特別關注誤分類代價更高的樣本,實現對誤分類成本高的樣本的準確分類[19],在故障診斷領域,誤分類成本高的樣本是少數故障樣本。具體而言,實現代價敏感的手段主要是在深度學習模型訓練的過程中,比如模型權重更新、損失函數計算等,引入代價因子,從而提高對少數類的分類能力。誤分類代價矩陣是一種常見的方法,它為每一種誤分類情況設定不同的代價系數,調整模型分類能力[20-21]。董勛等[22]根據每個類別的數量,自動生成代價矩陣。Zhang 等[23]提出了進化代價矩陣,以模型總體損失為目標函數,利用遺傳算法動態優化代價矩陣。有些損失函數則不針對某幾個少數類,而針對分類難的樣本,例如焦點損失(Focal Loss,FL)[24],在訓練過程中給分類簡單的樣本減少 權重,給分類困難的樣本增加權重,以此平衡分類器對不同類樣本的分類能力。無論是初始代價矩陣的設置,亦或是后續代價矩陣的優化,大部分都基于啟發式算法。

本文提出了一種液壓系統內泵泄漏診斷方法。該方法結合了數據重采樣和代價敏感學習的優點,能夠有效地處理液壓系統內泵泄漏診斷中數據不平衡的問題。

1 基于不平衡壓力數據集的內泵泄漏診斷方法

本文所提出的方法分為兩個階段,第一階段是數據重采樣,首先使用β-VAE 對少數類樣本進行合成,將少數類故障樣本的數量補全到和正常樣本一致;使用β-VAE 進一步增強了VAE 的規范化能力,改善了不平衡數據集對故障分類的影響。第二階段是代價敏感學習,使用Focal Loss對故障分類模型進行訓練,使難分類樣本的損失值比重變大,增強分類器對難分類樣本的診斷能力??傮w的技術路線如圖1所示。

圖1 總體技術路線Fig.1 Overall technology road map

1.1 基于β-VAE 的內泵泄漏壓力數據生成

原始的VAE 是一種具有概率保證的生成模型,它的編碼器將原始的數據X映射成符合正態分布的隱變量Z,而解碼器再將隱變量Z轉化為數據,并盡可能地將其和原始數據X分布保持一致。與一般的自編碼器不同,Z并不是直接由VAE 的編碼器計算得到,VAE 的編碼器輸出的其實是均值μ和方差σ2,隱變量Z是從正態分布N(μ|,|σ2)中采樣得到,這個過程叫做重采樣。原始VAE 一共有兩部分損失,一部分是重建損失,用來衡量生成樣本和原始樣本的差異;另一部分是KL 散度(Kullback-Leibler Divergence,KL),它是用來約束隱變量,使之規范化為正態分布。VAE 的結構如圖2 所示。

圖2 變分編碼器結構Fig.2 The structure of VAE

使用VAE 模型進行數據生成的研究比較少[25-26],有一個重要的原因是VAE 模型具有叫做后驗失效(Posterior Collapse,PC)的缺陷,以往的研究認為后驗失效是VAE 的固有缺陷,它往往導致VAE 生成的數據十分單調,缺失多樣性[27]。但后驗失效實際是由VAE 重建損失和KL 損失的沖突引起的,現有的研究往往通過調整KL 項和重建損失項的比重,在樣本真實性和多樣性之間做取舍[28-29]。

β-VAE 是一種類似的嘗試。最初β-VAE 被應用于解耦問題,它通過在KL 項上乘以一個大于1 的系數β來增加KL 散度在整體損失函數中的比重,從而達到了不錯的解耦效果。它基于的原理是,如果編碼器在獲得信息少的情況下還能比較好的恢復數據,則說明了編碼器學習到了不錯的數據表征。

而實際上增強KL 項的比重,也有利于數據生成。因為在使用VAE 進行數據生成時,是從一個標準正態分布中隨機抽樣出隱變量,然后再利用編碼器將隱變量轉化為數據樣本,如果KL 損失越小,就代表著模型的規范化能力越強;如果KL 損失較大,就代表模型的隱變量空間并不是一個標準正態分布,在這種情況下使用從正態分布中抽樣得到的隱變量進行數據生成,就有可能出現數據失真的情況。相比原始的VAE,使用β-VAE 則有利于緩解上述問題。

1.2 基于Focal Loss 的內泵泄漏分類器增強

故障診斷問題屬于分類問題,一般分類問題常用的損失函數是交叉熵(Cross Entropy,CE)損失函數,它的計算公式為:

式中pn為預測正確的概率。

從公式(1)可以看出,經典的交叉熵損失函數對所有類別一視同仁,并沒有對特定的類別進行聚焦。FL 是對交叉熵函數的改進,最初被用于在目標檢測領域的類別不平衡問題,它可以使模型專注于某些樣本的分類。它的基本原理是根據樣本的分類難度對樣本進行著重關注,如果一類樣本比較難分類,那么就增大損失的比重,讓模型更偏向于學習它;如果一類樣本比較容易分類,則減少損失的比重,讓模型偏重學習其它類樣本。FL 通過預測正確的概率來衡量分類難度,具體的計算公式為:

式中n代表第n類樣本,αn是用來平衡不同類別損失的權重,γ是為了降低簡單分類樣本的損失,pn為預測正確的概率,(1-pn)為預測錯誤的概率。

由于本文將數據生成和FL 結合起來,在數據樣本層面故障樣本和正常樣本已經平衡了。因此對于公式(2)中的αn,統一設置為1。

對于超參數γ,它主要是對易分類樣本的損失進行衰減。相比于交叉熵損失,(1-pn)γ實際也是一個衰減因子,它不僅能對易分類樣本起作用,也能夠對難分類樣本起作用,只是對易分類樣本的作用更大。為了防止出現梯度消失的情況,將γ設置為1。

2 實驗驗證與模型性能分析

2.1 數據集介紹

擬采用壓力傳感器數據對液壓系統內泵泄漏進行診斷,原始數據的采樣頻率為600 Hz,采樣總時間為1 s。原始數據一共擁有三個類別,分別是正常樣本、輕微內泵泄漏樣本和嚴重內泵泄漏樣本。其中正常樣本一共有1221 條,輕微泄漏樣本一共有492條,嚴重內泵泄漏樣本一共有492 條[30]。

三種不同歸一化壓力數據如圖3 所示,自上而下分別是正常、輕微內泵泄漏和嚴重內泵泄漏。通過肉眼可以看出,有些壓力數據差異表現在切換負載時的變化,有內泵泄漏的液壓系統切換負載時,壓力變化較為不穩定,當然這三類樣本還有一些細微的差別在平穩負載階段,這些通過圖片難以分辨。

圖3 原始液壓數據Fig.3 The raw pressure data

2.2 實驗設置與模型結構

原始的圖片壓力數據就是一個不平衡數據,從每類樣本抽出100 條樣本作為驗證集,再從剩下的每類樣本抽出100 條樣本作為測試集,這樣進一步擴大了不平衡度,更能驗證所提出方法的效果;同時為了減小計算量,降低原始數據的采樣率為200 Hz,數據集分配如表1 所示。

表1 數據集設置Tab.1 The setting of dataset

使用兩個β-VAE 模型對兩類的故障樣本進行增強;利用292 個輕微泄漏樣本和292 個嚴重泄漏樣本訓練β-VAE 模型;使用多層感知機(Multilayer Perceptron,MLP)作為模型基礎骨架。實驗所用的β-VAE 結構如表2 所示。

表2 β-VAE 詳細結構Tab.2 The detailed structure of β-VAE

分類器的模型基礎骨架選用卷積神經網絡(Convolutional Neural Networks,CNN),卷積核參數分別為輸入通道數、輸出通道數、卷積核大小、卷積步長和補零,池化層參數為池化尺寸和池化步長,線性層的參數為輸入維度和輸出維度。每一個卷積層后都跟有一個LeakyReLu 激活函數。具體的結構如表3 所示。

表3 故障分類器詳細結構Tab.3 The detailed structure of classifier

使用消融實驗對所提出方法的效果進行驗證,總共進行四組實驗,分別使用不平衡數據集和CE、不平衡數據集和FL、平衡數據集和CE,還有平衡數據集和FL 對故障分類器模型進行訓練,其中β-VAE 的β設置為1.5,FL 中的γ設置為1。通過準確率、精準率、召回率和F1 分數等指標衡量不同方法的診斷效果,計算公式為:

式中TP指真正例,TN指真負例,FP指假正例,FN指假負例。

2.3 實驗結果與分析

首先檢驗用β-VAE 模型對兩類故障樣本進行生成的效果,使用β-VAE 生成292 個輕微內泄漏樣本和292 個嚴重內泄漏樣本,從而使數據集平衡。生成的樣本如圖4 所示。

圖4 少數類合成數據Fig.4 The generated samples of minority class

從圖4 可以看出生成的樣本和原始樣本大致一致,細節部分則通過MSE(Mean Squared Error,MSE)損失和KL 散度進行衡量。結果如表4 所示,可以看出KL 的優化非常成功,這得益于β-VAE 對KL 項的增強,MSE 損失的情況也算良好。

表4 數據生成結果Tab.4 The result of data generation

使用兩個β-VAE 模型分別生成700 個輕微泄漏樣本和700 個嚴重泄漏樣本,將平衡過的數據集對故障分類模型進行訓練,選取在驗證集表現最好的模型進行測試,測試結果如表5 所示。1#~4#分別為四種模型,使用不平衡數據集和CE 訓練1#模型,使用不平衡數據集和FL 訓練2#模型,使用平衡數據集和CE訓練3#模型,使用平衡數據集和FL 訓練4#模型。

表5 故障診斷結果Tab.5 The result of fault diagnosis

從消融實驗的結果可以看出,當實驗數據集為不平衡數據集,而損失函數也沒有使用焦點損失特別優化時,故障分類率是四種方法中最低的。當使用焦點損失對分類器進行增強時,所有的指標都得到了2.0%的提升。而單獨使用β-VAE 對少數故障類樣本進行生成,從而平衡數據集時,模型的準確率得到了3.7%的提升。在使用β-VAE 對數據集進行平衡的基礎上,再使用焦點損失對故障分類器進行增強,模型的準確率提升了0.7%,增加到94.7%,較最初的原始版本提升了4.4%的故障準確率。

從實驗結果分析可以得出,使用β-VAE 對原始數據集進行平衡能夠有效地提高故障分類器的準確率,它的效果比單獨使用焦點損失來增強故障分類器要好,在數據不平衡時,焦點損失對故障分類器的增強較為明顯,而當數據集平衡時,焦點損失對故障分類器的增強作用有限。

3 結論

本文研究了液壓故障診斷中的數據不平衡問題,并提出了一種兩階段的智能故障診斷方法。在第一階段,首先使用β-VAE 對少數類故障樣本進行補全,將少數類樣本的數量補全至與多數類正常樣本一致,從而得到平衡的數據集。在第二階段,使用平衡數據集對故障分類器模型進行訓練,使用焦點損失對故障分類器進行增強。經過實驗驗證,本文得到的主要結論有:

(1)β-VAE 能夠生成少數內泵泄漏壓力數據,從而有效地減少不平衡數據集對故障分類器的影響。

(2)焦點損失能夠在不平衡壓力數據集上對故障分類器進行有效增強,但是在平衡后的壓力數據集上作用減少。

(3)使用數據補全的效果好于使用FL 對故障分類器進行增強。

猜你喜歡
編碼器分類器損失
胖胖損失了多少元
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于FPGA的同步機軸角編碼器
BP-GA光照分類器在車道線識別中的應用
基于PRBS檢測的8B/IOB編碼器設計
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
JESD204B接口協議中的8B10B編碼器設計
一般自由碰撞的最大動能損失
損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合