文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190359
中文引用格式: 李淵博,,楊媛,,張小濤. 基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測硬件系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,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 引言
如今,,隨著計算機(jī)計算能力的飛速發(fā)展以及集成電路相關(guān)產(chǎn)業(yè)不斷成熟,機(jī)器學(xué)習(xí)已成為最熱門的研究領(lǐng)域之一[1],。在機(jī)器學(xué)習(xí)模型中,,人工神經(jīng)網(wǎng)絡(luò)憑借著其較高的預(yù)測精度而廣泛地應(yīng)用于機(jī)器學(xué)習(xí)的各個領(lǐng)域中。對于時間序列數(shù)據(jù)的學(xué)習(xí)和預(yù)測,,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recursive Neutral Network,,RNN)[2]及其各種改進(jìn)模型逐漸成為了一種普遍使用的方法[3-4]。但是目前應(yīng)用RNN的硬件平臺大多是通過大型服務(wù)器CPU[5-6]或者單片機(jī)[7]實(shí)現(xiàn)的,,在一些條件苛刻的應(yīng)用場合無法兼容高效與便攜的特點(diǎn)以及低功耗的要求,。近年來,,ARM處理器和FPGA整合的片上系統(tǒng)(System On Chip,,SoC)成為了嵌入式系統(tǒng)新的發(fā)展方向。SoC既保留了FPGA易于定制并且并行運(yùn)算速度快的優(yōu)點(diǎn),,還繼承了ARM處理器高速低功耗的優(yōu)勢,,實(shí)現(xiàn)了功能互補(bǔ)[8],。因此,可以使用SoC系統(tǒng)對RNN網(wǎng)絡(luò)進(jìn)行硬件加速以及低功耗設(shè)計,。
本文針對在電力電子領(lǐng)域中有著廣泛應(yīng)用的絕緣柵雙極型晶體管(Insulated Gate Bipolar Transistor,,IGBT)[9]易失效以及使用壽命不確定的問題,利用RNN網(wǎng)絡(luò)對IGBT的狀態(tài)參數(shù)進(jìn)行了預(yù)測,,并在SoC平臺上實(shí)現(xiàn)了網(wǎng)絡(luò)模型的硬件化,,從而設(shè)計出了一種用于RNN網(wǎng)絡(luò)的硬件SoC系統(tǒng),在準(zhǔn)確率沒有較大下降的基礎(chǔ)上滿足了IGBT參數(shù)預(yù)測系統(tǒng)高速,、低功耗以及便攜的應(yīng)用要求,。
1 IGBT參數(shù)分析
在對RNN網(wǎng)絡(luò)進(jìn)行訓(xùn)練之前,需要對IGBT的狀態(tài)參數(shù)進(jìn)行分析,。本文對美國NASA PCoE研究中心所做的IGBT加速老化實(shí)驗(yàn)[10]進(jìn)行了研究,。實(shí)驗(yàn)使用單個 IGBT 加載寬脈調(diào)制(Pulse Width Modulation,PWM)信號,,直至出現(xiàn)鎖定效應(yīng),,導(dǎo)致IGBT損壞為止。實(shí)驗(yàn)溫度為330 ℃,,占空比為40%,,柵極電壓為10 V,保護(hù)溫度為345 ℃,,開關(guān)頻率為10 kHz,。
實(shí)驗(yàn)中包含418組瞬態(tài)數(shù)據(jù)。每組瞬態(tài)數(shù)據(jù)包含十萬個集電極-發(fā)射極電壓數(shù)據(jù),。每個數(shù)據(jù)的間隔為1 ns,,每組瞬變數(shù)據(jù)的時間標(biāo)度為0.1 ms。實(shí)驗(yàn)發(fā)現(xiàn),,在開通和關(guān)斷時柵極電壓和電流的波形隨著時間幾乎沒有變化,。集電極-發(fā)射極電壓特性在開通時同樣變化較小,但在關(guān)斷時集電極-發(fā)射極的瞬態(tài)電壓尖峰的下降表現(xiàn)出了較強(qiáng)的負(fù)時間相關(guān)性,,如圖1所示,。據(jù)此本文分析某一時刻IGBT的集電極-發(fā)射極瞬態(tài)電壓尖峰值與歷史時刻的數(shù)據(jù)具有相關(guān)性,因此本文采用IGBT的集電極-發(fā)射極瞬態(tài)電壓尖峰值進(jìn)行訓(xùn)練預(yù)測,。
2 LSTM網(wǎng)絡(luò)模型硬件設(shè)計與實(shí)現(xiàn)
2.1 LSTM網(wǎng)絡(luò)模型
系統(tǒng)中的網(wǎng)絡(luò)模型采用的是長短期記憶網(wǎng)絡(luò)模型(Long Short-Term Memory,,LSTM)[11],它是標(biāo)準(zhǔn)RNN網(wǎng)絡(luò)的一種改進(jìn),。它添加了記憶單元,,并通過3個門進(jìn)行控制,分別是輸入門,、遺忘門和輸出門,。LSTM相比于普通RNN模型更適合進(jìn)行時間序列的預(yù)測,。結(jié)合IGBT集-射極瞬態(tài)電壓尖峰的數(shù)據(jù)特點(diǎn),本文對LSTM網(wǎng)絡(luò)的輸入和輸出進(jìn)行了一定的改進(jìn),,網(wǎng)絡(luò)模型如圖2所示,。其中,It1為模型的輸入,,其是由12個集電極-發(fā)射極瞬態(tài)電壓尖峰真實(shí)值It1-1~It1-12組成的, 同理It2和It3分別為真實(shí)值It1-2~It1-13,、It1-3~It1-14,以此類推,。模型的輸出為Ot1,,其是與真實(shí)值It13對應(yīng)的預(yù)測值,同理Ot2和Ot3分別為與真實(shí)值It14和It15對應(yīng)的預(yù)測值,。h1和h2分別是t1與t2時刻的神經(jīng)元狀態(tài)值,。因此,本網(wǎng)絡(luò)模型的輸入輸出都是連續(xù)的時間序列,。
2.2 總體硬件架構(gòu)
本文采用的是Xilinx公司Zynq-7000 SoC平臺,,其集成雙核ARM Cortex-A9處理器系統(tǒng)與FPGA為一體,兩者可以獨(dú)立工作的同時通過高性能雙向高級擴(kuò)展總線(Advanced eXtensible Interface,,AXI)橋接實(shí)現(xiàn)高速寬帶的數(shù)據(jù)通信,。圖3為整個系統(tǒng)的硬件架構(gòu),ARM處理器作為系統(tǒng)總控制器控制硬件各個子模塊,;數(shù)據(jù)通過AXI總線傳輸[12],,其中Lite通道用于傳輸控制信號,Stream通道負(fù)責(zé)傳輸計算數(shù)據(jù),,AXI4是DDR存儲器與FPGA之間的數(shù)據(jù)總線,;而FPGA中主要負(fù)責(zé)LSTM網(wǎng)絡(luò)內(nèi)部的各種數(shù)據(jù)計算。FPGA首先通過兩個VDMA模塊從DDR內(nèi)存中并行讀取所需要的數(shù)據(jù),。其中包括LSTM的網(wǎng)絡(luò)權(quán)值以及輸入向量,,經(jīng)過內(nèi)積、定點(diǎn)數(shù)轉(zhuǎn)換,、激活函數(shù)等模塊后最終通過VDMA輸出結(jié)果向量,。根據(jù)LSTM網(wǎng)絡(luò)的計算邏輯,本設(shè)計還需要BRAM來存儲每個LSTM單元的單元狀態(tài)和輸出值,,以供其他模塊使用,。
FPGA端通過中央互聯(lián)線中的系統(tǒng)總線GP、HP,、ACP接口訪問DDR存儲器,,內(nèi)部結(jié)構(gòu)圖如圖4所示,4個HP接口通過64 bit高帶寬數(shù)據(jù)通路與DDR存儲器連接,兩個GP接口通過32 bit低速通路與DDR存儲器連接,,而處理器與ACP接口在連接DDR存儲器之前要先經(jīng)過L2緩存,以提高數(shù)據(jù)傳輸速度,。
2.3 矩陣向量內(nèi)積算法優(yōu)化
在整個SoC系統(tǒng)中,,矩陣向量乘法是其計算核心部分,為了提高系統(tǒng)的計算速度,本文對其進(jìn)行了算法優(yōu)化,。圖5為遺忘門的權(quán)重矩陣wa與向量的內(nèi)積原理圖,。細(xì)胞單元的數(shù)量為n,在t時刻每個細(xì)胞單元中的輸入向量為Xt(Xt={x1,,x2,,…,xm})和前一個時間步的輸出向量ht-1,。因?yàn)椴煌南蛄颗c它們對應(yīng)矩陣之間的乘法是相互獨(dú)立的,,因此在計算時本文將Xt和ht-1合并成為一個長向量之后再與權(quán)重矩陣W進(jìn)行計算。輸入門和輸出門的權(quán)重矩陣Wi與Wo的內(nèi)積過程與Wa相同,。
同樣地,,Wa、Wi,、Wo 3個權(quán)值矩陣也可以合并為一個矩陣,。如圖6所示,因?yàn)長STM模型中3個門的存在,,因此矩陣和向量相乘后的結(jié)果將被分割為3個向量Veca,、Veci、Veco,,這3個向量將參與LSTM網(wǎng)絡(luò)3個輸入端后續(xù)的激活函數(shù)操作,。
2.4 激活函數(shù)的實(shí)現(xiàn)
激活函數(shù)的作用是在神經(jīng)網(wǎng)絡(luò)中引入非線性因素,在LSTM單元中,,輸入端采用的激活函數(shù)是tanh,,其數(shù)學(xué)形式如式(1)所示;另一個激活函數(shù)為sigmoid,,數(shù)學(xué)形式如式(2)所示,。同時LSTM單元在進(jìn)行輸出值處理時,其細(xì)胞狀態(tài)也要通過tanh激活,。
由上式可以發(fā)現(xiàn)這些運(yùn)算都涉及了e的指數(shù)運(yùn)算,,即ex。但是ex函數(shù)在FPGA里直接調(diào)用IP核會占用大量的計算資源,,而采用多項(xiàng)式近似方法會減小計算量,,同時該方法誤差較小,不影響神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果,。ex在x=0的泰勒展開式如下:
本文采用n=4的近似,,其中多項(xiàng)式近似逼近函數(shù)如下式:
3 系統(tǒng)測試與結(jié)果
本文使用了Xilinx公司的Vivado平臺進(jìn)行硬件開發(fā)和測試,,并使用了旗下的 Zynq-7000系列開發(fā)板進(jìn)行驗(yàn)證,芯片型號為xc7z020clg400-2,,其中ARM Cortex-A9處理器的主頻為667 MHz,,F(xiàn)PGA的工作頻率為100 MHz,DSP48E資源的數(shù)量為220個,,同時該開發(fā)板體積小,、重量輕,便于安置與攜帶,。PC平臺所使用的是Intel Core i5-8400處理器,,主頻為2.8 GHz,內(nèi)存為8 GB,。作為對比,,以上兩個實(shí)驗(yàn)平臺均采用相同的LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及測試數(shù)據(jù)進(jìn)行仿真驗(yàn)證。
實(shí)驗(yàn)結(jié)果如圖7所示,,其截取了所有預(yù)測結(jié)果中的100個典型的連續(xù)數(shù)據(jù)誤差率,,可以發(fā)現(xiàn)在PC平臺和Zynq-7020開發(fā)板上的誤差率存在著一定差別,最高達(dá)到20%左右,。經(jīng)過計算,,最終在PC上的平均預(yù)測準(zhǔn)確率為96%,SoC系統(tǒng)上的平均預(yù)測準(zhǔn)確率為92.6%,。之所以存在這種區(qū)別是因?yàn)镕PGA中采用的是定點(diǎn)數(shù),,浮點(diǎn)數(shù)與定點(diǎn)數(shù)之間的轉(zhuǎn)換存在截斷誤差,因此兩者的計算結(jié)果會有一定的出入,。雖然在SoC系統(tǒng)上開發(fā)板上的平均預(yù)測準(zhǔn)確率相比PC較低,,但在實(shí)際應(yīng)用中,可以滿足基本需求,。
系統(tǒng)上的硬件資源使用率如表1所示,,可以看到本文的加速器架構(gòu)DSP利用率較高,這是因?yàn)樵诩せ詈瘮?shù)中運(yùn)用到了大量的乘除法,。但是考慮到布局布線的時序要求,,通常不能使資源占用率過高,否則會由于布線過長導(dǎo)致時序難以收斂,。同時LUTRAM和BRAM的利用率較低,,這為之后需要用到更多的數(shù)據(jù)進(jìn)行計算時提供了充分的利用空間。
表2是在兩種平臺下實(shí)現(xiàn)相同的結(jié)構(gòu)和數(shù)據(jù)的計算時間與功耗對比,,由數(shù)據(jù)可以看出當(dāng)單次預(yù)測數(shù)據(jù)量為20時,,在PC上的運(yùn)行時間是1 021 μs,而在Zynq-7000開發(fā)板上的運(yùn)行時間為273 μs,相比于PC加速了3.74倍,。同時PC上的功耗達(dá)到了65 W,,而在Zynq-7020平臺上功耗只有2.175 W,只有前者的3.3%,,滿足嵌入式移動端的應(yīng)用,。
4 結(jié)論
本文先根據(jù)實(shí)驗(yàn)對IGBT功率模塊的失效原因進(jìn)行了分析,在確定了失效參數(shù)后選擇了RNN網(wǎng)絡(luò)中的LSTM模型并對其進(jìn)行了改進(jìn),,最后基于該LSTM模型設(shè)計了一個SoC硬件系統(tǒng),。使用ARM處理器作為系統(tǒng)總控制器,,在FPGA內(nèi)部對矩陣向量乘法進(jìn)行了優(yōu)化,,提高了數(shù)據(jù)計算效率,利用冪級數(shù)近似定義了激活函數(shù),,最后使用AXI總線搭建了完整的系統(tǒng),。通過在Zynq-7020開發(fā)板上驗(yàn)證及對比,本文設(shè)計的SoC硬件系統(tǒng)在平均預(yù)測準(zhǔn)確率為92.6%的情況下,,運(yùn)行速度是PC的 3.74倍,,而功耗只有PC平臺的3.3%。這在低功耗設(shè)計上有廣闊的發(fā)展前景,,同時也為IGBT功率模塊的參數(shù)預(yù)測提供了一種新的方法,。
參考文獻(xiàn)
[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] 鄭毅,,李鳳,張麗,,等.基于長短時記憶網(wǎng)絡(luò)的人體姿態(tài)檢測方法[J].計算機(jī)應(yīng)用,,2018,38(6):1568-1574.
[4] 李潔,,林永峰.基于多時間尺度RNN的時序數(shù)據(jù)預(yù)測[J].計算機(jī)應(yīng)用與軟件,,2018,35(7):33-37,,62.
[5] 張國興,,李亞東,張磊,,等.基于SDZ-RNN的出租車出行目的地預(yù)測方法[J].計算機(jī)工程與應(yīng)用,,2018,54(6):143-149.
[6] 李雅昆,,潘晴,,WANG E X.基于改進(jìn)的多層BLSTM的中文分詞和標(biāo)點(diǎn)預(yù)測[J].計算機(jī)應(yīng)用,2018,38(5):1278-1282,,1314.
[7] 劉艷萍,,李杰,金菲.基于RNN的脈搏波血壓計的研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,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.
作者信息:
李淵博,,楊 媛,張小濤
(西安理工大學(xué) 電子工程系,,陜西 西安710048)