巫婕妤, 胡 剛, 呂海飛, 汪智萍
(上海無線電設(shè)備研究所,上海201109)
復(fù)雜電子裝備是由大量相互關(guān)聯(lián)、相互制約的電子元器件、電路板和組件組成的。由于電子元器件參數(shù)的離散性及不同環(huán)境條件下的性能變化會對裝備性能指標(biāo)產(chǎn)生影響,一般需要設(shè)置多個可調(diào)參數(shù),并根據(jù)測試結(jié)果選配最優(yōu)的調(diào)試參數(shù)。目前電子裝備調(diào)試依賴人工經(jīng)驗,調(diào)試效率低、準(zhǔn)確度差、反復(fù)次數(shù)多,大大影響了復(fù)雜電子裝備的生產(chǎn)效率及成品率。通過對復(fù)雜電子裝備的電路特性進(jìn)行分析,可知其性能和調(diào)試元器件參數(shù)之間存在關(guān)聯(lián)關(guān)系,但無法得出精確的數(shù)學(xué)模型?;谏窠?jīng)網(wǎng)絡(luò)建立的非參數(shù)化模型,可模擬電子裝備性能和調(diào)試參數(shù)的關(guān)系,用于調(diào)試參數(shù)的預(yù)測。
神經(jīng)網(wǎng)絡(luò)是近幾年國內(nèi)外人工智能領(lǐng)域的研究熱點,其基本思想來源于人腦神經(jīng)元的構(gòu)造。神經(jīng)網(wǎng)絡(luò)具有大規(guī)模并行運算、自適應(yīng)、自組織和自學(xué)習(xí)能力,適用于處理需要同時考慮多個因素和條件的模糊信息問題[1]。范愛鋒等[2]在雷達(dá)裝備狀態(tài)監(jiān)測與故障趨勢預(yù)測系統(tǒng)中引入基于指數(shù)衰減的神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并將該模型應(yīng)用于某型雷達(dá)磁控管的高壓數(shù)據(jù)預(yù)測。李靜雯等[3]將灰色Verhulst模型與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合,來解決小樣本故障數(shù)據(jù)在誤差反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)訓(xùn)練中存在缺陷的問題,提出了基于灰色Verhulst-小波神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型,并在某型航空設(shè)備工作電壓的故障預(yù)測中對該模型進(jìn)行了驗證。文瑩等[4]將粗糙變量作為神經(jīng)元的輸入,通過交叉連接方式構(gòu)造粗糙神經(jīng)網(wǎng)絡(luò),以此來對設(shè)備特征參數(shù)進(jìn)行預(yù)測,并將該方法應(yīng)用于某型航空電子設(shè)備的故障趨勢預(yù)測。胡雷剛等[5]應(yīng)用免疫算法對神經(jīng)網(wǎng)絡(luò)隱含層激勵函數(shù)進(jìn)行改進(jìn),得到免疫神經(jīng)網(wǎng)絡(luò),并將該模型應(yīng)用于某型航空裝備特征參數(shù)的跟蹤預(yù)測。孫文珺等[6]提出一種將去噪編碼融入稀疏自動編碼器的深度神經(jīng)網(wǎng)絡(luò),實現(xiàn)非監(jiān)督學(xué)習(xí)的特征提取,并用于感應(yīng)電動機的故障診斷。
本文提出一種基于神經(jīng)網(wǎng)絡(luò)的復(fù)雜電子裝備調(diào)試決策方法,通過建立神經(jīng)網(wǎng)絡(luò)模型,模擬電子裝備性能指標(biāo)和調(diào)試元器件參數(shù)之間的關(guān)聯(lián)關(guān)系,實現(xiàn)電子裝備調(diào)試元器件參數(shù)最優(yōu)值的預(yù)測。
電子裝備性能指標(biāo)與調(diào)試元器件參數(shù)之間存在某種非線性關(guān)系,利用電子裝備的歷史調(diào)試數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,可以使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到近似于輸入與輸出之間潛在關(guān)系的規(guī)律。
神經(jīng)網(wǎng)絡(luò)由多個神經(jīng)元以不同層的形式連接。每個神經(jīng)元都是一個數(shù)學(xué)運算:對輸入進(jìn)行加權(quán)求和,加偏置,得到待激活值;將待激活值作為激活函數(shù)的輸入,得到輸出值,并將其傳遞給其他神經(jīng)元。神經(jīng)元結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)元結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)分為輸入層、隱藏層、輸出層。具有一個隱藏層的單輸出神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。通過調(diào)節(jié)神經(jīng)元內(nèi)部的激活函數(shù)參數(shù)以及神經(jīng)元之間的連接權(quán)重,最終得到預(yù)測值。進(jìn)行復(fù)雜電子裝備調(diào)試決策時,輸入層為電子裝備性能指標(biāo),輸出層為調(diào)試元器件參數(shù),隱藏層的設(shè)置與待解決的問題有關(guān),通常為1~2層。
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
利用神經(jīng)網(wǎng)絡(luò)預(yù)測輸入與輸出間的關(guān)系,以最小化損失函數(shù)為目標(biāo),選擇合適的優(yōu)化算法迭代求解最優(yōu)的神經(jīng)網(wǎng)絡(luò)參數(shù),即可得到近似真實關(guān)系的神經(jīng)網(wǎng)絡(luò)模型。激活函數(shù)是神經(jīng)網(wǎng)絡(luò)解決非線性問題的關(guān)鍵,可以將網(wǎng)絡(luò)連接非線性化。常用的激活函數(shù)有Re LU函數(shù)、Sigmoid函數(shù)、Softmax函數(shù)等。
一般利用均方誤差(mean squared error,MSE)指標(biāo)進(jìn)行神經(jīng)網(wǎng)絡(luò)模型選擇或者預(yù)測結(jié)果評價。將MSE作為損失函數(shù),并以最小化MSE為目標(biāo)進(jìn)行參數(shù)求解,則損失函數(shù)可以表示為
式中:m為樣本點數(shù);Yp,i為第i個樣本預(yù)測值;Ya,i為第i個樣本實際值。
通過優(yōu)化算法使得損失函數(shù)的值最小,以便尋找到最優(yōu)的參數(shù)。常用的優(yōu)化算法是隨機梯度下降(stochastic gradient descent,SGD)算法。SGD算法每次隨機選擇一個樣本來更新模型參數(shù),訓(xùn)練速度更快。
以某復(fù)雜電子裝備單機為例,單機由5類組件構(gòu)成,每類組件由10~20塊電路板構(gòu)成,共設(shè)置8項調(diào)試元器件。根據(jù)單機特性,梳理其性能指標(biāo)與調(diào)試元器件的對應(yīng)關(guān)系,如表1所示。靈敏度指標(biāo)與調(diào)試電阻*R44、*R30、*R46有關(guān),加速度指令指標(biāo)與調(diào)試電阻*R15、*R25、*R45、*R55有關(guān),耦合系數(shù)指標(biāo)與調(diào)試電阻*R54有關(guān)。針對表1中的3類性能指標(biāo)和對應(yīng)的8項調(diào)試元器件,通過建立神經(jīng)網(wǎng)絡(luò)模型進(jìn)行數(shù)據(jù)分析和模型訓(xùn)練,模擬單機性能指標(biāo)和調(diào)試元器件之間的關(guān)聯(lián)關(guān)系,實現(xiàn)以單機性能指標(biāo)為輸入、調(diào)試元器件參數(shù)為輸出的調(diào)試決策,輔助指導(dǎo)實際生產(chǎn)中的人工調(diào)試。
表1 性能指標(biāo)與調(diào)試元器件對應(yīng)關(guān)系
根據(jù)表1的對應(yīng)關(guān)系,神經(jīng)網(wǎng)絡(luò)的輸入為性能指標(biāo),輸入層節(jié)點數(shù)為3或4,輸出為調(diào)試元器件參數(shù),輸出層節(jié)點數(shù)為3、4或1。分別針對靈敏度、加速度指令、耦合系數(shù)測試項,調(diào)整輸入和輸出層節(jié)點數(shù),建立相應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,模型結(jié)構(gòu)如圖3所示,模型參數(shù)如表2所示。設(shè)置2個隱藏層,第一隱藏層節(jié)點數(shù)設(shè)置為15,第二隱藏層節(jié)點數(shù)設(shè)置為7。靈敏度調(diào)試過程中神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層節(jié)點數(shù)k為3,輸出層節(jié)點數(shù)m為3;加速度指令調(diào)試過程中神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層節(jié)點數(shù)k為4,輸出層節(jié)點數(shù)m為4;耦合系統(tǒng)調(diào)試過程中神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)輸入層節(jié)點數(shù)k為4,輸出層節(jié)點數(shù)m為1。隱藏層激活函數(shù)采用ReLU函數(shù),損失函數(shù)采用均方誤差函數(shù),優(yōu)化算法采用SGD算法,迭代2 000次,根據(jù)不同收斂速度設(shè)置學(xué)習(xí)率。
圖3 調(diào)試過程神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
表2 神經(jīng)網(wǎng)絡(luò)模型參數(shù)
梳理電子裝備的歷史調(diào)試數(shù)據(jù)共2 000項,以9∶1的比例劃分神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練集和測試集,訓(xùn)練集數(shù)據(jù)為1 800項,測試集數(shù)據(jù)為200項。訓(xùn)練集中的性能指標(biāo)和調(diào)試元器件參數(shù)分別作為神經(jīng)網(wǎng)絡(luò)的輸入和輸出,通過訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)每層節(jié)點之間的權(quán)重。測試集用來評估訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)模型,將測試集中的性能指標(biāo)輸入神經(jīng)網(wǎng)絡(luò)模型,計算得到調(diào)試元器件參數(shù)的預(yù)測值,和對應(yīng)的調(diào)試元器件參數(shù)的真實值進(jìn)行誤差分析,評估該神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果,并進(jìn)一步優(yōu)化模型參數(shù)。神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練流程如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練流程
為了讓被訓(xùn)練的模型更加準(zhǔn)確可信,采用k重交叉驗證方法。將訓(xùn)練集數(shù)據(jù)分成k份,其中一份作為驗證集,然后經(jīng)過k次訓(xùn)練,每次都更換不同的驗證集,得到k組訓(xùn)練結(jié)果,取平均值作為權(quán)重的最終結(jié)果。
針對訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)模型,采用網(wǎng)格搜索算法進(jìn)行模型的權(quán)重參數(shù)優(yōu)化,將參數(shù)之間的潛在關(guān)系考慮進(jìn)去,整合各參數(shù)得到最終的訓(xùn)練模型。將各個參數(shù)可能的取值進(jìn)行排列組合,列出所有可能的組合,生成“網(wǎng)格”,然后將各組合用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,并采用交叉驗證方法對訓(xùn)練結(jié)果進(jìn)行評估,自動調(diào)整至最佳參數(shù)組合。
該電子裝備單機的3類性能指標(biāo)的調(diào)試元器件數(shù)量不同,但由于神經(jīng)網(wǎng)絡(luò)可以自由調(diào)節(jié)各層神經(jīng)元數(shù)量,對于不同的預(yù)測項目可以很便利地建立神經(jīng)網(wǎng)絡(luò)模型。各調(diào)試元器件參數(shù)的測試集預(yù)測情況如圖5所示,可看出各調(diào)試元器件參數(shù)的預(yù)測值和實際值誤差較小。
圖5 調(diào)試元器件的預(yù)測值與真實值對比
以預(yù)測值相對于真實值的誤差不超過10%作為神經(jīng)網(wǎng)絡(luò)的預(yù)測準(zhǔn)確判據(jù),神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練集和測試集的預(yù)測效果如表3所示。各神經(jīng)網(wǎng)絡(luò)模型表現(xiàn)良好,其中*R54預(yù)測誤差較大,是由于該調(diào)試參數(shù)與性能指標(biāo)的相關(guān)性不高。
本文使用MySQL數(shù)據(jù)庫管理系統(tǒng)開發(fā)電子裝備調(diào)試數(shù)據(jù)庫,包括產(chǎn)品信息表、性能指標(biāo)信息表、測試參數(shù)表。產(chǎn)品信息表對產(chǎn)品的種類、生產(chǎn)編號、生產(chǎn)時間、調(diào)試時間等基本信息進(jìn)行描述。性能指標(biāo)信息表主要對產(chǎn)品的測試項和調(diào)試元器件等信息進(jìn)行描述,包括測試項名稱、測試項單位、測試項上下限、調(diào)試元器件規(guī)格、調(diào)試元器件上下限。測試參數(shù)表主要對測試指標(biāo)的實測值和調(diào)試元器件實際參數(shù)進(jìn)行描述。
為了滿足調(diào)試決策系統(tǒng)更新不同產(chǎn)品、不同版本的調(diào)試模型的需要,采用算法信息表的形式,建立電子裝備知識庫,管理調(diào)試過程中產(chǎn)生的神經(jīng)網(wǎng)絡(luò)模型。具體如表4所示。
表4 算法信息表
基于調(diào)試數(shù)據(jù)庫和知識庫,開發(fā)復(fù)雜電子裝備調(diào)試決策系統(tǒng),系統(tǒng)業(yè)務(wù)流程如圖6所示。
圖6 調(diào)試決策系統(tǒng)業(yè)務(wù)流程圖
如當(dāng)前知識庫中沒有對應(yīng)神經(jīng)網(wǎng)絡(luò)模型,則需進(jìn)行模型訓(xùn)練。輸入對應(yīng)的訓(xùn)練數(shù)據(jù)文件路徑,指定網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),包括輸入層節(jié)點數(shù)、輸出層節(jié)點數(shù)、隱藏層節(jié)點數(shù)、批量大小、迭代次數(shù)等參數(shù),訓(xùn)練完成后,對應(yīng)的訓(xùn)練模型自動保存在指定路徑,供預(yù)測使用。
對知識庫中已有神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)進(jìn)行預(yù)測時,輸入待預(yù)測的數(shù)據(jù)文件及對應(yīng)的神經(jīng)網(wǎng)絡(luò)模型文件路徑,指定預(yù)測結(jié)果輸出文件的保存路徑,運行預(yù)測程序,會在指定路徑下產(chǎn)生預(yù)測結(jié)果文件。
針對復(fù)雜電子裝備調(diào)試指標(biāo)多、調(diào)試難度大等問題,基于神經(jīng)網(wǎng)絡(luò)模型,對歷史調(diào)試數(shù)據(jù)進(jìn)行分析與挖掘,模擬電子裝備性能指標(biāo)和調(diào)試元器件參數(shù)之間的關(guān)聯(lián)關(guān)系。構(gòu)建復(fù)雜電子裝備調(diào)試數(shù)據(jù)庫與知識庫,開發(fā)調(diào)試決策系統(tǒng),通過獲取電子裝備單機性能指標(biāo),預(yù)測相應(yīng)的調(diào)試元器件參數(shù),為人工調(diào)試提供指導(dǎo)。