紀 成顧俊發王健紅王璟德孫 巍
(北京化工大學化學工程學院,北京 100029)
間歇過程是工業過程的一種重要的生產方式,常用于生物化學、制藥、食品加工和精細化工等領域[1]。間歇過程操作難度高,產品質量容易受到環境條件和設備因素影響。這些因素在過程中的異常變化輕則會影響產品質量,重則將危及生產安全。因此需要對間歇過程進行實時的監測,及時地發現過程中的異常變化,并指導操作人員消除異常或者提前終止反應。
與連續過程不同,間歇過程具有動態特性,間歇操作沒有穩定的工作點,物料濃度和反應速率等關鍵變量隨時間變化,即操作的正常工況是一個隨時間變化的軌跡[2]。另外間歇過程具有非連續性的特點,產品分批次生產并輸出,每個批次可以根據要求設置不同的初始條件和操作條件,且不同的條件下反應速率不同,各批次具有一定程度的差異性和不等長性。以上特點為間歇過程的監測帶來了巨大挑戰。為了解決多批次和批次不等長問題,多項主成分分析被提出并應用于間歇過程的監測[3]。該方法將多個批次的數據進行軌跡同步化,將每個批次的數據處理成相同長度,并展開為二維矩陣,再利用傳統的主元分析法監測。但是這種基于數據展開的線性方法不僅計算復雜,且無法提取間歇過程多階段下的動態特性。在數據展開的基礎上,有許多學者提出了改進方法,如自適應階段識別算法[4]、非線性特征提取算法[5]和基于動態模型的方法[6]等。但是這些方法都沒有能夠同時考慮過程的非線性和動態特性,因此無法及時地識別出故障的發生。
本論文提出了一種基于長短時記憶神經網絡和支持向量數據描述的間歇過程監測方法。該方法無需對多批次數據進行展開處理,且不用對批次的不等長特性進行特殊處理,可以說實現了間歇過程監測問題的連續化處理,不僅減少了計算的復雜度,而且能夠有效提取過程變量的動態性和非線性,實時地檢測到過程故障的發生。
首先,多個批次的正常運行狀態下的歷史數據被用來建立長短時記憶神經網絡回歸模型。然后用支持向量數據描述對正常工況下得到的殘差進行超球體描述,測試集樣本點到超球體中心的距離作為監測統計量,對故障樣本進行檢測。本方法被應用于青霉素發酵仿真過程,結果表明該方法能夠對間歇過程的故障進行早期報警。
結合了長短時記憶神經網絡和支持向量數據描述算法,提出一種基于殘差的間歇過程監測模型,具體算法及監測策略在本節中進行介紹。
長短時記憶神經網絡是由 Hochreiter 和Schmidhuber 提出的一種循環神經網絡的變體[7]。該網絡在循環神經網絡的基礎上引入了記憶的思想,構造了遺忘門、輸入門和輸出門。遺忘門用來決定要保留或舍棄哪些信息,如式(1)所示,遺忘門將之前狀態信息ht-1和當前狀態xt輸入到激活函數σ中,其中:Wf是遺忘門的權重;bf是偏置;ft是遺忘門的輸出,輸出值在0 與1 之間,0 表示完全遺忘,1 表示全部保留。

輸入門決定單元中更新的信息,式(2)可以用來決定需要更新的新信息,其中:ht-1表示上一歷史狀態;xt表示當前狀態;Wi表示權重;bi表示偏置;σ是Sigmoid 激活函數。
式(3)用1 個tanh激活函數決定用于更新狀態的候選新信息,其中:ht-1表示上一歷史狀態;xt表示當前狀態;WC表示權重;bC表示偏置。將式(2)相乘得到要加入該單元的更新信息。式(4)為單元狀態值的更新。

輸出門決定輸出的信息,式(5)決定需要輸出多少當前狀態的信息,其中:ht-1表示上一歷史狀態;xt表示當前狀態;Wo表示權重;bo表示偏置;σ是Sigmoid 激活函數。然后式(6)將式(5)與激活后的當前單元狀態相乘得到神經網絡的輸出。

由于長短時記憶神經網絡能夠同時考慮當前值和歷史值的信息,因此能夠提取過程的動態和非線性特征,適用于建立間歇過程時間序列的回歸模型。
支持向量數據描述是一種常用的異常值檢測算法,它的原理可以轉化為式(7)中的優化問題[8]。

將訓練數據x通過變換函數映射到特征空間,在特征空間尋找一個最小體積的超球體。其中:R是超球體的半徑;a是球心;ξ是松弛因子;C是懲罰項。引入式(8)所示的核函數,結合拉格朗日乘子法,超球體的半徑R可以由任意支持向量xk用式(9)求得。

其中:αi是樣本xi對應的拉格朗日系數,對于測試樣本xtest,用式(10)計算其與球心a的距離作為統計量,如果距離超過超球體的半徑,則說明該樣本為異常樣本。

將以上2 種方法相結合,提出了一種新的間歇過程監測方法,將殘差作為監測對象,將復雜的間歇過程監測轉化為連續過程監測問題來處理。具體的實現策略如圖1所示,首先將包含不同初始條件的多個正常批次數據作為訓練數據,訓練長短時記憶神經網絡回歸模型,迭代至模型的損失不再明顯下降為止。然后將從回歸模型獲取的殘差數據用支持向量數據描述模型從原始空間投影到特征空間,尋找最小超球體來確定正常殘差數據的范圍。至此,監測模型建立完成。當新的批次生產時,將實時數據帶入建立好的神經網絡回歸模型得到實時的殘差數據,再計算殘差數據到超球體球心的距離并與超球體的半徑進行比較,若該距離小于半徑,過程處于正常運行狀態,否則,說明過程出現了異常,監測模型開始報警。

圖1 本研究過程監測方法流程圖Fig.1 The flow chart of the proposed monitoring method
本節將1.3 所提出的監測方法應用于青霉素發酵仿真過程,對該方法的有效性進行驗證。
青霉素發酵過程是一種典型的間歇操作過程,發酵初期為間歇操作,產生大量菌體,菌體消耗掉葡萄糖底物后,進入半間歇補料階段,再向發酵罐中連續加入葡萄糖。發酵期間,無論是環境條件、培養基初始條件還是操作變量的波動都會影響最終得到的青霉素濃度,青霉素濃度難以在線測量[9],因此需要對過程中涉及到的測量變量與操作變量進行實時監測,以便能夠及時消除故障,保證過程按照正常工況的發酵軌跡運行。該過程具有很強的動態時變性和非線性,監測難度大。本論文采用Cinar 教授團隊[10]開發的Pensim 軟件來對該過程進行模擬并獲取數據。
首先模擬10 個批次不同初始條件的正常工況數據作為訓練數據,過程變量信息如表1所示。反應時間395 h 到405 h 不等,采樣頻率為0.1 h,以窗口的形式輸入到長短時記憶神經網絡進行訓練,根據過程數據的復雜度,模型層數選為2 層,隱藏單元個數設為64 個。當訓練的損失不再有明顯下降后,停止迭代,確定回歸模型。并生成1 組隨機初始條件和批次長度的正常工況數據測試回歸模型的效果。以圖2所示的CO2濃度的回歸效果為例,可以看出該模型對青霉素發酵過程的不同階段都是良好的回歸效果,通過計算評價回歸效果的指標得到R2為0.983,均方根誤差為0.060 6,說明該模型可以滿足回歸要求。

表1 青霉素發酵過程變量Table 1 Variables in penicillin fermentation process

圖2 CO2 濃度的回歸結果Fig.2 Regression result for carbon dioxide concentration
確定回歸模型后,計算正常工況數據的殘差作為監測模型的訓練數據,為了驗證本方法的監測效果,通過Pensim 仿真平臺設定3 個常見的故障,分別在反應進行到100 h 時分別引入于3 個不同批次中,故障信息如表2所示,故障引入于操作變量,且有階躍和斜坡2 種故障方式。同時補充1 個不引入故障的正常批次數據來測試模型對正常工況的監測效果。

表2 本文引入的故障信息Table 2 Faults information introduced in this work
將這1 個批次的正常數據和3 個批次的故障測試數據分別帶入建立好的回歸模型,得到殘差,即通過模型得到的回歸值與真實值之間的差值,再將殘差帶入監測模型計算距離統計量與控制限進行比較來判斷當前樣本所處的運行狀態。
監測結果如圖3、圖4、圖5和圖6所示,可以看出,針對正常工況的測試數據,監測統計量保持在控制限以下,說明模型具有極低的誤報率。對于階躍故障,該模型能夠在故障發生的第1 個時間點進行實時報警,對于故障2 和3 的斜坡故障,即使故障幅度較小,也能夠在1 100 樣本點之前進行及時的報警。結果表明,本研究提出的監測方法能夠有效地提取間歇過程中復雜的動態及非線性特征,并實時地檢測到故障的發生。同時,本方法還可以免去傳統方法對變量展開和批次軌跡同步化的復雜運算

圖3 正常數據的監測結果Fig.3 Monitoring result under normal condition

圖4 故障1 的監測結果Fig.4 Monitoring result of fault 1

圖5 故障2 的監測結果Fig.5 Monitoring result of fault 2

圖6 故障3 的監測結果Fig.6 Monitoring result of fault 3
提出了一種基于神經網絡和支持向量描述的間歇過程監測方法,通過提取過程的動態和非線性特征建立回歸模型,并以殘差為監測對象,可以避免數據展開和批次不等長處理等復雜計算,以連續過程監測的處理方式解決了間歇過程監測的問題,并應用于青霉素發酵過程,結果表明該方法能夠實現對該過程中的異常偏離的實時監測,本方法的監測思想為間歇過程的監測提供了一種新的思路。