APP下载

基于改进模拟退火算法的火焰温度场反演计算

2022-07-20祝海江刘兴旺李小春

计算机仿真 2022年6期
关键词:贝叶斯温度场反演

王 旭,祝海江*,刘兴旺,李小春

(1. 北京化工大学信息科学与技术学院,北京 100029;2. 中国电子科技集团公司第四十一研究所,山东 青岛 266555)

1 引言

燃烧着的高温火焰经常出现在工业、军事等生产过程中,比如冶金行业中的窑炉,飞机、火箭等航空航天项目燃料推进的尾焰,包括炮弹爆炸所造成的高温火焰等。因此,在技术不断迭代更新的过程中,温度场分布逐渐成为了工业生产、科学研究中的一项重要参数指标。从通过仪器接触火焰的接触式测温,到非接触式测温;从对温度场的单点测温,到对温度场区域进行分布测量,温度测量领域有了极大的发展。接触式测温法虽然不受环境中其它因素的干扰,且测量方式较为简便,但对于高温火焰却无法有效的测量。

本文采用非接触式测温法中辐射图像的方法进行火焰温度测量。该方法通过像机对待测蜡烛火焰图像进行采集,从而进行温度场测量。通过简单的线性函数关系将图像灰度值转化为温度值。通过纵向反演计算,即将图像上每一像素点的纵向温度区域划分为多段温度并通过普朗克定律进行计算,可将对温度场进行分布测量的问题转化为对一组函数方程求解最优值的问题。对于最优化问题,采用模拟退火算法进行求解。在模拟退火算法进行计算前,需要认为设置算法的初始参数。但由于迭代一次退火算法时间较长,若不断人工设置参数,对比计算效果,使得过程很是繁琐,因此需要采用自动调参的方法对模拟退火算法进行进一步的改进。超参数调优的方法包括了:网格搜索法、随即搜索法、贝叶斯优化等方法。网格搜索法相对简单,通过计算搜索范围内的所有网格点确定最优值,但该方法在需要调优参数较多时十分消耗计算时间和资源;随机搜索法与网格搜索法较为相似,是在搜索范围内随机选取样本点,进行最优值计算;贝叶斯优化的方法与前两者不同,其会利用之前数据点计算后得到的信息,从而提升最优值的求解速度。

针对模拟退火算法进行温度场重建时,会面临手动调整参数过程较为繁琐、耗时过长等问题。本文给出了一种基于超参数优化的温度场纵向反演法重建方法,该方法利用贝叶斯优化(Bayesian Optimization),实现了模拟退火算法中的参数自动寻优,快速找到最优解。这种对模拟退火算法中参数自动优化的方法能够减少算法的计算成本,极大地提高计算效率。基于改进后的模拟退火算法对火焰温度场进行纵向反演计算,得到火焰不同区域的火焰温度分布。

2 本文方法

2.1 基于模拟退火算法的温度场纵向反演法重建

温度场纵向反演法是在已知火焰辐射图像的灰度值与温度或辐射强度之间的函数关系的情况下,将其代入普朗克定律中,对火焰辐射图像上的各个像素点进行反演计算。

(1)

一般的火焰满足上述条件,可采用简化的普朗克定律进行计算。假设将CCD像机拍摄的火焰二维图像上的每个像素点纵向上的温度划分为多个区域,即

T

T

,通过上式可知,纵向上的单色辐射强度为

(2)

在经过不同波长的滤光后,每一像素点的总辐射强度可表示为:

I

(

λ

T

)=

I

(

λ

T

)+…+

I

(

λ

T

)

(3)

因此,通过上述方程可将温度场重建过程转换为求解最优解的数学问题:

(4)

同时,在

T

={

T

T

}的条件下,对下式取最小值。

(5)

模拟退火算法能够很好的解决局部最优解的问题,并且模拟退火算法作为一种随机优化算法,能够较快地找到最优化问题的近似最优解。该算法在求解的过程中会以一定的概率接受一个效果不是十分理想的解,从而有可能跳出局部最优解,达到全局最优解。

综上所述,基于模拟退火算法的温度场纵向反演法重建方法归纳如下:

1)假定所选取的初始温度

T

,退火温度最终值为

T

;每一温度下的迭代次数为

L

,温度下降速率为

alpha

,当前模型的退火值为

T

=

T

*

alpha

并定义初始温度模型

S

,即将纵向温度分为三段温度,目标判定函数为式(5)。2)对

S

的三个温度值施加随机的扰动,扰动方向依据扰动点在三维空间中的位置信息计算得出

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

) 。

4)在同一退火温度下,迭代

L

次。

5)重复迭代,直至满足退火算法的收敛要求。

在采用模拟退火算法进行温度场重建时,诸如退火算法初始温度

T

,每一温度迭代次数

L

等超参数均需要在退火算法运行前进行人工设置,但在超参数的温度重建结果未知的情况下,手动调整参数的方式显然较为繁琐,耗时过长。因此,对于这一类无法随着模型的迭代而不断优化的参数,需要通过自动优化的方法来减少算法的计算成本。

2.2 基于贝叶斯优化的温度场纵向反演法重建方法

针对上述问题,本文研究了一种基于超参数优化的火焰温度场纵向反演重建方法,该方法能够实现模拟退火算法中的参数自动寻优,快速找到最优解。相比于其它自动超参数调优方法,贝叶斯优化(Bayesian Optimization)充分利用了上一个点的信息,找到下一个测试的点,从而快速到达最优解。因此,本文给出了一种基于贝叶斯优化的温度场纵向反演重建方法。

贝叶斯优化主要包含两个核心部分:概率代理模型(Probabilistic Surrogate Model)和采集函数(Acquisition Function,AC)。贝叶斯优化本质上更偏向于减少评估的代价,使得优化的过程能够经过较少次数的评估得到最优解。在每次迭代的过程中,算法都会对采集函数的最大值的数据点即最有“潜力”的点进行评估,最终收敛到最优解。

概率代理模型是采用一个概率模型来代理目标函数

f

(

x

),而高斯过程则是较为常用的一种模型。高斯过程(Gaussian processes, GP)可视为多元高斯概率分布的范化。一个高斯过程由均值函数

μ

和协方差函数组成。其中均值函数

μ

(

x

)=

E

[

f

(

x

)],协方差函数

k

(

x

x

′)=

E

{[

f

(

x

)-

μ

(

x

)][

f

(

x

′)-

μ

(

x

′)]},通常设置

μ

(

x

)=0。给定训练数据

x

,…

x

,其对应的函数值为

y

,…

y

,组成样本点集

D

={(

x

1:

y

1:)}。首先假定数据提前被中心化,即函数满足

f

(

x

)~

GP

(0,

K

),其中

(6)

对于新样本

x

+1来说,它会更新高斯过程的协方差矩阵

k

=[

k

(

x

+1

x

),…,

k

(

x

+1

x

)]

(7)

协方差矩阵更新为:

(8)

通过更新后的协方差矩阵以及前面的样本可估计出

f

+1的预测分布:

P

(

f

+1

D

1:

x

+1)~

N

(

μ

σ

)

(9)

(10)

σ

=

k

(

x

+1

x

+1)-

k

K

k

(11)

由于高斯过程本身有陷入局部最优的问题,因此需要通过采集函数来寻找下一个最优值,采集函数的目的在于平衡探索(exploration)和利用(exploitation)两者的选择。“探索”目的在于尽量选择远离已知样本点的数据点用作下一次迭代;“利用”目的在于尽量选择接近已知样本点的数据点用作下一次迭代。常用的采集函数有UCB(Upper confidence bound)、PI(Probability of improvement)、EI(Expected improvement)三种,本文采用UCB,

UCB

=

μ

(

x

)+

kappa

*

σ

(

x

)

(12)

kappa为调节参数,可理解为上置信边界。

在温度重建过程中,模拟退火算法中存在初始温度T、温度下降速率alpha、最终温度T和每一温度迭代次数L这四个不因迭代而发生变化的超参数。考虑到最终温度T本身的值设定的较小以及alpha为一小于1的小数,因此,对T和L这两个超参数通过贝叶斯优化方法进行超参数调优,从而达到更好的温度场重建效果。

在进行参数调优前,算法会在T和L两个超参数的值的范围内随机选择一定数量的数据点作为样本点,进行模型训练。随后,利用高斯过程回归的方法求解未知点的均值与方差,未知点的数值范围与已知点相同。利用采集函数(本文选用UCB的采集函数)找到贝叶斯优化猜测的最大值的点,即采集函数值最大的点。观察所得出的猜测的点对应的最大函数值是否符合要求。不符合要求则继续进行下一次的高斯过程回归和采集函数的求解。本文基于贝叶斯优化的温度场纵向反演法重建方法的算法框图如图1所示。

图1 基于贝叶斯优化的温度场纵向反演法重建方法的算法框图

3 实验结果与分析

3.1 本文方法的验证实验

通过像机对蜡烛火焰进行拍摄,并分离出R、G、B的灰度值。采用简单的线性函数关系将图像灰度值转化为温度值。由于蜡烛的火焰周围的光影会影响温度的测量以及减少模拟退火算法的迅速按成本,对蜡烛的火焰图像进行边缘检测,只对边缘检测后轮廓内部的数据采用退火算法进行计算。每个像素点的退火运算结束后,得到的误差值存储至误差矩阵中,并相加得出全部参与计算像素点的误差和作为一次模拟退火算法的误差值。

设定最终温度

T

=10,

alpha

=0

.

98,并对退火算法的两个超参数

T

L

进行赋值。设定温度初始温度

T

=2500,每一温度迭代次数

L

=100,进行退火运算。同时设置初始温度

T

=3000,迭代次数

L

=200,再次进行退火计算,并比较二者的误差值,观察退火算法得到的误差对实际重建温度计算时的影响。火焰辐射图像中每个像素点通过退火算法会产生该像素点的计算误差,并将其相加作为一组超参数下退火算法的计算误差,如式(5)。如下为两组超参数的三段温度的重建结果,X和Y分别代表火焰图像的宽和高。

图2 改进后的三段温度重建结果(T0=3000,L=200)

由图2可知,改进后的误差更小的重建结果火焰底部与上部区分较为明显,而图3未改进的结果底部与上部的数值区分不够明显,这表明图2的重建结果更能明显地展现温度值的变化,也更符合通过灰度值转换成温度后的温度矩阵的数值分布情况。

图3 改进前三段的温度重建结果(T0=2500,L=100)

3.2 贝叶斯优化与网格搜索的实验比较

网格搜索是一种简单的参数优化方法,其本质是将待优化超参数在空间中按照一定范围划分为大小相同的网格,每一点可代表一组超参数的值。通过对范围内的所有数据点进行计算,对比所求出的结果,进而得出性能最佳的一组超参数值。当设定范围足够大,且参数步长较小时,这种穷举的方法能够找出全局最优解。但划分的网格内,大部分的点准确率并不能达到要求,且网格搜索需要遍历所有的数据点,这无疑会产生许多不必要的运算,从而增加计算的时间成本。在考虑到模拟退火算法迭代一次后的运算时长较长,因此网格搜索无法高效的完成对退火算法的超参数调优任务。反之采用贝叶斯优化的方法则能够以较短的时间求解出误差较小的一组超参数。

对退火算法的两个超参数T、L进行自动的参数调优。首先采用网格搜索的方法,设定温度初始温度T数据范围为[2500,3000],步长为100;每一温度迭代次数L数据范围为[100,200],步长为50。结果如图4所示。

采用贝叶斯优化进行参数调优,超参数范围与上述实验相同。由于贝叶斯优化器在选取超参数的数据点时是连续的,因此在将超参数输入到退火算法时,对T、L进行取证操作,避免小数的出现。经过贝叶斯优化器进行参数调优后,结果如图5、图6所示。

图4 网格搜索结果

图5 贝叶斯优化初始点

图6 贝叶斯优化数据

由图4可知,经过网格搜索后,发现当L=200时要比L=[100,150]误差更小。但是在采用网格搜索的过程中,超参数L=[100,150]时进行的退火运算次数较多,使得参数调优的效率下降。由表2可知,贝叶斯优化的方法在经过前5次初始参数点的计算后,可知L=200是较为合适的参数值,并在参数优化的过程中(如表3所示),将更加关注超参数T的优化,这大大降低了参数优化所需时间,并最终得出参数优化的结果,表明[2902,200]是误差较小的一组超参数。两种优化方法中,有4组数据在超参数相同的情况下,得到了不同的误差结果。这是由于退火算法本身属于一种依靠概率求解的算法,因此,在采用相同超参数时,两次计算的结果会有所差异。但二者差异较小,不影响参数优化过程。

与网格搜索相比,网格搜索能够在所选取的网格点找到误差的近似最小值,但在仅知道参数范围的情况下,想提高网格搜索的精度,必然要缩小搜索步长,这会极大提高超参数优化方法的运算成本。贝叶斯最优化与网格搜索不同,在进行优化时,会采用前一个参数点的数据信息(均值μ和方差σ)。因此,对于模拟退火算法这种运算量较大的方法时,贝叶斯优化显然能够极大地提高优化速率。

4 结论

本文对采集到的火焰图像数据通过模拟退火算法进行温度反演计算,从而重建温度场。并通过贝叶斯优化改进退火算法,自动优化退火算法中的超参数,同时对比了网格搜索法的优化效果。实验结果表明,贝叶斯优化方法能够极大减少对退火算法进行超参数优化的运算成本。

致谢:

感谢装备预先研究项目一般基金(61400030202)对本文工作的资助。

猜你喜欢

贝叶斯温度场反演
铝合金加筋板焊接温度场和残余应力数值模拟
能源桩群温度场分布特征数值仿真研究
基于红外高光谱探测器的大气CO2反演通道选择
反演变换的概念及其几个性质
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
基于ModelVision软件的三维磁异常反演方法
贝叶斯公式的应用和推广
复合式空调系统的数值模拟研究