宋元章,沈湘衡,李洪雨
(中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033)
隨著近年來(lái)航天事業(yè)的快速發(fā)展,航天任務(wù)向復(fù)雜化、自動(dòng)化、長(zhǎng)期化迅速演變,航天軟件的規(guī)模越來(lái)越大、復(fù)雜程度和關(guān)鍵程度越來(lái)越高,航天軟件在航天器和航天載荷中的地位和作用越來(lái)越重要[1]。同時(shí),由于航天軟件的質(zhì)量問(wèn)題引起的災(zāi)難事故越來(lái)越多。因此,對(duì)航天軟件質(zhì)量進(jìn)行客觀、科學(xué)地定量評(píng)價(jià),是確保航天任務(wù)成功的重要因素,同時(shí)也是當(dāng)前軟件領(lǐng)域的研究熱點(diǎn)。
航天軟件質(zhì)量評(píng)價(jià)所面臨的問(wèn)題主要有:軟件復(fù)雜程度較大,導(dǎo)致評(píng)價(jià)指標(biāo)多樣繁雜且會(huì)存在干擾、沖突;專家評(píng)價(jià)過(guò)程存在不規(guī)范及不確定性;評(píng)價(jià)結(jié)果依賴于專家業(yè)務(wù)水平和經(jīng)驗(yàn)等,受主觀因素影響較大。當(dāng)前軟件質(zhì)量評(píng)價(jià)方法主要有層次分析法[2]、模糊綜合評(píng)價(jià)法[3]、支持向量機(jī)評(píng)價(jià)法[4]、神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)法[5-6]。其中,神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)法是當(dāng)前準(zhǔn)確率最高的一種方法,利用樣本數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)相當(dāng)于“軟件質(zhì)量評(píng)價(jià)領(lǐng)域?qū)<摇保瑢⒋u(píng)價(jià)軟件的質(zhì)量評(píng)價(jià)指標(biāo)數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)中從而得到評(píng)價(jià)結(jié)果。但是,神經(jīng)網(wǎng)絡(luò)的計(jì)算比較復(fù)雜,參數(shù)配置對(duì)輸出結(jié)果的影響較大,特別是當(dāng)維數(shù)較大時(shí),收斂速度較慢,甚至?xí)霈F(xiàn)不收斂、誤判或漏判等情況。
針對(duì)上述軟件質(zhì)量評(píng)價(jià)方法中存在的問(wèn)題,本文提出了利用并行神經(jīng)網(wǎng)絡(luò)進(jìn)行航天軟件質(zhì)量評(píng)價(jià)的方法,將神經(jīng)網(wǎng)絡(luò)和DS證據(jù)理論有效結(jié)合,采用多個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)同一個(gè)評(píng)價(jià)指標(biāo)空間進(jìn)行獨(dú)立地初步評(píng)價(jià),將每個(gè)初步評(píng)價(jià)結(jié)果視為一個(gè)獨(dú)立的證據(jù)并采取歸一化和修正處理后,分別作為DS證據(jù)理論的軟件質(zhì)量評(píng)價(jià)識(shí)別框架中各命題的基本概率賦值,對(duì)各證據(jù)采用DS證據(jù)理論進(jìn)行融合以提高神經(jīng)網(wǎng)絡(luò)的泛化能力。同時(shí),充分考慮到了DS證據(jù)理論對(duì)高度沖突證據(jù)融合時(shí)會(huì)得出悖論的問(wèn)題。
假設(shè)航天軟件質(zhì)量評(píng)價(jià)指標(biāo)空間為U={T1,T2,…,TM},航天軟件質(zhì)量評(píng)價(jià)結(jié)果識(shí)別框架為Θ={A1,A2,…,AN},其中軟件評(píng)價(jià)結(jié)果為N個(gè)等級(jí)(V1、V2、…、VN),命題Ai(i=1,2,…,N)表示當(dāng)前待評(píng)價(jià)軟件的質(zhì)量等級(jí)為Vi。
為便于在實(shí)驗(yàn)中比較不同方法的性能指標(biāo),采用ISO/IEC 25010∶2011質(zhì)量模型。對(duì)各神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練、計(jì)算可信度的過(guò)程為:
1)確定神經(jīng)網(wǎng)絡(luò)的個(gè)數(shù),設(shè)為L(zhǎng);
2)確定各神經(jīng)網(wǎng)絡(luò)的類型。為便于描述和示例,本文只選用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)對(duì)軟件質(zhì)量進(jìn)行初步評(píng)價(jià),但是各BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、參數(shù)配置不同;
3)確定神經(jīng)網(wǎng)絡(luò)Ci(i=1,2,…,L)拓?fù)浣Y(jié)構(gòu)。
輸入層:層數(shù)為1,節(jié)點(diǎn)數(shù)為評(píng)價(jià)指標(biāo)空間U中評(píng)價(jià)指標(biāo)的個(gè)數(shù)M。隱含層:層數(shù)為1,節(jié)點(diǎn)數(shù)按照文獻(xiàn)[7]中方法確定。輸出層:層數(shù)為1,節(jié)點(diǎn)數(shù)為軟件質(zhì)量評(píng)價(jià)結(jié)果識(shí)別框架Θ中命題個(gè)數(shù)N;
4)確定神經(jīng)網(wǎng)絡(luò)的激活函數(shù)、學(xué)習(xí)算法。鑒于梯度下降算法存在訓(xùn)練速度慢、全局搜索能力弱、容易陷入局部極小值等缺點(diǎn),選擇Sigmoid函數(shù)作為激活函數(shù),選擇Levenberg-Marquard算法[8-9]作為學(xué)習(xí)算法;
5)采用交叉驗(yàn)證法(cross validation)將樣本數(shù)據(jù)集D劃分為訓(xùn)練樣本集、測(cè)試樣本集:將D劃分為互斥的S個(gè)子集,每個(gè)子集盡可能保持?jǐn)?shù)據(jù)分布的一致性且大小相似。每次用S-1個(gè)子集的并集作為訓(xùn)練樣本集,剩下的子集作為測(cè)試樣本集,從而獲得S組訓(xùn)練樣本集和測(cè)試樣本集;
6)分別對(duì)各神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;
7)分別計(jì)算各神經(jīng)網(wǎng)絡(luò)的可信度,該可信度用于在利用DS證據(jù)理論對(duì)初步評(píng)價(jià)結(jié)果融合之前對(duì)其進(jìn)行修正,具體修正方法詳見(jiàn)1.2節(jié)。
(1)
(2)
式中1≤l≤N。
(3)
則當(dāng)前測(cè)試樣本的軟件質(zhì)量評(píng)價(jià)結(jié)果G′=Vp,否則拒絕給出評(píng)價(jià)結(jié)果,γi值加1。若神經(jīng)網(wǎng)絡(luò)Ci給出的評(píng)價(jià)結(jié)果與測(cè)試樣本的真實(shí)結(jié)果一致,則αi值加1,否則βi值加1。其中,εi∈(0,1)為預(yù)設(shè)的閾值,Nk為序號(hào)為k的測(cè)試樣本集的樣本總數(shù),αk為Ci評(píng)價(jià)正確的測(cè)試樣本個(gè)數(shù),βk為Ci評(píng)價(jià)錯(cuò)誤的測(cè)試樣本個(gè)數(shù),γk為Ci拒絕給出評(píng)價(jià)結(jié)果的測(cè)試樣本個(gè)數(shù)。
根據(jù)神經(jīng)網(wǎng)絡(luò)Ci對(duì)測(cè)試樣本集的處理情況,計(jì)算神經(jīng)網(wǎng)絡(luò)的可信度θi(θi∈[0,1]):
(4)
DS證據(jù)理論是目前被廣泛用于不確定信息處理的一種決策級(jí)融合方法,無(wú)需事先得知判決的條件概率和先驗(yàn)概率,采用積累證據(jù)縮小假設(shè)集[10]。設(shè)Θ為隨機(jī)變量X可能取值的論域,若Θ中所有元素互斥,則Θ稱為隨機(jī)變量X的識(shí)別框架,本文中Θ={A1,A2,…,AN}。設(shè)識(shí)別框架為Θ,2Θ為Θ的冪集,若對(duì)于函數(shù)m:2Θ→[0,1]滿足:
(5)
則m(A)為A的基本概率賦值。
設(shè)函數(shù)m:2Θ→[0,1]為識(shí)別框架Θ上的基本概率賦值,函數(shù)BEL為Θ上的信任函數(shù),若函數(shù)BEL:2Θ→[0,1]滿足:
(6)
且BEL(A)>0,則為信任函數(shù)BEL的焦元。
若BEL1和BEL2為識(shí)別框架Θ上的信任函數(shù),m1和m2為對(duì)應(yīng)的基本概率賦值,A1,A2,…,Ak和B1,B2,…,Br為對(duì)應(yīng)的焦元,
(7)
(8)
式中Y為沖突因子,式(8)為Dempster組合規(guī)則。Dempster組合規(guī)則滿足結(jié)合律,當(dāng)對(duì)多個(gè)證據(jù)進(jìn)行融合時(shí),可采用兩兩融合的方法進(jìn)行[11-12]。
利用改進(jìn)的DS證據(jù)理論對(duì)初步評(píng)價(jià)結(jié)果進(jìn)行融合的過(guò)程為:
(9)
生成證據(jù)Ei的基本概率賦值分配Ei=(mi(A1),mi(A2),…,mi(AN),mi(Θ))。
2)針對(duì)DS證據(jù)理論在對(duì)高度沖突的證據(jù)(Y→1)直接使用Dempster組合規(guī)則進(jìn)行融合時(shí)會(huì)得出有悖常理的融合結(jié)果的問(wèn)題,本文采用基于夾角余弦的證據(jù)組合方法[13-14]對(duì)Dempster組合規(guī)則進(jìn)行改進(jìn),利用改進(jìn)后的證據(jù)組合方法對(duì)各證據(jù)Ei(i=1,2,…,L)進(jìn)行融合,獲得融合結(jié)果F=(mf(A1),mf(A2),…,mf(AN),mf(Θ))。
基于DS證據(jù)理論融合進(jìn)行決策的方法主要有基于信任函數(shù)的決策、基于基本概率賦值的決策和基于最小風(fēng)險(xiǎn)的決策[15-18]。本文選用基于基本概率賦值的決策方法,決策準(zhǔn)則為:
(10)
假設(shè)有Ap、Aq,若Ap滿足如下決策準(zhǔn)則,則Ap即為決策結(jié)果,否則拒絕給出評(píng)價(jià)結(jié)果。其中,Γ1、Γ2為預(yù)設(shè)的閾值,Γ1∈(0,1),Γ1∈(0,1)。根據(jù)決策結(jié)果Ap可知待評(píng)價(jià)軟件的最終評(píng)價(jià)結(jié)果G=Vp。
選取某航天相機(jī)軟件作為待評(píng)價(jià)對(duì)象,用于測(cè)試本文方法的性能指標(biāo)。該航天相機(jī)軟件的主要功能包括數(shù)據(jù)通訊、指令解析處理、工作過(guò)程控制、程序上注處理、CCD成像與時(shí)序控制、CMOS成像與時(shí)序控制、像移補(bǔ)償處理、開(kāi)環(huán)調(diào)焦控制、閉環(huán)調(diào)焦控制、溫度控制、圖像存儲(chǔ)、圖像下傳和遙測(cè)數(shù)據(jù)打包等。
利用Matlab R2014a實(shí)現(xiàn)本文方法并進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境硬件配置:CPU為Intel Core i5 2.2 GHz,內(nèi)存4 GB,硬盤1TB;操作系統(tǒng)Win7 SP1。
利用本文方法對(duì)上述航天相機(jī)軟件進(jìn)行軟件質(zhì)量評(píng)價(jià)過(guò)程的過(guò)程為:
1)采用ISO/IEC 25010∶2011作為軟件質(zhì)量評(píng)價(jià)指標(biāo)空間,得到U={T1,T2,…,T31}。評(píng)價(jià)結(jié)果識(shí)別框架Θ={A1,A2,A3,A4,A5},質(zhì)量評(píng)價(jià)結(jié)果分為優(yōu)秀、良好、合格、差、較差5個(gè)等級(jí),分別為V1、V2、V3、V4、V5。命題Ai(i=1,2,3,4,5)表示當(dāng)前待評(píng)價(jià)軟件的質(zhì)量等級(jí)為Vi;
2)依據(jù)選取的軟件質(zhì)量評(píng)價(jià)指標(biāo)空間在某科研院所軟件工程化相關(guān)評(píng)審活動(dòng)中采集了240組評(píng)價(jià)數(shù)據(jù)作為樣本數(shù)據(jù),采用交叉驗(yàn)證法將采集的樣本數(shù)據(jù)劃分為訓(xùn)練樣本集、測(cè)試樣本集;
3)根據(jù)U和Θ,確定神經(jīng)網(wǎng)絡(luò)Ci(i=1,2,…,8)的拓?fù)浣Y(jié)構(gòu),見(jiàn)表1;神經(jīng)網(wǎng)絡(luò)Ci(i=1,2,…,8)均采用BP神經(jīng)網(wǎng)絡(luò),輸入層、輸出層、隱含層均為1層,輸入層節(jié)點(diǎn)數(shù)均為31,輸出層節(jié)點(diǎn)數(shù)為5。
表1 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)Table 1 Topology of neural networks
4)神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成之后,利用訓(xùn)練好的8個(gè)神經(jīng)網(wǎng)絡(luò)分別對(duì)測(cè)試樣本集進(jìn)行評(píng)價(jià),計(jì)算各神經(jīng)網(wǎng)絡(luò)的可信度,見(jiàn)表2;
表2 初步評(píng)價(jià)結(jié)果、直接評(píng)價(jià)結(jié)果Table 2 Results of preliminary evaluation and direct evaluation
6)將神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果Ri(i=1,2,…,8)依次進(jìn)行歸一化、利用可信度θi修正,生成證據(jù)Ei對(duì)識(shí)別框架中各命題的基本概率賦值分配,詳見(jiàn)表3。
表3 識(shí)別框架中各命題的基本概率賦值分配Table 3 Basic probability assignment distributing of the discernment frame proposition
7)利用改進(jìn)的DS證據(jù)理論將8個(gè)證據(jù)進(jìn)行融合后的結(jié)果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)將決策準(zhǔn)則中閾值設(shè)置為Γ1=0.10,Γ2=0.10,根據(jù)決策準(zhǔn)則產(chǎn)生的決策結(jié)果為A2,即待評(píng)價(jià)的航天相機(jī)軟件的最終評(píng)價(jià)結(jié)果為G=V2(良好),與樣本數(shù)據(jù)中的真實(shí)評(píng)價(jià)結(jié)果一致。
為測(cè)試本文方法的評(píng)價(jià)準(zhǔn)確率、訓(xùn)練時(shí)間和評(píng)價(jià)處理時(shí)間,利用本文方法與PNN、BPNN、LM-BPNN、RBFNN方法處理上述240組數(shù)據(jù),實(shí)驗(yàn)結(jié)果見(jiàn)表4、表5。其中,評(píng)價(jià)處理時(shí)間指從將待評(píng)價(jià)軟件的評(píng)價(jià)指標(biāo)數(shù)據(jù)輸入評(píng)價(jià)方法到獲得軟件質(zhì)量評(píng)價(jià)結(jié)果的時(shí)間。表6為5種方法的指標(biāo)性能比較。
表4 實(shí)驗(yàn)涉及評(píng)價(jià)方法概述Table 4 Overview of the evaluation methods involved in the experiment
分析表5和表6可知,本文方法的評(píng)價(jià)準(zhǔn)確率可以達(dá)到95.23%,明顯高于其他方法。產(chǎn)生以上結(jié)果的原因?yàn)椋罕疚姆椒ㄔ诔浞职l(fā)揮神經(jīng)網(wǎng)絡(luò)的特性對(duì)軟件質(zhì)量進(jìn)行初步評(píng)價(jià)的基礎(chǔ)上,利用DS證據(jù)理論對(duì)初步評(píng)價(jià)結(jié)果進(jìn)行融合,不僅進(jìn)一步減弱了評(píng)價(jià)數(shù)據(jù)的不確定性,而且有效解決了評(píng)價(jià)指標(biāo)之間的干擾、沖突;鑒于本文方法系統(tǒng)結(jié)構(gòu)的靈活性,可以根據(jù)神經(jīng)網(wǎng)絡(luò)的可信度情況動(dòng)態(tài)地修改、配置各神經(jīng)網(wǎng)絡(luò)以進(jìn)一步提高評(píng)價(jià)準(zhǔn)確度。
表5 不同方法對(duì)待評(píng)價(jià)軟件的評(píng)價(jià)結(jié)果Table 5 Evaluation results of the evaluated software from different methods
表6 性能指標(biāo)比較Table 6 Comparison of performance indexes
本文方法的訓(xùn)練時(shí)間為576.00 ms,與采用梯度下降學(xué)習(xí)算法的BPNN相比大幅減少,與LM-BPNN所需訓(xùn)練時(shí)間大致相當(dāng)。本文方法的評(píng)價(jià)處理時(shí)間為77.50 ms,與評(píng)價(jià)速度最快的RBFNN所需評(píng)價(jià)處理時(shí)間大致相當(dāng)。產(chǎn)生以上結(jié)果的原因?yàn)楸疚姆椒ㄏ到y(tǒng)結(jié)構(gòu)中的多個(gè)神經(jīng)網(wǎng)絡(luò)是相互獨(dú)立的,各神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和初步評(píng)價(jià)是并行處理的,全部神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間僅取決于訓(xùn)練時(shí)間最長(zhǎng)的那個(gè)神經(jīng)網(wǎng)絡(luò),全部神經(jīng)網(wǎng)絡(luò)的初步評(píng)價(jià)時(shí)間僅取決于初步評(píng)價(jià)時(shí)間最長(zhǎng)的那個(gè)神經(jīng)網(wǎng)絡(luò)。同時(shí),鑒于本文方法系統(tǒng)結(jié)構(gòu)的靈活性,可以根據(jù)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間、初步評(píng)價(jià)時(shí)間動(dòng)態(tài)地修改、配置各神經(jīng)網(wǎng)絡(luò)以進(jìn)一步減少訓(xùn)練時(shí)間、評(píng)價(jià)時(shí)間;與其他方法相比,本文方法僅增加了DS證據(jù)理論進(jìn)行融合的處理時(shí)間,但是DS證據(jù)理論融合速度較快、產(chǎn)生的額外時(shí)間代價(jià)較小。
總之,本文方法評(píng)價(jià)準(zhǔn)確率較高、訓(xùn)練時(shí)間和評(píng)價(jià)時(shí)間較短,滿足航天軟件進(jìn)行質(zhì)量評(píng)價(jià)的要求。
1)將神經(jīng)網(wǎng)絡(luò)和DS證據(jù)理論有效結(jié)合,用于航天軟件質(zhì)量評(píng)價(jià),實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ)并克服兩者的不足,既提高了神經(jīng)網(wǎng)絡(luò)的泛化能力,又可有效解決評(píng)價(jià)指標(biāo)之間的干擾、沖突。
2)引入并行結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)形式,各神經(jīng)網(wǎng)絡(luò)的類型、拓?fù)浣Y(jié)構(gòu)、參數(shù)配置可以完全不同。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練、測(cè)試和初步評(píng)價(jià)等均可并行處理,進(jìn)一步加快了數(shù)據(jù)處理的速度。同時(shí),評(píng)價(jià)方法的系統(tǒng)結(jié)構(gòu)靈活,可擴(kuò)展性比較強(qiáng)。
3)本文方法評(píng)價(jià)準(zhǔn)確率較高、訓(xùn)練時(shí)間和評(píng)價(jià)時(shí)間較短,滿足對(duì)航天軟件進(jìn)行質(zhì)量評(píng)價(jià)的要求。
下一步工作是如何更加合理有效地確定各神經(jīng)網(wǎng)絡(luò)的個(gè)數(shù)和類型。