文献标识码: A
DOI:10.16157/j.issn.0258-7998.190359
中文引用格式: 李渊博,杨媛,张小涛. 基于LSTM网络的IGBT参数预测硬件系统设计[J].电子技术应用,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 引言
如今,随着计算机计算能力的飞速发展以及集成电路相关产业不断成熟,机器学习已成为最热门的研究领域之一[1]。在机器学习模型中,人工神经网络凭借着其较高的预测精度而广泛地应用于机器学习的各个领域中。对于时间序列数据的学习和预测,循环神经网络(Recursive Neutral Network,RNN)[2]及其各种改进模型逐渐成为了一种普遍使用的方法[3-4]。但是目前应用RNN的硬件平台大多是通过大型服务器CPU[5-6]或者单片机[7]实现的,在一些条件苛刻的应用场合无法兼容高效与便携的特点以及低功耗的要求。近年来,ARM处理器和FPGA整合的片上系统(System On Chip,SoC)成为了嵌入式系统新的发展方向。SoC既保留了FPGA易于定制并且并行运算速度快的优点,还继承了ARM处理器高速低功耗的优势,实现了功能互补[8]。因此,可以使用SoC系统对RNN网络进行硬件加速以及低功耗设计。
本文针对在电力电子领域中有着广泛应用的绝缘栅双极型晶体管(Insulated Gate Bipolar Transistor,IGBT)[9]易失效以及使用寿命不确定的问题,利用RNN网络对IGBT的状态参数进行了预测,并在SoC平台上实现了网络模型的硬件化,从而设计出了一种用于RNN网络的硬件SoC系统,在准确率没有较大下降的基础上满足了IGBT参数预测系统高速、低功耗以及便携的应用要求。
1 IGBT参数分析
在对RNN网络进行训练之前,需要对IGBT的状态参数进行分析。本文对美国NASA PCoE研究中心所做的IGBT加速老化实验[10]进行了研究。实验使用单个 IGBT 加载宽脉调制(Pulse Width Modulation,PWM)信号,直至出现锁定效应,导致IGBT损坏为止。实验温度为330 ℃,占空比为40%,栅极电压为10 V,保护温度为345 ℃,开关频率为10 kHz。
实验中包含418组瞬态数据。每组瞬态数据包含十万个集电极-发射极电压数据。每个数据的间隔为1 ns,每组瞬变数据的时间标度为0.1 ms。实验发现,在开通和关断时栅极电压和电流的波形随着时间几乎没有变化。集电极-发射极电压特性在开通时同样变化较小,但在关断时集电极-发射极的瞬态电压尖峰的下降表现出了较强的负时间相关性,如图1所示。据此本文分析某一时刻IGBT的集电极-发射极瞬态电压尖峰值与历史时刻的数据具有相关性,因此本文采用IGBT的集电极-发射极瞬态电压尖峰值进行训练预测。
2 LSTM网络模型硬件设计与实现
2.1 LSTM网络模型
系统中的网络模型采用的是长短期记忆网络模型(Long Short-Term Memory,LSTM)[11],它是标准RNN网络的一种改进。它添加了记忆单元,并通过3个门进行控制,分别是输入门、遗忘门和输出门。LSTM相比于普通RNN模型更适合进行时间序列的预测。结合IGBT集-射极瞬态电压尖峰的数据特点,本文对LSTM网络的输入和输出进行了一定的改进,网络模型如图2所示。其中,It1为模型的输入,其是由12个集电极-发射极瞬态电压尖峰真实值It1-1~It1-12组成的, 同理It2和It3分别为真实值It1-2~It1-13、It1-3~It1-14,以此类推。模型的输出为Ot1,其是与真实值It13对应的预测值,同理Ot2和Ot3分别为与真实值It14和It15对应的预测值。h1和h2分别是t1与t2时刻的神经元状态值。因此,本网络模型的输入输出都是连续的时间序列。
2.2 总体硬件架构
本文采用的是Xilinx公司Zynq-7000 SoC平台,其集成双核ARM Cortex-A9处理器系统与FPGA为一体,两者可以独立工作的同时通过高性能双向高级扩展总线(Advanced eXtensible Interface,AXI)桥接实现高速宽带的数据通信。图3为整个系统的硬件架构,ARM处理器作为系统总控制器控制硬件各个子模块;数据通过AXI总线传输[12],其中Lite通道用于传输控制信号,Stream通道负责传输计算数据,AXI4是DDR存储器与FPGA之间的数据总线;而FPGA中主要负责LSTM网络内部的各种数据计算。FPGA首先通过两个VDMA模块从DDR内存中并行读取所需要的数据。其中包括LSTM的网络权值以及输入向量,经过内积、定点数转换、激活函数等模块后最终通过VDMA输出结果向量。根据LSTM网络的计算逻辑,本设计还需要BRAM来存储每个LSTM单元的单元状态和输出值,以供其他模块使用。
FPGA端通过中央互联线中的系统总线GP、HP、ACP接口访问DDR存储器,内部结构图如图4所示,4个HP接口通过64 bit高带宽数据通路与DDR存储器连接,两个GP接口通过32 bit低速通路与DDR存储器连接,而处理器与ACP接口在连接DDR存储器之前要先经过L2缓存,以提高数据传输速度。
2.3 矩阵向量内积算法优化
在整个SoC系统中,矩阵向量乘法是其计算核心部分,为了提高系统的计算速度,本文对其进行了算法优化。图5为遗忘门的权重矩阵wa与向量的内积原理图。细胞单元的数量为n,在t时刻每个细胞单元中的输入向量为Xt(Xt={x1,x2,…,xm})和前一个时间步的输出向量ht-1。因为不同的向量与它们对应矩阵之间的乘法是相互独立的,因此在计算时本文将Xt和ht-1合并成为一个长向量之后再与权重矩阵W进行计算。输入门和输出门的权重矩阵Wi与Wo的内积过程与Wa相同。
同样地,Wa、Wi、Wo 3个权值矩阵也可以合并为一个矩阵。如图6所示,因为LSTM模型中3个门的存在,因此矩阵和向量相乘后的结果将被分割为3个向量Veca、Veci、Veco,这3个向量将参与LSTM网络3个输入端后续的激活函数操作。
2.4 激活函数的实现
激活函数的作用是在神经网络中引入非线性因素,在LSTM单元中,输入端采用的激活函数是tanh,其数学形式如式(1)所示;另一个激活函数为sigmoid,数学形式如式(2)所示。同时LSTM单元在进行输出值处理时,其细胞状态也要通过tanh激活。
由上式可以发现这些运算都涉及了e的指数运算,即ex。但是ex函数在FPGA里直接调用IP核会占用大量的计算资源,而采用多项式近似方法会减小计算量,同时该方法误差较小,不影响神经网络的预测结果。ex在x=0的泰勒展开式如下:
本文采用n=4的近似,其中多项式近似逼近函数如下式:
3 系统测试与结果
本文使用了Xilinx公司的Vivado平台进行硬件开发和测试,并使用了旗下的 Zynq-7000系列开发板进行验证,芯片型号为xc7z020clg400-2,其中ARM Cortex-A9处理器的主频为667 MHz,FPGA的工作频率为100 MHz,DSP48E资源的数量为220个,同时该开发板体积小、重量轻,便于安置与携带。PC平台所使用的是Intel Core i5-8400处理器,主频为2.8 GHz,内存为8 GB。作为对比,以上两个实验平台均采用相同的LSTM神经网络结构及测试数据进行仿真验证。
实验结果如图7所示,其截取了所有预测结果中的100个典型的连续数据误差率,可以发现在PC平台和Zynq-7020开发板上的误差率存在着一定差别,最高达到20%左右。经过计算,最终在PC上的平均预测准确率为96%,SoC系统上的平均预测准确率为92.6%。之所以存在这种区别是因为FPGA中采用的是定点数,浮点数与定点数之间的转换存在截断误差,因此两者的计算结果会有一定的出入。虽然在SoC系统上开发板上的平均预测准确率相比PC较低,但在实际应用中,可以满足基本需求。
系统上的硬件资源使用率如表1所示,可以看到本文的加速器架构DSP利用率较高,这是因为在激活函数中运用到了大量的乘除法。但是考虑到布局布线的时序要求,通常不能使资源占用率过高,否则会由于布线过长导致时序难以收敛。同时LUTRAM和BRAM的利用率较低,这为之后需要用到更多的数据进行计算时提供了充分的利用空间。
表2是在两种平台下实现相同的结构和数据的计算时间与功耗对比,由数据可以看出当单次预测数据量为20时,在PC上的运行时间是1 021 μs,而在Zynq-7000开发板上的运行时间为273 μs,相比于PC加速了3.74倍。同时PC上的功耗达到了65 W,而在Zynq-7020平台上功耗只有2.175 W,只有前者的3.3%,满足嵌入式移动端的应用。
4 结论
本文先根据实验对IGBT功率模块的失效原因进行了分析,在确定了失效参数后选择了RNN网络中的LSTM模型并对其进行了改进,最后基于该LSTM模型设计了一个SoC硬件系统。使用ARM处理器作为系统总控制器,在FPGA内部对矩阵向量乘法进行了优化,提高了数据计算效率,利用幂级数近似定义了激活函数,最后使用AXI总线搭建了完整的系统。通过在Zynq-7020开发板上验证及对比,本文设计的SoC硬件系统在平均预测准确率为92.6%的情况下,运行速度是PC的 3.74倍,而功耗只有PC平台的3.3%。这在低功耗设计上有广阔的发展前景,同时也为IGBT功率模块的参数预测提供了一种新的方法。
参考文献
[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] 郑毅,李凤,张丽,等.基于长短时记忆网络的人体姿态检测方法[J].计算机应用,2018,38(6):1568-1574.
[4] 李洁,林永峰.基于多时间尺度RNN的时序数据预测[J].计算机应用与软件,2018,35(7):33-37,62.
[5] 张国兴,李亚东,张磊,等.基于SDZ-RNN的出租车出行目的地预测方法[J].计算机工程与应用,2018,54(6):143-149.
[6] 李雅昆,潘晴,WANG E X.基于改进的多层BLSTM的中文分词和标点预测[J].计算机应用,2018,38(5):1278-1282,1314.
[7] 刘艳萍,李杰,金菲.基于RNN的脉搏波血压计的研究与实现[J].电子技术应用,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.
作者信息:
李渊博,杨 媛,张小涛
(西安理工大学 电子工程系,陕西 西安710048)