一种LSTM神经网络的FPGA加速器及其加速方法技术

技术编号:37878864 阅读:27 留言:0更新日期:2023-06-15 21:07
本发明专利技术公开了一种LSTM神经网络的FPGA加速器及其加速方法,属于计算机硬件加速技术领域,包括计算单元、存储单元及控制单元;计算单元包括:密集矩阵向量乘法模块,用于权重矩阵与向量的列式点乘运算;非线性激活函数模块,用于线性函数的形式近似替代指数函数形式的sigmoid和tanh函数;Element_wise运算模块,用于计算当前时刻的细胞值c

【技术实现步骤摘要】
一种LSTM神经网络的FPGA加速器及其加速方法


[0001]本专利技术属于计算机硬件加速
,具体涉及一种LSTM神经网络的FPGA加速器及其加速方法。

技术介绍

[0002]RNN是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。LSTM是RNN的变体,LSTM从被设计之初就被用于解决一般递归神经网络中普遍存在的长期依赖问题,使用LSTM可以有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被忽略(遗忘)。与此同时,LSTM还可以解决RNN中的梯度消失/爆炸问题。
[0003]基于LSTM网络的特点,其运算过程属于计算密集型操作,用cpu等平台进行LSTM的运算能耗大,速度低。FPGA拥有丰富的DSP资源和很大的并行度,非常适合高速数据的实时采集。因此,FPGA是目前常用的硬件加速手段。
[0004]当流水线速度不够快,无法将当前时刻的数据带回下一个时间步时,系统就不能及时更新激励向量,导致密集矩阵向量乘法停止计算。由于在RNN/LSTM的传统MVM设计中,需要本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种LSTM神经网络的FPGA加速器,其特征在于,包括计算单元、存储单元及控制单元;所述计算单元包括:密集矩阵向量乘法模块,用于权重矩阵与向量的列式点乘运算;非线性激活函数模块,用于线性函数的形式近似替代指数函数形式的sigmoid和tanh函数;Element_wise运算模块,用于计算当前时刻的细胞值c
t
和输出值h
t
;所述存储单元用于缓存输入门、忘记门、输出门以及细胞门的值;所述控制单元用于发送控制信号,让FPGA加速器读取权重参数和激励向量,并完成数据传输和计算。2.如权利要求1所述的一种LSTM神经网络的FPGA加速器,其特征在于,所述计算单元,具体包括以下计算步骤:步骤S1:将上一时刻element

wise模块的输出h和当前时刻从上位机训练出来的权重参数x合并成密集矩阵向量乘法模块中的向量,并将经过...

【专利技术属性】
技术研发人员:朱一峰李阳坤
申请(专利权)人:长春理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1