当前位置:首页 > 天道酬勤 > 正文内容

硬件设计原理(双层lstm)

张世龙2021年12月21日 04:46天道酬勤1400

目前,随着计算机计算能力的迅速发展和集成电路相关产业的成熟,机器学习已经成为最热门的研究领域之一[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平台

1 IGBT参数分析

在训练RNN网络之前,需要分析IGBT的状态参数。 本文研究了美国国家航空航天研究中心进行的IGBT加速老化实验[10]。 实验使用单个IGBT加载宽带调制(Pulse Width Modulation,PWM )信号,直到出现锁定效应并损坏IGBT为止。 实验温度为330 ,占空比为40%,栅极电压为10 V,保护温度为345 ,开关频率为10 kHz。

实验包括418组瞬态数据。 各组的过渡数据包括10万个集电极-发射极电压数据。 各数据的间隔为1 ns,每个组的瞬时数据的时间刻度为0.1 ms。 实验表明,导通和截止时的栅极电压和电流波形几乎不随时间变化。 集电极-发射极间的电压特性在导通时也同样变化小,但截止时集电极-发射极间的过渡电压令人愉快的飞鸟的下降,如图1所示,显示出很强的负时间依赖性。 由此分析认为,某一时刻IGBT集电极发射极过渡电压愉快的飞鸟值与过去时刻的数据相关,因此本论文使用IGBT集电极发射极过渡电压愉快的飞鸟值进行了训练预测。

2 LSTM网络模型的硬件设计与实现

2.1 LSTM网络模型

系统中的网络模型采用长短期记忆网络模型Long Short-Term Memory,lstm][11],是对标准RNN网络的改进。 增加存储器单元,由输入门、遗忘门、输出门三个门控制。 LTM比通常的RNN模型更适合于时间序列的预测。 结合IGBT集发射极瞬态电压令人愉快的飞鸟的数据特征,本文对LSTM网络的输入和输出进行了一定的改进,网络模型如图2所示。 这里,It1是模型的输入,由12个集电极发射极过渡电压令人愉快的飞鸟真值it11-it 112组成,同样地,It2和It3分别为真值it12-it 113、it13-it 114。 模型的输出是Ot1,这是与真值It13对应的预测值,同样地,Ot2和Ot3是分别与真值It14和It15对应的预测值。 h1和h2分别是t1和t2时刻的神经元状态值。 因此,本网络模型的输入输出都是连续的时间序列。

2.2整体硬件体系结构

本文采用Xilinx公司的Zynq-7000 SoC平台,将双核ARM Cortex-A9处理器系统和FPGA一体化,两者既独立工作,又通过高性能双向高级扩展总线(高级扩展总线, 图3是系统整体的硬件架构,ARM处理器作为系统整体的控制器控制硬件的各子模块。 数据通过AXI总线传输[12]。 其中,Lite信道用于控制信号的传输,Stream信道负责计算数据的传输,AXI4是DDR存储器和FPGA之间的数据总线。 在FPGA中主要负责LSTM网络内部的各种数据计算。 FGA首先通过2个VDMA模块从DDR存储器中并行读取必要的数据。 其中包括LSTM的网络权重和输入向量,经过内积、固定点数转换、激活函数等模块,最终用VDMA输出结果向量。 本设计中,根据LSTM网络的计算逻辑,为了在其他模块中使用,还需要BRAM来记忆各LSTM单元的单元状态和输出值。

FGA端通过中央互联中的系统总线GP、HP、ACP接口访问DDR存储器,内部结构图如图4所示,4个HP接口通过64 bit的高带宽数据路径连接DDR存储器,2

与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、Wo3个权值矩阵也可以合并为一个矩阵。如图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的dhb展开式如下:

本文采用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] jmdyb,凶狠的楼房,愉快的百合,等.基于长短时记忆网络的人体姿态检测方法[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] 活泼的摩托,czdcc,WANG E X.基于改进的多层BLSTM的中文分词和标点预测[J].计算机应用,2018,38(5):1278-1282,1314.

[7] phdxlb,fddw,金菲.基于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.

作者信息:

大方的洋葱,xndmj,张小涛

(西安理工大学 电子工程系,陕西 西安710048)

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26094.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。