王 旭,祝海江*,劉興旺,李小春
(1. 北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029;2. 中國電子科技集團(tuán)公司第四十一研究所,山東 青島 266555)
燃燒著的高溫火焰經(jīng)常出現(xiàn)在工業(yè)、軍事等生產(chǎn)過程中,比如冶金行業(yè)中的窯爐,飛機(jī)、火箭等航空航天項目燃料推進(jìn)的尾焰,包括炮彈爆炸所造成的高溫火焰等。因此,在技術(shù)不斷迭代更新的過程中,溫度場分布逐漸成為了工業(yè)生產(chǎn)、科學(xué)研究中的一項重要參數(shù)指標(biāo)。從通過儀器接觸火焰的接觸式測溫,到非接觸式測溫;從對溫度場的單點(diǎn)測溫,到對溫度場區(qū)域進(jìn)行分布測量,溫度測量領(lǐng)域有了極大的發(fā)展。接觸式測溫法雖然不受環(huán)境中其它因素的干擾,且測量方式較為簡便,但對于高溫火焰卻無法有效的測量。
本文采用非接觸式測溫法中輻射圖像的方法進(jìn)行火焰溫度測量。該方法通過像機(jī)對待測蠟燭火焰圖像進(jìn)行采集,從而進(jìn)行溫度場測量。通過簡單的線性函數(shù)關(guān)系將圖像灰度值轉(zhuǎn)化為溫度值。通過縱向反演計算,即將圖像上每一像素點(diǎn)的縱向溫度區(qū)域劃分為多段溫度并通過普朗克定律進(jìn)行計算,可將對溫度場進(jìn)行分布測量的問題轉(zhuǎn)化為對一組函數(shù)方程求解最優(yōu)值的問題。對于最優(yōu)化問題,采用模擬退火算法進(jìn)行求解。在模擬退火算法進(jìn)行計算前,需要認(rèn)為設(shè)置算法的初始參數(shù)。但由于迭代一次退火算法時間較長,若不斷人工設(shè)置參數(shù),對比計算效果,使得過程很是繁瑣,因此需要采用自動調(diào)參的方法對模擬退火算法進(jìn)行進(jìn)一步的改進(jìn)。超參數(shù)調(diào)優(yōu)的方法包括了:網(wǎng)格搜索法、隨即搜索法、貝葉斯優(yōu)化等方法。網(wǎng)格搜索法相對簡單,通過計算搜索范圍內(nèi)的所有網(wǎng)格點(diǎn)確定最優(yōu)值,但該方法在需要調(diào)優(yōu)參數(shù)較多時十分消耗計算時間和資源;隨機(jī)搜索法與網(wǎng)格搜索法較為相似,是在搜索范圍內(nèi)隨機(jī)選取樣本點(diǎn),進(jìn)行最優(yōu)值計算;貝葉斯優(yōu)化的方法與前兩者不同,其會利用之前數(shù)據(jù)點(diǎn)計算后得到的信息,從而提升最優(yōu)值的求解速度。
針對模擬退火算法進(jìn)行溫度場重建時,會面臨手動調(diào)整參數(shù)過程較為繁瑣、耗時過長等問題。本文給出了一種基于超參數(shù)優(yōu)化的溫度場縱向反演法重建方法,該方法利用貝葉斯優(yōu)化(Bayesian Optimization),實現(xiàn)了模擬退火算法中的參數(shù)自動尋優(yōu),快速找到最優(yōu)解。這種對模擬退火算法中參數(shù)自動優(yōu)化的方法能夠減少算法的計算成本,極大地提高計算效率。基于改進(jìn)后的模擬退火算法對火焰溫度場進(jìn)行縱向反演計算,得到火焰不同區(qū)域的火焰溫度分布。
溫度場縱向反演法是在已知火焰輻射圖像的灰度值與溫度或輻射強(qiáng)度之間的函數(shù)關(guān)系的情況下,將其代入普朗克定律中,對火焰輻射圖像上的各個像素點(diǎn)進(jìn)行反演計算。
(1)
一般的火焰滿足上述條件,可采用簡化的普朗克定律進(jìn)行計算。假設(shè)將CCD像機(jī)拍攝的火焰二維圖像上的每個像素點(diǎn)縱向上的溫度劃分為多個區(qū)域,即T
…T
,通過上式可知,縱向上的單色輻射強(qiáng)度為(2)
在經(jīng)過不同波長的濾光后,每一像素點(diǎn)的總輻射強(qiáng)度可表示為:
I
(λ
,T
)=I
(λ
,T
)+…+I
(λ
,T
)(3)
因此,通過上述方程可將溫度場重建過程轉(zhuǎn)換為求解最優(yōu)解的數(shù)學(xué)問題:
?
(4)
同時,在T
={T
…T
}的條件下,對下式取最小值。(5)
模擬退火算法能夠很好的解決局部最優(yōu)解的問題,并且模擬退火算法作為一種隨機(jī)優(yōu)化算法,能夠較快地找到最優(yōu)化問題的近似最優(yōu)解。該算法在求解的過程中會以一定的概率接受一個效果不是十分理想的解,從而有可能跳出局部最優(yōu)解,達(dá)到全局最優(yōu)解。
綜上所述,基于模擬退火算法的溫度場縱向反演法重建方法歸納如下:
1)假定所選取的初始溫度T
,退火溫度最終值為T
;每一溫度下的迭代次數(shù)為L
,溫度下降速率為alpha
,當(dāng)前模型的退火值為T
=T
*alpha
并定義初始溫度模型S
,即將縱向溫度分為三段溫度,目標(biāo)判定函數(shù)為式(5)。2)對S
的三個溫度值施加隨機(jī)的擾動,擾動方向依據(jù)擾動點(diǎn)在三維空間中的位置信息計算得出d
={d
,d
,d
}(d
=-1,1,0),跨度ΔS
,S
=[T
+ΔS
*d
,T
+ΔS
*d
,T
+ΔS
*d
],Δf
=f
(S
+1)-f
(S
) 。L
次。5)重復(fù)迭代,直至滿足退火算法的收斂要求。
在采用模擬退火算法進(jìn)行溫度場重建時,諸如退火算法初始溫度T
,每一溫度迭代次數(shù)L
等超參數(shù)均需要在退火算法運(yùn)行前進(jìn)行人工設(shè)置,但在超參數(shù)的溫度重建結(jié)果未知的情況下,手動調(diào)整參數(shù)的方式顯然較為繁瑣,耗時過長。因此,對于這一類無法隨著模型的迭代而不斷優(yōu)化的參數(shù),需要通過自動優(yōu)化的方法來減少算法的計算成本。針對上述問題,本文研究了一種基于超參數(shù)優(yōu)化的火焰溫度場縱向反演重建方法,該方法能夠?qū)崿F(xiàn)模擬退火算法中的參數(shù)自動尋優(yōu),快速找到最優(yōu)解。相比于其它自動超參數(shù)調(diào)優(yōu)方法,貝葉斯優(yōu)化(Bayesian Optimization)充分利用了上一個點(diǎn)的信息,找到下一個測試的點(diǎn),從而快速到達(dá)最優(yōu)解。因此,本文給出了一種基于貝葉斯優(yōu)化的溫度場縱向反演重建方法。
貝葉斯優(yōu)化主要包含兩個核心部分:概率代理模型(Probabilistic Surrogate Model)和采集函數(shù)(Acquisition Function,AC)。貝葉斯優(yōu)化本質(zhì)上更偏向于減少評估的代價,使得優(yōu)化的過程能夠經(jīng)過較少次數(shù)的評估得到最優(yōu)解。在每次迭代的過程中,算法都會對采集函數(shù)的最大值的數(shù)據(jù)點(diǎn)即最有“潛力”的點(diǎn)進(jìn)行評估,最終收斂到最優(yōu)解。
概率代理模型是采用一個概率模型來代理目標(biāo)函數(shù)f
(x
),而高斯過程則是較為常用的一種模型。高斯過程(Gaussian processes, GP)可視為多元高斯概率分布的范化。一個高斯過程由均值函數(shù)μ
和協(xié)方差函數(shù)組成。其中均值函數(shù)μ
(x
)=E
[f
(x
)],協(xié)方差函數(shù)k
(x
,x
′)=E
{[f
(x
)-μ
(x
)][f
(x
′)-μ
(x
′)]},通常設(shè)置μ
(x
)=0。給定訓(xùn)練數(shù)據(jù)x
,…x
,其對應(yīng)的函數(shù)值為y
,…y
,組成樣本點(diǎn)集D
={(x
1:,y
1:)}。首先假定數(shù)據(jù)提前被中心化,即函數(shù)滿足f
(x
)~GP
(0,K
),其中(6)
對于新樣本x
+1來說,它會更新高斯過程的協(xié)方差矩陣k
=[k
(x
+1,x
),…,k
(x
+1,x
)](7)
協(xié)方差矩陣更新為:
(8)
通過更新后的協(xié)方差矩陣以及前面的樣本可估計出f
+1的預(yù)測分布:P
(f
+1│D
1:,x
+1)~N
(μ
,σ
)(9)
(10)
σ
=k
(x
+1,x
+1)-k
K
k
(11)
由于高斯過程本身有陷入局部最優(yōu)的問題,因此需要通過采集函數(shù)來尋找下一個最優(yōu)值,采集函數(shù)的目的在于平衡探索(exploration)和利用(exploitation)兩者的選擇?!疤剿鳌蹦康脑谟诒M量選擇遠(yuǎn)離已知樣本點(diǎn)的數(shù)據(jù)點(diǎn)用作下一次迭代;“利用”目的在于盡量選擇接近已知樣本點(diǎn)的數(shù)據(jù)點(diǎn)用作下一次迭代。常用的采集函數(shù)有UCB(Upper confidence bound)、PI(Probability of improvement)、EI(Expected improvement)三種,本文采用UCB,
UCB
=μ
(x
)+kappa
*σ
(x
)(12)
kappa為調(diào)節(jié)參數(shù),可理解為上置信邊界。
在溫度重建過程中,模擬退火算法中存在初始溫度T、溫度下降速率alpha、最終溫度T和每一溫度迭代次數(shù)L這四個不因迭代而發(fā)生變化的超參數(shù)。考慮到最終溫度T本身的值設(shè)定的較小以及alpha為一小于1的小數(shù),因此,對T和L這兩個超參數(shù)通過貝葉斯優(yōu)化方法進(jìn)行超參數(shù)調(diào)優(yōu),從而達(dá)到更好的溫度場重建效果。
在進(jìn)行參數(shù)調(diào)優(yōu)前,算法會在T和L兩個超參數(shù)的值的范圍內(nèi)隨機(jī)選擇一定數(shù)量的數(shù)據(jù)點(diǎn)作為樣本點(diǎn),進(jìn)行模型訓(xùn)練。隨后,利用高斯過程回歸的方法求解未知點(diǎn)的均值與方差,未知點(diǎn)的數(shù)值范圍與已知點(diǎn)相同。利用采集函數(shù)(本文選用UCB的采集函數(shù))找到貝葉斯優(yōu)化猜測的最大值的點(diǎn),即采集函數(shù)值最大的點(diǎn)。觀察所得出的猜測的點(diǎn)對應(yīng)的最大函數(shù)值是否符合要求。不符合要求則繼續(xù)進(jìn)行下一次的高斯過程回歸和采集函數(shù)的求解。本文基于貝葉斯優(yōu)化的溫度場縱向反演法重建方法的算法框圖如圖1所示。
圖1 基于貝葉斯優(yōu)化的溫度場縱向反演法重建方法的算法框圖
通過像機(jī)對蠟燭火焰進(jìn)行拍攝,并分離出R、G、B的灰度值。采用簡單的線性函數(shù)關(guān)系將圖像灰度值轉(zhuǎn)化為溫度值。由于蠟燭的火焰周圍的光影會影響溫度的測量以及減少模擬退火算法的迅速按成本,對蠟燭的火焰圖像進(jìn)行邊緣檢測,只對邊緣檢測后輪廓內(nèi)部的數(shù)據(jù)采用退火算法進(jìn)行計算。每個像素點(diǎn)的退火運(yùn)算結(jié)束后,得到的誤差值存儲至誤差矩陣中,并相加得出全部參與計算像素點(diǎn)的誤差和作為一次模擬退火算法的誤差值。
設(shè)定最終溫度T
=10,alpha
=0.
98,并對退火算法的兩個超參數(shù)T
、L
進(jìn)行賦值。設(shè)定溫度初始溫度T
=2500,每一溫度迭代次數(shù)L
=100,進(jìn)行退火運(yùn)算。同時設(shè)置初始溫度T
=3000,迭代次數(shù)L
=200,再次進(jìn)行退火計算,并比較二者的誤差值,觀察退火算法得到的誤差對實際重建溫度計算時的影響?;鹧孑椛鋱D像中每個像素點(diǎn)通過退火算法會產(chǎn)生該像素點(diǎn)的計算誤差,并將其相加作為一組超參數(shù)下退火算法的計算誤差,如式(5)。如下為兩組超參數(shù)的三段溫度的重建結(jié)果,X和Y分別代表火焰圖像的寬和高。圖2 改進(jìn)后的三段溫度重建結(jié)果(T0=3000,L=200)
由圖2可知,改進(jìn)后的誤差更小的重建結(jié)果火焰底部與上部區(qū)分較為明顯,而圖3未改進(jìn)的結(jié)果底部與上部的數(shù)值區(qū)分不夠明顯,這表明圖2的重建結(jié)果更能明顯地展現(xiàn)溫度值的變化,也更符合通過灰度值轉(zhuǎn)換成溫度后的溫度矩陣的數(shù)值分布情況。
圖3 改進(jìn)前三段的溫度重建結(jié)果(T0=2500,L=100)
網(wǎng)格搜索是一種簡單的參數(shù)優(yōu)化方法,其本質(zhì)是將待優(yōu)化超參數(shù)在空間中按照一定范圍劃分為大小相同的網(wǎng)格,每一點(diǎn)可代表一組超參數(shù)的值。通過對范圍內(nèi)的所有數(shù)據(jù)點(diǎn)進(jìn)行計算,對比所求出的結(jié)果,進(jìn)而得出性能最佳的一組超參數(shù)值。當(dāng)設(shè)定范圍足夠大,且參數(shù)步長較小時,這種窮舉的方法能夠找出全局最優(yōu)解。但劃分的網(wǎng)格內(nèi),大部分的點(diǎn)準(zhǔn)確率并不能達(dá)到要求,且網(wǎng)格搜索需要遍歷所有的數(shù)據(jù)點(diǎn),這無疑會產(chǎn)生許多不必要的運(yùn)算,從而增加計算的時間成本。在考慮到模擬退火算法迭代一次后的運(yùn)算時長較長,因此網(wǎng)格搜索無法高效的完成對退火算法的超參數(shù)調(diào)優(yōu)任務(wù)。反之采用貝葉斯優(yōu)化的方法則能夠以較短的時間求解出誤差較小的一組超參數(shù)。
對退火算法的兩個超參數(shù)T、L進(jìn)行自動的參數(shù)調(diào)優(yōu)。首先采用網(wǎng)格搜索的方法,設(shè)定溫度初始溫度T數(shù)據(jù)范圍為[2500,3000],步長為100;每一溫度迭代次數(shù)L數(shù)據(jù)范圍為[100,200],步長為50。結(jié)果如圖4所示。
采用貝葉斯優(yōu)化進(jìn)行參數(shù)調(diào)優(yōu),超參數(shù)范圍與上述實驗相同。由于貝葉斯優(yōu)化器在選取超參數(shù)的數(shù)據(jù)點(diǎn)時是連續(xù)的,因此在將超參數(shù)輸入到退火算法時,對T、L進(jìn)行取證操作,避免小數(shù)的出現(xiàn)。經(jīng)過貝葉斯優(yōu)化器進(jìn)行參數(shù)調(diào)優(yōu)后,結(jié)果如圖5、圖6所示。
圖4 網(wǎng)格搜索結(jié)果
圖5 貝葉斯優(yōu)化初始點(diǎn)
圖6 貝葉斯優(yōu)化數(shù)據(jù)
由圖4可知,經(jīng)過網(wǎng)格搜索后,發(fā)現(xiàn)當(dāng)L=200時要比L=[100,150]誤差更小。但是在采用網(wǎng)格搜索的過程中,超參數(shù)L=[100,150]時進(jìn)行的退火運(yùn)算次數(shù)較多,使得參數(shù)調(diào)優(yōu)的效率下降。由表2可知,貝葉斯優(yōu)化的方法在經(jīng)過前5次初始參數(shù)點(diǎn)的計算后,可知L=200是較為合適的參數(shù)值,并在參數(shù)優(yōu)化的過程中(如表3所示),將更加關(guān)注超參數(shù)T的優(yōu)化,這大大降低了參數(shù)優(yōu)化所需時間,并最終得出參數(shù)優(yōu)化的結(jié)果,表明[2902,200]是誤差較小的一組超參數(shù)。兩種優(yōu)化方法中,有4組數(shù)據(jù)在超參數(shù)相同的情況下,得到了不同的誤差結(jié)果。這是由于退火算法本身屬于一種依靠概率求解的算法,因此,在采用相同超參數(shù)時,兩次計算的結(jié)果會有所差異。但二者差異較小,不影響參數(shù)優(yōu)化過程。
與網(wǎng)格搜索相比,網(wǎng)格搜索能夠在所選取的網(wǎng)格點(diǎn)找到誤差的近似最小值,但在僅知道參數(shù)范圍的情況下,想提高網(wǎng)格搜索的精度,必然要縮小搜索步長,這會極大提高超參數(shù)優(yōu)化方法的運(yùn)算成本。貝葉斯最優(yōu)化與網(wǎng)格搜索不同,在進(jìn)行優(yōu)化時,會采用前一個參數(shù)點(diǎn)的數(shù)據(jù)信息(均值μ和方差σ)。因此,對于模擬退火算法這種運(yùn)算量較大的方法時,貝葉斯優(yōu)化顯然能夠極大地提高優(yōu)化速率。
本文對采集到的火焰圖像數(shù)據(jù)通過模擬退火算法進(jìn)行溫度反演計算,從而重建溫度場。并通過貝葉斯優(yōu)化改進(jìn)退火算法,自動優(yōu)化退火算法中的超參數(shù),同時對比了網(wǎng)格搜索法的優(yōu)化效果。實驗結(jié)果表明,貝葉斯優(yōu)化方法能夠極大減少對退火算法進(jìn)行超參數(shù)優(yōu)化的運(yùn)算成本。
致謝:
感謝裝備預(yù)先研究項目一般基金(61400030202)對本文工作的資助。