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