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