吴荣燕,周剑良,颜拥军,武亚新
(1.南华大学 电气工程学院,湖南 衡阳421001;2.南华大学 核科学技术学院,湖南 衡阳421001;3.南华大学 化学化工学院,湖南 衡阳421001)
核探测器是监测各种电离辐射的一种特殊传感器,在环境辐射安全监测和核设施安全工作中发挥着重要作用[1-6]。由于核探测器长期在高湿、高温、辐照等环境下工作,极易引起探测器敏感元件老化,导致核探测性能下降[2]。此时,探测器不能提供准确的监测信息,其辐射安全监控功能也就失效了。鉴于核探测器安装的位置大都靠近放射源,依靠人工巡检的方式来对探测器故障进行及时识别是非常困难的。因此,采用理论的方法,实时监测探测器输出信号,在线识别核探测器故障是非常有必要的。
核电站早期主要采用硬件冗余的方法来进行探测器故障识别[7-8]。该方法简单有效,但需要大量重复的设备,安装难度和成本投资较大。近年来,国内学者在核探测器故障信号诊断方面做了大量研究。李鑫[9]提出了使用小波包算法对模拟故障信号进行特征提取,利用支持向量机对故障信号进行识别的方法。李鑫[10]采用基于统计方法对NaI闪烁探测器故障信号进行识别。谢宇希[11]提出了BP神经网络对闪烁探测器故障信号进行识别的方法。T.S.Ding[12-13]提出了极限学习机和KNN改进算法对闪烁探测器故障信号进行识别的方法。上述方法都需要提前提取信号特征,然后用机器学习、支持向量机、统计方法等对特征进行分类。在线监测核探测器故障最简单有效的方法是对探测器输出的信号进行实时识别和故障诊断。实时信号可以采用图像的形式来进行表征,深度学习的方法可以直接将实时信号图像馈送给深度神经网络,从而通过自动学习图像特征来达到识别各种故障的目的[14]。本文基于Matlab平台,利用深度学习方法对闪烁探测器信号进行了实时识别和故障诊断研究。
为获得最佳结果,深度学习需要非常大的训练和测试数据,这就需要成百上千甚至数万张图像数据样本。首先,本文基于Matlab平台模拟了闪烁体探测器输出的正常信号和非正常信号图像样本数据。然后,构建卷积神经网络将图像样本数据输入卷积神经网络进行训练。最后,将训练好的网络对新输入的图像进行故障分类,并计算准确率[14-15]。
闪烁体探测器输出的信号是具有一定形状且满足统计分布特性的随机脉冲。其脉冲幅度与噪声服从高斯分布,相邻脉冲时间间隔服从指数分布。脉冲波形的函数可近似表示为双指数函数[9,16]:
(1)
式(1)中,ε(t)为阶跃函数,A为脉冲幅度,v(t)为叠加在脉冲上的白噪声,τ1和τ2为双指数函数的慢、快时间常量,衰减时间由τ1和τ2共同决定。闪烁探测器输出正常信号的平均幅度为1 V,白噪声幅度标准差为0.005 V,固有能量分辨率为20%,τ1和τ2分别为30 s和5 s[9,11,13]。根据以上参数模拟随机正常输出信号,如图1。
图1 随机正常信号波形
闪烁探测器由光产生元件、光学耦合剂、光电倍增元件和前置放大器四部分组成。光产生元件主要采用闪烁体晶体。光学耦合剂是闪烁体晶体与光电倍增元件之间涂抹的一层耦合剂,主要功能是为了减少闪烁体晶体发出的光在传递过程中的损失[17]。光学耦合剂一般为硅油,但在不经常拆装的仪器上也用较稠的硅脂。光电倍增元件是光电倍增管,作用是将光变成电信号,以便于后续电路处理。光电倍增管阳极收集的是电荷,电荷需要转换成便于测量的电压信号[18]。前置放大器的功能是将电荷转换成电压信号并对其进行放大,以及与后续电路实现阻抗匹配[19]。
造成闪烁体探测器输出信号异常因素有很多,组成闪烁体探测器的四个主要部分中任何一个出现故障都会引起输出信号异常。辐照效应[20-21]、温度、湿度对闪烁体晶体性能影响较大[17],容易造成闪烁体晶体老化,从而导致闪烁体晶体发光效率降低,此时的信号表征为脉冲幅度和脉冲下降沿时间发生变化[9,13]。试验表明,闪烁体晶体与光电倍增之间,硅油涂抹与否对光电倍增管输出信号幅度和幅度分辨率有非常大影响[17]。前置放大器的元器件主要由电阻、电容、运放芯片组成。元器件固有噪声是其可靠性极为敏感的参数,器件老化后噪声会随之发生变化[22]。针对以上情况,本文分别模拟了闪烁体老化信号、硅油涂抹与否对应信号、前置放大器电子元器件噪声变化对应信号。
闪烁体老化信号特征是脉冲幅度降低,下降沿时间增大[13]。按照脉冲平均幅度分别降低20%、40%和慢时间常数分别是正常脉冲的10倍、100倍的规律模拟两组数据(每组代表不同老化程度)。未涂抹硅油与涂抹硅油相比,信号脉冲幅度可降低30%~50%,脉冲幅度分辨率下降1%~4%[17]。按照脉冲幅度降低30%、40%、50%;脉冲幅度分辨率降低2%、3%、4%的规律,模拟三组数据(每组代表不同硅油厚度)。按照非正常信号白噪声幅度标准差是正常值的10倍、50倍、100倍规律模拟三组数据(每组代表元器件可靠性的不同程度)。模拟混合故障信号两组,第一组为闪烁体老化与白噪声混合故障,闪烁体老化指标为脉冲平均幅度降低40%,白噪声幅度标准差为正常值的50倍。第二组为不同硅油厚度与白噪声混合故障,脉冲幅度降低50%,脉冲幅度分辨率降低4%,白噪声幅度标准差是正常值的100倍。图2~图3为随机的4组非正常信号。模拟出10组非正常的随机脉冲图像,每组图像对应一个标签,作为深度学习数据集。
图2 老化与硅油故障信号图
图3 白噪声与混合故障信号图
深度学习和机器学习的最大区别是深度学习使用的是多个隐藏层神经网络,具备特征提取的功能[14]。在一些情况下,无须对数据进行预处理,可以直接输入到深度学习模型中。本文使用卷积神经网络(convolutional neural networks,CNN)进行特征提取及分类。
通过调用Matlab深度学习工具箱的函数进行模型开发。根据闪烁体老化、硅油涂抹与否、前置放大器元器件白噪声、混合故障四种情况模拟了10组图像数据集,每组1 000张,共10 000张图像。将图像数据分为训练集和测试集,为卷积神经网络提供训练集和测试集。接着构建卷积神经网络,卷积神经网络对输入信息自主提取“有效特征”。设置卷积核、网络权重、偏置值、学习率等参数初始值,卷积神经网络根据损失函数的值自动对以上参数进行训练,不断更新参数,直至损失函数值最小或者降低到某一阈值之内。训练出来的参数作为卷积神经网络模型参数值[15]。进而将参数训练好的模型对测试集进行分析,得出分类结果和分类的准确值。开发步骤如图4。
图4 模型开发步骤
卷积神经网络的主要作用是提取特征,减少训练参数,减低网络复杂度[14]。卷积神经网络主要包括图像输入层、卷积计算层、ReLU激活层、池化层以及全连接层[15]。卷积神经网络模型构建具体流程如图5。
图5 卷积神经网络模型构建
本文图像数据参数:像素300×300,3通道。卷积层设置三层,第一层的卷积核大小为3×3,卷积核的个数为8,卷积方式为零填充方式。卷积核的个数与输出特征图个数相同。批量归一化层有两个作用,一个作用是将上一层输出信息批量归一化后送入到下一层,另一个作用是可以在训练时提升模型的收敛速度。ReLU激活函数主要功能是保留每个卷积层的效果,对卷积层输入小于0的数据变为0,其他的数据保持不变。它的表达式为:
f(x)=max(0,x)
(2)
池化层使特征图缩小,压缩网络参数和降低过拟合[23]。池化方法有两种:一种为平均池化,另外一种为最大池化。本文采用最大池化,池化区域为2×2,步长为2。第二、三卷积层设置的参数与第一卷积层大致相同,不同点在于卷积核个数。第二、三卷积层卷积核个数为16。
本文模拟10组故障图像,全连接层输出个数为10。softmaxLayer层计算每个输出的概率,分类层根据softmaxLayer层输出概率对故障信号进行分类。最后计算分类结果的准确率。
卷积神经网络是具有深度结构包含卷积计算的前馈神经网络。网络权重、偏置值、卷积核中的元素都需要通过训练来确定[14]。训练选项配置参数的选取对结果影响是很大的。训练选项包括优化算法、初始学习率、最大训练轮数、设置验证训练集和设置验证频率[15]。随机梯度下降算法通常被用于深度学习训练。Adam、Rmsprop、Sgdm等都属于随机梯度下降算法的变种[23]。Matlab深度学习工具箱提供了Adam、Rmsprop、Sgdm三种优化算法,三种优化算法都需要初始学习率[14]。
三种优化算法初始学习率设置为0.001,最大训练轮数8,每一轮训练打乱一次数据,设置验证训练集,验证频率为30。
深度学习的算法有很多种。面对相同的样本图像,每种算法在分类的准确率、时间等结果上都不尽相同。因此,需要对各种算法进行性能评估。本文分别采用Adam,Rmsprop、Sgdm算法对样本图像进行了训练,在卷积层为3层的情况下对其训练准确率和训练时间进行比较。训练硬件参数:CPU为英特尔Xeon(至强)W-10885M,2.4 GHz,八核;内存32 G,频率为3 200 MHz;显卡为NVIDIA Quadro RTX 3000。
图像样本为10组非正常的随机脉冲图像,每组图像为1 000张,共10 000张图像。每组对应一个故障标签。三种算法的初始学习率为0.001,最大训练轮数8;每一轮训练打乱一次数据;设置验证训练集;验证频率为30;每组训练集的数量为700张,其余为测试集。每种算法分别进行8次训练,分类准确度和训练时间如表1,运行结果如图6~图8。
图6 Adam算法运行结果图
图7 Sgdm算法运行结果图
图8 Rmsprop算法运行结果图
表1 准确度和训练时间
Adam算法、Sgdm算法和Rmsprop算法的分类准确度平均值分别为92.82%、93.10%、90.75%。训练时间平均值分别为3 min 15 s、3 min 15 s、 3 min 12 s。从训练时间平均值上看Rmsprop比其他两种算法要少3 s。Sgdm的分类准确度最高,准确度和损失的迭代曲线平稳。Rmsprop的分类准确度较其他两种算法低,准确度和损失的迭代曲线不平稳,波动较大。
本文基于闪烁探测器非正常信号波形模型,利用Matlab平台模拟了十组非正常信号共10 000张波形图象。运用Matlab深度学习工具箱函数构建了一个用于对非正常信号图像进行分类的卷积神经网络模型。三种深度学习算法运行结果的分类准确率最高可达93.10%。虽然,其诊断准确率略低于文献报道值,但是本文方法不需要对信号进行预处理和特征预提取,使用更为简便。且调试好的模型代码能自动转换成目标平台的C/C++代码。可以直接应用于硬件平台,无须再重新编写深度学习神经网络的底层代码,从而加快算法模型转化成产品的速度。