岑 鵬,鄭德生,陸 超
(1.西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院網(wǎng)絡(luò)空間安全研究中心,成都 610500;2.中國航發(fā)四川燃?xì)鉁u輪研究院高空模擬技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川綿陽 621000)
航空發(fā)動(dòng)機(jī)喘振故障是一種常見的發(fā)動(dòng)機(jī)故障,會(huì)導(dǎo)致發(fā)動(dòng)機(jī)部件劇烈振動(dòng)和熱端超溫,影響發(fā)動(dòng)機(jī)性能,甚至造成發(fā)動(dòng)機(jī)嚴(yán)重?fù)p壞,是發(fā)動(dòng)機(jī)所有故障中最具危險(xiǎn)性的一種。因此,在發(fā)動(dòng)機(jī)喘振初期被及時(shí)檢測出從而采取消喘措施,能有效避免因喘振引發(fā)的飛行事故。
目前關(guān)于喘振故障預(yù)測方法的研究呈現(xiàn)出多樣化的趨勢。劉林剛等提出一種基于支持向量機(jī)的航空發(fā)動(dòng)機(jī)振動(dòng)預(yù)測模型,將故障檢測與機(jī)器學(xué)習(xí)算法結(jié)合起來提升診斷率。曹惠玲等提出一種基于最小二乘支持向量機(jī)回歸模型的航空發(fā)動(dòng)機(jī)喘振故障診斷方法,對發(fā)動(dòng)機(jī)進(jìn)行狀態(tài)監(jiān)控,根據(jù)模型監(jiān)控低壓壓氣機(jī)轉(zhuǎn)速、壓比和燃油流量預(yù)測值與真實(shí)值的相對誤差率來分析喘振故障。為解決傳統(tǒng)機(jī)器學(xué)習(xí)方法準(zhǔn)確率低的問題,Luo等提出了基于長短時(shí)記憶(LSTM)時(shí)間序列的故障檢測模型,不需要手動(dòng)提取數(shù)據(jù)特征,模型準(zhǔn)確率達(dá)93.6%。
隨著機(jī)器學(xué)習(xí)模型在各個(gè)領(lǐng)域的廣泛應(yīng)用,研究人員往往在追求模型效果時(shí)忽略了對訓(xùn)練數(shù)據(jù)的保護(hù)。差分隱私是由Dwork于2006年提出的一種為個(gè)人隱私提供保護(hù)的方法。它是一種密碼學(xué)的手段,旨在提供一種當(dāng)從統(tǒng)計(jì)數(shù)據(jù)庫中查詢時(shí),在保證數(shù)據(jù)查詢準(zhǔn)確性的同時(shí),最大限度地減少識(shí)別其記錄的機(jī)會(huì)。航空發(fā)動(dòng)機(jī)數(shù)據(jù)與傳統(tǒng)的數(shù)據(jù)集不同,其具有極高的敏感性與隱私性。利用具有差分隱私的隨機(jī)梯度下降算法來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),能夠極大地保護(hù)數(shù)據(jù)隱私?;诖耍疚奶岢隽司哂胁罘蛛[私技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)模型(DP-CNN模型),在提高航空發(fā)動(dòng)機(jī)喘振故障檢測性能的同時(shí),能保護(hù)神經(jīng)網(wǎng)絡(luò)模型,最大程度保證數(shù)據(jù)安全。
卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積運(yùn)算且具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),由卷積層、池化層及全連接層組成。卷積層的目的是學(xué)習(xí)輸入的特征表示,負(fù)責(zé)對輸入對象的每一個(gè)特征進(jìn)行局部感知和挖掘,然后在更高層次上對局部特征信息進(jìn)行綜合操作,如圖1左半部分所示,從而得到全局信息,因此其主要用于對輸入對象特征的深度挖掘。卷積運(yùn)算計(jì)算公式為:
圖1 卷積神經(jīng)網(wǎng)絡(luò)示意圖[10]Fig.1 Schematic diagram of convolutional neural network
式中:W、b分別表示第層網(wǎng)絡(luò)卷積核權(quán)重和偏置,X為第層神經(jīng)元的輸入,Z為第層卷積操作的輸出。
在卷積運(yùn)算后加入激活函數(shù)來解決神經(jīng)網(wǎng)絡(luò)的非線性問題,能很好地彌補(bǔ)線性模型的表達(dá)能力,將激活的神經(jīng)元特征保留映射到下一層網(wǎng)絡(luò),如公式(2)所示。
池化層主要負(fù)責(zé)對卷積層挖掘的特征做下采樣操作,也就是對特征做降維操作,通過降低特征圖的維度來實(shí)現(xiàn)平移不變性。池化層通常放在兩個(gè)卷積層之間,其計(jì)算公式為:
前述方法為神經(jīng)網(wǎng)絡(luò)的前向傳播過程,損失函數(shù)反應(yīng)了預(yù)測值和真實(shí)值的偏離程度。本文采用的損失函數(shù)為交叉熵?fù)p失函數(shù),其定義為:
最小化損失函數(shù)來提高模型的準(zhǔn)確率,常用的方法是隨機(jī)梯度算法。每次迭代過程中隨機(jī)選取一個(gè)批量樣本來計(jì)算梯度,并沿著梯度最小的方向更新權(quán)重。
差分隱私算法以相鄰數(shù)據(jù)集為基礎(chǔ),而相鄰數(shù)據(jù)集是指兩個(gè)數(shù)據(jù)集之間只相差一條記錄。在此基礎(chǔ)上,如果在相鄰數(shù)據(jù)集上的查詢結(jié)果相近,那么相差的一條記錄的隱私就得到了保護(hù)。相鄰數(shù)據(jù)集的查詢結(jié)果越相似,則隱私保護(hù)力度越大。差分隱私的相關(guān)定義為:
定義1 對于一個(gè)隨機(jī)映射函數(shù),、是兩個(gè)相鄰數(shù)據(jù)集,且函數(shù)的輸出∈,若算法滿足式(5)條件,則稱映射機(jī)制滿足(,)差分隱私。
式中:為差分隱私預(yù)算成本,代表隱私保護(hù)程度;為隱私被破壞的概率。越小表示隱私保護(hù)程度越高,實(shí)際運(yùn)用時(shí)其取值要結(jié)合具體需求來達(dá)到輸出結(jié)果安全性與可用性的平衡。在神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)差分隱私的方法是在訓(xùn)練過程中添加高斯噪聲。
定義2 衡量算法對添加噪聲的敏感程度,算法的全局敏感度定義如下:
定義3 高斯機(jī)制在于向算法中添加符合高斯分布的噪聲,定義如下:
差分隱私的組合性質(zhì)使得差分隱私可以用于神經(jīng)網(wǎng)絡(luò)模型:
(1) 并行組合性質(zhì)
如果有個(gè)算法,,…,k分別作用于數(shù)據(jù)集,,…,D且都滿足差分隱私,那么組合以后的算法也滿足差分隱私。
(2) 串行組合性質(zhì)
如果有個(gè)算法,,…,k都作用于一個(gè)數(shù)據(jù)集,且皆在數(shù)據(jù)集上滿足差分隱私,那么在執(zhí)行這些算法以后滿足相加的差分隱私。
使用的數(shù)據(jù)集來自于發(fā)動(dòng)機(jī)在不同場景(失速,畸變,起動(dòng)等)下通過實(shí)驗(yàn)收集到的傳感器數(shù)據(jù)。傳感器分布在發(fā)動(dòng)機(jī)核心部位,對所有傳感器數(shù)據(jù)取6個(gè)關(guān)鍵參數(shù)。結(jié)合發(fā)動(dòng)機(jī)喘振的生成機(jī)理和實(shí)際數(shù)據(jù)分析,在表示人為控制發(fā)動(dòng)機(jī)油門桿狀態(tài)的傳感器平穩(wěn)的情況下,壓氣機(jī)出口總壓傳感器數(shù)據(jù)曲線出現(xiàn)突變和劇烈抖動(dòng)的這段區(qū)間為故障區(qū)間。依據(jù)這一規(guī)則,完成故障點(diǎn)和正常點(diǎn)的收集。由于傳感器數(shù)據(jù)的性質(zhì)不同,通常具有不同的量綱和數(shù)量級(jí)。當(dāng)各數(shù)值間的水平相差很大時(shí),如果直接用原始指標(biāo)值進(jìn)行分析,就會(huì)造成梯度爆炸。為此,采用了-sc ore標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化公式如下:
式中:為標(biāo)準(zhǔn)化后的值,為原始數(shù)據(jù),為數(shù)據(jù)均值,?為方差。
為了在神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)差分隱私技術(shù),常用的方法是在隨機(jī)梯度下降算法中加入擾動(dòng)。本文采用Abadi等提出的一種差分隱私隨機(jī)梯度下降算法。該算法是在神經(jīng)網(wǎng)絡(luò)的反向傳播過程中更新參數(shù)時(shí)添加噪聲來達(dá)到隱私保護(hù)的目的,最終計(jì)算出差分隱私預(yù)算成本。計(jì)算梯度之后進(jìn)行梯度裁剪,是為了防止由于神經(jīng)網(wǎng)絡(luò)深度過深而引起梯度爆炸的操作,將每次迭代過程中的梯度限制在閾值內(nèi)可以解決這種情況。梯度裁剪后加入符合高斯分布的噪聲使得算法具有隱私保護(hù),接著進(jìn)行梯度更新。算法過程如表1所示。
表1 差分隱私隨機(jī)梯度下降算法Table 1 Differential privacy stochastic gradient descent algorithm
為了評估分類模型性能,使用準(zhǔn)確率、召回率、1-sc ore和差分隱私預(yù)算成本等評估指標(biāo),對故障檢測模型的整體能力進(jìn)行評估。
式中:表示將正類預(yù)測為正類的個(gè)數(shù),即預(yù)測喘振故障正確的個(gè)數(shù);表示將負(fù)類預(yù)測為正類的個(gè)數(shù),即預(yù)測正常狀態(tài)錯(cuò)誤的個(gè)數(shù);表示將正類預(yù)測為負(fù)類的個(gè)數(shù),即預(yù)測喘振故障錯(cuò)誤的個(gè)數(shù);為準(zhǔn)確率,表示模型能夠準(zhǔn)確檢測故障的能力;re cal l 為召回率,表示能夠?qū)颖局兴写窆收蠘颖救空页鰜淼哪芰Γ?-sc ore表示模型性能的綜合能力。為評估模型的隱私保護(hù)程度,使用作為評價(jià)指標(biāo),采用Mironov提出的時(shí)刻會(huì)計(jì)方法計(jì)算。
采用開源框架Tensorflow2.0,Python版本為3.7,搭建在Windows10 操作系統(tǒng)下。處理器型號(hào)為Intel i5,顯卡型號(hào)為GTX1060Ti。
在數(shù)據(jù)集方面,以不同航空發(fā)動(dòng)機(jī)在失速、畸變、起動(dòng)等多個(gè)場景下通過實(shí)驗(yàn)獲得的51組總共30萬條左右的傳感器數(shù)據(jù)作為本文模型的實(shí)驗(yàn)數(shù)據(jù)。在數(shù)據(jù)預(yù)處理之后,將實(shí)驗(yàn)數(shù)據(jù)按訓(xùn)練集、測試集比例分為7∶3。運(yùn)用上文提到的DP-CNN 模型對發(fā)動(dòng)機(jī)喘振故障進(jìn)行診斷。
分別采用=1,2,3的隱私保護(hù)程度進(jìn)行準(zhǔn)確率對比,選擇出準(zhǔn)確率和隱私保護(hù)程度較高的參數(shù),結(jié)果如圖2 所示。從圖中可看出,隨著隱私保護(hù)程度的下降,準(zhǔn)確率呈上升趨勢。=1 時(shí),準(zhǔn)確率為85.6%;=2 時(shí),準(zhǔn)確率為95.7%;=3 時(shí),準(zhǔn)確率為96.0%。但實(shí)際運(yùn)用時(shí),應(yīng)當(dāng)在模型的準(zhǔn)確率和隱私保護(hù)程度上進(jìn)行平衡。據(jù)此可以得出=2時(shí)模型在隱私保護(hù)程度和準(zhǔn)確率上平衡效果較好,因此=2 為最佳參數(shù)。下面采用=2 的DP-CNN 模型與其他模型進(jìn)行對比。
圖2 不同隱私保護(hù)程度下的準(zhǔn)確率Fig.2 Accuracy under different levels of privacy protection
為整體評估DP-CNN 模型,將該模型與目前幾種主流的故障檢測模型(支持向量機(jī)(SVM),長短時(shí)記憶網(wǎng)絡(luò)(LSTM),多層感知器(MLP))在準(zhǔn)確率、召回率和1-sc ore上進(jìn)行對比,結(jié)果如表2所示??梢?,DP-CNN 模型在準(zhǔn)確率、召回率和1-sc ore指標(biāo)上分別達(dá)到了95.3%,94.6%,96.5%,比其他幾種故障檢測模型的準(zhǔn)確率更高,泛化能力更好,并且該模型同時(shí)具有=2的隱私保護(hù)程度。該模型在對航空發(fā)動(dòng)機(jī)喘振故障診斷的有效性十分突出,并且具備良好的安全性。
表2 不同故障檢測模型結(jié)果比較Table 2 Comparison of results of different fault detection models
針對航空發(fā)動(dòng)機(jī)數(shù)據(jù)具有敏感的特性,提出了具有差分隱私技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)模型。在航空發(fā)動(dòng)機(jī)真實(shí)數(shù)據(jù)集上對該模型進(jìn)行的多方位驗(yàn)證表明,此模型在準(zhǔn)確率、召回率和1-sc ore指標(biāo)上,均優(yōu)于主流的支持向量機(jī)、長短時(shí)記憶網(wǎng)絡(luò)、多層感知器等故障檢測模型。另外,該模型具有=2 的隱私保護(hù)程度,能很好地保護(hù)模型,即使攻擊者知道了數(shù)據(jù)集中的其他數(shù)據(jù)也無法推出剩余數(shù)據(jù),在實(shí)際部署中具有很好的實(shí)用價(jià)值。