岑 鵬,鄭德生,陸 超
(1.西南石油大學計算機科學學院網絡空間安全研究中心,成都 610500;2.中國航發四川燃氣渦輪研究院高空模擬技術重點實驗室,四川綿陽 621000)
航空發動機喘振故障是一種常見的發動機故障,會導致發動機部件劇烈振動和熱端超溫,影響發動機性能,甚至造成發動機嚴重損壞,是發動機所有故障中最具危險性的一種。因此,在發動機喘振初期被及時檢測出從而采取消喘措施,能有效避免因喘振引發的飛行事故。
目前關于喘振故障預測方法的研究呈現出多樣化的趨勢。劉林剛等提出一種基于支持向量機的航空發動機振動預測模型,將故障檢測與機器學習算法結合起來提升診斷率。曹惠玲等提出一種基于最小二乘支持向量機回歸模型的航空發動機喘振故障診斷方法,對發動機進行狀態監控,根據模型監控低壓壓氣機轉速、壓比和燃油流量預測值與真實值的相對誤差率來分析喘振故障。為解決傳統機器學習方法準確率低的問題,Luo等提出了基于長短時記憶(LSTM)時間序列的故障檢測模型,不需要手動提取數據特征,模型準確率達93.6%。
隨著機器學習模型在各個領域的廣泛應用,研究人員往往在追求模型效果時忽略了對訓練數據的保護。差分隱私是由Dwork于2006年提出的一種為個人隱私提供保護的方法。它是一種密碼學的手段,旨在提供一種當從統計數據庫中查詢時,在保證數據查詢準確性的同時,最大限度地減少識別其記錄的機會。航空發動機數據與傳統的數據集不同,其具有極高的敏感性與隱私性。利用具有差分隱私的隨機梯度下降算法來訓練卷積神經網絡,能夠極大地保護數據隱私。基于此,本文提出了具有差分隱私技術的卷積神經網絡模型(DP-CNN模型),在提高航空發動機喘振故障檢測性能的同時,能保護神經網絡模型,最大程度保證數據安全。
卷積神經網絡是一類包含卷積運算且具有深度結構的神經網絡,由卷積層、池化層及全連接層組成。卷積層的目的是學習輸入的特征表示,負責對輸入對象的每一個特征進行局部感知和挖掘,然后在更高層次上對局部特征信息進行綜合操作,如圖1左半部分所示,從而得到全局信息,因此其主要用于對輸入對象特征的深度挖掘。卷積運算計算公式為:

圖1 卷積神經網絡示意圖[10]Fig.1 Schematic diagram of convolutional neural network

式中:W、b分別表示第層網絡卷積核權重和偏置,X為第層神經元的輸入,Z為第層卷積操作的輸出。
在卷積運算后加入激活函數來解決神經網絡的非線性問題,能很好地彌補線性模型的表達能力,將激活的神經元特征保留映射到下一層網絡,如公式(2)所示。

池化層主要負責對卷積層挖掘的特征做下采樣操作,也就是對特征做降維操作,通過降低特征圖的維度來實現平移不變性。池化層通常放在兩個卷積層之間,其計算公式為:

前述方法為神經網絡的前向傳播過程,損失函數反應了預測值和真實值的偏離程度。本文采用的損失函數為交叉熵損失函數,其定義為:

最小化損失函數來提高模型的準確率,常用的方法是隨機梯度算法。每次迭代過程中隨機選取一個批量樣本來計算梯度,并沿著梯度最小的方向更新權重。
差分隱私算法以相鄰數據集為基礎,而相鄰數據集是指兩個數據集之間只相差一條記錄。在此基礎上,如果在相鄰數據集上的查詢結果相近,那么相差的一條記錄的隱私就得到了保護。相鄰數據集的查詢結果越相似,則隱私保護力度越大。差分隱私的相關定義為:
定義1 對于一個隨機映射函數,、是兩個相鄰數據集,且函數的輸出∈,若算法滿足式(5)條件,則稱映射機制滿足(,)差分隱私。

式中:為差分隱私預算成本,代表隱私保護程度;為隱私被破壞的概率。越小表示隱私保護程度越高,實際運用時其取值要結合具體需求來達到輸出結果安全性與可用性的平衡。在神經網絡中實現差分隱私的方法是在訓練過程中添加高斯噪聲。
定義2 衡量算法對添加噪聲的敏感程度,算法的全局敏感度定義如下:

定義3 高斯機制在于向算法中添加符合高斯分布的噪聲,定義如下:

差分隱私的組合性質使得差分隱私可以用于神經網絡模型:
(1) 并行組合性質
如果有個算法,,…,k分別作用于數據集,,…,D且都滿足差分隱私,那么組合以后的算法也滿足差分隱私。
(2) 串行組合性質
如果有個算法,,…,k都作用于一個數據集,且皆在數據集上滿足差分隱私,那么在執行這些算法以后滿足相加的差分隱私。
使用的數據集來自于發動機在不同場景(失速,畸變,起動等)下通過實驗收集到的傳感器數據。傳感器分布在發動機核心部位,對所有傳感器數據取6個關鍵參數。結合發動機喘振的生成機理和實際數據分析,在表示人為控制發動機油門桿狀態的傳感器平穩的情況下,壓氣機出口總壓傳感器數據曲線出現突變和劇烈抖動的這段區間為故障區間。依據這一規則,完成故障點和正常點的收集。由于傳感器數據的性質不同,通常具有不同的量綱和數量級。當各數值間的水平相差很大時,如果直接用原始指標值進行分析,就會造成梯度爆炸。為此,采用了-sc ore標準化,標準化公式如下:

式中:為標準化后的值,為原始數據,為數據均值,?為方差。
為了在神經網絡中實現差分隱私技術,常用的方法是在隨機梯度下降算法中加入擾動。本文采用Abadi等提出的一種差分隱私隨機梯度下降算法。該算法是在神經網絡的反向傳播過程中更新參數時添加噪聲來達到隱私保護的目的,最終計算出差分隱私預算成本。計算梯度之后進行梯度裁剪,是為了防止由于神經網絡深度過深而引起梯度爆炸的操作,將每次迭代過程中的梯度限制在閾值內可以解決這種情況。梯度裁剪后加入符合高斯分布的噪聲使得算法具有隱私保護,接著進行梯度更新。算法過程如表1所示。

表1 差分隱私隨機梯度下降算法Table 1 Differential privacy stochastic gradient descent algorithm
為了評估分類模型性能,使用準確率、召回率、1-sc ore和差分隱私預算成本等評估指標,對故障檢測模型的整體能力進行評估。

式中:表示將正類預測為正類的個數,即預測喘振故障正確的個數;表示將負類預測為正類的個數,即預測正常狀態錯誤的個數;表示將正類預測為負類的個數,即預測喘振故障錯誤的個數;為準確率,表示模型能夠準確檢測故障的能力;re cal l 為召回率,表示能夠將樣本中所有喘振故障樣本全部找出來的能力;1-sc ore表示模型性能的綜合能力。為評估模型的隱私保護程度,使用作為評價指標,采用Mironov提出的時刻會計方法計算。
采用開源框架Tensorflow2.0,Python版本為3.7,搭建在Windows10 操作系統下。處理器型號為Intel i5,顯卡型號為GTX1060Ti。
在數據集方面,以不同航空發動機在失速、畸變、起動等多個場景下通過實驗獲得的51組總共30萬條左右的傳感器數據作為本文模型的實驗數據。在數據預處理之后,將實驗數據按訓練集、測試集比例分為7∶3。運用上文提到的DP-CNN 模型對發動機喘振故障進行診斷。
分別采用=1,2,3的隱私保護程度進行準確率對比,選擇出準確率和隱私保護程度較高的參數,結果如圖2 所示。從圖中可看出,隨著隱私保護程度的下降,準確率呈上升趨勢。=1 時,準確率為85.6%;=2 時,準確率為95.7%;=3 時,準確率為96.0%。但實際運用時,應當在模型的準確率和隱私保護程度上進行平衡。據此可以得出=2時模型在隱私保護程度和準確率上平衡效果較好,因此=2 為最佳參數。下面采用=2 的DP-CNN 模型與其他模型進行對比。

圖2 不同隱私保護程度下的準確率Fig.2 Accuracy under different levels of privacy protection
為整體評估DP-CNN 模型,將該模型與目前幾種主流的故障檢測模型(支持向量機(SVM),長短時記憶網絡(LSTM),多層感知器(MLP))在準確率、召回率和1-sc ore上進行對比,結果如表2所示。可見,DP-CNN 模型在準確率、召回率和1-sc ore指標上分別達到了95.3%,94.6%,96.5%,比其他幾種故障檢測模型的準確率更高,泛化能力更好,并且該模型同時具有=2的隱私保護程度。該模型在對航空發動機喘振故障診斷的有效性十分突出,并且具備良好的安全性。

表2 不同故障檢測模型結果比較Table 2 Comparison of results of different fault detection models
針對航空發動機數據具有敏感的特性,提出了具有差分隱私技術的卷積神經網絡模型。在航空發動機真實數據集上對該模型進行的多方位驗證表明,此模型在準確率、召回率和1-sc ore指標上,均優于主流的支持向量機、長短時記憶網絡、多層感知器等故障檢測模型。另外,該模型具有=2 的隱私保護程度,能很好地保護模型,即使攻擊者知道了數據集中的其他數據也無法推出剩余數據,在實際部署中具有很好的實用價值。