《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測(cè)硬件系統(tǒng)設(shè)計(jì)
基于LSTM網(wǎng)絡(luò)的IGBT參數(shù)預(yù)測(cè)硬件系統(tǒng)設(shè)計(jì)
2019年電子技術(shù)應(yīng)用第10期
李淵博,楊 媛,張小濤
西安理工大學(xué) 電子工程系,陜西 西安710048
摘要: 對(duì)絕緣柵雙極型晶體管進(jìn)行參數(shù)預(yù)測(cè)可以有效地避免因其失效帶來的經(jīng)濟(jì)損失和安全問題。對(duì)絕緣柵雙極型晶體管參數(shù)進(jìn)行分析,設(shè)計(jì)了一個(gè)基于LSTM網(wǎng)絡(luò)的絕緣柵雙極型晶體管參數(shù)預(yù)測(cè)SoC硬件系統(tǒng)。該系統(tǒng)使用ARM處理器作為總控制器,控制各個(gè)子模塊的調(diào)用和數(shù)據(jù)的傳輸,F(xiàn)PGA內(nèi)通過對(duì)矩陣向量?jī)?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ù)測(cè)平均準(zhǔn)確率為92.6%,計(jì)算速度相比于CPU快了3.74倍,同時(shí)具有低功耗的特點(diǎn)。
中圖分類號(hào): TN386.2;TP368.1
文獻(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.
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ù)測(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è)。

rgzn2-t1.gif

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í)間序列。

rgzn2-t2.gif

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)和輸出值,以供其他模塊使用。

rgzn2-t3.gif

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

rgzn2-t4.gif

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相同。

rgzn2-t5.gif

    同樣地,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ù)操作。

rgzn2-t6.gif

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

     rgzn2-gs1-2.gif

    由上式可以發(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的泰勒展開式如下:

    rgzn2-gs3.gif

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

    rgzn2-gs4.gif

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)用中,可以滿足基本需求。

rgzn2-t7.gif

    系統(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í)提供了充分的利用空間。

rgzn2-b1.gif

    表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)用。

rgzn2-b2.gif

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)

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