孫全勝
(中石化股份公司天津分公司裝備研究院)
工業(yè)加熱爐是煉化裝置的重要設備,其安全運行直接影響裝置的長周期生產(chǎn)和企業(yè)的經(jīng)濟效益。 焦化爐、常減壓爐等工藝介質(zhì)屬于易結(jié)焦介質(zhì),在運行過程中,常因燃燒狀況不好使得爐管受熱不均,出現(xiàn)局部超溫的現(xiàn)象。 如果工業(yè)加熱爐長時間運行在超溫狀態(tài), 將會導致爐管結(jié)焦、開裂、鼓脹變形甚至爆管。 因此,必須采取措施減小熱強度的不均勻性。 但工業(yè)加熱爐燃燒過程具有瞬態(tài)變化、隨機湍流等特征,給溫度分布的測量帶來困難, 導致燃燒調(diào)整沒有可靠依據(jù)。目前, 大多采用基于成像裝置 (Charge Coupled Device,CCD)的攝像機作為二維輻射能量分布傳感器,但該類攝像機價格高,經(jīng)濟性不強。
傳統(tǒng)工業(yè)加熱爐的爐溫通常只能通過傳感器或成像裝置獲得,價格高昂。 隨著計算機技術的進步,機器學習算法,包括基于BP神經(jīng)網(wǎng)絡的方法、基于模糊最小二乘支持向量機等被應用到爐溫預測中,但是預測能力有限;人工智能興起后,深度學習算法,包括粒子群神經(jīng)網(wǎng)絡[1,2]、基于卷積神經(jīng)網(wǎng)絡的算法也被應用到工業(yè)領域,但大部分都是基于時間序列的預測方法,對于短期數(shù)據(jù)進行的實時預測效果不佳,因此并沒有得到廣泛推廣。
筆者的研究是將深度學習方法應用于工業(yè)加熱爐溫度場的預測。 生成對抗網(wǎng)絡(Generative Adversarial Nets,GAN)是一種具有強大數(shù)據(jù)生成能力的深度學習模型[3],在數(shù)據(jù)增強、圖片生成等領域應用廣泛[4,5]。 本研究中,筆者研究選用信息最大化生成對抗網(wǎng)絡 (Information Maximizing Generative Adversarial Nets,infoGAN)作為基礎算法框架,同時選取結(jié)合最優(yōu)傳輸距離生成對抗網(wǎng)絡 (Wasserstein Generative Adversarial Nets,WGAN)的損失函數(shù)代替原有損失。利用工況數(shù)據(jù)和計算流體動力學 (Computational Fluid Dynamics,CFD)仿真得到的溫度場數(shù)據(jù)作為訓練算例進行有監(jiān)督訓練, 并且將結(jié)果用Matlab進行可視化,實現(xiàn)任意爐膛截面和爐管表面溫度場云圖的實時三維顯示。
infoGAN由生成器、 鑒別器和分類器組成[6],網(wǎng)絡結(jié)構(gòu)如圖1所示, 其中,c′為分類器判斷出的隱含編碼。 隨機噪聲向量z是生成器的輸入,生成器的作用是生成盡可能接近訓練樣本的假樣本以欺騙鑒別器;鑒別器則通過比較訓練的樣本數(shù)據(jù)x和生成器獲得的假樣本G(z),計算出假樣本數(shù)據(jù)接近真樣本的概率。 infoGAN將GAN網(wǎng)絡和信息理論相結(jié)合, 引入隱變量編碼和生成數(shù)據(jù)之間的互信息關系約束,將連續(xù)噪聲向量z分成兩個部分:一部分是不可壓縮的噪聲;另一部分是隱含編碼c,且c可以是離散值,通過建模隱藏編碼和生產(chǎn)樣本的對應關系, 從而達到改變輸入噪聲控制生成樣本的目的。在本方法中,將處理后的工況數(shù)據(jù)視為隱含編碼, 訓練生成器得到一個重建溫度場, 并與CFD仿真溫度場一起投入鑒別器進行真假判斷, 使得模型最終能夠僅憑借工況數(shù)據(jù)生成與CFD仿真溫度場足夠接近的重建溫度場。
圖1 infoGAN網(wǎng)絡結(jié)構(gòu)
GAN的目標函數(shù)定義為:
其中,E代表期望值,x~Pdata(x)代表樣本數(shù)據(jù)x滿足分布Pdata(x),z~Pz(z)代表隨機噪聲向量z滿足分布Pz(z)。
對于兩個變量X和Y,它們之間的互信息I(X;Y)定義為:
其中,p(x,y)是X和Y的聯(lián)合概率密度函數(shù),p(x)和p(y)分別代表了X和Y的邊緣概率密度函數(shù)。
H代表熵,則互信息又可以表達為:
β代表超參數(shù),則最終損失函數(shù)的表達式為:
最初的GAN 模型在理論和實踐中并不成熟,GAN的訓練需要大量的樣本,并且訓練次數(shù)也很多,模型難以得到最理想結(jié)果,而且很容易出現(xiàn)梯度消失[7]或者模式崩潰[8]的問題。 因此,筆者采用WGAN原理進行改進[9],所設計的網(wǎng)絡模型如圖2所示,生成器每個網(wǎng)絡塊都包括了轉(zhuǎn)置卷積層(Deconv)、批次歸一化層(Batch Normalization,BN) 和全連接層 (Fully Connected,F(xiàn)C),激活函數(shù)選擇LeakRelu,最后一層選擇Sigmoid激活函數(shù)。 完整網(wǎng)絡中總共使用了4個網(wǎng)絡塊,每個轉(zhuǎn)置卷積層卷積核K的大小均為4,卷積核個數(shù)N分別為8、16、32、64,步長S為2。 設計的鑒別器網(wǎng)絡與生成器類似, 共包含4個卷積層(Conv) 以及對應的批次歸一化層和LeakRelu激活層,每層的卷積核個數(shù)分別為64、32、16、2,卷積核大小為4,步長為2,最后使用一個全連接層得到0或1的判別結(jié)果。 分類器網(wǎng)絡與鑒別器共享網(wǎng)絡參數(shù),僅在最后一層發(fā)生改變,經(jīng)過兩個全連接層輸出分類標簽。
圖2 改進的網(wǎng)絡模型
為了更好地訓練模型, 筆者設計了一個擴張通道進行溫度場仿真, 具體幾何模型及其尺寸如圖3所示。 進口為長方形,出口為正方形(邊長10 cm);計算域通道在豎直方向上先擴張后變成平直段,水平方向通過豎直方向的截面拉伸得到。
圖3 擴張通道的幾何模型及其尺寸
CFD仿真相當于在計算機上虛擬地做流體實驗來模擬實際情況,基本原理是數(shù)值求解流體流動的微分方程。 在遇到復雜問題時,人為難以進行理論分析或直接做實驗,相比之下,CFD只需使用相應軟件就可以通過模擬實際環(huán)境得到可靠的實驗數(shù)據(jù), 甚至可以通過CFD軟件進行實驗的同時發(fā)現(xiàn)新的實驗現(xiàn)象[10]。
本次實驗采用CFD數(shù)值模擬的方法, 輸入變量有進口速度、溫度和氣體導熱系數(shù),輸出變量有計算域的溫度場和速度場。 采用ANSYS ICEM17.0進行計算網(wǎng)格劃分, 采用ANSYS FLUENT 17.0進行數(shù)值模擬。
計算域中幾個典型位置的溫度分布:進口處氣體溫度為輸入變量之一, 外界環(huán)境的溫度為300 K。 由于壁面與外界環(huán)境的換熱,通道內(nèi)氣體溫度降低且越靠近壁面氣體溫度越低。 計算域內(nèi)氣流的溫度在300~1 500 K。
對于仿真得到的370組數(shù)據(jù), 選取250組作為訓練集、60組作為測試集、60組作為驗證集。 先將原始一維的50 933個點處理成二維數(shù)據(jù)訓練,再將一維數(shù)據(jù)用于訓練,只取溫度數(shù)據(jù),為了方便訓練,將數(shù)據(jù)歸一化到(0,1)之間,其變換公式如下:
式中 t——溫度,K;
tmax——溫度最大值,K;
tmin——溫度最小值,K。
學習率(Learning Rate,LR)是深度學習中一個很重要的超參數(shù),它主要在梯度下降法中發(fā)揮作用。 梯度下降法的目的是尋找函數(shù)的最優(yōu)解。而學習率則是起始尋優(yōu)步長,深度學習網(wǎng)絡中各部分權重ω的計算式為:
其中,α為學習率,loss為神經(jīng)網(wǎng)絡所選擇的損失函數(shù)。
學習率設置過小,收斂速度就會非常緩慢,進而導致網(wǎng)絡效率低下;學習率設置過高,可能導致網(wǎng)絡學習過程中錯過最優(yōu)解, 在最優(yōu)解附近來回擺動,因此,設置恰當?shù)膶W習率是很重要的。 最初對生成器和鑒別器設置了相同的學習率, 即0.01。但是在訓練過程,鑒別器的loss極?。ń咏?),而生成器的loss則較大且不穩(wěn)定, 持續(xù)在0.2~1.0擺動,說明生成器為了結(jié)果能混淆鑒別器而在反復進行調(diào)整,但由于鑒別器判別能力過強,使得生成器不管怎么調(diào)整也無法得到最優(yōu)解, 這將導致整體模型無法收斂。為了解決這個問題,筆者決定為生成器和鑒別器設置不同的學習率, 并按照初步實驗結(jié)果將鑒別器學習率設置為生成器的5倍。
隱空間代表網(wǎng)絡學習到的訓練樣本的特征數(shù),隱空間維度有下限無上限。 通過以往經(jīng)驗,如果隱空間維度過小,則生成圖片變化很??;但對于工業(yè)數(shù)據(jù)預測來講, 對于每一個固定的條件,溫度場的變化范圍很小,因此,其隱空間維度不應過大,否則生成的溫度場結(jié)果將不穩(wěn)定且訓練耗時較長。 綜合上述分析,需要尋找能夠滿足本項目的適合的隱空間維度大小。
批次訓練樣本數(shù)(Batch Size,BS)是指一次訓練過程中所用到的樣本數(shù)量。 由于模型數(shù)據(jù)集較大,如果每次訓練都使用全尺寸訓練集,將會導致模型訓練緩慢、 內(nèi)存空間不足且泛化性能一般。 但過小的批次訓練樣本數(shù)會使得模型收斂緩慢。 因此,需尋找既能滿足效率要求又能滿足精度要求的批次訓練樣本數(shù)。
由于不同參數(shù)之間的結(jié)果會互相影響,并不是完全解耦合的, 最優(yōu)值會隨著其他參數(shù)的變化發(fā)生改變, 并且每個參數(shù)對最終結(jié)果的影響也是非線性的。因此,無法逐個對上述參數(shù)進行單獨尋優(yōu), 即需要尋找的最優(yōu)參數(shù)是學習率、 隱空間維度、批次訓練樣本數(shù)共同作用的組合。筆者通過對上述參數(shù)設置在合理范圍內(nèi)設置多個組合, 以尋找結(jié)果最優(yōu)的參數(shù)搭配。 將生成器和鑒別器學習率設在0.000 1~0.010 0,隱空間維度設在5~180,批次訓練樣本數(shù)設置在10~270。 以平均相對誤差為結(jié)果評價標準,部分訓練條件和結(jié)果見表1。
表1 不同參數(shù)下部分預測結(jié)果
采用表1第4組參數(shù)組合能夠在較短的時間內(nèi)得到較優(yōu)的結(jié)果, 而第12組雖然能獲得最優(yōu)結(jié)果,但其所需的時間開銷是第4組的數(shù)倍, 綜合分析后決定采用第4組的參數(shù)組合進行后續(xù)訓練, 即生成器和鑒定會別器學習率分別為0.000 1和0.000 5,批次訓練樣本數(shù)為10,隱空間維度為20。
CFD仿真數(shù)據(jù)的輸入速度變化范圍為0.5~2.75 m/s,變化步長為0.25 m/s;輸入溫度變化范圍為600~1 500 K,變化步長為100 K;氣體導熱系數(shù)變化范圍為0.024 2~0.242 0 W/(m·K), 變化步長為0.024 2 W/(m·K)。 隨機選取其中60組作為測試集計算預測溫度值與CFD真值的相對誤差, 表2展示了其中的10組。
表2 部分輸入條件下預測溫度與CFD真值的平均相對誤差
在訓練過程中損失函數(shù)值的變化趨勢如圖4 所示。
圖4 損失函數(shù)值變化趨勢
用Matlab軟件進行可視化處理, 其中一組溫度場的可視化與真實情況如圖5所示。
圖5 預測結(jié)果與真實溫度場對比
可以看出, 采用infoGAN網(wǎng)絡作為基本框架的深度學習方法能夠較好地擬合工業(yè)加熱爐原始溫度場的分布情況,且在參數(shù)調(diào)整后,所得結(jié)果的平均相對誤差絕對值在6%以下,基本滿足需求。
該方法的實現(xiàn),可以僅依靠基本的工況數(shù)據(jù)得到對應工況下與CFD仿真溫度場平均相對誤差絕對值在6%以下的實時溫度場預測,可以據(jù)此得到加熱爐處于最優(yōu)燃燒狀態(tài)下的操作建議,并對超出允許操作參數(shù)的情況進行預警,保證加熱爐的長期高效運行。
筆者借鑒GAN的思想, 對infoGAN網(wǎng)絡進行修改, 使得網(wǎng)絡可以訓練帶有離散標簽值的數(shù)據(jù); 在infoGAN中引入WGAN損失函數(shù)進行優(yōu)化,同時探究了學習率、批次訓練樣本數(shù)和隱空間維度大小對網(wǎng)絡訓練結(jié)果的影響,并選擇最優(yōu)參數(shù)對網(wǎng)絡進行訓練, 采用Matlab軟件做出可視化處理, 實現(xiàn)了工業(yè)加熱爐溫場預測的良好效果,在測試集上平均相對誤差絕對值在6%以下。該方法具有良好的應用前景。