CN114723032B - 一种长短期记忆神经网络硬件加速方法与计算系统 - Google Patents

一种长短期记忆神经网络硬件加速方法与计算系统 Download PDF

Info

Publication number
CN114723032B
CN114723032B CN202210618171.5A CN202210618171A CN114723032B CN 114723032 B CN114723032 B CN 114723032B CN 202210618171 A CN202210618171 A CN 202210618171A CN 114723032 B CN114723032 B CN 114723032B
Authority
CN
China
Prior art keywords
long
term memory
short term
neural network
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210618171.5A
Other languages
English (en)
Other versions
CN114723032A (zh
Inventor
周志远
陆金刚
沈强
方伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Xinsheng Electronic Technology Co Ltd
Original Assignee
Zhejiang Xinsheng Electronic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Xinsheng Electronic Technology Co Ltd filed Critical Zhejiang Xinsheng Electronic Technology Co Ltd
Priority to CN202210618171.5A priority Critical patent/CN114723032B/zh
Publication of CN114723032A publication Critical patent/CN114723032A/zh
Application granted granted Critical
Publication of CN114723032B publication Critical patent/CN114723032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

说明书公开一种长短期记忆神经网络硬件加速方法与执行此方法的计算系统,方法一开始先对长短期记忆神经网络参数进行量化,其中对输入长短期记忆神经网络的浮点数据进行浮点计算,得出输出的浮点数据,据此可执行量化,于长短期记忆神经网络内部进行定点计算,以输出定点数据。之后执行全连接计算,包括将长短期记忆神经网络中任一长短期记忆单元中的全连接层中的权重重新排列,合并同类项,以执行较少次全连接层计算,再使用一精简指令向量指令集计算特定非线性函数,经反复上述步骤后可完成长短期记忆神经网络的矩阵乘累加运算。

Description

一种长短期记忆神经网络硬件加速方法与计算系统
技术领域
本提案主要涉及神经网络的硬件设计,特别是指一种通过神经网络参数量化以及使用精简指令项量指令集等方式实作长短期记忆神经网络的硬件加速方法与计算系统。
背景技术
长短期记忆(Long-Short-Term Memory, LSTM)神经网络是一种循环神经网络(Recurrent Neural Network, RNN),长短期记忆神经网络引入长短期记忆单元(LSTMunit),通过各种闸门(gate)控制长短期记忆单元,调控长短期记忆单元输入(input)、输出(output)、遗忘(forget)与隐藏(hidden)状态,改善循环神经网络在长期记忆的不足,也就是解决了习知循环神经网络中存在的长期依赖问题。例如采用闸门信号来避免梯度消失和爆炸,同时增强了对过去信息的记录能力,现在被广泛的应用于神经语言规划(Neuro-Linguistic Programming, NLP)领域。一个长短期记忆神经网络的网络层是通过反复调用长短期记忆单元(LSTM unit)实现的。
所述长短期记忆单元内部结构图和计算表达式如以下描述,可参考图1显示的长短期记忆单元结构示意图,并配合参考方程式一的描述。根据图1显示的长短期记忆单元架构中,“it”为控制输入长短期记忆单元的闸门;“Ot”为控制长短期记忆单元输出的闸门;以“Xt”表示当前时刻输入至长短期记忆单元的输入向量(input vector);“ht”表示在一时间的隐藏层(hidden layer)的输出向量(output vector);“ht-1”代表上一时刻的隐藏层的输出向量,与“Xt”一并成为此时长短期记忆单元的输入向量,此例显示用于其中全连接层100(此例一个单元有8个全连接层)计算的输入向量;“Wx”代表与当前时刻输入向量相对应的输入层权重矩阵(input layer weight array);“Wh”代表与上一时刻隐藏层输出相对应的隐藏层权重矩阵(hidden layer weight array);“Ct”表示在一时间的一种单元状态(cellstate);方程式一中“w”表示各种参数权重。
图中“Ct-1”到“Ct”表示记忆的信息从一个长短期记忆单元带入下一个长短期记忆单元,中间有闸门(gate)调控,用以决定要抛弃的信息,并且过程中由激励函式“tanh”调控要输出的信息,其中是算出一个向量以决定有多少信息要传送到下一个长短期记忆单元;另有一个“ft”函式,用于决定遗忘的信息。如此,“ht”和“Ct”作为下一个长短期记忆单元的输入,以及“ht”又是长短期记忆单元的输出。
方程式一:
Figure 100002_DEST_PATH_IMAGE001
如此,可以看到长短期记忆(LSTM)神经网络计算中存在以下特点与缺失:
(1)计算存在依赖性,“ht”和“Ct”的计算依赖上一个“ht-1”和“Ct-1”的数据,无法进行不同时刻的并行计算。
(2)参数量大,一个长短期记忆单元内部是8个不同的权重以及4个偏置,假设输入输出维度都是128,参数量大小是8x128x128x2B(int16)=256 KB,相当于8个全连接层(fully-connected layer)的参数量,对带宽要求较高。
(3)计算量大,一个长短期记忆神经网络包含上百个长短期记忆单元,假设100个,内部矩阵计算过程和全连接层一样,因此做一次长短期记忆神经网络的计算相当于做800次全连接层计算,对计算资源的需求较高。
(4)内部4个闸门(gate)电路使用的非线性函数计算时间长。四个闸门电路分别是遗忘闸门“f”,输入闸门“i”,更新闸门“c”以及输出闸门“o”。 长短期记忆单元中使用2个函数分别是sigmoid(S型函数)和tanh(激励函数)。
全连接层的计算可参考图2显示的全连接层计算示意图,图中显示范例假设全连接层有m个输入(x1, x2, x3, …xm)以及n个输出(y1, y2, y3, …yn),所有输入输出点之间的连线有m*n条,就是m*n个权重。每一个输出计算公式如方程式二,其中“wkn”表示第k个输入和第n个输出之间的权重。
方程式二:
Figure DEST_PATH_IMAGE002
针对加速长短期记忆神经网络演算的习知技术中,如中国专利申请案CN108805273A所揭露的一种长短期记忆神经网络中闸门单元加速运算的硬件实现电路,其设计要点是采用8个MAC计算单元对矩阵乘累加运算进行并行计算,可以是4个时刻并行也可以是4个闸门电路并行,同时用用分段函数查找表的方式实现非线性函数。然而,此习知技术的设计的主要缺点是隐藏层无法实现4个时刻并行,因为“ht”和“Ct”的计算依赖上一个“ht-1”和“Ct-1”的数据,同时采用查找表的方式对于计算精度有一定的损失。
在另一中国专利申请案CN113191494A所揭露的一种基于现场可程序化逻辑门阵列(FPGA)的高效长短期记忆神经网络加速器,其设计要点是采用将参数“h”和“x”合并成一个一维向量,用4*N个数字信号处理器 (DSP)进行4个闸门电路的并行计算。其中将权重数据存储到区块内存(BRAM)中,通过分层与多块存储策略可以有效减少数据交换的时间;非线性函数采用时分复用的方式,减小硬件资源消耗。同时对不同的线性函数输入值区间进行不同低位宽的定点量化。然而,在此习知技术中,其设计的主要缺点是全连接层是单独设计的,数字信号处理器只用于计算长短期记忆层中的矩阵乘累加运算,通用性不强。
发明内容
有鉴于习知长短期记忆神经网络(LSTM)计算方法的缺失,说明书公开一种长短期记忆神经网络硬件加速方法与执行此方法的计算系统,计算系统为一具有处理电路、内存与相关软硬件实作的计算机系统。
根据实施方式,所述方法应用的长短期记忆神经网络由多个长短期记忆单元组成,方法一开始先对长短期记忆神经网络参数进行量化,其中包括先针对输入长短期记忆神经网络的浮点数据进行浮点计算,得出输出的浮点数据,即可对输入的浮点数据与输出的浮点数据进行量化,以将浮点计算转为定点计算,并接着于长短期记忆神经网络内部进行定点计算,以输出定点数据。
接着执行全连接计算,其中将长短期记忆神经网络中任一长短期记忆单元中的全连接层中的权重重新排列,合并同类项,以执行较少次全连接层计算,再于长短期记忆单元中使用一精简指令向量指令集计算sigmoid(S型函数)和tanh(激励函数)两个非线性函数。之后,经反复上述步骤后可完成长短期记忆神经网络的矩阵乘累加运算。
进一步地,所述量化输入的浮点数据与输出的浮点数据为一8位整数量化过程;并且长短期记忆神经网络训练好的模型通过量化转换成低精度数据,可有效提升模型计算速度。
进一步地,所述合并同类项后可执行合并全连接计算,其中将所述2个全连接层进行加法操作,过程中还需要进行4次移位操作完成量化系数对齐。
所述的精简指令向量指令集支持一个32组128位的寄存器,并且多个寄存器中的数据通过同一个指令并发计算,以提升计算速度。
并且,于计算所述S型函数和激励函数时,以指数函数泰勒展开式表示,经选取有限的几项进行计算以近似得到指数函数的结果。
进一步地,在此系统中,单气压计装置可通过电子装置联机一外部系统。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
图1显示长短期记忆单元结构示意图;
图2显示全连接层计算示意图;
图3显示硬件加速实现方法中的三个阶段的实施例流程图;
图4显示量化长短期记忆神经网络的参数的架构示意图;
图5显示量化长短期记忆神经网络的参数的实施例流程图;
图6显示以硬件加速器实现2次全连接的计算实施例图;
图7显示以硬件加速器实现2次全连接的计算实施例流程图;
图8显示系统执行精简指令向量指令集的寄存器实施例图;以及
图9则是显示以精简指令向量指令集计算非线性函数的实施例流程图。
具体实施方式
有鉴于长短期记忆神经网络硬件加速的需求,揭露书提出一种长短期记忆神经网络硬件加速方法与执行此方法的计算系统,计算系统可以是具有处理电路、内存与相关软硬件实作的计算机系统、内嵌式系统或是单芯片系统,能够针对参数量大的问题,把浮点数量化为8位定点数后进行计算,减少参数量;又针对计算量大的问题,兼顾面积和速度;以及能够充分利用硬核加速器已有的全连接层单元实现长短期记忆神经网络的矩阵乘累加运算,减少冗余设计,提高设计通用性。其中特别的是,针对非线性函数计算,采用一种精简指令向量指令集(RISC-V vector,RISC: reduced instruction set computer)计算方法,可有效减少计算时间。
根据揭露书提出的长短期记忆神经网络硬件加速方法的实施例,长短期记忆神经网络由多个长短期记忆单元(LSTM unit)组成,其中实作硬件加速实现方法的流程可区分为三个阶段,如图3显示,第一阶段是对网络参数进行量化(S31),第二阶段是使用揭露书提出的计算系统实作长短期记忆神经网络硬件加速器,其中执行两次全连接计算(S33),第三阶段是使用精简指令向量指令集计算非线性函数(S35)。由于时间维度上计算存在依赖性,长短期记忆神经网络层就是在长短期记忆单元基础上不停的调用第二阶段(S33)和第三阶段(S35),直到完成所有运算。图3显示的长短期记忆单元的三阶段计算流程如以下实施例所描述。
图3显示的第一阶段(S31) 为量化长短期记忆神经网络的参数,实现量化长短期记忆神经网络的参数的架构示意图可参考图4,而方法流程可参考图5显示的流程实施例。
在量化长短期记忆神经网络的参数的流程中,先运行浮点计算(floating-pointoperation)(步骤S501),如图4显示的浮点计算区41,对输入的浮点数据进行浮点计算,得出输出的浮点数据,之后根据输入长短期记忆神经网络400的浮点数据401和输出的浮点数据402进行神经网络量化的计算(步骤S503)。如此执行模型量化是一种将浮点计算转成低比特定点计算的过程,可以有效的降低模型计算需求,例如实作8位整数(8-bit integer)量化(int8量化)。
在此一提的是,在神经网络深度学习训练模型的演算过程,模型的权重(如图2显示输入层与输出层中间m*n个权重)一般为单精度浮点格式(single-precision floating-point format,FP32)的数据类型,可表示为binary32格式。因此,在实际应用上,可以将训练好的模型(包括权重)通过量化(quantization)转换成低精度数据,可提升模型计算速度,硬件的需求也降低。
举例来说,采用训练后对称量化算法,可把浮点数据量化到-128到127,计算出输入的浮点数据与输出的浮点数据的量化系数“fl”,“fl”计算公式如方程式三(量化系数方程式):
Figure 100002_DEST_PATH_IMAGE003
方程式三中浮点数“T”动态范围选取分为2种:对于权重数据,因为比较均匀,直接采取一最大值与一最小值作为范围;对于输入的浮点数据与输出的浮点数据,可能存在不均匀的情况,采用KL(Kullback-Leibler)距离(KL divergence)最小方法求“T”,因此可以通过方程式三算出量化系数“fl”,完成神经网络量化的计算。然后运行定点计算(fixed-point operation)(步骤S505),如图4显示的定点计算区42,根据计算出来的“fl”和定点数据就可以在长短期记忆神经网络400内部进行定点计算,即输入经过量化的定点数据与量化系数(fli, flwx, flwh, flb)403,经长短期记忆神经网络400输出定点数据与量化系数(flo)404。其中“fl”是量化系数,后缀(suffix)“i”是输入数据(对应上述输入闸门”i”),“w”是权重,“b”是偏置,“o”是输出数据(对应上述输出闸门“o”)。
图6接着显示图3中第二阶段(S33) 硬件加速器实现2次全连接的计算实施例图,其中计算可参考图7显示的流程实施例。
根据长短期记忆单元的计算公式以及全连接层的计算公式,长短期记忆单元内部的矩阵运算和全连接层的运算是一样的。图6显示一共出现了8次全连接计算,就是图中的连线算式1到算式8的计算,其中序号表示长短期记忆单元计算公式中的计算顺序。参考图7显示的流程,先执行全连接层计算(步骤S701),在全连接层计算过程中,计算完算式2之后把算式1的结果和算式2的结果相加,再输入至遗忘闸门“f”;计算完算式4之后,把算式3的结果和算式4的结果相加输入至输入闸门“i”;计算完算式6之后把算式5的结果和算式6的结果相加,再输入至更新闸门“c”;计算完算式8之后把算式7的结果和算式8的结果相加,再输入至输出闸门“o”。以上计算步骤可以用方程式四表示,其中4个公式表示相加过程。
方程式四:
Figure 100002_DEST_PATH_IMAGE004
根据全连接层的计算公式,长短期记忆神经网络内部的多个全连接层(此例为8个全连接层)的每一个输出计算公式如方程式五,其中“xt”输入维度“m”, “ht-1”输入维度“n”,输出维度都是“n”。
方程式五:
Figure DEST_PATH_IMAGE005
观察公式可以发现输入“xt”和“ht-1”是不变的,可以合并成2个计算公式,其中输出维度变成4n,“wx”表示“wxf”和“wxi”和“wxc”和“wxo”组合成一个,“wh”表示“whf”和“whi”和“whc”和“who”组合成一个,可以方程式六表示。
方程式六:
Figure DEST_PATH_IMAGE006
因此重新排列全连接层(可参考图2)权重数据,包括合并同类项(步骤S703),例如将“wxf”、“wxi”、“wxc”以及“wxo”合并为“wx”,以及将“whf”、“whi”、“whc”以及“who”合并为“wh”,之后将“xt”和“wx”做第一次全连接计算,“ht-1”和“wh”再做第二次全连接计算。经过合并之后可以将原先多次(此例显示为8次)全连接计算可以合并为较少次(此例显示2次)的全连接计算。和原来相比,相当于4个闸门电路的矩阵运算做了合并同类项,既减少了冗余模块设计,又有一定的效率。
根据第一阶段(S31)量化过程可以知道“xt”和“ht-1”的量化系数“fl”是不一样的,根据“ht”的计算公式知道“ht”范围是-1到1,所以“ht”的fl=7。“xt”是长短期记忆神经网络的输入,因此需要根据实际计算结果确定量化系数“fl”。因为会对8个权重进行分成2组,所以将权重进行了分组量化为“flwx”和“flwh” (步骤S705),分别量化输入向量x和隐藏层向量h,这样做可以细化权重之间的差异,提高量化计算结果的精度。量化完成后无法将“ht”和“ht-1”合并到一起做一次全连接计算,即替代8次全连接计算。之后执行合并全连接计算(步骤S707),如将2个全连接层进行加法操作,过程中需要进行4次移位(flh - flx + flwh- flwx)操作完成量化系数对齐。相加过程计算公式变化如方程式七。
方程式七:
Figure DEST_PATH_IMAGE007
图8显示系统执行精简指令向量指令集的寄存器实施例图,图9则是显示图3中第三阶段(S35)以精简指令向量指令集计算非线性函数的流程。
根据以上实施例描述,先取得在长短期记忆单元运行中的sigmoid(S型函数)和tanh(激励函数)等2个非线性函数(步骤S901),如方程式八:
Figure DEST_PATH_IMAGE008
这两个非线性函数直接硬件做会消耗大量的硬件资源,为了节省面积,提高电路的运算效率,在揭露书提出的长短期记忆神经网络硬件加速方法中,采用以精简指令向量指令集计算非线性函数。
如图8所示,精简指令向量指令集支持一个32组128位(128bit*32)的寄存器80,每个128位寄存器可以表达成16x8(数据类型一801)、8x16(数据类型二802)、4x32(数据类型三803)以及2x16(数据类型四804)的数据类型,支持多个寄存器80中的数据通过同一个指令并发计算,以提升计算速度。精简指令向量指令集中没有直接的指令实现上述sigmoid(S型函数)和tanh(激励函数)等两个函数,但是这两个函数都只是对指数函数 (exponentialfunction)做了简单的处理,指数函数泰勒展开式(Taylor expansion)如方程式九所示。
方程式九:
Figure DEST_PATH_IMAGE009
为了提高运算速度的同时保证精度,可选取有限的几项(如前10项)进行计算就可以近似得到指数函数的结果(步骤S903),因此可直接使用精简指令向量指令集中现有的乘法和加法指令就可以计算指数函数(步骤S905),之后就完成计算sigmoid(S型函数)和tanh(激励函数)等函数,最后得出结果(步骤S907)。
根据以上方法,经反复对神经网络参数进行量化(S31)、使用硬件加速器实现两次全连接计算(S33)以及使用精简指令向量指令集计算非线性函数(S35),实现长短期记忆(LSTM)神经网络加速计算的目的。
综上所述,根据以上实施例所描述的长短期记忆神经网络硬件加速方法以及应用此方法的系统,可知在实现长短期记忆神经网络硬件加速的过程中,采用int8量化以充分减少神经网络参数量,同时对长短期记忆神经网络内部的矩阵运算和非线性函数运算进行了切割,利用现有全连接层计算单元对矩阵运算进行了合并优化,减少了带宽需求,亦同时减小神经网络各层之间的数据交互,并利用精简指令向量指令集对非线性函数进行了并行加速计算。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的申请专利范围,所以凡是运用本发明说明书及图式内容所做的等效技术变化,均包含于本发明的申请专利范围内。

Claims (7)

1.一种长短期记忆神经网络硬件加速方法,其中该长短期记忆神经网络由多个长短期记忆单元组成,其特征在于所述的方法包括:
a.对该长短期记忆神经网络参数进行量化,其中量化的数据包括输入的浮点数据和输出的浮点数据,以及长短期记忆神经网络训练完成后的权重数据,而量化所述输入的浮点数据与输出的浮点数据为一8位整数量化过程,包括先针对输入该长短期记忆神经网络的浮点数据进行浮点计算,得出输出的浮点数据,对该输入的浮点数据与该输出的浮点数据进行量化,以将浮点计算转为定点计算,并接着于该长短期记忆神经网络内部进行定点计算,以输出定点数据;
b.执行全连接计算,其中将该长短期记忆神经网络中任一长短期记忆单元中的全连接层中的权重重新排列,执行合并全连接计算,其中将2个全连接层进行加法操作,以执行较少次全连接层计算;
c.于该长短期记忆单元中使用一支持一个32组128位的寄存器的精简指令向量指令集计算一S型函数以及一激励函数两个非线性函数,多个寄存器中的数据通过同一个精简指令向量指令集的指令并发计算;以及
经执行步骤a至c后完成该长短期记忆神经网络中一个长短期记忆单元的计算,所述一个长短期记忆单元的计算包括矩阵乘累加和非线性函数。
2.如权利要求1所述的长短期记忆神经网络硬件加速方法,其特征在于将所述的长短期记忆神经网络训练好的模型通过量化转换成低精度数据,提升模型计算速度。
3.如权利要求2所述的长短期记忆神经网络硬件加速方法,其特征在于,于所述量化计算中,计算所述输入的浮点数据与输出的浮点数据的一量化系数方程式为:
Figure DEST_PATH_IMAGE001
其中,其中“fl”为量化系数,其中浮点数选取“T”动态范围的方法包括:对于权重数据,采取一最大值与一最小值作为“T”动态范围;对于所述输入的浮点数据与输出的浮点数据,采用一KL距离最小方法以得出“T”动态范围,以通过该量化系数方程式算出该量化系数“fl”。
4.如权利要求1所述的长短期记忆神经网络硬件加速方法,其特征在于所述的长短期记忆神经网络内部包括多个全连接层,每一个全连接层的输出计算公式为:
Figure DEST_PATH_IMAGE003
其中“xt”是全连接层的输入向量,全连接层的输入维度是“m”,“y”是全连接层的输出向量,全连接层的输出维度是“n”,“w”是权重,“ht-1”表示上一时刻隐藏层的输出向量,输出维度是“n”,其中包括遗忘闸门“f”、输入闸门“i”、更新闸门“c”以及输出闸门“o”。
5.如权利要求4所述的长短期记忆神经网络硬件加速方法,其特征在于,经权重重新排列以及合并同类项,得出经合并成为较少次全连接层的方程式:
Figure DEST_PATH_IMAGE004
其中“xt”是全连接层的输入向量,全连接层的输入维度是“m”, “y”是全连接层的输出向量,全连接层的输出维度是“n”,“w”是权重,“ht-1”表示上一时刻隐藏层的输出向量,输出维度是“n”,将“wxf”、“wxi”、“wxc”以及“wxo”合并为“wx”,以及将“whf”、“whi”、“whc”以及“who”合并为“wh”,之后将“xt”和“wx”做第一次全连接计算,“ht-1”和“wh”再做第二次全连接计算。
6.如权利要求1所述的长短期记忆神经网络硬件加速方法,其特征在于,于计算该S型函数和该激励函数时,以指数函数泰勒展开式表示,经选取有限的几项进行计算以近似得到指数函数的结果。
7.一种执行如权利要求1所述的长短期记忆神经网络硬件加速方法的计算系统,其特征在于所述的计算系统为一具有处理电路、内存与相关软硬件实作的计算机系统。
CN202210618171.5A 2022-06-02 2022-06-02 一种长短期记忆神经网络硬件加速方法与计算系统 Active CN114723032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210618171.5A CN114723032B (zh) 2022-06-02 2022-06-02 一种长短期记忆神经网络硬件加速方法与计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210618171.5A CN114723032B (zh) 2022-06-02 2022-06-02 一种长短期记忆神经网络硬件加速方法与计算系统

Publications (2)

Publication Number Publication Date
CN114723032A CN114723032A (zh) 2022-07-08
CN114723032B true CN114723032B (zh) 2022-09-30

Family

ID=82232876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210618171.5A Active CN114723032B (zh) 2022-06-02 2022-06-02 一种长短期记忆神经网络硬件加速方法与计算系统

Country Status (1)

Country Link
CN (1) CN114723032B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233661A (zh) * 2019-04-28 2019-09-13 国网安徽省电力有限公司信息通信分公司 长短期记忆神经网络训练方法,信道参数调整系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009634B (zh) * 2017-12-21 2021-05-25 美的集团股份有限公司 一种卷积神经网络的优化方法、装置及计算机存储介质
US20190205736A1 (en) * 2017-12-29 2019-07-04 Intel Corporation Compute optimization mechanism for deep neural networks
CN109344966A (zh) * 2018-07-26 2019-02-15 广东工业大学 一种高效张量化全连接神经网络的方法
CN109165736B (zh) * 2018-08-08 2023-12-12 北京字节跳动网络技术有限公司 应用于卷积神经网络的信息处理方法和装置
US11977388B2 (en) * 2019-02-21 2024-05-07 Nvidia Corporation Quantizing autoencoders in a neural network
KR20210045225A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 뉴럴 네트워크에서 연산을 수행하는 방법 및 장치
US11823054B2 (en) * 2020-02-20 2023-11-21 International Business Machines Corporation Learned step size quantization
US20210166114A1 (en) * 2021-02-10 2021-06-03 Intel Corporation Techniques for Accelerating Neural Networks
CN114418062A (zh) * 2021-12-25 2022-04-29 山东云海国创云计算装备产业创新中心有限公司 深度卷积神经网络量化的方法、系统、设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233661A (zh) * 2019-04-28 2019-09-13 国网安徽省电力有限公司信息通信分公司 长短期记忆神经网络训练方法,信道参数调整系统及方法

Also Published As

Publication number Publication date
CN114723032A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
US20210357735A1 (en) Split accumulator for convolutional neural network accelerator
CN107609641A (zh) 稀疏神经网络架构及其实现方法
KR102396447B1 (ko) 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치
US10776078B1 (en) Multimodal multiplier systems and methods
CN110851779B (zh) 用于稀疏矩阵运算的脉动阵列架构
CN110580519B (zh) 一种卷积运算装置及其方法
CN114723032B (zh) 一种长短期记忆神经网络硬件加速方法与计算系统
US20230083597A1 (en) Configurable nonlinear activation function circuits
CN111882050A (zh) 基于fpga的用于提高bcpnn速度的设计方法
JP2760170B2 (ja) 学習機械
Lu et al. A reconfigurable DNN training accelerator on FPGA
CN111988031B (zh) 一种忆阻存内矢量矩阵运算器及运算方法
Neda et al. Multi-precision deep neural network acceleration on fpgas
Gao et al. FPGA-based accelerator for independently recurrent neural network
US20220244911A1 (en) Digital circuitry for normalization functions
US20220075598A1 (en) Systems and Methods for Numerical Precision in Digital Multiplier Circuitry
Ni et al. LBFP: Logarithmic block floating point arithmetic for deep neural networks
Ayhan et al. Approximate fully connected neural network generation
Su et al. Processing element architecture design for deep reinforcement learning with flexible block floating point exploiting signal statistics
CN113672196A (zh) 一种基于单数字信号处理单元的双乘法计算装置和方法
JP7044160B2 (ja) 学習装置、学習回路、学習方法および学習プログラム
Hojabr et al. Taxonn: A light-weight accelerator for deep neural network training
Wang et al. An FPGA-based reconfigurable CNN training accelerator using decomposable Winograd
Varma et al. Design a low-latency novel fpga based signed multiplier for communication applications
CN221200385U (zh) 粗粒度可重构浮点处理单元和网格型浮点cgra

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant