《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測硬件系統(tǒng)設(shè)計(jì)
基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測硬件系統(tǒng)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第10期
李淵博,楊 媛,張小濤
西安理工大學(xué) 電子工程系,陜西 西安710048
摘要: 對絕緣柵雙極型晶體管進(jìn)行參數(shù)預(yù)測可以有效地避免因其失效帶來的經(jīng)濟(jì)損失和安全問題。對絕緣柵雙極型晶體管參數(shù)進(jìn)行分析,設(shè)計(jì)了一個基于LSTM網(wǎng)絡(luò)的絕緣柵雙極型晶體管參數(shù)預(yù)測SoC硬件系統(tǒng)。該系統(tǒng)使用ARM處理器作為總控制器,控制各個子模塊的調(diào)用和數(shù)據(jù)的傳輸,F(xiàn)PGA內(nèi)通過對矩陣向量內(nèi)積算法進(jìn)行優(yōu)化提高LSTM網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)運(yùn)算速度,并且采用多項(xiàng)式近似的方法降低了激活函數(shù)所占用的資源。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的預(yù)測平均準(zhǔn)確率為92.6%,計(jì)算速度相比于CPU快了3.74倍,同時具有低功耗的特點(diǎn)。
中圖分類號: TN386.2;TP368.1
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190359
中文引用格式: 李淵博,楊媛,張小濤. 基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測硬件系統(tǒng)設(shè)計(jì)[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.
Design of IGBT parameter prediction hardware system based on LSTM network
Li Yuanbo,Yang Yuan,Zhang Xiaotao
Department of Electronics Engineering,Xi′an University of Technology,Xi′an 710048,China
Abstract: Parameter prediction of insulated gate bipolar transistor(IGBT) can effectively avoid the economic loss and safety problem caused by its failure. Based on the analysis of IGBT parameters, the paper designs a SoC hardware system of IGBT parameters prediction based on LSTM network. The system uses ARM processor as the general controller to control the call of each sub-module and the transmission of data. In the FPGA, the algorithm of matrix vector inner product is optimized to improve the data operation speed in the LSTM network.And the polynomial approximation method reduces the resources occupied by the activation function. The experimental results show that the average prediction accuracy of the system is 92.6%, the calculation speed is 3.74 times faster than the CPU, and the system has the characteristics of low power consumption.
Key words : LSTM;SoC;hardware acceleration;IGBT

0 引言

    如今,隨著計(jì)算機(jī)計(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è)計(jì)。

    本文針對在電力電子領(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è)計(jì)出了一種用于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ù)測。

rgzn2-t1.gif

2 LSTM網(wǎng)絡(luò)模型硬件設(shè)計(jì)與實(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ù)的時間序列。

rgzn2-t2.gif

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é)傳輸計(jì)算數(shù)據(jù),AXI4是DDR存儲器與FPGA之間的數(shù)據(jù)總線;而FPGA中主要負(fù)責(zé)LSTM網(wǎng)絡(luò)內(nèi)部的各種數(shù)據(jù)計(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ò)的計(jì)算邏輯,本設(shè)計(jì)還需要BRAM來存儲每個LSTM單元的單元狀態(tài)和輸出值,以供其他模塊使用。

rgzn2-t3.gif

    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ù)傳輸速度。

rgzn2-t4.gif

2.3 矩陣向量內(nèi)積算法優(yōu)化

    在整個SoC系統(tǒng)中,矩陣向量乘法是其計(jì)算核心部分,為了提高系統(tǒng)的計(jì)算速度,本文對其進(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ú)立的,因此在計(jì)算時本文將Xt和ht-1合并成為一個長向量之后再與權(quán)重矩陣W進(jìn)行計(jì)算。輸入門和輸出門的權(quán)重矩陣Wi與Wo的內(nèi)積過程與Wa相同。

rgzn2-t5.gif

    同樣地,Wa、Wi、Wo 3個權(quán)值矩陣也可以合并為一個矩陣。如圖6所示,因?yàn)長STM模型中3個門的存在,因此矩陣和向量相乘后的結(jié)果將被分割為3個向量Veca、Veci、Veco,這3個向量將參與LSTM網(wǎng)絡(luò)3個輸入端后續(xù)的激活函數(shù)操作。

rgzn2-t6.gif

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激活。

     rgzn2-gs1-2.gif

    由上式可以發(fā)現(xiàn)這些運(yùn)算都涉及了e的指數(shù)運(yùn)算,即ex。但是ex函數(shù)在FPGA里直接調(diào)用IP核會占用大量的計(jì)算資源,而采用多項(xiàng)式近似方法會減小計(jì)算量,同時該方法誤差較小,不影響神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果。ex在x=0的泰勒展開式如下:

    rgzn2-gs3.gif

    本文采用n=4的近似,其中多項(xiàng)式近似逼近函數(shù)如下式:

    rgzn2-gs4.gif

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)過計(jì)算,最終在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)換存在截斷誤差,因此兩者的計(jì)算結(jié)果會有一定的出入。雖然在SoC系統(tǒng)上開發(fā)板上的平均預(yù)測準(zhǔn)確率相比PC較低,但在實(shí)際應(yīng)用中,可以滿足基本需求。

rgzn2-t7.gif

    系統(tǒng)上的硬件資源使用率如表1所示,可以看到本文的加速器架構(gòu)DSP利用率較高,這是因?yàn)樵诩せ詈瘮?shù)中運(yùn)用到了大量的乘除法。但是考慮到布局布線的時序要求,通常不能使資源占用率過高,否則會由于布線過長導(dǎo)致時序難以收斂。同時LUTRAM和BRAM的利用率較低,這為之后需要用到更多的數(shù)據(jù)進(jìn)行計(jì)算時提供了充分的利用空間。

rgzn2-b1.gif

    表2是在兩種平臺下實(shí)現(xiàn)相同的結(jié)構(gòu)和數(shù)據(jù)的計(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)用。

rgzn2-b2.gif

4 結(jié)論

    本文先根據(jù)實(shí)驗(yàn)對IGBT功率模塊的失效原因進(jìn)行了分析,在確定了失效參數(shù)后選擇了RNN網(wǎng)絡(luò)中的LSTM模型并對其進(jìn)行了改進(jìn),最后基于該LSTM模型設(shè)計(jì)了一個SoC硬件系統(tǒng)。使用ARM處理器作為系統(tǒng)總控制器,在FPGA內(nèi)部對矩陣向量乘法進(jìn)行了優(yōu)化,提高了數(shù)據(jù)計(jì)算效率,利用冪級數(shù)近似定義了激活函數(shù),最后使用AXI總線搭建了完整的系統(tǒng)。通過在Zynq-7020開發(fā)板上驗(yàn)證及對比,本文設(shè)計(jì)的SoC硬件系統(tǒng)在平均預(yù)測準(zhǔn)確率為92.6%的情況下,運(yùn)行速度是PC的 3.74倍,而功耗只有PC平臺的3.3%。這在低功耗設(shè)計(jì)上有廣闊的發(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ì)算機(jī)應(yīng)用,2018,38(6):1568-1574.

[4] 李潔,林永峰.基于多時間尺度RNN的時序數(shù)據(jù)預(yù)測[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(7):33-37,62.

[5] 張國興,李亞東,張磊,等.基于SDZ-RNN的出租車出行目的地預(yù)測方法[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(6):143-149.

[6] 李雅昆,潘晴,WANG E X.基于改進(jìn)的多層BLSTM的中文分詞和標(biāo)點(diǎn)預(yù)測[J].計(jì)算機(jī)應(yīng)用,2018,38(5):1278-1282,1314.

[7] 劉艷萍,李杰,金菲.基于RNN的脈搏波血壓計(jì)的研究與實(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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。