利用并行神经网络进行航天软件质量评价
2020-07-27宋元章沈湘衡李洪雨
宋元章,沈湘衡,李洪雨
(中国科学院 长春光学精密机械与物理研究所,吉林 长春 130033)
随着近年来航天事业的快速发展,航天任务向复杂化、自动化、长期化迅速演变,航天软件的规模越来越大、复杂程度和关键程度越来越高,航天软件在航天器和航天载荷中的地位和作用越来越重要[1]。同时,由于航天软件的质量问题引起的灾难事故越来越多。因此,对航天软件质量进行客观、科学地定量评价,是确保航天任务成功的重要因素,同时也是当前软件领域的研究热点。
航天软件质量评价所面临的问题主要有:软件复杂程度较大,导致评价指标多样繁杂且会存在干扰、冲突;专家评价过程存在不规范及不确定性;评价结果依赖于专家业务水平和经验等,受主观因素影响较大。当前软件质量评价方法主要有层次分析法[2]、模糊综合评价法[3]、支持向量机评价法[4]、神经网络评价法[5-6]。其中,神经网络评价法是当前准确率最高的一种方法,利用样本数据对神经网络进行训练,训练后的神经网络相当于“软件质量评价领域专家”,将待评价软件的质量评价指标数据输入到神经网络中从而得到评价结果。但是,神经网络的计算比较复杂,参数配置对输出结果的影响较大,特别是当维数较大时,收敛速度较慢,甚至会出现不收敛、误判或漏判等情况。
针对上述软件质量评价方法中存在的问题,本文提出了利用并行神经网络进行航天软件质量评价的方法,将神经网络和DS证据理论有效结合,采用多个神经网络对同一个评价指标空间进行独立地初步评价,将每个初步评价结果视为一个独立的证据并采取归一化和修正处理后,分别作为DS证据理论的软件质量评价识别框架中各命题的基本概率赋值,对各证据采用DS证据理论进行融合以提高神经网络的泛化能力。同时,充分考虑到了DS证据理论对高度冲突证据融合时会得出悖论的问题。
1 并行神经网络航天软件质量评价
假设航天软件质量评价指标空间为U={T1,T2,…,TM},航天软件质量评价结果识别框架为Θ={A1,A2,…,AN},其中软件评价结果为N个等级(V1、V2、…、VN),命题Ai(i=1,2,…,N)表示当前待评价软件的质量等级为Vi。
1.1 训练神经网络并计算其可信度
为便于在实验中比较不同方法的性能指标,采用ISO/IEC 25010∶2011质量模型。对各神经网络进行训练、计算可信度的过程为:
1)确定神经网络的个数,设为L;
2)确定各神经网络的类型。为便于描述和示例,本文只选用反向传播(back propagation,BP)神经网络对软件质量进行初步评价,但是各BP神经网络的拓扑结构、参数配置不同;
3)确定神经网络Ci(i=1,2,…,L)拓扑结构。
输入层:层数为1,节点数为评价指标空间U中评价指标的个数M。隐含层:层数为1,节点数按照文献[7]中方法确定。输出层:层数为1,节点数为软件质量评价结果识别框架Θ中命题个数N;
4)确定神经网络的激活函数、学习算法。鉴于梯度下降算法存在训练速度慢、全局搜索能力弱、容易陷入局部极小值等缺点,选择Sigmoid函数作为激活函数,选择Levenberg-Marquard算法[8-9]作为学习算法;
5)采用交叉验证法(cross validation)将样本数据集D划分为训练样本集、测试样本集:将D划分为互斥的S个子集,每个子集尽可能保持数据分布的一致性且大小相似。每次用S-1个子集的并集作为训练样本集,剩下的子集作为测试样本集,从而获得S组训练样本集和测试样本集;
6)分别对各神经网络进行训练;
7)分别计算各神经网络的可信度,该可信度用于在利用DS证据理论对初步评价结果融合之前对其进行修正,具体修正方法详见1.2节。
(1)
(2)
式中1≤l≤N。
(3)
则当前测试样本的软件质量评价结果G′=Vp,否则拒绝给出评价结果,γi值加1。若神经网络Ci给出的评价结果与测试样本的真实结果一致,则αi值加1,否则βi值加1。其中,εi∈(0,1)为预设的阈值,Nk为序号为k的测试样本集的样本总数,αk为Ci评价正确的测试样本个数,βk为Ci评价错误的测试样本个数,γk为Ci拒绝给出评价结果的测试样本个数。
根据神经网络Ci对测试样本集的处理情况,计算神经网络的可信度θi(θi∈[0,1]):
(4)
1.2 利用神经网络对软件质量进行初步评价
DS证据理论是目前被广泛用于不确定信息处理的一种决策级融合方法,无需事先得知判决的条件概率和先验概率,采用积累证据缩小假设集[10]。设Θ为随机变量X可能取值的论域,若Θ中所有元素互斥,则Θ称为随机变量X的识别框架,本文中Θ={A1,A2,…,AN}。设识别框架为Θ,2Θ为Θ的幂集,若对于函数m:2Θ→[0,1]满足:
(5)
则m(A)为A的基本概率赋值。
设函数m:2Θ→[0,1]为识别框架Θ上的基本概率赋值,函数BEL为Θ上的信任函数,若函数BEL:2Θ→[0,1]满足:
(6)
且BEL(A)>0,则为信任函数BEL的焦元。
若BEL1和BEL2为识别框架Θ上的信任函数,m1和m2为对应的基本概率赋值,A1,A2,…,Ak和B1,B2,…,Br为对应的焦元,
(7)
(8)
式中Y为冲突因子,式(8)为Dempster组合规则。Dempster组合规则满足结合律,当对多个证据进行融合时,可采用两两融合的方法进行[11-12]。
利用改进的DS证据理论对初步评价结果进行融合的过程为:
(9)
生成证据Ei的基本概率赋值分配Ei=(mi(A1),mi(A2),…,mi(AN),mi(Θ))。
2)针对DS证据理论在对高度冲突的证据(Y→1)直接使用Dempster组合规则进行融合时会得出有悖常理的融合结果的问题,本文采用基于夹角余弦的证据组合方法[13-14]对Dempster组合规则进行改进,利用改进后的证据组合方法对各证据Ei(i=1,2,…,L)进行融合,获得融合结果F=(mf(A1),mf(A2),…,mf(AN),mf(Θ))。
1.3 根据决策准则产生最终评价结果
基于DS证据理论融合进行决策的方法主要有基于信任函数的决策、基于基本概率赋值的决策和基于最小风险的决策[15-18]。本文选用基于基本概率赋值的决策方法,决策准则为:
(10)
假设有Ap、Aq,若Ap满足如下决策准则,则Ap即为决策结果,否则拒绝给出评价结果。其中,Γ1、Γ2为预设的阈值,Γ1∈(0,1),Γ1∈(0,1)。根据决策结果Ap可知待评价软件的最终评价结果G=Vp。
2 实验验证与方法比较
2.1 实验概述
选取某航天相机软件作为待评价对象,用于测试本文方法的性能指标。该航天相机软件的主要功能包括数据通讯、指令解析处理、工作过程控制、程序上注处理、CCD成像与时序控制、CMOS成像与时序控制、像移补偿处理、开环调焦控制、闭环调焦控制、温度控制、图像存储、图像下传和遥测数据打包等。
利用Matlab R2014a实现本文方法并进行仿真实验。实验环境硬件配置:CPU为Intel Core i5 2.2 GHz,内存4 GB,硬盘1TB;操作系统Win7 SP1。
2.2 方法示例
利用本文方法对上述航天相机软件进行软件质量评价过程的过程为:
1)采用ISO/IEC 25010∶2011作为软件质量评价指标空间,得到U={T1,T2,…,T31}。评价结果识别框架Θ={A1,A2,A3,A4,A5},质量评价结果分为优秀、良好、合格、差、较差5个等级,分别为V1、V2、V3、V4、V5。命题Ai(i=1,2,3,4,5)表示当前待评价软件的质量等级为Vi;
2)依据选取的软件质量评价指标空间在某科研院所软件工程化相关评审活动中采集了240组评价数据作为样本数据,采用交叉验证法将采集的样本数据划分为训练样本集、测试样本集;
3)根据U和Θ,确定神经网络Ci(i=1,2,…,8)的拓扑结构,见表1;神经网络Ci(i=1,2,…,8)均采用BP神经网络,输入层、输出层、隐含层均为1层,输入层节点数均为31,输出层节点数为5。
表1 神经网络的拓扑结构Table 1 Topology of neural networks
4)神经网络训练完成之后,利用训练好的8个神经网络分别对测试样本集进行评价,计算各神经网络的可信度,见表2;
表2 初步评价结果、直接评价结果Table 2 Results of preliminary evaluation and direct evaluation
6)将神经网络的输出结果Ri(i=1,2,…,8)依次进行归一化、利用可信度θi修正,生成证据Ei对识别框架中各命题的基本概率赋值分配,详见表3。
表3 识别框架中各命题的基本概率赋值分配Table 3 Basic probability assignment distributing of the discernment frame proposition
7)利用改进的DS证据理论将8个证据进行融合后的结果F:
(mf(A1),mf(A2),mf(A3),mf(A4),mf(A5),
mf(Θ))=(0.005 2,0.985 5,0.004 1,0.004 3,
0.000 9,0.000 1)。
8)将决策准则中阈值设置为Γ1=0.10,Γ2=0.10,根据决策准则产生的决策结果为A2,即待评价的航天相机软件的最终评价结果为G=V2(良好),与样本数据中的真实评价结果一致。
2.3 方法比较
为测试本文方法的评价准确率、训练时间和评价处理时间,利用本文方法与PNN、BPNN、LM-BPNN、RBFNN方法处理上述240组数据,实验结果见表4、表5。其中,评价处理时间指从将待评价软件的评价指标数据输入评价方法到获得软件质量评价结果的时间。表6为5种方法的指标性能比较。
表4 实验涉及评价方法概述Table 4 Overview of the evaluation methods involved in the experiment
分析表5和表6可知,本文方法的评价准确率可以达到95.23%,明显高于其他方法。产生以上结果的原因为:本文方法在充分发挥神经网络的特性对软件质量进行初步评价的基础上,利用DS证据理论对初步评价结果进行融合,不仅进一步减弱了评价数据的不确定性,而且有效解决了评价指标之间的干扰、冲突;鉴于本文方法系统结构的灵活性,可以根据神经网络的可信度情况动态地修改、配置各神经网络以进一步提高评价准确度。
表5 不同方法对待评价软件的评价结果Table 5 Evaluation results of the evaluated software from different methods
表6 性能指标比较Table 6 Comparison of performance indexes
本文方法的训练时间为576.00 ms,与采用梯度下降学习算法的BPNN相比大幅减少,与LM-BPNN所需训练时间大致相当。本文方法的评价处理时间为77.50 ms,与评价速度最快的RBFNN所需评价处理时间大致相当。产生以上结果的原因为本文方法系统结构中的多个神经网络是相互独立的,各神经网络的训练和初步评价是并行处理的,全部神经网络的训练时间仅取决于训练时间最长的那个神经网络,全部神经网络的初步评价时间仅取决于初步评价时间最长的那个神经网络。同时,鉴于本文方法系统结构的灵活性,可以根据神经网络的训练时间、初步评价时间动态地修改、配置各神经网络以进一步减少训练时间、评价时间;与其他方法相比,本文方法仅增加了DS证据理论进行融合的处理时间,但是DS证据理论融合速度较快、产生的额外时间代价较小。
总之,本文方法评价准确率较高、训练时间和评价时间较短,满足航天软件进行质量评价的要求。
3 结论
1)将神经网络和DS证据理论有效结合,用于航天软件质量评价,实现优势互补并克服两者的不足,既提高了神经网络的泛化能力,又可有效解决评价指标之间的干扰、冲突。
2)引入并行结构的神经网络形式,各神经网络的类型、拓扑结构、参数配置可以完全不同。神经网络的训练、测试和初步评价等均可并行处理,进一步加快了数据处理的速度。同时,评价方法的系统结构灵活,可扩展性比较强。
3)本文方法评价准确率较高、训练时间和评价时间较短,满足对航天软件进行质量评价的要求。
下一步工作是如何更加合理有效地确定各神经网络的个数和类型。