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