滕忠斌,宋明哲,倪 宁,魏可新,刘蕴韬
(中国原子能科学研究院计量测试部,北京 102413)
对于低能过滤X射线参考辐射场,准确得到辐射场中的能谱分布有利于确定辐射场中的剂量转换系数和特性参数[1-2]。可使用半导体探测器或闪烁体探测器对X射线辐射场中的能谱分布进行测量。但由探测器测量得到的是脉冲幅度谱,不是实际辐射场中粒子的注量谱,所以还需要对脉冲幅度谱进行解谱计算[3]。其中常用的解谱方法有剥谱法、逆矩阵法、迭代法和最大熵法[4-8]。
相比于上述几种解谱方法,利用神经网络算法对脉冲幅度谱进行解谱具有不依赖初始能谱、避免求解病态方程组和算法可移植的特点。目前国内外相关文献中,神经网络算法常被用于中子脉冲幅度谱的解谱计算[8-12]。Vega-Carrillo等人[9]首先使用多球中子谱仪的响应矩阵将标准中子谱转换成脉冲幅度谱。然后将标准谱作为神经网络的输入,将相应的脉冲幅度谱作为神经网络的输出,使用反向传播算法训练神经网络。并且在训练完成后对神经网络进行测试,其测试结果与标准能谱较为相符,验证了使用神经网络实现中子脉冲幅度谱解谱的可行性。言杰等人[10]使用闪烁体探测器的单能响应函数对神经网络进行训练。然后使用该探测器测量Am-Be中子源的脉冲幅度谱,并用训练后的神经网络对其进行解谱。解谱结果与其他解谱算法的解谱结果相比较,结果表明使用神经网络算法能够快速和准确地实现中子脉冲幅度谱的解谱。
对于低能过滤X射线脉冲幅度谱,国内外暂无相关神经网络解谱计算的研究。本次研究的目的是使用PIPS探测器测量低能过滤X射线脉冲幅度谱,并使用神经网络算法对所得脉冲幅度谱进行快速解谱。其中,选择使用PIPS探测器[13-15]的原因为:相比于高纯锗探测器,PIPS探测器的平面硅厚度较薄,探测效率更低。在测量较高注量的X射线时,PIPS探测器不容易发生“堵死”现象。本次研究最终训练完成的神经网络可以被移植到微型计算机中,用以方便和快速地实现低能过滤X射线脉冲幅度谱的解谱计算。
对于低能过滤X射线,测得脉冲高度谱与辐射场中真实注量谱之间的关系为:
式中:Nj——脉冲高度谱中第j个能量区间内的脉冲计数;
Φi——注量谱第i个能量区间内的粒子数目;
Rij——注量谱中第i个能量区间的一个粒子能够在脉冲幅度谱中第j个能量区间内产生一个脉冲的概率。
由于该方程组为病态方程组,即[Rij]-1或Nj发生微小改变会对计算结果Φi有显著影响。在解谱计算时,应该注意避免求解上述病态问题,减小对计算结果引入的不确定度。
为了解决上述问题,可以使用神经网络算法对脉冲幅度谱进行解谱计算。神经网络属于人工智能算法中的一种,其可以模拟人脑对已有数据或经验进行学习,进而对现有问题进行预测或判断。在使用神经网络算法时,首先需要使用已有的输入数据和标签数据对神经网络进行训练。在训练过程中,各层神经元之间的权重会发生改变。经训练后的神经网络可以对未知数据进行预测。因此,使用神经网络算法解谱可以避免求解上述病态方程组,进而提高了解谱结果的准确度。
1.2.1 探测器模型
在用神经网络进行解谱计算时,根据训练数据来源的不同,大体存在两种训练方法:一种是将标准谱和由蒙特卡罗(Monte-Carlo, MC)模拟得到的脉冲幅度谱作为训练数据[8-9];另一种是将探测器对入射粒子的单能响应函数作为训练数据[10-12]。由于ISO 4037—1国际标准中,低能X射线参考谱的数量较少,不利于神经网络的训练。且参考谱的形状与X射线照射装置的参数有关,使得由低能X射线参考谱训练完成的神经网络不具有普适性。因此,本次研究将PIPS探测器对单能光子的响应函数作为神经网络的训练数据。
使用MCNP5[16]计算PIPS探测器对单能入射光子的响应函数。此时,需要在MC程序中构建与实际PIPS探测器的结构尺寸一致的探测器MC模型。因此,本次研究利用计算机断层扫描(computed tomography,CT)技术得到了PIPS探测器内部的结构与尺寸。PIPS探测器的CT扫描成像如图1(a)所示。PIPS探测器内各部件的材料和尺寸见表1。参考表1中探测器的内部尺寸和组成材料,在MCNP5中建立PIPS探测器MC模型,如图1(b)所示。
图 1 PIPS探测器CT扫描图像及MC模型
表 1 PIPS探测器CT扫描图中各部件的材料与尺寸
1.2.2 实验效率刻度
探测器的探测效率有多种定义,对于X,γ谱仪,常用到的是源峰探测效率。其表示为对于某种能量的入射光子,测量得到的全能峰计数率与放射源每秒发出的该能量的光子数之比,具体公式为:
式中:N——全能峰面积;
C——放射源经过时间修正后的活度,Bq;
t——测量时间,s;
f——放射源的特征X射线的发射概率。
为了验证PIPS探测器的MC模型是否准确可靠,需要通过实验对PIPS探测器的效率进行刻度,并与MC效率刻度结果相比较。实验中使用了一系列能量范围较宽、活度已知的标准源(具体参数如表2所示),以及CANBERRA公司生产的SXD15C-150-500型 PIPS探测器(对于54Mn-Kα 5.9 keV特征X射线,其分辨率为145 eV)、DSA-1000型多道脉冲幅度分析器和GENIE2000能谱分析软件。其中,这些放射源均通过发生轨道电子俘获效应,放出能量在1~50 keV能量范围内的特征X射线,各放射源的活度由国防科技工业电离辐射一级计量机构标准实验室测定。表2中各放射源特征X射线的发射概率均取自美国国家核数据中心官网(https://www.nndc.bnl.gov/nudat2/)。
表 2 实验效率刻度时使用的放射源
PIPS探测器的实验效率刻度方法为:将放射源放置在位于PIPS探测器轴线上的支架上,并测量放射源与铍窗的距离。接通探测器的电源,将测量系统预热30 min以上。之后在GENIE2000软件中,将测量时间设置为86 400 s以上,目的是使特征峰计数面积的统计不确定度小于1%。然后依次测量得到表2中各放射源的脉冲幅度谱。待测量完全部放射源的能谱后,在GENIE2000中的全能峰处插入感兴趣区,计算全能峰的面积。然后根据全能峰面积N、修正后的放射源活度C、特征X射线的发射概率f和测量时间t,使用式(2)计算不同特征X射线能量下的源峰探测效率η,计算结果见图2。
图 2 实验效率和MC效率的对比
1.2.3 能谱展宽
由于实际测量时存在统计涨落和探测器具有固有分辨率,使得特征X射线的全能峰近似为高斯分布。为了能够将MC计算的单能光子的脉冲幅度谱与实验脉冲幅度谱进行比较,需要在MCNP5输入文件中设置FTn卡的GEB选项,对模拟脉冲幅度谱进行高斯展宽。其中GEB选项中的a、b和c参数由最小二乘法非线性拟合得到。拟合方法为:在GENIE2000中找到并记录各放射源全能峰的能量和半高宽,然后再利用能量与半高宽的关系进行最小二乘法非线性拟合,得到关系式中的参数a、b、c。拟合时使用的公式为[16]:
式中:FWHM——半高宽,MeV;
E——粒子的能量,MeV;
a、b、c——需要拟合的参数。
通过拟合得到:a=2.97×10-5,b=1.61×10-3,c=-15.02,拟合相关系数r2=0.955。使用上述参数模拟计算57Co放射源的脉冲幅度谱,并与实验能谱进行比较,结果如图3所示。
图 3 MC模拟脉冲幅度谱与实验脉冲幅度谱的对比
1.2.4 响应函数计算
响应函数指的是单能入射粒子在探测器中产生某一能量脉冲幅度的概率大小。利用建立好的PIPS探测器MC模型,使用MCNP5计算PIPS探测器对不同单能光子的响应函数。入射光子的能量设置为5~30 keV,能量间隔为0.2 keV。计算结果为高斯展宽后的具有0.1 keV分辨率的脉冲幅度谱。计算时运行的粒子数为1×108,在工业计算机(处理器:英特尔i5-7200U;4核;2.5 GHz)上完成上述所有能量的单能光子响应函数的并行计算需要花费2 d左右的时间。
神经网络的结构一般包括输入层、输出层和隐藏层。对于全连接网络,每一层都由神经元组成,各层间的神经元一一相连。本次研究使用Tensorflow深度学习框架建立了无隐藏层的单层神经网络,并在输出层中使用线性激活函数。由于训练数据的能量范围为5~30 keV,分辨率为0.1 keV,因此输入层和输出层中的神经元个数均设置为251。
使用Tensorflow(V1.14.0)中的反向传播算法分批次训练单层神经网络。在训练数据集中,输入数据为PIPS探测器的响应函数,标签数据为与响应函数对应的单能光子谱。在训练过程中,神经网络的输出结果为响应函数所对应的单能光子谱的预测数据。为了使输入数据和标签数据具有相同的数量级,需要将响应函数的每个能量箱内计数除以所有能量箱内的总计数。此外,在训练时使用可变学习率,以提高训练的速度。对训练完成后的神经网络,使用由响应函数制作的单峰(随机能量点)和多峰(10 keV、15 keV、20 keV和25 keV)脉冲幅度谱对神经网络进行测试,测试结果如图4所示。图4(a)为当输入数据为随机选择的一个响应函数时,输出单峰预测数据与标签数据的比较;图4(b)为当输入数据为10 keV、15 keV、20 keV和25 keV 4个响应函数时,输出多峰预测数据与标签数据的比较。
图 4 单峰和多峰神经网络测试结果
首先将PIPS探测器放置在X光机的射束轴线上,探测器入射窗与焦点之间的距离为1 m。并在探测器前放置铅准直器,以减小探测器的死时间。为了产生低能X射线辐射质,需要根据ISO 4037—1标准在X光机前放置合适厚度和材料的过滤片,并设置与辐射质相关的管电压。之后用PIPS探测器分别测量N10~N30和L10~L30辐射质的脉冲幅度谱,测量时间均为300 s。
分别使用训练好的单层神经网络和GRV_MC33程序对测量脉冲幅度谱进行解谱。其中,GRV_MC33解谱程序所使用的响应函数文件、脉冲幅度谱文件和初始谱文件分别由PIPS探测器对单能光子的响应函数、低能X射线脉冲幅度谱和PTB参考注量谱组成。最终使用上述两种方法计算得到了N10~N30和L10~L30辐射质的低能X射线注量谱,结果如图5所示。从图中可以发现,除N25和N30两个辐射质外,二者解谱结果较为相符。由于探测器MC模型的尺寸和MC模拟过程中所使用的物理模型均会对响应函数的计算结果引入不确定度。并且在使用GRV_MC33程序时需要设置初始能谱,初始能谱的形状影响了该程序的解谱结果。因此上述两个原因使得二者解谱结果之间存在一定差异。
图 5 神经网络算法与GRV_MC33程序解谱结果比较
最终将由Tensorflow训练好的神经网络移植到单板微型计算机(品牌:Raspberry Pi树莓派,型号:Model 3B)中。经测试发现,仅需要1.2 s的时间,即可实现对低能X射线脉冲幅度谱的解谱计算。
本次研究根据PIPS探测器的CT扫描图像,在MCNP5中建立了该探测器的MC模型。通过实验效率刻度、MC效率刻度和能谱展宽对PIPS探测器模型进行验证。结果显示,本次实验和MC效率刻度结果的差异在不确定度范围内可以忽略。并且57Co放射源的实验和MC能谱展宽结果较为相符,验证了该探测器模型较为准确。之后计算了PIPS探测器对单能光子(5~30 keV)的响应函数,并将其作为神经网络的训练数据。
使用Tensorflow深度学习框架搭建并训练单层线性神经网络。针对由PIPS探测器测量得到的N10~N30和L10~L30辐射质的X射线脉冲幅度谱,使用神经网络和GRV_MC33程序分别对其进行解谱。结果显示,除N25和N30辐射质外,单层神经网络和GRV_MC33程序的解谱结果较为相符。造成N25和N30辐射质解谱结果差异的原因可能源于探测器响应函数的不确定度以及GRV_MC33程序的解谱结果依赖于初始能谱的形状。为了准确得知造成该差异的原因和减小解谱结果之间的差异,还需后续进一步的研究。此外,该单层神经网络被移植到单板微型计算机中,仅需要1.2 s的时间,即可实现对低能X射线脉冲幅度谱的解谱计算。本次研究验证了使用神经网络算法实现对低能过滤X射线脉冲幅度谱解谱的可行性。经训练好的神经网络模型可以被移植到单板微型计算机或FPGA芯片中,帮助校准实验室实现对低能X射线脉冲幅度谱的快速解谱。