文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190359
中文引用格式: 李淵博,楊媛,張小濤. 基于LSTM網絡的IGBT參數預測硬件系統設計[J].電子技術應用,2019,45(10):33-36.
英文引用格式: Li Yuanbo,Yang Yuan,Zhang Xiaotao. Design of IGBT parameter prediction hardware system based on LSTM network[J]. Application of Electronic Technique,2019,45(10):33-36.
0 引言
如今,隨著計算機計算能力的飛速發展以及集成電路相關產業不斷成熟,機器學習已成為最熱門的研究領域之一[1]。在機器學習模型中,人工神經網絡憑借著其較高的預測精度而廣泛地應用于機器學習的各個領域中。對于時間序列數據的學習和預測,循環神經網絡(Recursive Neutral Network,RNN)[2]及其各種改進模型逐漸成為了一種普遍使用的方法[3-4]。但是目前應用RNN的硬件平臺大多是通過大型服務器CPU[5-6]或者單片機[7]實現的,在一些條件苛刻的應用場合無法兼容高效與便攜的特點以及低功耗的要求。近年來,ARM處理器和FPGA整合的片上系統(System On Chip,SoC)成為了嵌入式系統新的發展方向。SoC既保留了FPGA易于定制并且并行運算速度快的優點,還繼承了ARM處理器高速低功耗的優勢,實現了功能互補[8]。因此,可以使用SoC系統對RNN網絡進行硬件加速以及低功耗設計。
本文針對在電力電子領域中有著廣泛應用的絕緣柵雙極型晶體管(Insulated Gate Bipolar Transistor,IGBT)[9]易失效以及使用壽命不確定的問題,利用RNN網絡對IGBT的狀態參數進行了預測,并在SoC平臺上實現了網絡模型的硬件化,從而設計出了一種用于RNN網絡的硬件SoC系統,在準確率沒有較大下降的基礎上滿足了IGBT參數預測系統高速、低功耗以及便攜的應用要求。
1 IGBT參數分析
在對RNN網絡進行訓練之前,需要對IGBT的狀態參數進行分析。本文對美國NASA PCoE研究中心所做的IGBT加速老化實驗[10]進行了研究。實驗使用單個 IGBT 加載寬脈調制(Pulse Width Modulation,PWM)信號,直至出現鎖定效應,導致IGBT損壞為止。實驗溫度為330 ℃,占空比為40%,柵極電壓為10 V,保護溫度為345 ℃,開關頻率為10 kHz。
實驗中包含418組瞬態數據。每組瞬態數據包含十萬個集電極-發射極電壓數據。每個數據的間隔為1 ns,每組瞬變數據的時間標度為0.1 ms。實驗發現,在開通和關斷時柵極電壓和電流的波形隨著時間幾乎沒有變化。集電極-發射極電壓特性在開通時同樣變化較小,但在關斷時集電極-發射極的瞬態電壓尖峰的下降表現出了較強的負時間相關性,如圖1所示。據此本文分析某一時刻IGBT的集電極-發射極瞬態電壓尖峰值與歷史時刻的數據具有相關性,因此本文采用IGBT的集電極-發射極瞬態電壓尖峰值進行訓練預測。
2 LSTM網絡模型硬件設計與實現
2.1 LSTM網絡模型
系統中的網絡模型采用的是長短期記憶網絡模型(Long Short-Term Memory,LSTM)[11],它是標準RNN網絡的一種改進。它添加了記憶單元,并通過3個門進行控制,分別是輸入門、遺忘門和輸出門。LSTM相比于普通RNN模型更適合進行時間序列的預測。結合IGBT集-射極瞬態電壓尖峰的數據特點,本文對LSTM網絡的輸入和輸出進行了一定的改進,網絡模型如圖2所示。其中,It1為模型的輸入,其是由12個集電極-發射極瞬態電壓尖峰真實值It1-1~It1-12組成的, 同理It2和It3分別為真實值It1-2~It1-13、It1-3~It1-14,以此類推。模型的輸出為Ot1,其是與真實值It13對應的預測值,同理Ot2和Ot3分別為與真實值It14和It15對應的預測值。h1和h2分別是t1與t2時刻的神經元狀態值。因此,本網絡模型的輸入輸出都是連續的時間序列。
2.2 總體硬件架構
本文采用的是Xilinx公司Zynq-7000 SoC平臺,其集成雙核ARM Cortex-A9處理器系統與FPGA為一體,兩者可以獨立工作的同時通過高性能雙向高級擴展總線(Advanced eXtensible Interface,AXI)橋接實現高速寬帶的數據通信。圖3為整個系統的硬件架構,ARM處理器作為系統總控制器控制硬件各個子模塊;數據通過AXI總線傳輸[12],其中Lite通道用于傳輸控制信號,Stream通道負責傳輸計算數據,AXI4是DDR存儲器與FPGA之間的數據總線;而FPGA中主要負責LSTM網絡內部的各種數據計算。FPGA首先通過兩個VDMA模塊從DDR內存中并行讀取所需要的數據。其中包括LSTM的網絡權值以及輸入向量,經過內積、定點數轉換、激活函數等模塊后最終通過VDMA輸出結果向量。根據LSTM網絡的計算邏輯,本設計還需要BRAM來存儲每個LSTM單元的單元狀態和輸出值,以供其他模塊使用。
FPGA端通過中央互聯線中的系統總線GP、HP、ACP接口訪問DDR存儲器,內部結構圖如圖4所示,4個HP接口通過64 bit高帶寬數據通路與DDR存儲器連接,兩個GP接口通過32 bit低速通路與DDR存儲器連接,而處理器與ACP接口在連接DDR存儲器之前要先經過L2緩存,以提高數據傳輸速度。
2.3 矩陣向量內積算法優化
在整個SoC系統中,矩陣向量乘法是其計算核心部分,為了提高系統的計算速度,本文對其進行了算法優化。圖5為遺忘門的權重矩陣wa與向量的內積原理圖。細胞單元的數量為n,在t時刻每個細胞單元中的輸入向量為Xt(Xt={x1,x2,…,xm})和前一個時間步的輸出向量ht-1。因為不同的向量與它們對應矩陣之間的乘法是相互獨立的,因此在計算時本文將Xt和ht-1合并成為一個長向量之后再與權重矩陣W進行計算。輸入門和輸出門的權重矩陣Wi與Wo的內積過程與Wa相同。
同樣地,Wa、Wi、Wo 3個權值矩陣也可以合并為一個矩陣。如圖6所示,因為LSTM模型中3個門的存在,因此矩陣和向量相乘后的結果將被分割為3個向量Veca、Veci、Veco,這3個向量將參與LSTM網絡3個輸入端后續的激活函數操作。
2.4 激活函數的實現
激活函數的作用是在神經網絡中引入非線性因素,在LSTM單元中,輸入端采用的激活函數是tanh,其數學形式如式(1)所示;另一個激活函數為sigmoid,數學形式如式(2)所示。同時LSTM單元在進行輸出值處理時,其細胞狀態也要通過tanh激活。
由上式可以發現這些運算都涉及了e的指數運算,即ex。但是ex函數在FPGA里直接調用IP核會占用大量的計算資源,而采用多項式近似方法會減小計算量,同時該方法誤差較小,不影響神經網絡的預測結果。ex在x=0的泰勒展開式如下:
本文采用n=4的近似,其中多項式近似逼近函數如下式:
3 系統測試與結果
本文使用了Xilinx公司的Vivado平臺進行硬件開發和測試,并使用了旗下的 Zynq-7000系列開發板進行驗證,芯片型號為xc7z020clg400-2,其中ARM Cortex-A9處理器的主頻為667 MHz,FPGA的工作頻率為100 MHz,DSP48E資源的數量為220個,同時該開發板體積小、重量輕,便于安置與攜帶。PC平臺所使用的是Intel Core i5-8400處理器,主頻為2.8 GHz,內存為8 GB。作為對比,以上兩個實驗平臺均采用相同的LSTM神經網絡結構及測試數據進行仿真驗證。
實驗結果如圖7所示,其截取了所有預測結果中的100個典型的連續數據誤差率,可以發現在PC平臺和Zynq-7020開發板上的誤差率存在著一定差別,最高達到20%左右。經過計算,最終在PC上的平均預測準確率為96%,SoC系統上的平均預測準確率為92.6%。之所以存在這種區別是因為FPGA中采用的是定點數,浮點數與定點數之間的轉換存在截斷誤差,因此兩者的計算結果會有一定的出入。雖然在SoC系統上開發板上的平均預測準確率相比PC較低,但在實際應用中,可以滿足基本需求。
系統上的硬件資源使用率如表1所示,可以看到本文的加速器架構DSP利用率較高,這是因為在激活函數中運用到了大量的乘除法。但是考慮到布局布線的時序要求,通常不能使資源占用率過高,否則會由于布線過長導致時序難以收斂。同時LUTRAM和BRAM的利用率較低,這為之后需要用到更多的數據進行計算時提供了充分的利用空間。
表2是在兩種平臺下實現相同的結構和數據的計算時間與功耗對比,由數據可以看出當單次預測數據量為20時,在PC上的運行時間是1 021 μs,而在Zynq-7000開發板上的運行時間為273 μs,相比于PC加速了3.74倍。同時PC上的功耗達到了65 W,而在Zynq-7020平臺上功耗只有2.175 W,只有前者的3.3%,滿足嵌入式移動端的應用。
4 結論
本文先根據實驗對IGBT功率模塊的失效原因進行了分析,在確定了失效參數后選擇了RNN網絡中的LSTM模型并對其進行了改進,最后基于該LSTM模型設計了一個SoC硬件系統。使用ARM處理器作為系統總控制器,在FPGA內部對矩陣向量乘法進行了優化,提高了數據計算效率,利用冪級數近似定義了激活函數,最后使用AXI總線搭建了完整的系統。通過在Zynq-7020開發板上驗證及對比,本文設計的SoC硬件系統在平均預測準確率為92.6%的情況下,運行速度是PC的 3.74倍,而功耗只有PC平臺的3.3%。這在低功耗設計上有廣闊的發展前景,同時也為IGBT功率模塊的參數預測提供了一種新的方法。
參考文獻
[1] ALPAYDIN E.Introduction to machine learning[M].Boston:MIT Press,2004.
[2] GRAVES A.Generating sequences with recurrent neural networks[J].arXiv preprint arXiv:1308.0850,2013.
[3] 鄭毅,李鳳,張麗,等.基于長短時記憶網絡的人體姿態檢測方法[J].計算機應用,2018,38(6):1568-1574.
[4] 李潔,林永峰.基于多時間尺度RNN的時序數據預測[J].計算機應用與軟件,2018,35(7):33-37,62.
[5] 張國興,李亞東,張磊,等.基于SDZ-RNN的出租車出行目的地預測方法[J].計算機工程與應用,2018,54(6):143-149.
[6] 李雅昆,潘晴,WANG E X.基于改進的多層BLSTM的中文分詞和標點預測[J].計算機應用,2018,38(5):1278-1282,1314.
[7] 劉艷萍,李杰,金菲.基于RNN的脈搏波血壓計的研究與實現[J].電子技術應用,2018,44(6):76-79,84.
[8] WANG B,SANIIE J.Ultrasonic signal acquisition and processing platform based on Zynq SoC[C].2016 IEEE International Conference on Electro Information Technology(EIT).IEEE,2016:448-451.
[9] BAILEY C,LU H,TILFORD T.Predicting the reliability of power electronic modules[C].2007 8th International Conference on Electronic Packaging Technology.IEEE,2007:1-5.
[10] CHEN Q,ZHU X,LING Z,et al.Enhanced lstm for natural language inference[J].arXiv preprint arXiv:1609.06038,2016.
[11] HOCHREITER S,SCHMIDHUBER J.Long shortterm memory[J].Neural Computation,1997,9(8):1735-1780.
[12] MAKNI M,BAKLOUTI M,NIAR S,et al.Performance exploration of AMBA AXI4 bus protocols for wireless sensor networks[C].2017 IEEE/ACS 14th International Conference on Computer Systems and Applications(AICCSA).IEEE,2017:1163-1169.
作者信息:
李淵博,楊 媛,張小濤
(西安理工大學 電子工程系,陜西 西安710048)