唐曉婕,楊博,李宏光
(北京化工大學信息科學與技術學院,北京 100029)
現代復雜化工生產過程往往具有大滯后、非線性、強耦合等特點,現場操作人員通常需要依賴自身操作經驗對過程進行運行調控,其過程調控經驗則會記錄于DCS 的歷史監控數據庫中。如果能夠采用有效的過程時序數據挖掘方法,提取過程調控操作數據中包含的操縱經驗規則,就可以輔助操作人員快速、有效地對過程進行調控,保證化工過程運行優良的安全、平穩和經濟性能[1]。
卷積神經網絡(convolutional neural network,CNN)[2]因其具有局部連接、權重共享和下采樣等特點,更適合處理海量、高緯度和非線性數據環境下的深度學習問題。Lee 等[3]針對多變量傳感器信號提出采用CNN 提取故障信號圖像特征,對半導體制造過程的缺陷進行檢測;Janssens等[4]采用CNN 對旋轉機械中外圈滾道故障和潤滑性能退化進行故障診斷;Yang 等[5]通過分析數值變量之間的時滯關系確定CNN 輸入的時間窗大小,預測了蒸餾塔的動態時間延遲序列;張浩等[6]將CNN 用于時間序列的特征提取,實驗表明對于大時滯系統的長時間序列預測具有較好的準確性;易令等[7]針對核磁共振采用光譜數據擴增與處理的方法建立了卷積神經網絡回歸模型;Wang 等[8-9]針對RNN 處理工業過程中高維和長時序數據時迭代的計算速度慢和建模精度差等問題,提出了適應于多區域操作的感受野時域卷積網絡和具有條形結構的自適應感受野時域卷積網絡。研究表明,CNN 對于復雜化工過程運行數據的深度特征學習具有較好的能力。
時序數據聚類(clustering)可以通過對生產運行和調控時間序列數據庫中尋找時間序列的自然組合,為過程監控、故障診斷以及優化操縱序列獲取提供有效的方法。Keogh 等[10]基于對多組時間序列的相似性度量,對整個時間序列中各個子序列進行聚類;Kumar 等[11]提出了假設數據誤差服從獨立高斯模型的距離函數,并且采用層次聚類法將季節序列劃分為設定的組數;Begum 等[12]提出了一種改進的基于動態時間彎曲的時間序列聚類算法;Lin等[13]利用模糊模型提升對股票市場走勢進行預測的準確度;Fu[14]使用連續滑動窗口將數值型時間序列分割來發現相似的時間模式;Akatsuka 等[15]提出一種利用Levenshtein 距離來分析連續報警間相似度的方法。
考慮到生產過程會受到多種擾動、需要對擾動狀態進行聚類,然而卻難以對K-means 等方法[16-17]的K 值進行設定。層次聚類算法[18-19]采用自下而上的凝聚方法或自上而下的分裂方法,通過滑動窗口截取將時間序列分割成若干子序列。朱堅等[20]提出了一種層次聚類的工業過程時序操作優化方法,將操縱變量時間序列符號化表示關鍵變量的變化方向與范圍,對操縱變量時間序列的所有子序列進行聚類。然而,當實際工況受到多種類型的干擾時則難以匹配所獲得的優良操作模式。本文結合了層次聚類、時序數據符號區塊化處理和卷積神經網絡,創建了一種基于深度學習的復雜化工過程調控策略重構方法。通過符號化對最優調控操作模式進行碎片化處理,建立相適應的卷積神經網絡進行深度學習,重構各類擾動工況和最優調控操作之間的過程調控操縱策略。將提出的方法應用于工業換熱器過程,驗證它提升過程調控操縱規則挖掘方法的實際適應性。
考慮如圖1 所示的復雜化工過程,其關鍵變量受到多個過程擾動變量和操縱變量的影響。操縱序列學習與策略重構的目的是通過學習在過程擾動變量的各種模式下的操縱變量對關鍵變量的影響規律,以重構復雜工業過程調控操縱策略。

圖1 復雜化工過程調控Fig.1 Diagrams of complex chemical process manipulations
化工生產的過程變量展現了對關鍵變量的多種擾動,為此需要從其時序數據中識別過程擾動狀態,并尋找其對應的最優操縱片段。自下而上的層次凝聚聚類[21-22]方法分別對各個過程擾動變量時間序列子序列進行凝聚聚類,將各個擾動變量得到的聚類數進行排列組合,得到過程擾動狀態的類別。選擇Levenshtein 距離[23]來衡量時序數據子序列之間的相似性,利用兩個子序列之間從一個到另一個所需的最少操縱次數來計算編輯距離[24]。假設有兩個子序列S和T,計算其Levenshtein距離levS,T如式(1):

其中,Si表示時間序列S的第i個數字;Tj表示時間序列T的第j個數字,表示當Si≠Tj時值等于1,而當Si=Tj時值等于0;i和j是每個時間序列子序列中數字的索引。
如果S和T分別為兩個不同的子序列,可以計算序列之間的距離來構建一個聚類樹,其相似度為:

其中,Slength為子序列S的長度。為了易于計算,將過程擾動變量時間序列分成相等長度的子序列。Levenshtein 距離矩陣由二維數列組成,如果兩個簇的長度分別是m和n,其矩陣的維度為(m+1)×(n+1)。根據距離度量兩個簇之間的相似度,將距離最小的兩個簇凝聚為一個更大的簇,然后再計算更新后每個簇的距離矩陣。重復此過程,直到不再繼續凝聚為止[25],圖2為凝聚聚類的示意圖。

圖2 凝聚層次聚類樹Fig.2 Aggregations of hierarchical clustering trees
符號聚合近似(symbol aggregation approximation,SAX)[26-28]在分段聚合近似(piecewise aggregate approximation,PAA)[29-30]的基礎上等長劃分時間序列,每個分段用其均值表示,并利用正態分布將時間序列等概率的分布在縱軸區間內,將其轉化成符號序列,形成任意長度的字符串,SAX 包含以下三個步驟。
(1)將原始時間序列轉換成均值為0、標準差為1的歸一化序列:

其中,x為原始數據;x′為標準化后的數據;μ與σ分別為原始數據的均值和標準差。
(2)通過PAA 將長度為n的原始時間序列C=c1,c2,...,cn轉換成長度為w的序列再用每段子序列的均值來代替這段子序列,即:

其中,Cj為時間序列數據的單個采樣點;j為塊的序列號;n是w的整數倍;w代表字符串的長度。
(3)經歸一化處理的時間序列具有正態分布,通過在高斯曲線上確定“分裂點”從而劃分等大小,對具有相同概率分布的區域,進行離散化表示處理[31]。斷點列表是有序的數字序列B=β1,β2,…,βa-1,其中βi和βi+1之間的面積均為1/a,βa表示+∞。首先選定字母集的大小,然后查找區間的分裂點βi。獲得斷點后,可以對時間序列進行離散化。小于最小斷點的所有PAA 系數被映射到符號“a”,大于或等于最小斷點并且小于第二小斷點的所有系數被映射到符號“b”,以此類推,圖3 為符號化處理的示意圖。

圖3 SAX方法示意圖Fig.3 Diagram of the symbol aggregation approximation method
操作人員根據關鍵變量和過程擾動的狀態對操縱變量進行調控,而調控變量的變化大小并不是精確的。基于符號的時間序列區塊化處理能夠很好地提取過程調控操縱序列的特征,如圖4所示,其中藍線為原始調控操縱數據,紅線為其區塊化,“a、b、c、d、e”為符號化結果。

圖4 調控操縱序列符號化Fig.4 Symbolizations of process control manipulating time series
圖5給出了基于深度學習的復雜化工過程調控策略重構方法流程,它包括了調控操縱特征的離線深度學習與調控策略的在線重構及實施。

圖5 復雜化工過程調控操縱策略深度學習Fig.5 Flow charts of manipulating strategy deep learning for complex chemical processes
(1)歷史操作數據離線處理
Step1:提取過程的關鍵變量、操縱變量和過程擾動變量時序數據,并劃分成等長的子序列。
Step2:采用層次凝聚聚類方法識別不同類別的擾動狀態,并獲得對應關鍵變量時間序列。
Step3:對關鍵變量根據絕對誤差積分指標(IAE)進行篩選,得到能夠使受擾動的關鍵變量調控到期望的穩定狀態的最優操縱片段和對應的各類干擾片段。
Step4:將各類最優操縱變量時間序列段進行SAX 符號化,每個符號提取了操縱變量在時間和空間上的特征范圍,代表了操縱經驗的有效范圍。
(2)CNN調控操縱策略學習
圖6 為調控操縱策略深度學習的CNN 模型,主要包括6 個部分,即輸入層、卷積層、ReLU 層、池化層、全連接層和輸出層。其中,n、W、H分別為輸入變量的個數、寬度和長度;C1、C2,…,Ct-1為卷積層特征平面的個數;St為全局平均池化;F1、F2為全連接層;L1、L2為輸出通道的個數。輸入層和輸出層(input&output)將過程對象的擾動狀態作為輸入數據,每次輸入由長度相同的n列不同干擾變量的子序列構成,子序列的長度為m,即CNN 每次處理n列1×m的向量,對應的輸出數據為操縱變量經SAX 處理后的一個字符;卷積層(convolutions)含有4個特征平面,同一特征平面的卷積核共享權值,即共享同一組權重和偏置,由此可以大量減少參數數量,同時降低過擬合的風險;激活函數使用ReLU 函數,計算簡單、加快模型速度;池化層(subsampling)降低數據體的空間尺寸、減少網絡參數數量、降低卷積運算的時間,同時有效控制過擬合;全連接層(fullyconnected layer)將卷積層和池化層的輸出展開成一維形式,所有通道的特征傳入全連接層,進行特征融合;softmax 將任意實值轉換為概率來實現多分類。

圖6 面向工業過程時序數據深度學習的CNN結構Fig.6 CNN structures for deep learning of industrial process time series data
(3)調控操縱策略在線重構
Step1:提取在線實際過程擾動片段數據,劃分成等長的子序列,并與各類擾動狀態進行匹配,得到所屬類別;
Step2:將實際各類擾動序列子序列逐個輸進訓練好的神經網絡模型中逐步預測出新的操縱規則;
Step3:構建實際擾動工況下的調控操縱策略,并用于指導實際過程對象的調控操作。
圖7 為一個工業換熱器過程,具有大容量滯后和非線性等復雜特性。當物料冷端溫度T1和進料流量F1發生波動時,需要調控操縱變量——熱載體流量F2使得物料出口溫度T3維持在期望值上。

圖7 換熱器流程示意圖Fig.7 Flow diagram of the heat exchanger
圖8 為將T1和F1的過程擾動變量采用基于Levenshtein距離的層次凝聚聚類方法得到的聚類結果,圖9分別為T1的3種擾動類別和F1的2種擾動類別,將其組合得到6 類過程擾動狀態,如圖10 所示,圖中的橫坐標為時間長度,縱坐標為溫度和流量的無量綱量。

圖8 T1和F1的過程擾動變量的凝聚聚類結果Fig.8 Hierarchical agglomerative clustering results of T1 and F1

圖9 T1和F1的擾動類別Fig.9 Disturbance categories of T1 and F1

圖10 過程擾動變量的擾動狀態Fig.10 Disturbance states of the process disturbances variables
將關鍵變量T3的時序數據按照6類擾動狀態劃分為6 類,提取滿足IAE 閾值范圍之內的優良操作和各類擾動狀態片段,并將F2的最優操縱片段進行SAX 符號化,圖11為將一最優操縱片段進行SAX 后轉化的列字符串。

圖11 操縱變量SAX符號化Fig.11 SAX symbolizations of manipulating variables
將6 類過程擾動狀態依次輸入CNN,輸入數據由T1和F1的擾動過程變量序列構成,每段擾動變量長度為10,操縱變量符號化的類別為CNN 的輸出,每兩個1×10的輸入數據對應一個輸出符號,選定輸出層字母集的大小為5,進行CNN 的訓練。訓練集與測試集的量是7∶1,準確率分別為95.52% 和92.69%,圖12 為測試集的多分類混淆矩陣,表1 為混淆矩陣的關鍵評價指標。

表1 混淆矩陣的關鍵評價指標Table 1 Key evaluation indicators of the confusion matrix

圖12 多分類混淆矩陣示例Fig.12 Examples of a multi-category confusion matrix
在線提取實際擾動片段數據,劃分成等長的子序列,并與各種過程擾動狀態進行匹配得到所屬類別;將各種過程擾動序列子序列逐個輸入訓練好的CNN 模型中重構新的操縱規則。將此方法和常規監督控制方法相比,各類擾動狀態下的關鍵變量IAE 指標均有所提高。另外,若實際工況出現了不屬于已知的6 類擾動狀態(第7 類狀態),使用深度學習策略仍然能夠重構出新的操縱規則,調控獲得滿意的關鍵變量,如表2所示。

表2 各類擾動狀態下關鍵變量的IAE指標Table 2 IAE contrasts of the key variable corresponding to the disturbance states
當化工過程受到多種類型的干擾而難以匹配優良的操作模式時,常規時間序列聚類方法難以保證實際工況的適用性。本文利用CNN 端到端的特性,將不同類別的干擾變量序列輸入卷積神經網絡,操縱變量進行SAX 后的字符類別作為輸入數據的標簽,進行卷積神經網絡的訓練,得到實際干擾片段與操縱規則之間的映射關系。應用于工業換熱器,將所建立的復雜化工過程調控操縱策略深度學習方法與常規的監督控制方法相比,其關鍵變量調控的IAE 有明顯下降,從而驗證所提方法的有效性和優越性。未來的研究工作將擴展為多操縱變量調控模式,并考慮過程變量的時間延遲特性。