文獻(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)大多是通過(guò)大型服務(wù)器CPU[5-6]或者單片機(jī)[7]實(shí)現(xiàn)的,,在一些條件苛刻的應(yīng)用場(chǎng)合無(wú)法兼容高效與便攜的特點(diǎn)以及低功耗的要求,。近年來(lái),,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]易失效以及使用壽命不確定的問(wèn)題,,利用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)確率沒(méi)有較大下降的基礎(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 ℃,,開(kāi)關(guān)頻率為10 kHz,。
實(shí)驗(yàn)中包含418組瞬態(tài)數(shù)據(jù)。每組瞬態(tài)數(shù)據(jù)包含十萬(wàn)個(gè)集電極-發(fā)射極電壓數(shù)據(jù),。每個(gè)數(shù)據(jù)的間隔為1 ns,,每組瞬變數(shù)據(jù)的時(shí)間標(biāo)度為0.1 ms。實(shí)驗(yàn)發(fā)現(xiàn),,在開(kāi)通和關(guān)斷時(shí)柵極電壓和電流的波形隨著時(shí)間幾乎沒(méi)有變化,。集電極-發(fā)射極電壓特性在開(kāi)通時(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)。它添加了記憶單元,,并通過(guò)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í)通過(guò)高性能雙向高級(jí)擴(kuò)展總線(Advanced eXtensible Interface,,AXI)橋接實(shí)現(xiàn)高速寬帶的數(shù)據(jù)通信,。圖3為整個(gè)系統(tǒng)的硬件架構(gòu),ARM處理器作為系統(tǒng)總控制器控制硬件各個(gè)子模塊,;數(shù)據(jù)通過(guò)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首先通過(guò)兩個(gè)VDMA模塊從DDR內(nèi)存中并行讀取所需要的數(shù)據(jù),。其中包括LSTM的網(wǎng)絡(luò)權(quán)值以及輸入向量,,經(jīng)過(guò)內(nèi)積、定點(diǎn)數(shù)轉(zhuǎn)換,、激活函數(shù)等模塊后最終通過(guò)VDMA輸出結(jié)果向量,。根據(jù)LSTM網(wǎng)絡(luò)的計(jì)算邏輯,本設(shè)計(jì)還需要BRAM來(lái)存儲(chǔ)每個(gè)LSTM單元的單元狀態(tài)和輸出值,以供其他模塊使用,。
FPGA端通過(guò)中央互聯(lián)線中的系統(tǒng)總線GP,、HP、ACP接口訪問(wèn)DDR存儲(chǔ)器,,內(nèi)部結(jié)構(gòu)圖如圖4所示,,4個(gè)HP接口通過(guò)64 bit高帶寬數(shù)據(jù)通路與DDR存儲(chǔ)器連接,兩個(gè)GP接口通過(guò)32 bit低速通路與DDR存儲(chǔ)器連接,,而處理器與ACP接口在連接DDR存儲(chǔ)器之前要先經(jīng)過(guò)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)積過(guò)程與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)也要通過(guò)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的泰勒展開(kāi)式如下:
本文采用n=4的近似,,其中多項(xiàng)式近似逼近函數(shù)如下式:
3 系統(tǒng)測(cè)試與結(jié)果
本文使用了Xilinx公司的Vivado平臺(tái)進(jìn)行硬件開(kāi)發(fā)和測(cè)試,,并使用了旗下的 Zynq-7000系列開(kāi)發(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í)該開(kāi)發(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開(kāi)發(fā)板上的誤差率存在著一定差別,最高達(dá)到20%左右,。經(jīng)過(guò)計(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)上開(kāi)發(fā)板上的平均預(yù)測(cè)準(zhǔn)確率相比PC較低,,但在實(shí)際應(yīng)用中,可以滿足基本需求,。
系統(tǒng)上的硬件資源使用率如表1所示,,可以看到本文的加速器架構(gòu)DSP利用率較高,這是因?yàn)樵诩せ詈瘮?shù)中運(yùn)用到了大量的乘除法,。但是考慮到布局布線的時(shí)序要求,,通常不能使資源占用率過(guò)高,,否則會(huì)由于布線過(guò)長(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開(kāi)發(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),。通過(guò)在Zynq-7020開(kāi)發(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ó)興,,李亞?wèn)|,張磊,等.基于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)