李慧芳,徐光浩,黃雙喜
(1.北京理工大學(xué) 自動化學(xué)院 復(fù)雜系統(tǒng)智能控制與決策國家重點實驗室,北京 100081;2.清華大學(xué) 自動化系,北京 100084)
工業(yè)設(shè)備的智能化運維與健康管理對于智能制造系統(tǒng)的無故障運行非常重要[1]。這就要求對關(guān)鍵設(shè)備進(jìn)行持續(xù)監(jiān)控,以提高其安全可靠性、降低維護(hù)成本。隨著工業(yè)互聯(lián)網(wǎng)的發(fā)展和廣泛應(yīng)用,海量、多源異構(gòu)的設(shè)備運行狀態(tài)數(shù)據(jù)也變得易于收集,并逐漸涌現(xiàn)出許多數(shù)據(jù)驅(qū)動的故障診斷模型[2]。這些模型能夠利用自身的深層結(jié)構(gòu)自主學(xué)習(xí)并挖掘故障特征,建立從運行數(shù)據(jù)到故障類型的非線性映射,實現(xiàn)端到端的準(zhǔn)確故障識別??梢哉f,深度學(xué)習(xí)方法推動了故障診斷技術(shù)的發(fā)展,并逐步成為最有潛力的主流方法[3-4]。現(xiàn)有的深度學(xué)習(xí)算法大多假設(shè)各類故障的訓(xùn)練樣本數(shù)目幾近相同,即數(shù)據(jù)的類別基本平衡。可是,實際收集到的故障數(shù)據(jù)往往存在類別不平衡的情況,對容易發(fā)生的故障,可收集的數(shù)據(jù)較多;對發(fā)生頻率很低的故障,可收集的數(shù)據(jù)也相對較少。通常,將樣本數(shù)目較多的故障稱為多數(shù)類故障,而數(shù)目較少的故障稱為少數(shù)類故障。在面向不平衡數(shù)據(jù)時,標(biāo)準(zhǔn)深度學(xué)習(xí)模型容易將不常發(fā)生的少數(shù)類故障識別為多數(shù)類故障,導(dǎo)致少數(shù)類故障的檢測率較低甚至無法檢測,影響模型的實用性[5-7]。一旦故障發(fā)生卻不能及時、準(zhǔn)確地診斷,或者潛在的故障即將發(fā)生卻不能正確地預(yù)測或預(yù)警,“輕”則影響產(chǎn)品質(zhì)量、延誤生產(chǎn),“重”則可能釀成事故、威脅人身安全。
關(guān)于不平衡數(shù)據(jù)驅(qū)動的故障分類問題,已經(jīng)出現(xiàn)了大量研究。從數(shù)據(jù)層面看,典型的是重采樣方法,主要針對數(shù)據(jù)稀少問題,通過改變訓(xùn)練數(shù)據(jù)的分布來降低少數(shù)類樣本的不平衡比例,以盡量使故障數(shù)據(jù)適合于標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)算法。按照采樣對象的不同,現(xiàn)有的重采樣方法可分為欠采樣和過采樣方法。
欠采樣方法,通過減少多數(shù)類樣本的數(shù)量和平衡數(shù)據(jù)集來提高少數(shù)類的分類精度。最簡單的欠采樣方法是隨機(jī)欠采樣(Random Under Sampling, RUS),通過隨機(jī)刪除部分多數(shù)類樣本來平衡樣本數(shù)量,例如方昊等[8]采用多次隨機(jī)欠采樣代替單次隨機(jī)欠采樣來解決軟件故障檢測中的數(shù)據(jù)不平衡問題。隨機(jī)欠采樣方法操作簡單,但是隨機(jī)刪除可能丟失潛在的樣本信息,從而導(dǎo)致分類器性能下降。為此,出現(xiàn)了一些啟發(fā)式欠采樣方法,例如MANI[9]根據(jù)K最鄰近法(K-Nearest Neighbors, KNN)測量得到的多數(shù)類和少數(shù)類之間的距離來移除樣本。與此類似,BARANDELA等[10]基于KNN規(guī)則,從類邊界中刪除容易被錯誤分類的多數(shù)類樣本。這些方法能夠在一定程度上解決隨機(jī)欠采樣容易丟失重要樣本信息的問題,但其本質(zhì)是舍棄多數(shù)類樣本,很有可能破壞樣本集的分布,而且當(dāng)少數(shù)類樣本過少時,通過大量刪除多數(shù)類樣本來平衡數(shù)據(jù)集也不現(xiàn)實。
過采樣方法則將重點放在少數(shù)類樣本上,通過增加少數(shù)類樣本的數(shù)量來降低數(shù)據(jù)間的不平衡程度。與欠采樣相比,過采樣無需擔(dān)心多數(shù)類樣本的信息丟失,模型依然可以獲得完整的多數(shù)類故障特征,在一定程度上保證了多數(shù)類故障的識別率。最容易實現(xiàn)的過采樣方法是隨機(jī)過采樣(Random Over Sampling, ROS),通過隨機(jī)復(fù)制或簡單旋轉(zhuǎn)來增加少數(shù)類樣本的數(shù)量,易于實現(xiàn),但是“復(fù)制”樣本會增加過擬合的風(fēng)險。為此,CHAWLA等[11]提出一種合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique, SMOTE),以解決因隨機(jī)插入合成樣本而導(dǎo)致的過擬合問題。作為一種經(jīng)典的過采樣方法,SMOTE已經(jīng)應(yīng)用于不同領(lǐng)域[12],但它可能引入噪聲和導(dǎo)致過度泛化。因此,出現(xiàn)了一系列SMOTE的變體。ZHU等[13]在選擇最近鄰樣本時,通過引入不同樣本的權(quán)值,有效地處理過度泛化問題。Boderline-SMOTE和Safe-level-SMOTE[14-15]是在考慮了領(lǐng)域多數(shù)類樣本的基礎(chǔ)上,對原始SMOTE進(jìn)行改進(jìn)。Boderline-SMOTE將過采樣操作限制在類邊界附近,而Safe-level-SMOTE則定義了安全區(qū)和噪聲區(qū),以防止增加新的樣本重疊。與此類似,韓志艷等[16]提出一種新的過采樣方法,加權(quán)合成少數(shù)類過采樣技術(shù)(Weighted SMOT, WSMOTE),將樣本劃分為幾個重要性不同的組,再基于重要性進(jìn)行樣本合成。
盡管上述方法在不平衡數(shù)據(jù)分類方面取得了一定的效果,但在實際應(yīng)用時仍然面臨挑戰(zhàn),主要在于其很難自動學(xué)習(xí)原始數(shù)據(jù)樣本的分布,容易引入噪聲,且對不同的數(shù)據(jù)集適應(yīng)性較差。深度學(xué)習(xí)方法具備自主學(xué)習(xí)的能力,為這一問題的解決提供了新的契機(jī)。例如ANDO等[17]提出一種深度過采樣(Deep Over-Sampling, DOS)模型,通過在特征空間對少數(shù)類樣本進(jìn)行重采樣,提高了少數(shù)類的分類性能。在基于深度學(xué)習(xí)的數(shù)據(jù)生成方法中,2014年GOODFELLOW等[18]提出的生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GANs),通過學(xué)習(xí)原始樣本的數(shù)據(jù)分布特征,生成具有相似數(shù)據(jù)分布的新合成樣本。GANs已被廣泛應(yīng)用于不同領(lǐng)域[19],也出現(xiàn)了一些關(guān)于它的變體。LEE等[20]將深度神經(jīng)網(wǎng)絡(luò)和GANs用于異步電機(jī)故障檢測,發(fā)現(xiàn)當(dāng)不平衡比率較小時,采用原始GANs生成的樣本在故障分類中的表現(xiàn)優(yōu)于典型的過采樣技術(shù)。DOUZAS等[21]則利用條件生成式對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Network, CGAN)生成少數(shù)類樣本,有效地改善了數(shù)據(jù)的不平衡程度。WU等[22]構(gòu)建了半監(jiān)督信息最大化生成式對抗網(wǎng)絡(luò)(semi-supervised Information maximizing Generative Adversarial Network, ss-InfoGAN),利用對抗結(jié)構(gòu)生成少數(shù)類樣本,通過數(shù)據(jù)增強(qiáng)來解決數(shù)據(jù)不平衡問題。此外,還有研究將GANs與自動編碼器相結(jié)合。WANG等[23]將GANs與堆疊降噪自動編碼器(Stacked Denoising AutoEncoder, SDAE)結(jié)合,提出了一種基于深度特征提取的故障分類方法,進(jìn)行齒輪箱故障診斷。HAN等[24]提出了一種GAN-SAE故障診斷方法,首先基于GAN對樣本數(shù)據(jù)的不平衡性進(jìn)行補(bǔ)償,再利用堆疊自動編碼器(Stacked AutoEncoder, SAE)提取信號特征。HAN等[25]將對抗學(xué)習(xí)引入卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN),提高了特征表示的魯棒性,增強(qiáng)了其模型的泛化能力。XIE等[26]提出了一種深度卷積GAN模型,通過從少數(shù)類樣本中模擬原始數(shù)據(jù)分布并生成新樣本來改善類別不平衡性。包萍等[27]提出了一種基于GAN和CNN的故障診斷方法,在平衡數(shù)據(jù)集之后,引入Focal loss損失函數(shù)來提高故障識別的準(zhǔn)確性。
大多數(shù)面向類別不平衡的故障識別方法,試圖從數(shù)據(jù)層面解決類別不平衡帶來的少數(shù)類故障難以識別或少數(shù)類故障檢出率太低的問題,即通過基于過采樣的數(shù)據(jù)增強(qiáng)方法,在一定程度上減少或者彌補(bǔ)這種不平衡性的影響,再使用標(biāo)準(zhǔn)深度學(xué)習(xí)模型進(jìn)行故障分類。作為目前流行的數(shù)據(jù)增強(qiáng)技術(shù),基于GAN的生成式過采樣方法獲得了越來越多的關(guān)注。但是,現(xiàn)有方法在生成樣本時存在以下問題:①由于GAN固有的模式坍塌與模型訓(xùn)練穩(wěn)定性問題,導(dǎo)致生成樣本的質(zhì)量較差,甚至可能引入噪聲樣本;②在模型訓(xùn)練過程中,缺乏對生成樣本個體差異性的關(guān)注,使生成器生成的樣本多樣性不足,影響模型的泛化能力,最終影響模型的少數(shù)類故障識別率。
為此,本文考慮數(shù)據(jù)不平衡對診斷準(zhǔn)確率的影響,提出了一種基于主動生成式過采樣與深度堆疊網(wǎng)絡(luò)(Deep Stacking Network, DSN)的故障分類方法,采用ACGAN和主動學(xué)習(xí)算法,學(xué)習(xí)原始樣本分布,在保證生成樣本與原始樣本分布相似的前提下,生成多樣性好的高質(zhì)量樣本。在對數(shù)據(jù)集進(jìn)行平衡化處理后,設(shè)計基于DSN的故障分類器,提高少數(shù)類故障識別率。主要貢獻(xiàn)如下:
(1)為了改善ACGAN訓(xùn)練的穩(wěn)定性,并解決因原目標(biāo)函數(shù)JS散度(Jensen-Shannon divergence)的突變性所造成的生成器梯度難以獲取問題,首先,以連續(xù)變化的Wasserstein距離為目標(biāo)函數(shù),搭建W_ACGAN模型,使生成器能夠更好地獲取有效梯度,在一定程度上緩解ACGAN的訓(xùn)練困難。其次,設(shè)計了基于損失值之比的模型參數(shù)更新策略,自適應(yīng)地調(diào)整生成器與判別器訓(xùn)練的每輪迭代次數(shù),即生成器和判別器的訓(xùn)練步伐,克服因任何一方訓(xùn)練效果太差或太好,即生成器和判別器訓(xùn)練不協(xié)調(diào)而引起的模型收斂困難,確保W_ACGAN訓(xùn)練的穩(wěn)定性,提升生成少數(shù)類樣本的質(zhì)量。
(2)為了引導(dǎo)W_ACGAN生成豐富多樣的少數(shù)類樣本,首先,將主動學(xué)習(xí)算法QBC嵌入到W_ACGAN訓(xùn)練過程中,從生成樣本中挑選一批信息熵較高的樣本,并采用多樣性評價指標(biāo)Diversity對所選樣本進(jìn)行二次挑選,以去除冗余、保證所挑選樣本的多樣性。其次,將所選樣本當(dāng)作真實樣本,連同剩余樣本一起訓(xùn)練判別器。通過判別器與生成器的對抗式學(xué)習(xí),在保證生成樣本與真實樣本相似的基礎(chǔ)上,引導(dǎo)生成器生成類似于所選樣本并具有豐富信息的少數(shù)類樣本,為少數(shù)類識別提供更多的故障知識。
(3)為了減少深度網(wǎng)絡(luò)訓(xùn)練參數(shù)微調(diào)階段因隨機(jī)梯度下降可能帶來的參數(shù)優(yōu)化問題,在對故障數(shù)據(jù)進(jìn)行平衡化處理的基礎(chǔ)上,設(shè)計了一種基于DSN的故障分類模型,即將依次訓(xùn)練好的多個基本功能組件或分類器相互堆疊,構(gòu)建復(fù)雜的故障分類模型。通過跨機(jī)器并行訓(xùn)練與特征學(xué)習(xí)訓(xùn)練故障分類器,在確保模型參數(shù)優(yōu)化性能的同時,大大提高故障診斷模型的訓(xùn)練效率。
主動學(xué)習(xí)算法旨在提高模型性能的同時,盡可能減少樣本標(biāo)記的成本。作為典型的數(shù)據(jù)驅(qū)動方法,深度學(xué)習(xí)需要學(xué)習(xí)大量的參數(shù),且參數(shù)優(yōu)化離不開大量的注釋樣本。早期的主動學(xué)習(xí)算法未得到足夠重視,主要是由于傳統(tǒng)機(jī)器學(xué)習(xí)方法對標(biāo)記樣本的要求相對較少。隨著工業(yè)互聯(lián)網(wǎng)的深入應(yīng)用,海量數(shù)據(jù)的收集變得相對容易。然而,大多深度學(xué)習(xí)的研究依賴于大量公開可用的注釋數(shù)據(jù)集,且高質(zhì)量地標(biāo)注數(shù)據(jù)集往往需要耗費大量的人力。特別地,當(dāng)數(shù)據(jù)標(biāo)注需要高水平的領(lǐng)域?qū)<抑R時,數(shù)據(jù)集的獲取就變得異常艱難,而主動學(xué)習(xí)算法開始逐漸發(fā)揮自身的價值[28]。
主動學(xué)習(xí)的基本思想是:從沒有標(biāo)記的數(shù)據(jù)集中選擇最有用的樣本,并經(jīng)督導(dǎo)者進(jìn)行標(biāo)注后將其加入到標(biāo)記樣本集,用以訓(xùn)練機(jī)器學(xué)習(xí)模型,從而在保持模型性能的同時盡可能地降低樣本標(biāo)記成本。通過精心設(shè)計查詢規(guī)則,主動學(xué)習(xí)算法從無標(biāo)記的數(shù)據(jù)集中選擇最好的樣本,向督導(dǎo)者查詢其標(biāo)簽,試圖最大限度地降低標(biāo)記成本。如圖1所示為一個基本的主動學(xué)習(xí)模型。查詢規(guī)則的設(shè)計對主動學(xué)習(xí)方法的性能至關(guān)重要,因此出現(xiàn)了不同的查詢策略。例如,在一個給定未標(biāo)記數(shù)據(jù)集上的主要查詢策略,包括基于不確定性的方法和基于多樣性的方法,以及同時考慮查詢樣本不確定性和多樣性的混合查詢策略,后者試圖在這兩者之間尋找平衡?;诓淮_定性的單獨采樣往往會帶來采樣偏差,選取的樣本分布未必與未標(biāo)記數(shù)據(jù)集的分布一致。另一方面,只追求抽樣多樣性的策略會增加標(biāo)注的成本,因為可能選擇相當(dāng)數(shù)量信息含量低的樣本。主動學(xué)習(xí)已有大量的研究,但是,仍然存在高維數(shù)據(jù)擴(kuò)展的問題。因此,大多數(shù)人工智能研究更傾向于低維問題。此外,主動學(xué)習(xí)算法通常根據(jù)預(yù)先提取的特征查詢高值樣本,不具備提取特征的能力。
帶有輔助分類器的生成式對抗網(wǎng)絡(luò)[29](Auxiliary Classifier Generative Adversarial Network, ACGAN)起源于條件生成對抗網(wǎng)絡(luò)(CGAN)。CGAN通過在生成器的輸入中添加樣本標(biāo)簽信息來控制生成樣本的類別。ACGAN是對CGAN的拓展,除了在輸入中添加標(biāo)簽信息外,ACGAN采用一個分類器來輔助判別器。因此,ACGAN不僅可以判斷一個樣本來自于真實分布還是生成分布,還可以判斷該生成樣本的類別。也就是說,在ACGAN的判別器中增加了一個分類功能,其結(jié)構(gòu)如圖2所示。此外,ACGAN的實驗結(jié)果說明了通過在GAN的潛在空間中添加更多的結(jié)構(gòu)和/或?qū)iT的損失函數(shù),就可以產(chǎn)生更高質(zhì)量的樣本。
Ld=E[logP(預(yù)測標(biāo)簽=真實|Xreal)]+
E[logP(預(yù)測標(biāo)簽=生成|Xfake)]。
(1)
式中:P(預(yù)測標(biāo)簽=真實|Xreal)表示“輸入為真實樣本、判別器給出的預(yù)測標(biāo)簽也為真實樣本”的概率;P(預(yù)測標(biāo)簽=生成|Xfake)表示“輸入為生成樣本、判別器給出的預(yù)測標(biāo)簽也為生成樣本”的概率。分類損失Lc是ACGAN的特有的指標(biāo),其計算如式(2)所示:
Lc=E[logP(分類標(biāo)簽=真實標(biāo)簽|Xreal)]+
E[logP(分類標(biāo)簽=真實標(biāo)簽|Xfake)]。
(2)
式中:P(分類標(biāo)簽=真實標(biāo)簽|Xreal)、P(分類標(biāo)簽=真實標(biāo)簽|Xfake)分別表示“輸入為真實樣本和生成樣本,而判別器給出的分類標(biāo)簽和真實的類別標(biāo)簽一致”的概率。
在ACGAN中,判別器通過模型訓(xùn)練使Lc+Ld最大化,即既要能夠判斷樣本是屬于真實樣本還是生成樣本,又要能夠判斷生成樣本以及真實樣本的類別。生成器則通過模型訓(xùn)練使Lc-Ld最大化,即除了使生成樣本能夠“愚弄”判別器,生成器還要使各個生成樣本的類別與其相應(yīng)的原始類別樣本接近,使判別器在真、假判別中判斷錯誤,但在識別樣本類別時分類正確。從結(jié)構(gòu)上看,ACGAN與標(biāo)準(zhǔn)GAN沒有太大差別,但這種對標(biāo)準(zhǔn)GAN的修改,似乎能夠在一定程度上使GAN的訓(xùn)練更加穩(wěn)定,從而產(chǎn)生更高質(zhì)量的樣本。
深度堆疊網(wǎng)絡(luò)(DSN)是在深度神經(jīng)網(wǎng)絡(luò)(DeepNeuralNetwork,DNN)的基礎(chǔ)上發(fā)展起來的一種新型網(wǎng)絡(luò)結(jié)構(gòu),具有良好的可擴(kuò)展性[30]。其結(jié)構(gòu)類似于深度置信網(wǎng)絡(luò)(DeepBeliefNetwork,DBN),但有以下幾點不同:①DSN的基本模塊是淺層的全連接神經(jīng)網(wǎng)絡(luò),DBN的組件為受限玻爾茲曼機(jī)(RestrictedBoltzmannMachines,RBM);②DSN后續(xù)模塊的輸入同時包含前一模塊的輸出和輸入;③DSN的每一個模塊都采用有監(jiān)督的訓(xùn)練策略。如圖3所示是一個DSN網(wǎng)絡(luò)結(jié)構(gòu),包含3個模塊,且每個模塊由三層網(wǎng)絡(luò)組成。
(3)
(4)
(5)
由于標(biāo)準(zhǔn)GAN固有的訓(xùn)練困難、模式坍塌等問題導(dǎo)致生成樣本的質(zhì)量以及多樣性較差,本文提出了一種基于委員會查詢(Query by Committee, QBC)和ACGAN的主動生成式過采樣方法。通過更加平滑的Wasserstein距離代替原有的JS散度,衡量真假樣本分布之間的距離,并構(gòu)建ACGAN模型,即W_ACGAN,以提高其訓(xùn)練的穩(wěn)定性。其次,采用QBC以及多樣性評價指標(biāo)(diversity),從ACGAN生成的樣本中挑選最具代表性且多樣性好的樣本,以引導(dǎo)ACGAN生成更多樣且利于后續(xù)故障分類的少數(shù)類樣本。同時,提出了一種基于損失值的自適應(yīng)模型訓(xùn)練方法,通過調(diào)整生成器與判別器的訓(xùn)練周期,提升生成器與判別器之間的對抗效果,改善所生成樣本的質(zhì)量。最后,構(gòu)建基于DSN的故障分類器。本文基于主動生成式過采樣的故障診斷方法流程如圖4所示。
現(xiàn)有基于GAN的數(shù)據(jù)采樣方法,大多直接使用原始GAN擬合少數(shù)類樣本分布,并采用訓(xùn)練好的生成器生成樣本,以便對少數(shù)類樣本進(jìn)行擴(kuò)充。然而,GAN固有的模式坍塌問題使訓(xùn)練過程傾向于生成較為安全的樣本,以期更好地欺騙判別器,這樣生成器所生成的樣本大多為相似的安全樣本,即多樣性較差。如果使用多樣性較差的樣本對原始少數(shù)類樣本進(jìn)行補(bǔ)充,易于引起樣本的類內(nèi)分布不平衡,則模型將無法學(xué)習(xí)到完整的少數(shù)類樣本分布,將使部分少數(shù)類樣本更難識別。此外,GAN固有的訓(xùn)練局限性,需要小心平衡生成器和判別器的訓(xùn)練程度。如果判別器訓(xùn)練得太好,生成器無法愚弄判別器,則判別器就無法從對抗訓(xùn)練中獲得進(jìn)步;同時,判別器越好,生成器的梯度消失越嚴(yán)重,生成樣本的質(zhì)量也就較差。
為了使GAN能夠生成多樣化的高質(zhì)量少數(shù)類故障樣本,本文設(shè)計了一種基于QBC和W_ACGAN的主動生成式過采樣方法。首先,通過修改ACGAN的模型結(jié)構(gòu),引入基于Wasserstein距離的生成式對抗網(wǎng)絡(luò)[31](Wasserstein Generative Adversarial Network, WGAN),并使用更加平滑的Wasserstein距離代替原有的JS散度,來衡量真假樣本分布的距離。其次,使用QBC算法從生成器所生成的樣本中挑選利于提升分類效果的樣本,并利用所設(shè)計的多樣性評價指標(biāo)對所選樣本進(jìn)行二次篩選,以過濾部分相對冗余的樣本。通過將所挑選的樣本標(biāo)簽設(shè)為與真實樣本一致的標(biāo)簽來訓(xùn)練判別器,以引導(dǎo)生成器生成多樣化的、有助于改善分類性能的樣本。最后,基于不同迭代批次的損失值比值,計算生成器與判別器的訓(xùn)練周期,以自適應(yīng)地調(diào)整生成器與判別器的訓(xùn)練次數(shù),達(dá)到平衡訓(xùn)練的目的。
3.1.1 W_ACGAN模型構(gòu)建
為了解決ACGAN的訓(xùn)練困難問題,本文在ACGAN中引入WGAN的Wasserstein距離,設(shè)計W_ACGAN,減少因JS散度帶來的梯度消失,提高模型訓(xùn)練的穩(wěn)定性。
原始ACGAN判別器著重于將真實樣本分為正例、生成樣本分為負(fù)例,其損失函數(shù)為:
-Ex~Pr[logD(x)]-Ex~Pg[log(1-D(x))]。
(6)
式中:Pr表示真實樣本的分布,Pg表示生成樣本的分布,D(x)表示判別器的表達(dá)式。當(dāng)固定生成器的參數(shù),并訓(xùn)練判別器時,任意樣本x(真實樣本或者生成樣本)對判別器損失函數(shù)的貢獻(xiàn)可以表達(dá)為式(7):
-Pr(x)logD(x)-Pg(x)log[1-D(x)]。
(7)
為了獲得最優(yōu)的判別器表達(dá)式,令式(7)中D(x)的導(dǎo)數(shù)為0,可得式(8):
(8)
(9)
即,當(dāng)Pr(x)=0且Pg(x)≠0時,最優(yōu)判別器給出樣本x來自真實分布的可能性為0。當(dāng)Pr(x)=Pg(x)時,樣本x來自真實分布和生成分布的可能性相等,即最優(yōu)判別器給出樣本x來自真實分布的概率為0.5。
考慮一種極端情況,即當(dāng)判別器訓(xùn)練為最優(yōu)判別器時,生成器的損失函數(shù)為:
2×JS(Pr‖Pg)-2log2。
(10)
其中JS(Pr‖Pg)為真實分布Pr與生成分布Pg之間的JS散度,可按式(11)計算:
(11)
由以上推導(dǎo)可得:在判別器為最優(yōu)時,原始GAN定義的生成器損失值轉(zhuǎn)化為最小化真實樣本分布和生成樣本分布之間的JS散度。但是,當(dāng)真實分布Pr與生成分布Pg之間沒有不可忽略的重疊部分時,其JS散度恒為常數(shù)log2。此時,由式(10)可知:生成器損失函數(shù)的梯度恒為0,即生成器無法再得到優(yōu)化。事實上,很大可能是生成分布與真實分布間沒有不可忽略的重疊部分,這正是GAN難以訓(xùn)練的原因所在[32]。
為此,本文以Wasserstein距離代替原有的JS散度,衡量真實分布Pr與生成分布Pg間的距離并進(jìn)行最小化。Wasserstein距離W(Pr,Pg)可按式(12)計算:
(12)
式中:Π(Pr,Pg)表示真實分布Pr與生成分布Pg組合成的所有可能聯(lián)合分布集合;δ為屬于Π(Pr,Pg)的任一個聯(lián)合分布;x、y分別表示真實樣本和生成樣本。從式(12)可以看出,對于JS散度,Wasserstein距離的優(yōu)勢在于:無論真實分布Pr與生成分布Pg間是否有重疊部分,Wasserstein距離總是能夠反映兩個分布之間的距離。即Wasserstein距離相對連續(xù)、平滑,能產(chǎn)生JS散度無法提供的梯度,即引入Wasserstein距離可以使GAN的訓(xùn)練更加穩(wěn)定,且GAN生成器的損失函數(shù)變?yōu)?Ex~Pg[D(x)],判別器的損失函數(shù)變?yōu)镋x~Pg[D(x)]-Ex~Pr[D(x)]。
3.1.2 基于QBC和Diversity的W_ACGAN訓(xùn)練引導(dǎo)
使用QBC算法挑選樣本時,先以裝袋的形式從包含所有樣本的訓(xùn)練集中選取K個訓(xùn)練集T1,T2,…,TK,并使用K個訓(xùn)練集分別訓(xùn)練K個獨立的分類模型C1,C2,…,CK,以構(gòu)成一組委員會C={C1,C2,…,CK}。其次,將生成器對r個噪聲樣本z1,z2,…,zj,…,zr所生成的樣本G(z1),G(z2),…,G(zj),…,G(zr)分別輸入到K個分類模型,每個樣本將獲得K個分類模型給出的K個預(yù)測標(biāo)簽。最后,按照式(13)并利用K個預(yù)測標(biāo)簽分別計算r個樣本的熵值H[G(z1)],…,H[G(zj)],…,H[G(zr)]。
(13)
盡管QBC算法已選出M個信息量較大的樣本,但是為確保生成的樣本能夠均勻分布,避免單一引導(dǎo)對生成樣本多樣性的影響,本文設(shè)計了一個多樣性評價指標(biāo)Diversity,對M個樣本{G1,G2,…,Gk,…,GM}進(jìn)行二次篩選。具體步驟如下:
首先,從{G1,G2,…,Gk,…,GM}中任意挑選一個樣本Gk,根據(jù)式(14)依次計算Gk與其他M-1個樣本之間的歐氏距離Edk,1,Edk,2,…,Edk,k-1,Edk,k+1,…,Edk,M:
(14)
式中Edk,u表示Gk和第u個樣本Gu之間的歐氏距離。
其次,將求得的所有歐氏距離,即Edk,1,Edk,2,…,Edk,k-1,Edk,k+1,…,Edk,M求和,得到樣本Gk的Diversity值Dk:
(15)
同理,依次計算其余M-1個樣本的Diversity值D1,D2,…,Dk-1,Dk+1,…,DM。
為了避免所挑選的生成樣本與原始樣本差別過大,并導(dǎo)致生成器生成的樣本朝著偏離真實樣本的方向發(fā)展,本文在被挑選樣本的損失中引入衰減因子項σ(0<σ<1),以調(diào)整被挑選樣本在判別器損失函數(shù)中的貢獻(xiàn)。該衰減因子的取值將隨著迭代次數(shù)的增加而增大,這是因為訓(xùn)練開始時,生成樣本與原始樣本差別較大,應(yīng)以真實樣本為主導(dǎo)來引導(dǎo)訓(xùn)練;隨著迭代次數(shù)的增加,生成樣本逐漸接近原始樣本,本文希望生成樣本朝著被挑選樣本的方向逼近。因此,最終判別器的損失函數(shù)應(yīng)包含兩個部分:①原有損失,包含兩項:即真實樣本的損失與未被挑選樣本的損失;②添加了衰減因子項的被挑選樣本的損失。如式(16)所示:
(16)
式中:xl表示第l個真實樣本,L為真實少數(shù)類樣本的總個數(shù),Q為未被選擇的生成樣本總個數(shù)。
3.1.3 基于損失值的自適應(yīng)模型參數(shù)更新
(17)
步驟3通過式(18)計算下一輪迭代中生成器的參數(shù)更新次數(shù)gts,類似于式(17),在分母中添加了一項浮點數(shù)ε:
(18)
步驟6重復(fù)步驟3~步驟5,直至迭代次數(shù)達(dá)到預(yù)設(shè)值Δ。
按照上述步驟訓(xùn)練本文的主動生成式過采樣網(wǎng)絡(luò)模型后,向生成器輸入一組與訓(xùn)練所使用的噪聲樣本分布相同的噪聲樣本,并將其相應(yīng)生成器的輸出視為少數(shù)類樣本的補(bǔ)充樣本注入原始數(shù)據(jù)集,以達(dá)到平衡數(shù)據(jù)集的目的。
在經(jīng)過平衡化處理的數(shù)據(jù)集上,構(gòu)建一種基于DSN的故障分類器,即n個基本模塊,每個模塊包含3個網(wǎng)絡(luò)層。通過將所有前一層基本模塊的輸出預(yù)測與原始輸入向量進(jìn)行拼接,作為新模塊的輸入向量,實現(xiàn)多個模塊的“堆疊”。也就是說,基本模塊2的輸入維數(shù)等于基本模塊1的輸入與輸出維數(shù)之和。依此類推,得到包含n個基本模塊的DSN網(wǎng)絡(luò),其訓(xùn)練過程可分為基本模塊訓(xùn)練和模塊約束微調(diào)兩個階段。
(19)
式中:1(·)是指示函數(shù),當(dāng)條件“·”為真時取“1”;當(dāng)條件“·”為假時取“0”;yq=ξ表示第q個樣本屬于第ξ類。同樣,利用反向傳播法和梯度下降法依次訓(xùn)練其余基本模塊。
在模塊約束微調(diào)過程中,通過批量模式梯度下降法進(jìn)一步學(xué)習(xí)每個模塊的權(quán)值矩陣。當(dāng)微調(diào)迭代次數(shù)達(dá)到預(yù)先定義的上界值Δfin,訓(xùn)練過程終止并得到最終的DSN模型。整個訓(xùn)練和測試流程如圖5所示。
為了驗證基于主動生成式過采樣和DSN的故障診斷方法的有效性,本文選擇凱斯西儲大學(xué)軸承數(shù)據(jù)中心的故障數(shù)據(jù)進(jìn)行仿真實驗。通過與6個基準(zhǔn)算法的實驗結(jié)果比較,說明了本文方法的優(yōu)越性。
4.1.1 數(shù)據(jù)集及其預(yù)處理
凱斯西儲大學(xué)[33]的原始實驗數(shù)據(jù)包含外圈12點鐘方向故障(Opposite Outer race Fault, OOF)、滾珠故障(Ball Fault, BF)、內(nèi)圈故障(Inner race Fault, IF)和外圈6點鐘方向故障(Centered Outer race Fault, COF)共4個故障類別,如圖6所示。通過移動滑窗和信號交疊方法,選取樣本數(shù)據(jù)并增加樣本數(shù)量。如圖7所示,當(dāng)滑窗位移步長為130時,具有67 048個采樣時刻點的振動信號,可以提供501個長度為2 048的故障樣本。為了減少個別過大或過小噪聲數(shù)據(jù)對實驗結(jié)果的影響,本文對所有輸入的訓(xùn)練數(shù)據(jù)特征進(jìn)行高斯歸一化操作,將樣本的各個屬性值映射到[-1,1]。其次,對故障的類別標(biāo)簽進(jìn)行One-Hot編碼,將類別標(biāo)簽轉(zhuǎn)換為由0或1組成的向量,即類別編號對應(yīng)的位置被標(biāo)記為1,其他位置標(biāo)記為0。
為了驗證本文過采樣方法的有效性,通過對原始數(shù)據(jù)集進(jìn)行不放回式隨機(jī)抽樣,對不同樣本選取不同的個體數(shù)目,從而構(gòu)造了兩個不平衡數(shù)據(jù)集:數(shù)據(jù)集1和數(shù)據(jù)集2。其中,數(shù)據(jù)集1只有一個少數(shù)類(200個樣本),而其他3個多數(shù)類故障各1 000個樣本;數(shù)據(jù)集2包括2個少數(shù)類(分別有50個和100個樣本)以及兩個多數(shù)類(各1 000個樣本)。
4.1.2 評價指標(biāo)
為了綜合比較本文所提方法與基準(zhǔn)方法,除了常用分類器在正確識別樣本類別方面的評價指標(biāo),即準(zhǔn)確率外,還采用精確率、召回率和F1 score來評估本文方法識別少數(shù)類樣本的性能。假設(shè)少數(shù)類樣本為陽性、多數(shù)類樣本為陰性,用TP表示樣本數(shù)據(jù)集中被正確預(yù)測的少數(shù)類樣本數(shù)量,F(xiàn)P表示被預(yù)測為少數(shù)類樣本但實際為多數(shù)類樣本的數(shù)量,F(xiàn)N表示被預(yù)測為多數(shù)類樣本但實際為少數(shù)類樣本的個數(shù),TN表示被正確分類的多數(shù)類樣本個數(shù)。
(1)準(zhǔn)確率(Accuracy) 反映分類器在正確識別故障樣本上的性能,可按式(20)計算:
(20)
(2)召回率(Recall) 表示被正確分類的少數(shù)類樣本占少數(shù)類樣本總數(shù)的比例,可按式(21)計算:
(21)
(3)精確率(Precision) 反映了被正確預(yù)測為少數(shù)類的樣本在所有被識別為少數(shù)類的樣本中所占的比例,可按式(22)計算:
(22)
(4)F1 綜合考慮Recall和precision,可按式(23)計算:
(23)
4.1.3 對比算法及其參數(shù)設(shè)置
為了評價本文提出的主動生成式過采樣方法的有效性,選擇3種基于GAN變體的過采樣方法,如WGAN、info GAN[34]和ACGAN,以及經(jīng)典的過采樣算法SMOTE進(jìn)行對比實驗。此外,為了驗證本文改進(jìn)的ACGAN,即W_ACGAN的有效性,選擇ACGAN+QBC和ACGAN+AWU為對比方法,其中ACGAN+QBC表示僅使用QBC算法對ACGAN進(jìn)行訓(xùn)練引導(dǎo),ACGAN+AWU表示僅使用本文提出的自適應(yīng)訓(xùn)練方法對ACGAN模型參數(shù)進(jìn)行更新。
需要說明,本文的WGAN、info GAN和ACGAN均采用相同的模型結(jié)構(gòu),即生成器輸入層包含2 000個神經(jīng)元節(jié)點,生成器和判別器的隱層包含1 024個節(jié)點,判別器的輸出層包含4個節(jié)點,生成器的輸出層和判別器的輸入層所包含的節(jié)點數(shù)與樣本的屬性維數(shù)相同。另外,生成器使用Relu、Matmul和Sigmoid激活函數(shù),判別器僅使用Relu和Matmul激活函數(shù),且訓(xùn)練使用的優(yōu)化算法為RMSProp。
為了全面評價本文基于主動生成式過采樣和DSN的故障診斷方法AGO(active generative over-sampling)的性能,筆者在兩個數(shù)據(jù)集上開展對比實驗,并采用4個評價指標(biāo)Accuracy、Recall、Precision和F1 score對實驗結(jié)果進(jìn)行分析與評價。
在數(shù)據(jù)集1上的實驗,旨在驗證不同過采樣方法對模型診斷性能的影響。數(shù)據(jù)集1只包含一個少數(shù)類,即每個過采樣方法僅需生成一種類別的樣本。考慮到實際故障分類問題往往包含多個少數(shù)類,數(shù)據(jù)集2包含兩個少數(shù)類,以測試不同過采樣方法的普適性,即對不同少數(shù)類樣本的生成情況。
(1)準(zhǔn)確率(Accuracy)評價
圖8展示了不同方法的準(zhǔn)確率比較。在數(shù)據(jù)集1上,本文方法AGO獲得了最高的準(zhǔn)確率94.9%,基于GAN的方法,其準(zhǔn)確率均超過了90%,只有SMOTE的準(zhǔn)確率大約86%(低于90%)。由此可知,基于GAN的方法總體上能生成相對較好的樣本,說明了對抗學(xué)習(xí)過程的有效性。雖然SMOTE能在一定程度上改善準(zhǔn)確率,可是其樣本生成是通過在現(xiàn)有樣本中插入新樣本,缺乏學(xué)習(xí)樣本的過程,因此,可能使生成樣本與原始樣本差異太大,甚至引入噪聲,從而限制了其準(zhǔn)確率的提升。在數(shù)據(jù)集2上,本文方法AGO也取得了最高的準(zhǔn)確率,與其在數(shù)據(jù)集1上的性能表現(xiàn)很接近,說明本文方法能夠很好地適應(yīng)不同的數(shù)據(jù)集,且對不同的少數(shù)類,也能生成質(zhì)量較好的少數(shù)類樣本。
此外,在數(shù)據(jù)集1上,基于GAN的過采樣方法中,ACGAN的表現(xiàn)最好,說明引入輔助分類器對提升生成樣本的質(zhì)量有一定作用;WGAN的準(zhǔn)確率最低,說明結(jié)構(gòu)改進(jìn)和信息引入對于分類效果的提升更加明顯。SMOTE在數(shù)據(jù)集1和數(shù)據(jù)集2上的準(zhǔn)確率差別最大,說明SMOTE隨機(jī)插入樣本的普適性較差,也從側(cè)面反映出通過學(xué)習(xí)原始樣本分布來生成少數(shù)類樣本的優(yōu)越性。
(2)精確率(Precision)評價
圖9展示了兩個數(shù)據(jù)集上的精確率對比。由于精確率是指模型正確預(yù)測的少數(shù)類樣本,可以反映出在生成的少數(shù)類樣本中引入噪聲的情況。引入噪聲越少,生成樣本與原始樣本越接近,即模型學(xué)習(xí)到的信息越準(zhǔn)確,少數(shù)類故障的識別也越準(zhǔn)確。由圖9可知,在數(shù)據(jù)集1上,本文AGO方法獲得了最高的精確率,表明AGO在生成與原始少數(shù)類樣本相似樣本的同時,也增加了與多數(shù)類樣本的差異,更加容易被識別,即引入的噪聲很少。此外,ACGAN+QBC的精確率超過了90%,說明QBC算法的使用可以抑制噪聲的引入,生成對分類有利的樣本;可是SMOTE相對更容易帶來噪聲,從而使模型學(xué)到不屬于少數(shù)類樣本的噪聲特征,最終將部分多數(shù)類樣本識別成了少數(shù)類,所以精確率較低,只有83%。
相比于數(shù)據(jù)集1,SMOTE在數(shù)據(jù)集2上的精確率下降很明顯,這反映了在少數(shù)類類別數(shù)較多的情況下,SMOTE更容易引入噪聲,其少數(shù)類故障識別的精確率更低。此外,ACGAN+AWU在兩個數(shù)據(jù)集上的精確率差別較小,說明了本文的自適應(yīng)訓(xùn)練策略在數(shù)據(jù)集中少數(shù)類類別數(shù)目增多時,仍能使AGO保持較好的性能。在數(shù)據(jù)集2上,基于各類GAN變體的過采樣方法效果相差不大,而ACGAN+QBC和ACGAN+AWU的效果相較原始ACGAN出現(xiàn)了較大變化,這反映了引入其他訓(xùn)練策略的有效性。
(3)召回率(Recall)評價
與精確率對應(yīng)的另外一個指標(biāo)為召回率,即少數(shù)類樣本被識別出來的百分比。該評價指標(biāo)可以從側(cè)面反映生成的少數(shù)類樣本的多樣性,即當(dāng)少數(shù)類樣本足夠多樣時,訓(xùn)練集中的少數(shù)類樣本能較好地表征所有少數(shù)類樣本的模式,模型也能學(xué)到足夠多樣的特征,因此能識別出更多的少數(shù)類故障。由圖10可知,在兩個數(shù)據(jù)集上,本文方法都取得了最高的召回率,充分說明了AGO生成樣本的多樣性。
此外,ACGAN+QBC也取得了較好的召回率,說明了QBC算法引導(dǎo)的有效性。SMOTE與基于GAN的過采樣方法的召回率相差不大,這是由于SMOTE的隨機(jī)插值導(dǎo)致生成樣本的模式較多,從某種程度上可以提高模型的泛化能力。所有方法在數(shù)據(jù)集2與數(shù)據(jù)集1上的效果均相差較小,說明了從數(shù)據(jù)層面解決不平衡分類問題,對于提高少數(shù)類故障識別召回率的有效性。生成樣本有助于模型學(xué)習(xí)到較多的少數(shù)類樣本特征,從而識別出更多的少數(shù)類故障。
(4)F1評價
F1 score是一個綜合評價指標(biāo),F(xiàn)1 score的值越大,表示該方法不僅可以準(zhǔn)確地識別少數(shù)類,還可以識別出較多的少數(shù)類故障。由圖11可知,無論是在數(shù)據(jù)集1還是數(shù)據(jù)集2上,本文方法AGO都獲得了最高的F1 score,其值約為91。這就表明AGO生成的少數(shù)類樣本不但接近于原始樣本、引入噪聲較少,而且生成樣本的多樣性也好,可以覆蓋較多的少數(shù)類故障模式。在數(shù)據(jù)集2上,基于GAN變體的過采樣方法的F1 score約為85,比在數(shù)據(jù)集1上約少1分;而SMOTE在數(shù)據(jù)集2上的F1 score大約為80,比在數(shù)據(jù)集1上(約為84)低3分左右,反映出雖然SMOTE可以在一定程度上提高少數(shù)類故障的識別效果,但其適應(yīng)性較差。
面向故障診斷領(lǐng)域存在的類別數(shù)據(jù)不平衡問題,本文提出了一種基于主動生成式過采樣和深度堆疊網(wǎng)絡(luò)的故障診斷方法。首先,針對GAN生成的樣本質(zhì)量差且多樣性不足問題,提出了一種基于QBC和ACGAN的主動生成式過采樣方法。借助于主動學(xué)習(xí)算法QBC和多樣性評價指標(biāo)Diversity,引導(dǎo)W_ACGAN的模型訓(xùn)練過程,并生成多樣的、信息量豐富的少數(shù)類故障樣本,為后續(xù)故障分類效果的提升做好數(shù)據(jù)準(zhǔn)備。同時,為了提高ACGAN模型訓(xùn)練的穩(wěn)定性以及所生成樣本的質(zhì)量,采用Wasserstein距離代替原有的JS散度來衡量真實樣本分布與生成樣本分布的距離,提出了一種基于損失值的自適應(yīng)模型參數(shù)更新策略,進(jìn)一步改善生成樣本的質(zhì)量。最后,采用過采樣后的數(shù)據(jù)集訓(xùn)練基于DSN的故障分類器。兩個不平衡故障數(shù)據(jù)集上的一系列實驗結(jié)果表明,本文提出的故障診斷方法,在少數(shù)類故障識別率以及數(shù)據(jù)集適應(yīng)性方面,均優(yōu)于其基準(zhǔn)方法。
本文主要從數(shù)據(jù)處理層面解決因類別不平衡帶來的少數(shù)類故障難以識別問題,未來將進(jìn)一步從算法/分類器層面入手,通過設(shè)計不同的特征提取或模型訓(xùn)練策略,以增加模型對少數(shù)類樣本的關(guān)注度,提升少數(shù)類故障識別率。此外,筆者還將嘗試更多不同的數(shù)據(jù)集,研究并探索故障種類數(shù)目較多且邊界條件不夠清晰時的復(fù)雜系統(tǒng)故障診斷問題,以進(jìn)一步提高本文故障分類模型的泛化能力。