孟永毅
(山西魯能河曲發(fā)電有限公司,山西 忻州 036500)
對于火電機組中任意一個基本的控制回路,調(diào)節(jié)閥的好壞直接決定整個回路的運行效率, 繼而影響其他相關(guān)參量的變化。據(jù)不完全統(tǒng)計,調(diào)節(jié)閥的投資占每臺機組總投資的10%左右, 而機組大約60%的故障來源于調(diào)節(jié)閥的各種故障與劣化, 所以針對調(diào)節(jié)閥的故障檢測與診斷具有重要的意義與研究價值。
針對調(diào)節(jié)閥的故障檢測與診斷研究, 早期從建立數(shù)學模型的角度出發(fā), 然而這種基于精準數(shù)學模型的方法需要對系統(tǒng)深入理解,而在實際應用中,尤其針對復雜系統(tǒng)的情況有時甚至無法完成該工作[1-4]。基于此通過定性分析認知調(diào)節(jié)閥故障的研究應用,并取得了相應的成果,但是在實際生產(chǎn)過程中,有些先驗知識的獲取比較困難或者需要消耗很大的成本。 基于數(shù)據(jù)驅(qū)動的檢測方法無論是在模型獲取還是特征提取方面都具有優(yōu)越的性能, 故而本文采用非負矩陣分解方法進行降維和特征提取,配合BP 神經(jīng)網(wǎng)絡(luò)實現(xiàn)調(diào)節(jié)閥的故障檢測與診斷。
非負矩陣分解作為一種新興的多元統(tǒng)計方法,與傳統(tǒng)的主元分析、獨立主元分析等相比,具有很好的魯棒性、稀疏性。 該方法在分解矩陣的過程中,要求數(shù)據(jù)矩陣以及分解結(jié)果保持非負, 使得分解因子天然具有稀疏性的特點, 而分解得到的兩個低維矩陣分別作為基矩陣和系數(shù)矩陣, 則原矩陣即可表達為基矩陣中的樣本特征, 通過系數(shù)矩陣表示。 文獻[5]利用非負矩陣分解優(yōu)越的提取局部特征的能力,對發(fā)動機故障信號進行處理并得到更高的分類精度。 文獻[6]將非負矩陣分解與支持向量機相結(jié)合,用于研究復雜化工過程的故障診斷并在TE 數(shù)據(jù)平臺加以仿真實踐,驗證方法的有效性。 文獻[7]在傳統(tǒng)分解方法的基礎(chǔ)上提出了廣義非負矩陣投影算法,拓寬了數(shù)據(jù)適用范圍,并類似PCA 建立監(jiān)測統(tǒng)計量指標來檢測故障的發(fā)生。
神經(jīng)網(wǎng)絡(luò)具有較強的非線性映射能力、 學習能力和容錯能力。 通過神經(jīng)網(wǎng)絡(luò)的構(gòu)建、訓練、分類來完成故障診斷。 國內(nèi)外學者利用神經(jīng)網(wǎng)絡(luò)技術(shù)對調(diào)節(jié)閥的故障診斷作出大量研究工作。文獻[8]通過自回歸方法對止回閥故障狀態(tài)的聲波信號進行分析,發(fā)現(xiàn)聲波頻率、 回歸均方根值與故障類型和程度密切相關(guān),以此為故障特征,建立BP 神經(jīng)網(wǎng)絡(luò)模型,對泄漏等故障的類型和程度進行診斷。文獻[9]將改進的遺傳算法和BP 神經(jīng)網(wǎng)絡(luò)相結(jié)合,提高BP 算法的收斂速度并用于電液伺服閥的故障診斷。 文獻[10]建立調(diào)節(jié)閥正常狀態(tài)下相關(guān)參數(shù)的CMAC 神經(jīng)網(wǎng)絡(luò)模型,計算模型輸出與實際輸出的殘差,據(jù)此檢測是否發(fā)生退化并確定退化的程度, 通過對5 種故障的檢驗驗證了該方法的有效性和魯棒性。
本文針對調(diào)節(jié)閥的故障信號特點, 利用非負矩陣分解方法提取信號的局部特征組成特征集, 由于該方法的魯棒性, 可以在一定程度上排除外界干擾的影響, 故而利用特征集表示信號靜態(tài)和動態(tài)的特點。 在此基礎(chǔ)上,通過BP 神經(jīng)網(wǎng)絡(luò)實現(xiàn)對故障的診斷。 本文采用水箱實驗平臺的電動調(diào)節(jié)閥在5 類故障下的信號, 對文中方法進行了驗證并與傳統(tǒng)方法進行了對比。
非負矩陣分解 (Non-negative matrix Factorization,簡稱NMF)方法的顯著特點在于提取研究對象的局部特征, 其核心思想是在一般矩陣分解基礎(chǔ)上加上非負性約束, 要求原始數(shù)據(jù)以及分解因子滿足非負性,即被處理數(shù)據(jù)是分解矩陣的非負加和,該特點使維數(shù)災難分解得到的兩個低維矩陣具有天然的稀疏性和魯棒性,可以抵御外界干擾,從而達到降維的目的[11-12]。
非負矩陣分解方法的求解屬于一個NP 問題,文獻[13]分別基于歐幾里德距離的平方和廣義KL 散度作損失函數(shù), 通過交替優(yōu)化的方式總結(jié)出了經(jīng)典乘性迭代(Multiplicative Updates, 簡稱 MU)算法,自此得到了突破性的發(fā)展。
假設(shè)給定一個非負矩陣 X∈Rm×n,m 為變量個數(shù),n 為樣本個數(shù),NMF 旨在將原矩陣分解為兩個低維矩陣W 和H 的乘積:
式中:W 是 m×r 維的基矩陣;H 是 r×n 維的系數(shù)矩陣;r 的取值滿足(m+n)<mn。 W 和 H 的求解屬于一個最優(yōu)化問題, 本文采用以歐式距離的平方為例的迭代算法進行優(yōu)化計算,即以X 與WH 的誤差最小作為目標函數(shù):
式中:‖·‖表示范數(shù)。 乘法更新如下:
式(3),(4)中,算法的每一步都對 W 和 H 進行迭代,且由于X 的非負以及約束的非負, 使得每次迭代結(jié)果保證非負, 其最終的收斂性經(jīng)由D.D.Lee 和H.S.Seung 得到證明,在此不再贅述。
BP 神經(jīng)網(wǎng)絡(luò)是一種按誤差反向傳播訓練的多層前饋網(wǎng)絡(luò),其算法稱為BP 算法,它的基本思想是采用梯度下降法, 以期使網(wǎng)絡(luò)的實際輸出值和期望輸出值的誤差均方差為最?。?4]。 其結(jié)構(gòu)圖如圖1。
圖1 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP 神經(jīng)網(wǎng)絡(luò)由多個網(wǎng)絡(luò)層構(gòu)成,通常包括一個輸入層、若干個中間層和一個輸出層。 BP 網(wǎng)絡(luò)的特點是:各層神經(jīng)元僅與相鄰層神經(jīng)元之間有連接;各層內(nèi)神經(jīng)元之間沒有任何連接; 各層神經(jīng)元之間也沒有反饋連接。 每一層的節(jié)點只與上一層和下一層的節(jié)點連接,而同層的節(jié)點之間沒有連接,取出一個神經(jīng)元結(jié)構(gòu)可以得到圖2 所示模型[15]。
如圖2, 神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元,由3 種元素組成:
1)連接權(quán)值,是神經(jīng)網(wǎng)絡(luò)的重要特征,用以表征輸入信號的特征。
2)加法器,用來求取輸入信號的特征加權(quán)和。
3)傳遞函數(shù),則是用于限制加權(quán)和的輸出振幅,將輸出信號限制在一定的范圍內(nèi)變化, 因此又被稱作激活函數(shù)。
圖2 神經(jīng)元模型
結(jié)合本文針對調(diào)節(jié)閥的故障診斷研究內(nèi)容,設(shè)計一個三層的BP 神經(jīng)網(wǎng)絡(luò),其操作步驟如下:
步驟1,初始化網(wǎng)絡(luò)參數(shù)。假設(shè)有n 個輸入節(jié)點,m 個隱藏層輸出節(jié)點,s 個網(wǎng)絡(luò)輸出節(jié)點,分別由xi,yj,ok(i=1,2,…,n;j=1,2,…m;k=1,2,…s)表示,vij表示輸入層到隱藏層的權(quán)值矩陣,wjk表示隱藏層到輸出層的權(quán)值矩陣。 激活函數(shù)選擇sigmoid 函數(shù)f(u)=1 /(1+e-u)。
步驟2,分別計算隱藏層輸出和網(wǎng)絡(luò)輸出,
步驟3,根據(jù)實際輸出與期望輸出的誤差,利用梯度下降算法,通過多次迭代迭代優(yōu)化權(quán)值,直到滿足收斂要求。
非負矩陣分解具有優(yōu)越的局部特征提取性能,在本文中采用分層分模塊的方式提取, 可以保留原數(shù)據(jù)的靜態(tài)和動態(tài)特性。而BP 神經(jīng)網(wǎng)絡(luò)具有優(yōu)秀的學習能力,能有效學到數(shù)據(jù)內(nèi)部的關(guān)系,但是依賴于輸入數(shù)據(jù)的品質(zhì), 將兩種方法結(jié)合, 形成基于NMF特征提取的故障診斷方法。 本方法的核心在于利用非負矩陣分解提取局部特征的優(yōu)越性,配合BP 神經(jīng)網(wǎng)絡(luò)的學習與分類功能,實現(xiàn)故障診斷,具體步驟如下:
1)分別采集研究對象直接相關(guān)變量的正常及故障態(tài)數(shù)據(jù),劃分數(shù)據(jù)模塊。
2) 使用非負矩陣分解提取各模塊的局部特征,分別組成正常態(tài)特征集以及各類故障態(tài)特征集。
3)對所有特征集劃分訓練集與測試集,設(shè)置神經(jīng)網(wǎng)絡(luò)參數(shù)以及輸出編碼。
4)訓練網(wǎng)絡(luò)模型,并加以測試。
調(diào)節(jié)閥在控制系統(tǒng)中舉足輕重, 它接收來自控制器的指令信號,轉(zhuǎn)化為實際動量操作,實現(xiàn)被控量的調(diào)節(jié)變化。 而一旦調(diào)節(jié)閥發(fā)生故障或劣化,必然影響調(diào)節(jié)效果, 難以達到或花費更大的成本達到預期目標。 對于一個系統(tǒng),一旦調(diào)節(jié)閥出現(xiàn)故障,可能使機組效率降低甚至某些關(guān)鍵部位的調(diào)節(jié)閥會導致機組停運,造成巨大的經(jīng)濟損失。
對于調(diào)節(jié)閥故障,在艾默生水箱綜合實驗平臺進行模擬。 該平臺模仿生產(chǎn)實際,匯集溫度、壓力、流量等傳感信號,可以實現(xiàn)單回路、串級、多入多出、耦合回路的實踐。 本實驗以雙容水箱液位控制為例,通過外接OPC 通信服務(wù),實現(xiàn)調(diào)節(jié)閥故障的模擬。 實驗過程中,水箱系統(tǒng)運行的實時數(shù)據(jù)傳輸?shù)缴衔粰C,上位機根據(jù)當前信號發(fā)出控制指令進入故障模塊得到模擬的故障信號,再將該信號傳輸回實驗平臺驅(qū)動調(diào)節(jié)閥運作,以此實現(xiàn)故障的發(fā)生與檢驗。
以電動調(diào)節(jié)閥為例,實驗中設(shè)置5 類故障模式,分別是恒增益故障、恒偏差故障、卡死故障、粘滯故障以及死區(qū)故障。 采集調(diào)節(jié)閥輸入控制指令、調(diào)節(jié)閥閥位反饋指令、 調(diào)節(jié)閥流量信號作為分析故障的3 個變量,并就正常狀態(tài)和5 類故障狀態(tài)分別采集3 000 個數(shù)據(jù)點。為體現(xiàn)非負矩陣分解提取特征的性能,本文設(shè)置了對比實驗,即使用特征集訓練BP 神經(jīng)網(wǎng)絡(luò)和使用原始數(shù)據(jù)集訓練BP 神經(jīng)網(wǎng)絡(luò)。
對包含正常態(tài)在內(nèi)的 6 個數(shù)據(jù)集 Xi∈R3×l,i=1,2,…,6,l=3 000,以 k 個數(shù)據(jù)點作為一個數(shù)據(jù)段(本實驗中k 取100),則對每個數(shù)據(jù)集,其算法步驟如表1 所示。
經(jīng)提取后得到由矩陣構(gòu)成的6 個特征集Qi∈該特征集相比于原始數(shù)據(jù)矩陣以及傳統(tǒng)的特征提取結(jié)果具有如下優(yōu)點:
表1 算法步驟
1)特征集具有很強的可解釋性。 特征集由每個數(shù)據(jù)段提取的基矩陣組成, 而每個基矩陣包含了該數(shù)據(jù)段的代表性信息, 可以用來表征一段時間內(nèi)的運行狀況。
2)特征集在一定程度上排除了外界干擾的影響,反映了運行狀況的靜態(tài)特征。每一個數(shù)據(jù)段因為相比整個數(shù)據(jù)集較小,其動態(tài)變化不明顯,或基本保持穩(wěn)定,或圍繞中心作輕微波動。在特征提取過程中,數(shù)據(jù)段的本質(zhì)信息被保留在基矩陣W 中, 而該數(shù)據(jù)段的波動變化則體現(xiàn)在系數(shù)矩陣H 中, 從而隔離了噪聲干擾,基矩陣則體現(xiàn)了該數(shù)據(jù)段的靜態(tài)特征。
3) 特征集整體上反映了原數(shù)據(jù)集的動態(tài)特征。單個基矩陣體現(xiàn)了一個數(shù)據(jù)段的靜態(tài)特征, 而由多個數(shù)據(jù)段組合成的特征集則反映了在l/k 個過程中的變化特征,亦即動態(tài)變化。
4)特征集維數(shù)降低。經(jīng)特征提取后,對每一個數(shù)據(jù)段, 由100 個樣本提取出1 個代表該樣本所有信息的特征樣本,從而極大降低了數(shù)據(jù)維度。
為體現(xiàn)基于非負矩陣分解特征提取的優(yōu)越性,使用BP 神經(jīng)網(wǎng)絡(luò)進行訓練時, 分別采用特征集和原始數(shù)據(jù)集。 在訓練中,設(shè)置網(wǎng)絡(luò)輸出的目標編碼如表2 所示。
表2 神經(jīng)網(wǎng)絡(luò)輸出編碼形式
首先對特征集訓練與檢驗, 每個樣本經(jīng)特征提取后得到長度為30 的特征樣本, 取前20 個樣本作為訓練集,后10 個樣本為測試集,設(shè)置BP 神經(jīng)網(wǎng)絡(luò)參數(shù)。同時使用原始數(shù)據(jù)對BP 神經(jīng)網(wǎng)絡(luò)進行訓練和測試,對每一個故障樣本,取前2 000 個數(shù)據(jù)點作為網(wǎng)絡(luò)的輸入,后1 000 個數(shù)據(jù)樣本作為測試集,設(shè)置BP 神經(jīng)網(wǎng)絡(luò)參數(shù)如表3 所示。
表3 訓練特征集和原始集的BP 神經(jīng)網(wǎng)絡(luò)參數(shù)對比
分別使用非負矩陣分解提取特征后的特征集和原始數(shù)據(jù)集進行訓練的神經(jīng)網(wǎng)絡(luò)對故障有不同的檢測效果,具體結(jié)果如表4 所示。
表4 使用原始數(shù)據(jù)和特征數(shù)據(jù)訓練與測試的結(jié)果
表中數(shù)據(jù)分別包含使用原始數(shù)據(jù)的故障診斷結(jié)果(未加粗)以及采用非負矩陣分解提取特征后的診斷結(jié)果(加粗)。對比表4 中的結(jié)果,特征提取結(jié)果作為網(wǎng)絡(luò)訓練輸入比使用原始數(shù)據(jù)具有更高的準確率,而且訓練和檢測所花費的時間更少。這說明非負矩陣提取的特征信息充分保留了原始數(shù)據(jù)的靜態(tài)和動態(tài)特征,降低了數(shù)據(jù)維度,提高診斷效率。同時,分析使用原始數(shù)據(jù)診斷錯誤的樣本發(fā)現(xiàn), 對于粘滯故障樣本, 發(fā)生識別錯誤的情況主要集中在變量數(shù)據(jù)上下波動時,經(jīng)過正常態(tài)的階段,在此刻內(nèi),雖然數(shù)據(jù)走勢表現(xiàn)為正常, 但實際上只是波動過程的一個中間過渡狀態(tài),因而容易被神經(jīng)網(wǎng)絡(luò)誤判為正常;對于正常樣本,因為它的動態(tài)變化與死區(qū)樣本接近,出現(xiàn)了類似粘滯誤判的情況, 從而使神經(jīng)網(wǎng)絡(luò)診斷異常;相比而言,恒增益故障和恒偏差故障,它們各自的數(shù)據(jù)動態(tài)變化特征與其他故障具有明顯的差異,所以診斷效率更高。 反觀利用非負矩陣分解方法提取的特征集, 它表征了一段數(shù)據(jù)的總體動態(tài)和靜態(tài)特性,不為局部數(shù)據(jù)點的變化所干擾,提高了診斷性能。
非負矩陣分解作為新的多元統(tǒng)計降維和特征提取方法,在提取局部特征、抵御外界干擾上具有顯著的優(yōu)勢。 本文使用該方法提取電動調(diào)節(jié)閥的故障信號,實現(xiàn)降維的同時,充分保留了原數(shù)據(jù)的靜態(tài)和動態(tài)特征,面對BP 神經(jīng)網(wǎng)絡(luò)的訓練與檢測,與直接使用原始數(shù)據(jù)比較, 具有更高的準確率以及更少的訓練時間,充分證明本文方法的有效性。