劉 鋼,李曉東,金軼群,劉 川,羅智斌,謝宙樺,馮鐵玲,黃善鋒
(1.中電四會熱電有限責任公司,廣東 四會 526242;2.西安熱工研究院有限公司,陜西 西安 710054)
工業(yè)循環(huán)冷卻水在鋼鐵、電力、化工等工業(yè)生產(chǎn)過程中發(fā)揮著重要的作用,占據(jù)了工業(yè)用水的50%以上[1-2]。然而,在工業(yè)循環(huán)冷卻水運行的過程中,循環(huán)冷卻水在大氣、凝汽器等換熱器中頻繁循環(huán)使用,不斷蒸發(fā)濃縮導(dǎo)致循環(huán)冷卻水的pH值、堿度、硬度和濃縮倍率等水質(zhì)指標發(fā)生變化,使得循環(huán)冷卻水系統(tǒng)存在腐蝕、結(jié)垢等問題,導(dǎo)致發(fā)電系統(tǒng)的換熱效率下降或腐蝕,影響機組正常運行[3]。因此,對工業(yè)循環(huán)冷卻水系統(tǒng)運行狀態(tài)進行預(yù)測并及時處理,就成為火力發(fā)電等工業(yè)領(lǐng)域中的重要問題[4-5]。為此,本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測方法,該方法根據(jù)工業(yè)循環(huán)水水質(zhì)特征,搭建了深度卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)由3個卷積層、3個池化層、2個全連接層組成。深度卷積神經(jīng)網(wǎng)絡(luò)通過多層卷積對水質(zhì)數(shù)據(jù)特征進行提取,從而對循環(huán)水系統(tǒng)運行狀態(tài)進行分類。實驗結(jié)果表明,深度卷積神經(jīng)網(wǎng)絡(luò)在工業(yè)循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測分類中能達到94%的識別率,具有較強的泛化能力。對解決循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測問題具有重要的意義。
循環(huán)冷卻水系統(tǒng)的安全穩(wěn)定運行對水質(zhì)等指標有著嚴格的要求,各水質(zhì)等指標相互關(guān)聯(lián),共同作用形成循環(huán)冷卻水系統(tǒng)各種運行狀態(tài)[6-8]。循環(huán)水系統(tǒng)的運行狀態(tài)通??煞譃榻Y(jié)垢、結(jié)垢風險大、腐蝕、腐蝕風險大、殺菌劑過量、抑菌效果差、排放風險大、排放超標、黏泥大和達標10個類別。一旦發(fā)現(xiàn)循環(huán)冷卻水系統(tǒng)運行狀態(tài)不正常如結(jié)垢等需及時處理,對循環(huán)水運行方式采取措施進行調(diào)整,避免影響正常的工業(yè)生產(chǎn)。
然而,循環(huán)水系統(tǒng)運行狀態(tài)無法直接檢測,需利用可測的水質(zhì)指標進行預(yù)測。目前,可測指標主要有18個:pH值、有機磷、酚酞堿度、全堿度、氯離子、余氯、濁度、濃縮倍率、COD、正磷、總磷、硬度、鈣離子、鎂離子、阻垢劑含量、進口水溫、出口水溫、乏汽溫度。在這些指標中,大部分指標之間存在著相互聯(lián)系,部分運行狀態(tài)與主要指標之間的關(guān)系如圖1所示。結(jié)垢狀態(tài)受多種因素影響,而阻垢劑又在一定程度上同時影響Ca2+、有機膦、腐蝕速率和碳酸鈣垢的形成等,同時碳酸鈣垢又受溫度、Ca2+、有機膦等影響,多種因素呈鏈式影響,并能反映某種運行狀態(tài)的情況。
圖1 水質(zhì)指標關(guān)系Fig.1 Relationship diagram of water quality indicators
由圖1可見,若利用主成分分析法(principal components analysis,PCA)對這些指標進行特征提取,會失去一部分原有的數(shù)據(jù)特征,影響循環(huán)冷卻水系統(tǒng)運行狀態(tài)預(yù)測的準確率[9-10]。而深度卷積神經(jīng)網(wǎng)絡(luò)具有自動抽取數(shù)據(jù)特征的優(yōu)點,因此,本文為了完整的保存整個數(shù)據(jù)特征,提出了基于深度卷積神經(jīng)網(wǎng)絡(luò)的循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測方法,利用循環(huán)水冷卻水質(zhì)等數(shù)據(jù)的測量值,預(yù)測循環(huán)冷卻水系統(tǒng)運行狀態(tài)。
本文提出的基于深度CNN循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測方法框架如圖2所示。利用卷積神經(jīng)網(wǎng)絡(luò)可以自動提取數(shù)據(jù)特征和多輸出的特性,將數(shù)據(jù)直接導(dǎo)入神經(jīng)網(wǎng)絡(luò)進行輸出分類[11]。針對數(shù)組數(shù)據(jù)進行的卷積神經(jīng)網(wǎng)絡(luò)可以參考圖像數(shù)據(jù)的處理思路,其中循環(huán)水水質(zhì)的18個可檢測指標作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,循環(huán)水系統(tǒng)運行狀態(tài)的10個類別作為卷積神經(jīng)網(wǎng)絡(luò)的輸出。
圖2 循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測流程Fig.2 Flow chart of operation state prediction for the circulating water system
卷積神經(jīng)網(wǎng)絡(luò)模型示意如圖3所示。由圖3可見,同樣利用卷積核在數(shù)據(jù)段上的平移卷積進行特征信息的抽取,得到1個一維的特征矩陣,其表達能力強于原始的數(shù)據(jù)段[12-13];然后對抽取的信息進行池化下采樣,即卷積核在數(shù)據(jù)段上的平移,池化也是通過在特征信息段上的平移來完成。這里應(yīng)用最大值池化即對所選中的池化窗口中的數(shù)據(jù)保留其中的最大值,在保持分類準確率的前提下拋棄部分參數(shù)以減少過擬合風險[14]。
圖3 卷積神經(jīng)網(wǎng)絡(luò)模型示意Fig.3 Schematic diagram of the convolutional neural network model
由Alexander Waibel提出的卷積神經(jīng)網(wǎng)絡(luò)在Lecun等人[15]的完善中實現(xiàn)了多層網(wǎng)絡(luò)訓(xùn)練,其復(fù)雜度相較于全連接神經(jīng)網(wǎng)絡(luò)更低,運算的參數(shù)也更少。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,可以分為輸入層、卷積層、池化層、輸出層[16],其中卷積層和池化層的局部連接。權(quán)重共享和池化層的池化下采樣是卷積神經(jīng)網(wǎng)絡(luò)的特點,可有效縮減全連接神經(jīng)網(wǎng)絡(luò)容易過擬合的特性,不對數(shù)據(jù)中某個數(shù)據(jù)特別依賴,更全面的對信號進行采樣和特征提取。
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Architecture of the convolutional neural network
由圖4可見:數(shù)據(jù)通過輸入層進入卷積層后通過卷積核的不斷平移對原始數(shù)據(jù)進行特征抽取,由于每次只關(guān)注卷積核大小的部分區(qū)域就達到了局部連接的效果;然后通過池化下采樣拋棄樣本數(shù)據(jù)中不重要的數(shù)據(jù)減少參加運算的參數(shù),有效防止過擬合的發(fā)生;最后數(shù)據(jù)流向全連接層也就是輸出層進行數(shù)據(jù)權(quán)重的匯總并得出輸出結(jié)果。
本文提出的卷積神經(jīng)網(wǎng)絡(luò)包含1個輸入層、3個卷積層和3個池化層,最后經(jīng)過全連接層后進行輸出分類。
模型中各神經(jīng)元的具體關(guān)系如圖5所示。神經(jīng)元之間相互連接,為了避免整個網(wǎng)絡(luò)過度依賴某個神經(jīng)元即某個特征而形成過擬合,在每層網(wǎng)絡(luò)中加入Dropout層隨機使部分神經(jīng)元不工作,在訓(xùn)練時這些神經(jīng)元以某一設(shè)定的概率保留,而每次前向通道中工作的神經(jīng)元都是隨機篩選的,從而減少了訓(xùn)練過程中對某個或某些神經(jīng)元的過分依賴。輸出估計值經(jīng)過softmax層進行優(yōu)化后進行最終的輸出[17]。
圖5 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Neural network structure
在輸出環(huán)節(jié)使用交叉熵即損失函數(shù)作為評價指標,輸出的預(yù)測值通過softmax層進行計算后確定多分類的概率,再利用這個概率進行交叉熵的計算,得到具體的損失函數(shù)結(jié)果后進行優(yōu)化從而確定分類的輸出結(jié)果。交叉熵和softmax的計算公式為:
式中:p為期望概率輸出;q為實際概率輸出。
在原始數(shù)據(jù)放入神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前必須對數(shù)據(jù)進行處理,以便神經(jīng)網(wǎng)絡(luò)能更高效地處理數(shù)據(jù)并達到收斂,數(shù)據(jù)處理過程步驟如下。
1)獲取數(shù)據(jù) 本文選取水質(zhì)pH值、總堿性、COD等18個循環(huán)水檢測指標作為數(shù)據(jù)輸入,將相對獨立的10個循環(huán)水系統(tǒng)運行狀態(tài)和5個目標值,分批次進行獨立訓(xùn)練。
2)選取研究對象 在數(shù)據(jù)整理過程中發(fā)現(xiàn)循環(huán)水水質(zhì)的結(jié)垢腐蝕問題在所有的目標類別中最為突出,數(shù)據(jù)也相對比較完善,故把結(jié)垢腐蝕問題作為本文主要研究對象。
3)劃分數(shù)據(jù)集 對采樣的數(shù)據(jù)集進行標記后以7:3比例劃分為訓(xùn)練集和測試集(即70%的數(shù)據(jù)用來訓(xùn)練模型,30%的數(shù)據(jù)用來測試模型的準確程度),能較有效地保證模型的效果展示。
4)歸一化處理 對數(shù)據(jù)進行歸一化處理使得各特征處于同一規(guī)格,方便后續(xù)權(quán)重的計算等。歸一化處理公式為:式中:XNi為歸一化結(jié)果,其值為[0,1]。以上均為數(shù)據(jù)預(yù)處理部分,之后則將數(shù)據(jù)輸入到深度卷積神經(jīng)網(wǎng)絡(luò)進行模型搭建。
該實驗數(shù)據(jù)由某電廠現(xiàn)場采集獲得,部分主要水質(zhì)指標數(shù)據(jù)見表1。由于數(shù)據(jù)量較大,表1只展示了部分數(shù)據(jù)。
表1 循環(huán)水部分水質(zhì)數(shù)據(jù)Tab.1 Circulating water quality index data (part)
對數(shù)據(jù)進行歸一化等預(yù)處理后將其劃分為訓(xùn)練集(70%)與測試集(30%),訓(xùn)練集用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù),測試集用來測試神經(jīng)網(wǎng)絡(luò)泛化能力。
在訓(xùn)練中不同的層數(shù)和卷積核對模型影響很大,在經(jīng)過多次模型參數(shù)調(diào)整后考慮模型復(fù)雜度確定了3層深度卷積神經(jīng)網(wǎng)絡(luò)模型,并經(jīng)過反復(fù)實驗可以確定相對較優(yōu)的超參數(shù)和卷積核大小見表2。
表2 卷積神經(jīng)網(wǎng)絡(luò)模型超參數(shù)設(shè)置Tab.2 Hyperparameter setting of the convolutional neural network model
此次實驗在Python環(huán)境下實現(xiàn),在將循環(huán)水所有數(shù)據(jù)重復(fù)1 000次輸入網(wǎng)絡(luò)對模型參數(shù)進行訓(xùn)練后獲得最終實驗結(jié)果。圖6和圖7分別為BP神經(jīng)網(wǎng)絡(luò)和本文提出的方法在同一訓(xùn)練集和測試集數(shù)據(jù)上的表達曲線。
圖6 BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練與測試結(jié)果Fig.6 Training and testing results of the BP neural network model
圖7 卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練與測試結(jié)果Fig.7 Training and testing results of the convolutional neural network model
由于循環(huán)水數(shù)據(jù)同時存在多種狀態(tài)類別故將其分為5個相對獨立的批次,分別進行模型的訓(xùn)練,具體有10個情況類別。表3為應(yīng)用本文方法和BP神經(jīng)網(wǎng)絡(luò)對于10類情況識別的多次訓(xùn)練平均結(jié)果。由表3可見,無論是結(jié)垢還是腐蝕或是其他幾類情況,本文方法的識別準確率均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。由上述結(jié)果可得,本文所提出的基于深度卷積神經(jīng)網(wǎng)絡(luò)的循環(huán)水系統(tǒng)狀態(tài)識別方法在不需要人工提取特征的前提下,有效解決了數(shù)據(jù)指標較多時自動提取循環(huán)水系統(tǒng)特征并對狀態(tài)進行多分類的問題。
目前,工業(yè)循環(huán)水水質(zhì)狀態(tài)的判斷大多基于現(xiàn)場運行人員經(jīng)驗進行判斷,過度依賴運行人員的經(jīng)驗。為提高工業(yè)循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測的準確率,本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的智能循環(huán)水系統(tǒng)運行狀態(tài)方法。該方法利用深度學習算法的優(yōu)勢,在不需要人工提取特征的前提下能夠準確地預(yù)測出循環(huán)水系統(tǒng)運行狀態(tài)。在工業(yè)循環(huán)水數(shù)據(jù)多樣性的背景下,提高了水質(zhì)類別判斷的準確性,降低了對人為判斷的依賴性,提高了工業(yè)循環(huán)水運行的穩(wěn)定性。經(jīng)過電廠的真實數(shù)據(jù)進行驗證,本文方法具有較好的準確率和泛化能力,對工業(yè)循環(huán)水系統(tǒng)運行狀態(tài)預(yù)測和維護工業(yè)生產(chǎn)具有重要意義。