掌桥专利:专业的专利平台
掌桥专利
首页

一种用于LSTM网络的硬件加速器及LSTM模型

文献发布时间:2023-06-19 18:27:32


一种用于LSTM网络的硬件加速器及LSTM模型

技术领域

本发明涉及一种用于LSTM网络的硬件加速器及LSTM模型,属于计算机硬件加速技术领域。

背景技术

LSTM(Long Short-Term Memory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

电网事故分析及事故后预评系统由数据采集设备、数据服务器、专家分析系统以及用户应用组成。数据采集设备采集电网各类数据;数据服务器对采集的数据进行存储和处理,并通过专家分析系统采用创新设计跨专业的安全风险数据规范。提出基于LSTM的模型预测方法,建立事故评价指标体系及指标量化计算方法,深入分析各风险因素对电网事故、设备事故及人身事故的影响程度,并提出相应的相应处理意见汇总到处理知识库,然后用户应用可以在处理知识库中检索相关故障的处理方式以提高故障的处理效率,由于预测计算复杂且计算量大,电网事故分析及事故后预评的效率较低。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种用于LSTM网络的硬件加速器及用于电网事故分析及事故后预评的LSTM模型,能够极大的提高电网事故分析及事故后预评的效率,降低事故分析的时间。为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种用于LSTM网络的硬件加速器,包括:

串并联转换模块:用于对输入信息和上一时间步的输出信息进行串并转换,将多个16位定点数转换为多维向量;

Weight 模块:用于存储权值和非零权值的位置索引;

多路选择器:用于基于Weight 模块中的非零权值的位置信息,对串并联转换模块输出的多维向量进行筛选;

MVMs 模块:用于对Weight 模块的权值和多路选择器筛选的位置信息进行矩阵向量的乘法运算;

点乘法单元:用于MVMs 模块的输出进行激活函数和点乘运算。

结合第一方面,进一步地,还包括偏置模块,所述偏置模块用于存储偏置信息

结合第一方面,进一步地,所述MVMs 模块,包括

MVMs-G运算单元:用于进行门控单元组

MVMs-C 运算单元:用于进行候选记忆细胞单元组

加法器:用于将MVMs-G运算单元、MVMs-C 运算单元的运算结果和从偏置模块中读取的偏置信息进行求和。

结合第一方面,进一步地,所述MVMs-G运算单元和MVMs-C 运算单元的平行度关系,通过下式表示:

其中,

结合第一方面,进一步地,一个时钟周期内从Weight 模块中读取出的权值的数量为

每个非零权值被量化为 4bits 定点数,每个非零权值用额外的 4bits 内存来存储其位置信息,则带宽需求的公式如下所示:

输入的维度为160,而输出ℎ的维度为1024,由于GBC 压缩算法中,门控单元组的压缩率为1/16,候选记忆细胞单元组的压缩率为4/16,则权值矩阵压缩后的非零权值的数量

LSTM 网络的运算压缩率为64/7,存储器的深度需求D为:

在FPGA 中用BRAM 资源存储权值矩阵,而FPGA 所允许的最小单位0.5的BRAN 最大带宽为36bits,最大深度为210,最大内存为18Kb,则存储权值矩阵所需BRAM 的数量为:

结合第一方面,进一步地,所述多路选择器由多个MUX 单元组成,计算步骤为:

每16 个权值被划分为一组,每组门控单元的参数矩阵保留1 个非零权值,每组候选记忆细胞单元的参数矩阵保留4 个非零权值,第p组16 个输入信息(,0 ∼,15)中需要根据对应的一个遗忘门参数矩阵的非零权值信息(,0),通过 MUX 单元筛选出对应的位置的信息(-,0);

筛选出其他组门控单元和候选记忆细胞单元的非零权值对应的输入信息。

结合第一方面,进一步地,还包括:FIFO-C缓存单元,所述FIFO-C缓存单元与点乘法单元连接,存储候选记忆细胞单元组

第二方面,本发明提供了一种用于电网事故分析及事故后预评的LSTM模型,包括第一方面所述的用于LSTM网络的硬件加速器。

与现有技术相比,本发明实施例所提供的一种用于LSTM网络的硬件加速器及用于电网事故分析及事故后预评的LSTM模型所达到的有益效果包括:

本发明一种用于LSTM网络的硬件加速器包括:串并联转换模块:用于对输入信息和上一时间步的输出信息进行串并转换,将多个16位定点数转换为多维向量;Weight 模块:用于存储权值和非零权值的位置索引;多路选择器:用于基于Weight 模块中的非零权值的位置信息,对串并联转换模块输出的多维向量进行筛选;MVMs 模块:用于对Weight 模块的权值和多路选择器筛选的位置信息进行矩阵向量的乘法运算;点乘法单元:用于MVMs模块的输出进行激活函数和点乘运算。本发明根据不同矩阵压缩率的设置,调整MVMs模块的并行度,对Weight 模块的内存分配进行优化,有利于提高硬件的运算效率,能够极大的提高电网事故分析及事故后预评的效率,降低事故分析的时间。

附图说明

图1是本发明实施例一提供的一种用于LSTM网络的硬件加速器的结构示意图;

图2是本发明实施例一提供的一种用于LSTM网络的硬件加速器的流水线架构示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例一:

本发明实施例提供了一种用于LSTM网络的硬件加速器,包括:串并联转换模块、Weight 模块、多路选择器、MVMs 模块、点乘法单元、偏置模块、FIFO-C缓存单元。

如图1所示,串并联转换模块包括S-P-H 和 S-P-X,用于分别对输入信息

如图1所示,偏置模块用于存储偏置信息

由于候选记忆细胞组和门控单元组的压缩率不同,因此 MVMs-C和 MVMs-G 中执行乘法运算的次数不同,对平行度的匹配显得十分重要。门控单元组矩阵的压缩率为1/16,而候选记忆细胞单元组矩阵的压缩率为4/16,为了保证流水线架构的正常运行,MVMs-C中乘法器的数量应为 MVMs-G 的4倍,从而提高硬件效率,MVMs-G运算单元和MVMs-C 运算单元的平行度关系,通过下式表示:

其中,

Weight 模块用于存储权值和非零权值的位置索引,Weight 模块的内存带宽设计十分重要。

一个时钟周期内从Weight 模块中读取出的权值的数量为

每个非零权值被量化为 4bits 定点数,每个非零权值用额外的 4bits 内存来存储其位置信息,则带宽需求的公式如下所示:

输入

LSTM 网络的运算压缩率为64/7,存储器的深度需求D为:

在FPGA 中用BRAM 资源存储权值矩阵,而FPGA 所允许的最小单位0.5的BRAN 最大带宽为36bits,最大深度为210,最大内存为18Kb,则存储权值矩阵所需BRAM 的数量为:

多路选择器用于基于Weight 模块中的非零权值的位置信息,对串并联转换模块输出的多维向量进行筛选。

点乘法单元用于MVMs 模块的输出进行激活函数和点乘运算。

如图2所示为流水线架构的示意图,包括:

首先,输入信息

其次,从 Weight 模块中读取出非零权值的位置信息,串并转换模块输出的多维向量根据非零权值的位置信息在KMUX模块中啥选出对应位置的和

这些选定的信息和相应的非零权值被送入MVMs 模块中进行乘加运算。

最后,在点乘法单元中完成激活函数和点乘运算。

计算出的记忆细胞

多路选择器负责筛选出非零权值对应位置的输入信息。多路选择器由多个MUX 单元组成,计算步骤为:

每16 个权值被划分为一组,每组门控单元的参数矩阵保留1 个非零权值,每组候选记忆细胞单元的参数矩阵保留4 个非零权值,第p组16 个输入信息(

多路选择器筛选后在信息在MVMs 模块进行乘加运算。和ℎ表示输入信息和上一个时间步的输出信息

本实施例提出了一种用于LSTM网络的硬件加速器,根据不同矩阵压缩率的设置,调整矩阵向量乘法运算单元(MVM)的并行度,并提供合理的时序匹配等优化措施来提高硬件的运算效率。

实施例二:

本发明实施例提供了一种用于电网事故分析及事故后预评的LSTM模型,包括实施例一所述的用于LSTM网络的硬件加速器。

一种用于电网事故分析及事故后预评的LSTM模型的预测方法,建立事故评价指标体系及指标量化计算方法,深入分析各风险因素对电网事故、设备事故及人身事故的影响程度,并提出相应的相应处理意见汇总到处理知识库,然后用户应用可以在处理知识库中检索相关故障的处理方式以提高故障的处理效率。依托实施例一所提出的用于LSTM网络的硬件加速器,可以极大的提高电网事故分析及事故后预评的效率,降低事故分析的时间。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 用于LSTM网络的硬件加速器
  • 用于LSTM网络的硬件加速器
技术分类

06120115570872