王國柱,路 通,池曉航,周 強,杜志勇
(1.衛華集團有限公司,河南 長垣 453400;2.河南工學院 電氣工程與自動化學院,河南 新鄉 453003;3.鄭州大學 電氣工程學院,河南 鄭州 450001)
工業過程的平穩性、安全性與可靠性是企業關注的重點問題,也是提高企業生產效率和產品質量的關鍵因素。當工業過程中出現異常時,如果沒有及時發現并處理,很有可能導致生產線停工、企業生產效率下降、環境污染,甚至是更加重大的經濟損失和人員傷亡,并且當異常逐漸發展為較大的故障后,造成的破壞大多數是不可逆的[1-2]。因此,過程監測成為工業安全穩定領域的研究重點,并得到國內外專家學者的廣泛關注[3-5]。
工業過程監測經過多年的發展,其分類方法也在不斷完善,現大致分為基于解析模型的方法、基于知識的方法和基于數據驅動的方法[6-8]。但隨著工業控制領域自動化、信息化、智能化水平的不斷提高和計算機技術的飛速發展,集散控制系統和智能儀表得到廣泛使用,生產過程中的數據已經可以被采集并長期存儲起來,這些數據中包含了系統運行的大量信息,對分析過程的歷史、現狀以及預測過程未來的運行情況都是不可缺少的寶貴資源。充分的數據分析和應用,也能夠避免所謂的“數據豐富,信息缺乏”現象。傳統的基于數據驅動的過程監測方法在建模時通常會做出一定的假設,很難滿足工業過程的實際要求[9]。因此,基于統計理論過程監測方法受到了國內外研究人員的廣泛關注并得到了較快的發展,該方法具有不需要建立系統精確數學模型的優勢,主要依賴正常過程數據建立統計學模型,從統計學角度對生產過程的安全性進行描述。
神經網絡作為基于統計理論的經典方法,具有自學習、自適應、自組織、良好容錯性、高度并行性及非線性逼近能力,能夠較好地處理非線性、高度不確定性和無規律問題,將神經網絡思想應用于工業過程監測具有一定的研究價值。本文首先應用BP神經網絡建立過程監測模型,然后通過仿真驗證方法的可行性;但當輸入數據的樣本過多時,計算將變得復雜,計算速度比較緩慢,因此本文引入主元分析對數據樣本進行處理,在降低數據樣本的維度后對網絡進行訓練,以達到減少訓練時間、提高故障檢測精度的目的。
由于現代工業過程的復雜程度日益提高,過程數據中的變量不斷增加,且很多變量都具有一定的相關性和冗余性,如果對所有變量進行分析,無疑會做大量的重復性工作。主元分析作為一種統計學方法,適用于多元數據,能夠對多變量數據進行降維,將高維數據轉化為能夠代表絕大多數數據信息的低維數據。其主要思想是通過坐標變換將n維數據投影到相互正交的k維空間(k (1) (2) 計算協方差矩陣S。計算可得: (2) (3) 特征值分解。求解協方差矩陣S的特征值,并按照從大到小的順序進行排列,得到[λ1,λ2,…,λm],同時,計算特征值對應的特征向量矩陣p=[p1,p2,…,pm]。 (4) 獲取主成分。設求解的第h個主成分為th,求解過程如式(3)所示: (3) (5) 確定主元個數。采用累計方差貢獻法(Cumulative percent variance, CPV)通過特征值方差的累計和百分比來選取主元,如式(4)所示: (4) 其中,m為變量數,λi為過程數據矩陣特征值,CPV表示累計特征值方差貢獻和百分比,k表示保留的主元個數。通常情況下,CPV值大于85%即認為前k個主元包含了足夠多的原始數據信息,近似能夠代表原始數據[10]。 BP神經網絡又稱誤差反向傳播神經網絡,是誤差反向傳播的多層前饋網絡,由Rumelhart等人于1986年提出[11],網絡模型如圖1所示:網絡為三層結構,包含輸入層、隱含層和輸出層,x1~xn為網絡的輸入數據,n和m分別為輸入、輸出樣本個數,wij,wjt分別為三層結構之間的權值。 神經網絡的運行過程分為訓練和測試兩個部分,訓練過程首先將輸入數據從前到后進行處理,然后根據實際輸出與期望輸出的誤差修改權值,最后反復進行以上過程直到誤差收斂。測試過程是將測試數據輸入網絡,通過對比實際輸出與期望輸出得到誤差,進而測試網絡性能。 圖1 BP神經網絡模型 BP神經網絡學習算法步驟如下: (1) 設定權值的初始值,使其初始化; (2) 對神經網絡的一些參數進行定義,設三層BP神經網絡輸入層、隱含層、輸出層神經元分別為n、l、m,輸入矩陣X=[x1,x2,…,xn],網絡有n個訓練樣本,經過q次迭代后的輸出矩陣Y=[y1(q),y2(q),…,ym(q)],期望輸出矩陣d=[d1,d2,…,dm]; (3) 將X輸入網絡,通過式(5)和(6)分析輸入數據并確定實際網絡輸出,得到 (5) (6) 式(5)和(6)中,Hj為隱含層輸出,j為隱含層節點數,wij為輸入層與隱含層間的連接權值,ai為隱含層的閾值,Ot為網絡的輸出,wjt為隱含層與輸出層之間的連接權值,bt為輸出層閾值,f()為激勵函數; (4) 根據式(7)對比期望與實際網絡輸出,并計算誤差et: (7) (5) BP神經網絡的反向傳播過程目標是使誤差et趨近最小值,通過式(8)使用梯度下降法修正權值: (8) 式中,δ為權重偏差,η為學習速率; (6)根據誤差的大小確定網絡參數,通過式(9)計算新的連接權值和閾值: (9) (7) 重復以上步驟,直至誤差滿足要求。 基于主元分析和BP神經網絡的過程監測建模流程如圖2所示,主要分為以下三個步驟: 圖2 基于主元分析和BP神經網絡的過程監測流程圖 (1) 數據降維。首先對過程數據進行標準化處理,避免因變量量綱不同引起誤差;其次對過程數據進行主元分析,通過CPV確定主元個數,最后根據主元個數確定神經網絡參數。 (2) 使用BP神經網絡對過程進行監測。根據步驟(1)確定的主元個數設置神經網絡輸入層和隱含層參數,k個主元對應k個輸入層節點和2k+1個隱含層節點,輸出節點個數對應監測結果。采用L-M算法對網絡進行訓練,隱含層和輸出層神經元激活函數分別采用S型正切函數tansig和S型對數函數logsig。 (3) 網絡測試。將測試數據輸入網絡,對網絡的訓練時間、誤差收斂情況和監測結果進行分析,評價網絡性能。 本節首先使用BP神經網絡方法對田納西-伊斯曼(Tennessee-Eastman, TE)過程數據進行訓練,并測試網絡;然后引入主元分析方法對過程數據降維,進而對網絡進行訓練并測試;最后根據過程預設故障類型分析、比較兩種算法的仿真結果,驗證所提算法的有效性。 TE過程是由美國田納西-伊斯曼化學公司開發的具有開放性和挑戰性的化工模型仿真平臺,該過程共包含52個變量,能夠產生正常數據和21種故障類型數據,故障類型如表1所示,其中已知故障16個,其他為未知故障。本文選取IDV(8)故障進行仿真,設定CPV為85%,得到主元個數為28時CPV約為87.2%;選取480組正常樣本、480組故障樣本對網絡進行訓練;選取960組樣本用于測試,其中包括正常樣本160組、故障樣本800組。將得到的28個主元作為網絡的輸入,確定輸入層的節點數為28個,根據經驗確定隱含層節點數為57個,設定輸入是正常數據樣本時,輸出結果為0,故障時為1。 表1 TE過程21種故障類型 對網絡訓練過程參數進行設置,設置迭代次數為100,學習速率為0.01,期望誤差為0.01。圖(3)給出了兩種方法的訓練結果,由圖3(a)BP神經網絡方法的訓練結果得到:經過40次迭代訓練,訓練誤差基本穩定在0.5附近,誤差較大;圖3(b)為引入主元分析后的網絡訓練誤差變化情況,可以看出網絡經過20次迭代訓練后誤差小于0.1,引入主元分析后的網絡迭代次數減少,訓練效率更高,誤差更低。 圖4分別給出了兩種方法的監測結果,從圖4(a)可以看出BP神經網絡方法在第160組樣本后能夠監測到故障存在,但漏報較多,實際監測結果并不理想;圖4(b)為引入主元分析后的監測結果,可以看出在第160組樣本后基本能夠監測到所有故障的存在,相比BP神經網絡方法,提高了故障檢測的準確率。 (a) BP神經網絡方法的訓練結果 (a) BP神經網絡方法監測結果 表2給出了兩種方法的訓練時間與故障檢測準確率,通過對比可以看出:對經過主元分析降維后的數據采用BP神經網絡方法進行訓練,訓練時間更短,故障檢測準確率更高,驗證了所提方法的有效性。 表2 兩種方法的訓練時間與故障檢測準確率 本文將主元分析與BP神經網絡兩種方法相結合,通過主元分析理論對過程數據進行降維,建立了基于主元分析與BP神經網絡的過程監測模型并將其應用于TE過程,得到以下結論:該方法訓練時間短,故障檢測準確率高,具有更好的過程監測效果。



1.2 BP神經網絡




2 基于主元分析和BP神經網絡的過程監測模型

3 應用研究




4 結束語