中国实验快堆热工参数的自适应BP神经网络预测方法研究
2020-10-23王东东杨红义王威策
王东东,杨红义,王 端,林 超,王威策
(1.中国原子能科学研究院 反应堆工程技术研究部,北京 102413;2.核工业研究生部,北京 102413;3.核工业西南物理研究院,四川 成都 610041)
随着世界范围的能源供应日趋紧张,以及人们对全球气候变暖和可持续发展等问题的日益关注,核能必将在未来世界的发展中发挥举足轻重的作用[1]。作为第4代核能系统首选堆型之一的钠冷快堆,可实现铀资源利用率提高到60%~70%,并能嬗变稀有锕系元素和长寿命放射性废物,因此得到了世界各国的重视。中国实验快堆(CEFR)是一座池式钠冷快堆,设计热功率为65 MW,电功率为20 MW。CEFR建成后,将成为开展实验和研究工作的重要平台[2]。作为第4代核能系统的主要备选堆型,安全性是其重要特征之一,对安全性的研究应符合国际上安全研究发展的新趋势[3]。
对于钠冷快堆,反应堆热工水力设计任务是根据动力装置的总体指标,与其他有关专业设计部门共同协调确定主参数,保证满足堆功率的要求,达到既安全又经济的目标[4]。燃料包壳作为核反应堆四大安全屏障的第2道安全屏障,能包容裂变产生的绝大部分放射性,保证它在堆整个寿期内的完整性至关重要,直接关系到反应堆是否处于安全状态,在反应堆运行中得出燃料包壳最高温度是十分重要的环节[5]。
BP人工神经网络是一种前馈型人工神经网络,它将给定的输入输出数据对中的映射关系经过训练学习得到,对于未学习的数据依然能做出较精准的预测,被广泛地应用于复杂的非线性分析中,它引入自适应方法后,提高BP神经网络的预测速度和精度[6]。
在预测反应堆参数方面的研究,自适应神经网络已有过成功应用。霍小东等[7]提出了在CANDU堆中应用BP人工神经网络用于堆芯参数预测,预测结果的评价值作为遗传算法的适应值。应用遗传算法和神经网络优化模型,研制了堆燃料管理通道优选程序。计算结果表明优选得到的换料通道能满足堆芯参数限制,具有快速高效的通道优选能力。于志翔等[8]提出在船用反应堆屏蔽结构设计问题中用BP神经网络模拟学习MCNP的计算过程,利用一些智能算法对屏蔽问题的参数进行估算和优化,实现快速计算功能。苏光辉等[9]指出反应堆热工水力分析中,许多现象具有非线性特点,应用人工神经网络及小波分析来研究这些问题。该文应用这些新方法研究了临界热流密度两相流动不稳定性过渡沸腾等,经与实验结果比较,这些新方法是行之有效的,完全可应用于反应堆热工水力的分析中。
综上所述,本文通过子通道分析程序COBRA计算得到子通道出口温度,再通过传热学公式得出燃料包壳最高温度,生成数据样本后,在传统神经网络上引入自适应方法,通过调整网络参数和结构,基于自适应BP神经网络模型进行训练,以提高预测精度。
1 CEFR热工参数
CEFR堆芯热工计算的主要任务是根据堆芯功率分布和冷却剂流量分配,计算燃料组件冷却剂出口温度,利用子通道分析程序计算各流量区代表性组件的子通道出口温度、热棒包壳中壁温度,计算各流量区代表性组件的燃料最高温度,以及全堆芯燃料平均温度,为安全评价提供依据。
燃料包壳既是核燃料的封装器,又是规定燃料元件几何形状的支撑结构,要求在反应堆整个寿期内不产生不良的物理化学作用。包壳的作用主要是:包覆核燃料使之不受冷却剂的化学腐蚀与机械侵蚀;作为放射性裂变产物的第1道安全屏障包容裂变气体和其他裂变产物,防止它们扩散到冷却剂中[4]。
反应堆燃料包壳表面最高温度是制约反应堆功率输出和指示堆芯热工安全性能的重要指标。燃料棒偏离泡核沸腾会使燃料棒表面传热能力迅速下降,温度急剧上升,可能导致燃料棒烧毁,所以燃料包壳最高温度关系到燃料元件的完整性,进而影响反应堆安全。平衡态氧化铀堆芯稳态热工设计报告中给出,在运行条件下,燃料包壳中壁热点温度不能超过700 ℃,燃料包壳中壁热点按设计不确定性3σ的置信水平进行计算;燃料最高温度不得超过相应燃耗下的燃料熔点,燃料最高温度应按设计不确定性3σ的置信水平进行计算[10]。根据CEFR设计任务书和初步设计结果,表1列出了CEFR的主要热工参数,作为热工施工设计的输入。
表1 CEFR主要热工和几何参数Table 1 Main thermal-hydraulic and geometric parameters of CEFR
COBRA是计算堆芯出口钠温中应用比较成熟的软件之一,其输入数据繁多,包括组件的结构、功率、流量、轴向功率分布和径向功率分布,流体的物性参数等[11]。进行包壳温度及燃料芯块温度计算时,首先利用COBRA程序对CEFR组件进行子通道分析,得出最热子通道温度等热工参数[12]。COBRA程序将燃料组件内的流道划分成若干个子通道,通过求解每个子通道内的质量、能量、轴向动量及径向动量方程,得出燃料组件内的流场、温度场、压力场等分布,这是一个复杂的解方程的过程,尤其在全堆芯大规模多组件计算中耗时过长[13]。
通过智能方法能避免使用复杂的计算程序,直接快速准确得出燃料包壳最高温度,有利于提高燃料包壳设计效率和保障运行中的安全性。
2 BP神经网络
2.1 原理介绍
BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,采用的是误差逆传播算法(error backpropagation algorithm,简称BP)。
对于隐含层的第j个节点有:
(1)
(2)
对于输出层的第j个节点有:
(3)
(4)
然后定义一个损失函数E:
(5)
式中,di为输出层第i个节点期望输出。
传统的BP神经网络的学习过程就是不断迭代求损失函数E,从而调整输入输出层的权值w,使得损失函数E不断减小令期望输出和实际输出靠近的过程。
2.2 BP算法产生缺陷的原因
BP神经网络的主要缺陷是学习过程容易陷入局部极小值、误差收敛速度慢,而学习率是导致这两个缺陷的关键因素,影响权重的调整过程[15]。
梯度下降算法用公式表示成:
(6)
式中:n为迭代次数;η为学习率,传统梯度下降算法中为一个常数。自适应的学习率算法能适应权重调整的多变要求,降低网络陷入局部极小的风险,加快网络的收敛速度,本文就是基于这点提出的改进算法。
3 自适应BP神经网络模型构建
本文提出了基于自适应BP神经网络用于预测燃料包壳最高温度的新方案。为探究改进的自适应算法的学习效率和预测性能,建立BP神经网络预测模型。程序分为5个部分:数据预处理;构造BP神经网络模型流程图;模型关键参数优化;神经网络模型的学习、训练;预测参数[14]。
3.1 数据预处理
BP神经网络训练学习的过程中,训练样本对网络的泛化能力起到重要影响,所以要确保训练样本数量的充足,以保证BP神经网络对训练样本之外的样本的反映能力。
1) 数据样本的生成
CEFR堆芯划分了4个燃料区,每盒组件内有61根燃料棒[12]。使用COBRA程序建立CEFR单个组件模型时划分的子通道如图1所示,模型中共划分了126个子通道。
图1 CEFR组件的子通道模型Fig.1 Sub-channel model of CEFR assembly
使用COBRA程序前,需按照参数顺序和格式进行输入卡的编写,运行程序后,给出各周期的参数分布,然后将所有数据进行汇总,图2为COBRA程序的计算过程示意图。
2) 输入输出数据的处理
从COBRA程序运行结果中选取1 000组数据,初始每组数据由堆芯进口功率P、流量Q和最热截面的126个温度T组成。对输出数据进行处理,从126个温度比较筛选出这一截面最高温度参数,通过传热学公式(式(7)和式(8))得出燃料包壳最高温度,再与输入数据功率、流量构成1组数据。
(7)
(8)
图2 COBRA程序的计算过程示意图Fig.2 Calculation process diagram of COBRA code
每组输入数据为堆芯入口功率、流量,输出数据为燃料包壳最高温度,共有1 000组数据。本次数据样本具有一定的规律性,局部特征较为明显。由于网络学习按顺序代入数据进行训练,所以为避免网络过多地学习局部特征,每次训练开始前均对1 000组数据随机打乱顺序,得到一个重新随机排列的数据集S,弥补了样本数量不足的缺陷。
S=[[X0,Y0],[X1,Y1],[X2,Y2],…,[X999,Y999]]。取S的前970组数据构成1个训练集X,最后30组构成测试集C。最后通过对比预测结果与测试集的误差来评价模型。网络训练过程中仅训练集X参与网络训练,测试集C仅用于预测以及最后的误差结果分析[14]。
3.2 BP神经网络模型流程图
图3为自适应BP神经网络算法流程图。
图3 自适应BP神经网络算法流程图Fig.3 Flow chart of adaptive BP neural network algorithm
3.3 模型关键参数优化
优化包含3部分:权重、偏置初始化方式与激励函数的选取,梯度下降算法的改进,优化器的选择,从而确定隐含层神经元节点数目。
1) 权重、偏置初始化方式与激励函数的选取
Tensorflow基于数据流图,是用于大规模分布式数值计算的框架。权重初始化使用其内置的tf.truncated_normal函数,该函数功能为提供1个正态分布,它从[-2,2]范围中随机返回值作为权重的初始值,从而完成权重初始化。偏置依据神经网络学习的经验总结,结合关于CEFR和热工参数特征,设置为0.1。
本次实验对激励函数的选取并无特别要求,图4示出神经网络中的4种激励函数:relu、sigmod、tanh、softplus。为保证数据间的区分度以及增强稳定性,倾向于选择具有对称性的tanh函数。进行实际的测试,发现收敛效率tanh>softplus>relu>sigmod。所以本次实验选择tanh函数。
2) 梯度下降算法的改进
AdamOptimizer优化器改进梯度下降算法为:
(9)
3) 自适应学习率优化器的选取
优化器是Tensorflow框架中的一个集成概念。Tensorflow中优化器集成了梯度下降算法与权重更新的功能。不同的优化器带有不同的算法以及权重更新方式。其中一些优化器带有自适应学习率算法。自适应学习率相对于固定学习率优势明显,其能在损失函数较大时快速收敛,损失函数较小时缓慢调整权重,避免了传统算法由于学习率不可调而难以找到一个合适学习率的问题。优化器工作时根据所选优化器的算法不同,自适应调整学习率,自动对网络的权重按照算法调整,减小了程序运行的工作量。
选取了Tensorflow中3种常用的优化器AdagradOptimizer、AdadeltaOptimizer、Adam-Optimizer进行测试,表2列出在30 000次迭代下3种优化器和传统算法损失函数最小值的对比。评价优化器的首要标准是优化器的收敛性能,能使损失函数收敛到最小的优化器则是性能最佳的,次要标准则是优化器收敛速度以及稳定性。所以选择AdamOptimizer作为仿真实验的优化器。
图4 神经网络中的4种激励函数Fig.4 Four excitation functions in neural network
表2 3种优化器与传统算法损失函数最小值的对比Table 2 Comparison of minimum values of loss function between three optimizers and traditional algorithm
4) 隐含层节点数的确定
隐含层节点数的选择对于神经网络的优化非常重要,会直接影响网络的性能。当隐含层节点数较少时,网络性能较差,预测结果误差极大;若隐含层节点数太多,一定程度上减小了预测的误差,能拟合更多的数据特征,但同时会使网络学习时间增长,同时损失函数更易陷入局部极小点而得不到最优点,在保证精度的前提下,使网络结构最紧凑,节点数目尽可能地小。
通过实验方式确定最优的节点数目。选用AdamOptimizer,在迭代次数为5 000次的实验条件下测试神经元数目在一定范围的误差。每间隔10个神经元统计1次测试集30组数据样本的平均误差与最大误差,绘制曲线示于图5。
从图5可知,神经元数目在[240,250]和[340,370]范围内平均误差最小,超过370个节点后误差明显有一定的上升。根据网络结构尽量紧凑的原则,节点数目尽量选择少的,本次仿真实验选取神经元节点数目为240。
4 实验结果与误差分析
4.1 实验结果
设置实验参数,偏置为0.1,迭代次数为5 000次,初始学习率为0.03,激活函数为tanh,神经元节点数设置为240。在此基础上独立重复进行10次实验,统计30组测试集数据样本的预测结果、运行时间,并将它与原始程序的测试数据、运行时间进行对比。
图5 神经元数目对应误差的曲线Fig.5 Curve of corresponding error of number of neuron
表3列出测试数据与预测数据中的具体数值,测试数据是指经过COBRA程序计算再推导得到的结果,属于样本集中的数据,预测数据是指自适应BP神经网络直接预测得到的结果。其中针对最小误差数据,测试值为652.9 ℃,预测值为652.1 ℃,绝对误差为0.8 ℃,相对误差为0.12%;针对中位数数据,它们的绝对误差为3.8 ℃,相对误差为0.587%;针对平均数据,它们的绝对误差为5.4 ℃,平均误差为0.835%,通过这3种数据对比可反映出自适应神经网络对燃料包壳最高温度的预测非常准确。
表4列出10次实验的训练集与预测集的均方差MRE对比。MRE公式如下:
(10)
式中:fi为预测值;yi为实际值;n为样本数量。
表3 测试数据与预测数据对比Table 3 Comparison of testing data and forecast data
表4 训练集和预测集的对比Table 4 Comparison of training set and forecast set
MRE越小,预测效果越好。其中,由表4可知,训练集的MRE总平均误差为0.955%,预测集MRE总平均误差为0.986%,预测集最大误差总平均误差仅为2.088%,这些误差均在可接受范围内。80%的预测集MRE也未超过1%,这说明本次实验的预测结果精度较高,网络整体拟合效果好。
COBRA程序和BP神经网络运行时间的对比列于表5。可看出,对于单盒组件,BP神经网络模型运行时间为1.1 s,COBRA程序运行时间为1.5 s,BP神经网络模型并无太大优势,但在多次、大规模计算的情况下,大幅减少了计算时间,在计算1 000盒组件时,BP神经网络模型计算效率提升至原程序的300倍,运行时间仅需5 s。在CEFR实际运行中,快速、准确、实时得出热工关键参数燃料包壳温度,将大幅提高工程师对燃料包壳的设计效率,从而保障反应堆运行时燃料包壳的安全性。
4.2 结果分析
对于输入数据的不确定性分析和敏感性分析,一般来说,在其他因素不变的情况下,功率越大,温度越高;流量越大,温度越低。在堆芯设计时,子通道计算仅需计算名义值下组件温度。在计算热点因子时考虑这些不确定性带来的影响。最终确定功率不确定性来源于物理计算,名义装载下燃料组件功率不确定性为5%;流量不确定性来源于泵,堆芯钠流量不确定性为3%。
表5 COBRA程序和BP神经网络运行时间的对比Table 5 Comparison of COBRA code and BP neural network running time
对于BP神经网络的适应性评价,从数学本质上看,BP神经网络模型可实现复杂非线性函数的拟合,对于输入数据,如果功率、流量在已给1 000组数据的最大、最小值范围内,能获得较好的预测结果,但对于超出最大、最小值范围外的预测,属于外拟合,误差相对较大,泛化能力较差。
对于实验的系统性误差分析,有:1) 参加训练的数据的特征不完全,即提供训练的数据不够充足,当预测的数据范围超出训练的数据时,预测结果会出现失真,需通过提供更多、更全面的训练数据来减少;2) 损失函数在迭代过程中并未收敛为0,因而神经网络始终是未完全拟合的,所以预测结果必然存在系统性误差,难以避免,但对实际影响相当小。
5 结论
本研究针对CEFR燃料包壳最高温度预测问题,通过COBRA程序生成数据样本,然后根据样本训练BP神经网络,自适应选择网络节点数、调整学习率和随机梯度下降搜索,模拟燃料包壳最高温度与堆芯入口功率、流量之间的隐函数关系,完成任意功率、流量下的温度预测。数值结果表明,自适应BP神经网络方法的最大误差不超过6%,平均预测误差不超过3%,计算时间缩短至原程序的0.25%,快速准确地预测了CEFR燃料包壳最高温度,验证了自适应BP神经网络预测参数研究方法在快堆领域的可行性和优势。在快堆领域,人工智能方法的理论研究、应用拓展、数值计算,还需进一步进行研究。