(1.武漢理工大學 能源與動力工程學院,武漢 430063;2.中國船舶重工集團第七一一研究所,上海 200000)
變頻器是船舶電力推進系統中的核心設備。有資料統計表明,變頻器中主電路的開關裝置失效所引起的故障約占變頻器故障的80%[1]。開路故障是開關裝置的典型故障形式,精確找到開關裝置的開路故障點可極大程度地縮短檢修時間。關于變頻器開路故障診斷的方法大多可分為基于模型[2]和基于數據驅動[3-6]兩種方法。基于模型的方法必須分析電力系統中的電氣物理過程和組件之間的相互作用,在實際應用過程中很難建立精確的數學模型表達式,因此,大多研究采用基于數據驅動的機器學習算法來解決該問題。常見的機器學習算法主要有支持向量機(SVM)、K-最近鄰(KNN)和深度神經網絡(DNN)。這些方法在變頻器故障診斷領域應用較為廣泛且技術相對成熟。但是,上述方法存在學習能力差、需要復雜的人工特征提取過程、易引起模型過擬合等問題,難以滿足變頻器故障診斷的精度要求。因此,卷積神經網絡被越來越多的引入故障診斷領域[7]。本文擬采用卷積神經網絡來解決三相電壓源型逆變器功率管開路故障診斷精度較低問題。
卷積神經網絡在識別任務方面有優異的性能。一般來說,每層神經網絡包括兩部分:卷積層和池化層,一個常規的卷積神經網絡模型是通過疊加一層或多層神經網絡,外加一個分類層,見圖1。

圖1 卷積神經網絡結構
1.1.1 卷積層
卷積層是CNN模型的核心構件。通過卷積核對輸入圖片進行特征提取,然后利用激活函數生成特征圖,通常為RELU函數。過濾器使用相同的內核,即權重共享。Wi和bi分別用來表示第i層Li的權重和偏置,Li-1用來表示第(i-1)層特征圖。卷積過程定義如下:
Li=f(Wi?Li-1+bi)
(1)
f(·)是非線性的激活函數。利用RELU函數作為模型的激活函數,加速CNN模型收斂。
1.1.2 池化層
卷積層后的池化層也稱為分樣層,層的功能是減少模型中的參數和計算量。
(2)
式中:Pi(k)為i層中的第k像素值,k∈[(j-1)W+1,jW];W為池區域的大小。
1.1.3 softmax分類器
softmax函數為
(3)
當輸入數據集有m樣本時,CNN模型的損失函數為交叉熵函數。
(4)
式中:I{·}為指標函數,如果y(i)等于J則返回1,如果不等于則返回0。通過在訓練過程中將損失函數J(θ)最小化,對參數進行更新。
1.1.4 優化算法
所用Adam學習算法不再更新所有訓練數據集的權重,而是更新一小批訓練數據集的權重,可在滿足權重更新的基礎上極大程度地減輕計算負擔。
過去梯度的衰變平均值mt和過去平方梯度的衰變平均值vt計算如下。
(5)
式中:β1=0.9,β2=0.999(參數β1、β2取值接近1時,估計值偏差接近0)。
模型訓練優化參數時,為了避免CNN模型的過度擬合,采用Dropout和自適應學習速率的學習技巧[8]。
Dropout在訓練過程中,隨機的丟棄一部分輸入,丟棄率通常為0.5,此時丟棄部分對應的參數不會更新,通過隨機丟棄可以得到各種子網絡,然后將所有子網絡結果進行合并[9]。假設有l層隱藏的神經網絡,用d(l)和y(l)表示輸入和輸出的向量,用w(l)和b(l)表示第l層的權重和偏差,正常神經網絡的前饋計算(見圖2a))定義如下。

(6)
式中:f(·)為激活函數,f(x)=1/(1+exp(-x))。
加入Dropout的神經網絡前饋操作(圖2b))。
(7)
式中:s(l)為具有概率p的伯努利隨機變量的向量。

圖2 正常網絡與加入Dropout網絡對比
學習速率參數的設置對模型精度有很大的影響。不適當的學習速度會降低神經網絡模型的性能。針對這一問題,提出一種自適應學習速率法,根據訓練迭代次數調整學習速度。學習速率lr設定為

(8)
式中:n為迭代次數;niter為迭代次數的設定值。
通過Matlab/Simulink建立三相電壓源型逆變器的仿真模型。三相電壓源型逆變器由3個單相半橋的DC-AC拓撲組成,三相拓撲以120°的交聯方式工作,核心器件是I1~I6 6個IGBT功率管,負載為三相永磁同步電動機。仿真模型見圖3。所需數據從Scope Iabc獲得,模型中相關參數設置見表1。

圖3 三相電壓源型逆變器仿真模型
分析三相電壓源型逆變器可能出現的開路故障,選擇單管開路故障為診斷目標,加上無故障情況,7種狀態見表2。

表1 仿真模型參數

表2 故障類別標簽設置
故障診斷過程見圖4。
首先從仿真模型中的Scope Iabc以24 kHz的頻率采集數據為7種不同狀態分別收集864 000組數據,每組數據包括a、b、c三相電流值。然后對數據進行預處理,按照下式對數據進行歸一化處理。
考慮三相電流值作為3個指標,構建輸入格式為三通道的CNN模型。經過反復嘗試,樣本數據被劃分為12 600個格式為(480,3)的樣本,即每個樣本包括480組三相電流值,樣本數據(480,3)被重塑成維度為(24,20,3)的樣本數據集,見圖5。
(9)

圖4 故障診斷過程

圖5 數據重塑過程
數據集被隨機分為3個子集,包括訓練數據集、驗證數據集和測試數據集,將三者比例分別設置為65%、15%和20%。訓練數據集用于訓練故障診斷方法。驗證數據集是為了防止訓練過程中過度擬合,當驗證數據集錯誤增加時中斷訓練過程。測試數據集用于評估診斷模型的性能。
最后,構建CNN模型,將預處理后的數據集輸入到該模型中進行訓練及測試。采用CNN模型參數,通道數設為3,不同通道采用相同的結構參數見表3,診斷結果見圖6。

表3 CNN模型參數

圖6 三通道CNN模型訓練結果
訓練后的三通道CNN模型診斷精度可達99.66%,召回率可達99.66%。
使用與三通道2D-CNN模型相同的原始數據,在歸一化處理后將18 144 000個數據劃分成37 800個維度為(24,20,1)的樣本。將通道數設為1,除輸入層結構與三通道CNN模型不同,其他參數不變。訓練后的單通道CNN模型診斷精度僅達到91.52%,召回率89.63%,訓練結果見圖7。單通道CNN模型相比于三通道CNN模型診斷結果相差很大,說明三通道結構的數據輸入格式更易于CNN模型挖掘本文數據結構的特征。

圖7 單通道CNN模型訓練結果
在傳統的故障識別算法中,多采用特征工程方法。本文收集文獻中所使用的統計特征,即表4中頻率的4個特征和時間域的10個特征。每種狀態的數據被劃分成5 400個大小為480的樣本,計算得到每個樣本的14種特征,共計5 400×14×7條特征數據并作為KNN和SVM模型的訓練數據集。
此外,DNN也被用來與所提出的方法進行比較,用于比較的DNN模型有5個神經網絡層(輸入層,3個隱藏層,輸出層),使用相同數據預處理方法及深度學習技巧。

表4 在時間和頻率域中選擇的特性
不同方法比較結果見表5。本文所提方法與KNN和SVM相比,精度分別提高了29.85%和30.9%,召回率分別提高了31.91%和58.8%。與DNN診斷結果相比,提高了2.1%、2.54%。

表5 不同方法結果對比 %
1)所提出的診斷方法相對于DNN、KNN及SVM等常用方法,數據處理過程簡單,自主學習能力強,能夠有效提高逆變器功率管開路的故障診斷精度。
2)在數據預處理時將三相電流數據值劃分為3個維度的輸入格式可提高模型的學習能力。
3)只考慮了單管開路故障,逆變器還存在雙管開路等更多復雜故障類別,后續將使用該方法做進一步研究。