黃宇超,宋相毅,童喬凌,張 僑
(1.武漢理工大學自動化學院,湖北武漢 430070;2.華中科技大學集成電路學院,湖北武漢 430074)
月面科研站的正常運轉(zhuǎn)離不開能源系統(tǒng),能源主要以電能供應(yīng)為主。電能的來源大部分來自于光伏發(fā)電,當沒有太陽光時,主要由蓄電池供電。月面科研站主要任務(wù)包括地質(zhì)勘探、環(huán)境監(jiān)測、科學實驗等,另一方面,月球表面輻射和溫度變化大,這些導(dǎo)致設(shè)備工作環(huán)境復(fù)雜,干擾大,對電力電子變換器的控制提出更高的要求。電源級聯(lián)系統(tǒng)用常態(tài)分析方法進行建模十分復(fù)雜,分析起來十分困難。若通過深度學習的方法,將電源級聯(lián)系統(tǒng)等同于黑箱模型,采集其端口特性,利用神經(jīng)網(wǎng)絡(luò)對電源級聯(lián)系統(tǒng)進行分析[1]。
電源級聯(lián)系統(tǒng)都具有非線性特性,因此使用神經(jīng)網(wǎng)絡(luò)進行系統(tǒng)辨識成為了一種可行的解決方案。靜態(tài)神經(jīng)網(wǎng)絡(luò),如前饋神經(jīng)網(wǎng)絡(luò)(FNN)已經(jīng)能夠逼近非線性系統(tǒng)的基本特性,是建模非線性系統(tǒng)的有利工具。動態(tài)神經(jīng)網(wǎng)絡(luò)(DNN)也稱為遞歸神經(jīng)網(wǎng)絡(luò),常用于非線性系統(tǒng)辨識。連續(xù)時間Hopfield-type 動態(tài)神經(jīng)網(wǎng)絡(luò)類克服了上述提到的缺點。目前研究表明有多種表征DNN 非線性建模的方法,其控制方式的應(yīng)用也被提出。深度神經(jīng)網(wǎng)絡(luò)可以近似形式為(t)=f(x(t))的n維系統(tǒng),通過對參數(shù)的優(yōu)化和更新網(wǎng)絡(luò)結(jié)構(gòu)中的權(quán)值和偏置值,獲得接近期望的結(jié)果[2]。
本文首先介紹了神經(jīng)網(wǎng)絡(luò)和其動態(tài)建模的一些重要背景,討論了如何正確建立模型和訓(xùn)練網(wǎng)絡(luò)以模擬任何給定電力電子轉(zhuǎn)換器。選取Buck 電路作為研究對象,采用MATLAB 的Simulink 模塊得出神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集,通過仿真結(jié)果與神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果進行對比,驗證了該方法的合理性,最后對文章內(nèi)容進行總結(jié),并簡要對未來的研究方向進行展望。
神經(jīng)元的一般結(jié)構(gòu)如圖1 所示,每個神經(jīng)元都是一個多輸入單輸出的系統(tǒng)。通過將輸入進行線性組合,加入偏置函數(shù)進行修正,最后經(jīng)過一類典型的非線性“激活函數(shù)”得到輸出結(jié)果。激活函數(shù)有多種,常用的激活函數(shù)是雙曲正切函數(shù):
圖1 神經(jīng)元的一般結(jié)構(gòu)
神經(jīng)元的互聯(lián)可以采取多種形式,每種形式都會產(chǎn)生不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),能力、優(yōu)勢和缺陷也不一樣??傮w上看,神經(jīng)網(wǎng)絡(luò)都是分層結(jié)構(gòu)的,若信號在網(wǎng)絡(luò)中每一層的每個神經(jīng)元都接受前一層所有神經(jīng)元的輸入,并將其輸出傳遞給下一層的所有神經(jīng)元,這種連接形式稱為全連接,如圖2 所示。
圖2 神經(jīng)網(wǎng)絡(luò)全連接示意圖
在神經(jīng)網(wǎng)絡(luò)模型中,前饋神經(jīng)網(wǎng)絡(luò)(FNN)使用范圍很廣,但作為靜態(tài)神經(jīng)網(wǎng)絡(luò),其輸入信息單向的從輸入層經(jīng)過隱藏層到達輸出層,至少需要3 層才能實現(xiàn)函數(shù)逼近,隱藏層數(shù)越多,每一層包含的神經(jīng)元數(shù)量越多,結(jié)果將會越精確。但對于一組固定的輸入,輸出也不會變化,這不利于建模由微分方程系統(tǒng)描述的動態(tài)系統(tǒng),即FNN 不具有記憶性[3-5]。
在文獻[3]和文獻[4]中提出了使用神經(jīng)網(wǎng)絡(luò)進行電力電子轉(zhuǎn)換器建模,作者均選用了FNN,其中文獻[3]提出使用FNN 預(yù)測單相全橋二極管整流器的輸出電壓,由于負載包含電感電容,對輸出電壓的預(yù)測不能很精確;文獻[4]中加入了仿真時間向量作為輸入,但僅在模擬環(huán)境下具有意義,不能通過階躍響應(yīng)測試。
長短記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是時間序列分析中應(yīng)用廣泛使用的模型,它主要是為了解決長序列訓(xùn)練過程中梯度消失和梯度爆炸的問題。LSTM 通過門單元和記憶單元來處理在一段時間內(nèi)數(shù)據(jù)的收集[4]。LSTM 旨在維護具有長期依賴性的問題,在所有循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)中,包括一個單獨的tanh 層,其具體重復(fù)單元模塊如圖3 所示。與標準RNN 類似,LSTM包含如圖4 所示的鏈結(jié)構(gòu),在RNN 結(jié)構(gòu)的基礎(chǔ)上進行了進一步的改進。
圖3 RNN中重復(fù)模塊
圖4 LSTM中重復(fù)模塊
LSTM 可以包含或排除來自單元狀態(tài)的數(shù)據(jù),這些數(shù)據(jù)由“門”的結(jié)構(gòu)精心管理。門是一種控制數(shù)據(jù)是否可以進入單元狀態(tài)的方法,是sigmoid 函數(shù)和逐點乘法過程的組合。對于LSTM,使用不同的門將數(shù)據(jù)從一個單元傳遞到另一個單元,這些門被稱為更新門、遺忘門和輸出門,如式(2)~(4)所示。輸入值和輸出值都需要使用,數(shù)據(jù)通過水平線傳遞,水平線為圖4 的最高點,這條水平線被稱為單元狀態(tài),直接沿著整個鏈條向下運行[6]。
本文選擇了LSTM 作為非線性動態(tài)建模的框架,現(xiàn)在討論如何實際使用網(wǎng)絡(luò)來創(chuàng)建一個好的模型。一般而言,神經(jīng)訓(xùn)練算法會自動為網(wǎng)絡(luò)選擇權(quán)重,即“擬合”模型的工作都將自動完成。但在訓(xùn)練模型之前,還需要考慮以下3 個步驟,即選擇合適的輸入和輸出、創(chuàng)建出合適的訓(xùn)練數(shù)據(jù)并選擇合適的超參數(shù)。
基于LSTM 神經(jīng)網(wǎng)絡(luò)也需要選取合適的輸入和輸出,才能具有實際意義。對于功率變換器,LSTM輸入應(yīng)該是控制單元對變換器功率器件進行控制所需的參數(shù),例如開關(guān)管占空比、變換器的輸入電壓、電感電流或負載電壓和電流。LSTM 的輸出應(yīng)該是變換器中衡量系統(tǒng)能否穩(wěn)定的指標,例如電感電流、負載電壓。
本文采用MATLAB 中的Simulink 模擬Buck 電路而不是真實的硬件測量來生成訓(xùn)練數(shù)據(jù)。采用仿真數(shù)據(jù)雖然不能代替實際的硬件電路,但也有很多優(yōu)點,包括便利性、靈活性、對訓(xùn)練數(shù)據(jù)的完全控制、零測量噪聲。由于經(jīng)過訓(xùn)練的LSTM 的目標是在廣泛的條件下緊密地復(fù)制轉(zhuǎn)換器的動態(tài)行為,因此訓(xùn)練數(shù)據(jù)集必須包括盡可能多的工作狀況。在電力電子變換器中,經(jīng)常使用傳遞函數(shù)來描述變換器的開關(guān)平均動態(tài)行為,在特定的工作條件下,這些傳遞函數(shù)代表了變換器的頻率響應(yīng)。因此,當訓(xùn)練LSTM網(wǎng)絡(luò)來對變換器建模時,訓(xùn)練集必須在變換器輸入時考慮帶寬,這樣才能從訓(xùn)練集中學習到變換器的頻率響應(yīng)。
在機器學習中,超參數(shù)不是指通過訓(xùn)練得出的參數(shù),而是控制模型結(jié)構(gòu)或訓(xùn)練過程的參數(shù)。在LSTM 中,超參數(shù)包括但不限于:
(1)控制模型結(jié)構(gòu):如神經(jīng)網(wǎng)絡(luò)層數(shù),每層的神經(jīng)元數(shù)量和每層神經(jīng)元的激活函數(shù),LSTM 門函數(shù)的選取。網(wǎng)絡(luò)層數(shù)和神經(jīng)元數(shù)量過少會導(dǎo)致模型學習效率低,但過多并不會顯著提高學習效率,反而會增加計算時長,浪費計算資源。一般而言,網(wǎng)絡(luò)層數(shù)至少要3 層,每層的神經(jīng)元數(shù)量至少包含10 個。激活函數(shù)選取很多,例如sigmoid、tanh(正切雙曲線)、ReLU(整流線性單元)等。門函數(shù)取值范圍一般在[0,1]之間。
(2)梯度下降訓(xùn)練算法或者任何訓(xùn)練算法下特定的參數(shù),比如梯度下降訓(xùn)練算法中的α(學習率或步長),步長太小會導(dǎo)致運算時間過長,步長太大容易錯過最優(yōu)解,α取值范圍是[0,1]。
(3)性能指標,如均方差、平方差等。例如,將實際輸出與預(yù)測輸出進行均方差運算,得出的值理論上越小說明學習效果越好,通過人為設(shè)置可接受的最小誤差,能夠提高訓(xùn)練速度,誤差可取1×10-6作為參考。
所有這些超參數(shù)的選擇導(dǎo)致了大量可能的網(wǎng)絡(luò)配置,這可能會使純粹的試錯訓(xùn)練成為一項困難而乏味的任務(wù)。然而,通常最重要的超參數(shù)是那些與網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)的超參數(shù),即網(wǎng)絡(luò)層數(shù)、神經(jīng)元個數(shù)、激活函數(shù)和門函數(shù)。訓(xùn)練算法、誤差度量可以在必要時進行調(diào)整,但如果保留它們的經(jīng)驗值,一般是沒有問題的。
電源系統(tǒng)中電力變換離不開DC-DC 變換,將多種拓撲進行級聯(lián)才能完成需要的電力變換功能,其中最為典型的電路便是升壓電路和降壓電路。電源系統(tǒng)穩(wěn)定性分析常規(guī)方案是進行小信號建模,通過開環(huán)零點判斷系統(tǒng)能否穩(wěn)定工作,而級聯(lián)電路主要采用阻抗判據(jù)分析穩(wěn)定性,這些方案需要確定電路具體拓撲。采用LSTM 進行分析,可以只關(guān)注電路部分數(shù)據(jù),對電路狀態(tài)進行判斷。LSTM 通過訓(xùn)練,在出現(xiàn)擾動輸入時,能提前預(yù)測出系統(tǒng)輸出變化。對預(yù)測輸出數(shù)據(jù)進行分析,若處于系統(tǒng)的額定工況范圍內(nèi),說明系統(tǒng)在該擾動下能保持穩(wěn)定運行,否則可以觸發(fā)系統(tǒng)的保護功能。
Buck 電路作為降壓電路典型拓撲,具有重要的研究意義。Buck 電路不能代表整個電源系統(tǒng),但作為電源系統(tǒng)的一部分,可以通過選取Buck 電路進行訓(xùn)練,驗證LSTM 能否準確預(yù)測輸出,為穩(wěn)定性分析提供保障。
Buck 電路建模簡單,可以直接進行狀態(tài)空間方程建模仿真,但對于非穩(wěn)態(tài)的工況輸出預(yù)測并不理想。對于常規(guī)仿真來說,采用動態(tài)神經(jīng)網(wǎng)絡(luò)的方法能在不改變電路的情況下,在線對可能的輸出進行預(yù)測從而避免干擾造成嚴重的影響。常規(guī)仿真大部分只能夠離線進行仿真,在線仿真具有入侵性,會增加設(shè)備的負擔,并且相比于動態(tài)神經(jīng)網(wǎng)絡(luò)的方法誤差更大。
從經(jīng)驗上可以得知,一個好的模型擬合需要至少兩個隱藏層,每一層至少10 個神經(jīng)元。在超過這個規(guī)模后,在某些情況下會帶來一些邊際性能收益或產(chǎn)生過擬合現(xiàn)象。為了平衡準確的性能和相對較低的計算成本,選擇三個隱藏層的網(wǎng)絡(luò),第一層隱藏層8 個神經(jīng)元,第二和第三層隱藏層10 個神經(jīng)元,每一層均使用了式(1)中給出的雙曲正切激活函數(shù)。
在訓(xùn)練算法完成RNN 的權(quán)重調(diào)整后,使用不同的數(shù)據(jù)集來測試模型,以驗證模型是否正確學習了系統(tǒng)的動態(tài)行為。訓(xùn)練后測試結(jié)果表明,所提出的方法可以產(chǎn)生一個高度精確的模型,既能密切跟蹤穩(wěn)態(tài)解,也能跟蹤各種瞬態(tài)條件和噪聲擾動。測試故意讓模型受到極端瞬態(tài)和大幅噪聲的影響,以在“最壞情況”的場景中鍛煉模型,并推斷能跟蹤這些條件的模型可以跟蹤任何正常場景。
圖5 為LSTM 訓(xùn)練模型。
圖5 LSTM訓(xùn)練模型
首先用MATLAB 中Simulink 模塊搭建Buck 變換器,Buck 變換器能夠在輸入為48 V 的直流電壓下穩(wěn)定輸出12 V 直流電壓。但僅僅穩(wěn)定情況下的輸入數(shù)據(jù)對于LSTM 神經(jīng)網(wǎng)絡(luò)訓(xùn)練,雖然結(jié)果上預(yù)測輸出擬合度很高,但不足以證明該方法的特殊性,故在Buck 本身能穩(wěn)定的情況下,改變輸入電壓。本文輸入電壓集包含了不同頻率的正弦信號,訓(xùn)練集如圖6所示。其中,Vg為輸入電壓,il為電感電流,Vo為輸出電壓。由于頻率設(shè)置過低負載輸出仍為12 V 穩(wěn)定電壓,所以正弦信號頻率需選設(shè)置1 kHz 以上,故得出的輸出雖然不是穩(wěn)定效果,但對于LSTM 網(wǎng)絡(luò)訓(xùn)練是友好的。訓(xùn)練集從時間上分布是:第0~0.01 s 為48 V 直流輸入;第0.01~ 0.04 s 為48 V 頻率為1 000 Hz 的交流輸入加上-4 V 的直流輸入;第0.04~0.07 s為2 V 頻率為5 000 Hz 的交流輸入加上48 V 的直流輸入;第0.07~0.1 s 為2 V 頻率為1 000 Hz 的交流輸入加上-48 V 的直流輸入;第0.1~0.13 s 為24 V 頻率為1 000 Hz 的交流輸入加上24 V 的直流輸入。將所測得輸出作為LSTM 的輸入和輸出便可以對LSTM網(wǎng)絡(luò)進行訓(xùn)練,如圖7 所示。均方差為1.6×10-7,迭代次數(shù)為1 000 次。
圖6 輸入訓(xùn)練集
圖7 電流電壓跟蹤波形
均方差較低說明跟蹤效果良好,迭代次數(shù)較多,說明LSTM 模型有待優(yōu)化。對于不合理的輸入,實際電路是不能夠產(chǎn)生如圖6(b)中的輸出,Simulink 能夠?qū)@些輸入產(chǎn)生可能的輸出。圖7 中可以看出預(yù)測輸出能很好跟蹤仿真輸出,無論其是否合理。當不符合工況的預(yù)測輸出出現(xiàn)時,如圖7 中[1 000,5 000]、[7 000,10 000],可以判斷系統(tǒng)不穩(wěn)定。
本文還搭建了48 V 轉(zhuǎn)12 V 的功率平臺,如圖8所示。為了更好地展示跟蹤效果,將功率平臺的ADC 采樣數(shù)據(jù)經(jīng)過數(shù)字濾波后通過CAN 導(dǎo)入到MATLAB 工作環(huán)境中,并對Buck 電路輸出電壓和電感電流的波形輸入LSTM 網(wǎng)絡(luò)進行訓(xùn)練,得出的訓(xùn)練結(jié)果能夠很好地貼近電感電流和輸出電壓,均方差為3.6×10-7,迭代次數(shù)為905 次。均方差在允許的誤差之內(nèi),預(yù)測結(jié)果能很好地跟蹤實際波形,說明電路工作在穩(wěn)定狀態(tài)。圖9 為Buck 電路穩(wěn)態(tài)跟蹤波形。
圖8 Buck電路硬件平臺
圖9 Buck電路穩(wěn)態(tài)跟蹤波形
通過仿真和實物驗證,LSTM 訓(xùn)練的輸出能很好地跟蹤實際輸出。對預(yù)測輸出進行分析,若預(yù)測結(jié)果不穩(wěn)定,說明實際電路輸出也不穩(wěn)定,此時應(yīng)該對電路進行保護處理。神經(jīng)網(wǎng)絡(luò)建模均存在一個最為明顯的缺點,意外行為的可能性無法消除,尤其是當要求神經(jīng)網(wǎng)絡(luò)評估輸入與訓(xùn)練集中包含輸入相差太多的時候。在訓(xùn)練模型的時候盡可能地提供更多的輸入,只有在訓(xùn)練數(shù)據(jù)足夠大的情況下才能訓(xùn)練出更好的模型。對于仿真而言,輸入噪聲可以任意改變,但不可能展現(xiàn)所有可能存在的輸入變化,僅以上4 種噪聲進行展示,驗證該方法的有效性。
本文提出了一種新的功率變換器建模技術(shù),對建模后的數(shù)據(jù)進行分析,無論是仿真模型還是實物上預(yù)測輸出都能很好地跟蹤實際輸出,因此可以通過預(yù)測輸出判斷系統(tǒng)能否達到穩(wěn)態(tài)工況,即輸出波動和范圍是否達到穩(wěn)定要求。該技術(shù)特別適合于創(chuàng)建開關(guān)平均、大信號、實時的變換器數(shù)字孿生模型。只要計算性能達標,模型可以在任何平臺上運行,比如在變換器的嵌入式控制器上運行。另一方面,該模型在未來可能用于故障檢測、預(yù)測和健康管理以及風險評估等功能。
該模型在未來還有很大的發(fā)展空間。首先,我們希望將訓(xùn)練好的模型嵌入工作環(huán)境中,并探索模型的計算速度。如果計算資源對于特定的嵌入式平臺來說成為問題,我們可以探索模型壓縮技術(shù)來減少計算資源。激活函數(shù)對計算資源也會產(chǎn)生顯著影響,因此我們可以探索使用更簡單的激活函數(shù),能否可以達到與sigmoid 激活函數(shù)相似的精度。
此外,在閉環(huán)反饋控制系統(tǒng)中,LSTM 模型輸出的結(jié)果是轉(zhuǎn)換器瞬態(tài)行為,我們認為一個經(jīng)過良好訓(xùn)練的模型應(yīng)該足夠接近實際轉(zhuǎn)換器的動態(tài)行為,對于動態(tài)的控制系統(tǒng)能否使用LSTM 網(wǎng)絡(luò)進行訓(xùn)練仍有待實驗證明。最后,我們可以將這項工作擴展到現(xiàn)代電力系統(tǒng)應(yīng)用中發(fā)現(xiàn)的其他動態(tài)組件,如發(fā)電機、電機和儲能系統(tǒng)的建模,為電力系統(tǒng)創(chuàng)建一個完整的數(shù)字孿生目錄。