CN110879697A - 一种近似计算tanh函数的装置 - Google Patents

一种近似计算tanh函数的装置 Download PDF

Info

Publication number
CN110879697A
CN110879697A CN201911034169.8A CN201911034169A CN110879697A CN 110879697 A CN110879697 A CN 110879697A CN 201911034169 A CN201911034169 A CN 201911034169A CN 110879697 A CN110879697 A CN 110879697A
Authority
CN
China
Prior art keywords
unit
value
input
complement
output
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.)
Granted
Application number
CN201911034169.8A
Other languages
English (en)
Other versions
CN110879697B (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201911034169.8A priority Critical patent/CN110879697B/zh
Publication of CN110879697A publication Critical patent/CN110879697A/zh
Application granted granted Critical
Publication of CN110879697B publication Critical patent/CN110879697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • 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

Abstract

本发明公开了一种近似计算tanh函数的装置,包括输入补码选择单元、常数乘法单元、移位单元、特殊值产生单元、加法单元和输出补码选择单元。输入补码选择单元将输入自变量x映射到正数区间输出,常数乘法单元计算2.875×x的整数部分k与小数部分
Figure DDA0002250974420000011
特殊值产生单元产生
Figure DDA0002250974420000012
的近似值,移位单元得到
Figure DDA0002250974420000013
的两个部分值,加法单元计算Ω(k)与两个移位结果的和或差,输出补码选择单元将加法单元的结果转换到x对应的正数或负数区间输出。本发明的装置能实现近似计算tanh函数,在保持较高精度的同时,极大地降低了硬件架构的功耗、面积以及延时开销。

Description

一种近似计算tanh函数的装置
技术领域
本发明涉及超大规模集成电路设计领域,尤其涉及一种高速、高精度的计算tanh函数硬件装置。
背景技术
近年来,深度学习已成为解决图像识别、自然语言处理、自动驾驶等领域复杂问题的关键工具。而设计基于硬件的深度神经网络时,激活函数的实现成为了一大挑战。激活函数作为深度神经网络中的基本构件,由于其非线性的特点,在硬件中很难在进行高速计算的同时保持较理想的拟合精度。
Tanh函数是常见的一种激活函数,其取值范围为(-1,1),均值为0,因此在特征相差明显的情况下效果很好,相比较于sigmoid函数其应用更为广泛。基于分段线性拟合的近似方法是目前在FPGA或VLSI中常用的tanh函数实现方法。然而这类方法为了维持理想的拟合精度,需要较多的硬件资源开销,例如需要使用大量查找表(Look_up Table)来存储分段函数的参数以及大量乘法器用于计算段内的函数值。这类近似tanh函数计算的硬件实现架构,不仅面积与功耗较高,计算的延时也不够理想。
发明内容
本发明旨在提供一种针对高精度的tanh函数近似计算的硬件装置,实现计算精度高且计算延时更低、功耗更少、面积更小的目的。
本发明的主要技术方案为:
一种近似计算tanh函数的装置,包括输入补码选择单元、常数乘法单元、移位单元、特殊值产生单元、加法单元和输出补码选择单元;所述输入补码选择单元,用于在自变量x<0时,将x变换到正数区间并输入至常数乘法单元,其中自变量x取值范围为(-4,4);所述常数乘法单元,用于计算输入补码选择单元的输出值与2.875的乘积的整数部分k值与小数部分
Figure BDA0002250974400000011
值,并将k值输入特殊值产生单元和移位单元,将
Figure BDA0002250974400000012
值和输入补码选择单元的输出值输入移位单元;所述特殊值产生单元,用于根据输入的k值产生
Figure BDA0002250974400000013
的近似值;所述移位单元,用于根据输入的k值将输入补码选择单元的输出值或常数乘法单元计算得到的
Figure BDA0002250974400000014
值进行两次移位得到
Figure BDA0002250974400000015
的两个部分值,移位系数分别为β1(k)=2-m1(k)和β2(k)=2-m2(k),被移位数分别为α1和α2,两次移位的两个结果β1(k)×α1和β2(k)×α2分别表示将α1向右移m1(k)位和将α2向右移m2(k)位的结果,若k值为0,则被移位数α1和α2均为输入的输入补码选择单元的输出值;若k值为1,则被移位数α1和α2分别为输入的
Figure BDA0002250974400000021
值和输入补码选择单元的输出值;若k为其他值,则被移位数α1和α2均为输入的
Figure BDA0002250974400000022
值,移位单元将两个移位结果以及减法判断标志同时输出给加法单元;所述加法单元,用于计算(β1(k)×α1)+(β2(k)×α2)+Ω(k)的值或者(β1(k)×α1)-(β2(k)×α2)+Ω(k)的值,得到tanh(x)或tanh(-x)的近似值,并输出给输出补码选择单元;所述输出补码选择单元,用于根据自变量x的符号位输出计算结果,在自变量x<0时,将tanh(-x)变换到负数区间输出。
进一步地,所述输入补码选择单元对自变量x的符号位进行判断:如果x是正数,则直接把自变量x的原码作为输出值输入至常数乘法单元;如果x是负数,则通过半加器阵列计算自变量x取反后加1的补码结果,然后将补码代替原码作为输出值输入至常数乘法单元。
进一步地,所述常数乘法单元通过计算二进制乘法10.111×x的值来计算乘积:将二进制乘法中(10×x)+(0.1×x)+(0.01×x)+(0.001×x)的运算过程,转换为(10×x)+(1×x)-(0.001×x)的运算。
进一步地,所述特殊值产生单元中,Ω(k)的二进制表示为如下公式:
Figure BDA0002250974400000023
该公式中的小数部分高位为k-1个1,随后k个0和k个1循环出现;对于Ω(k)小数中的每一比特位,列出其与4bit的k的逻辑真值表,用卡诺图化简法得到逻辑函数表达式,将每一比特位的逻辑函数表达式直接映射为组合逻辑得到Ω(k)的二进制表示中对应比特位的值。
进一步地,所述加法单元包括全加器阵列构成的进位保留加法器,首先将(β1(k)×α1)、(β2(k)×α2)和Ω(k)作为第一级全加器的三个输入计算得出每一位的和以及进位,第二级全加器的输入为第一级全加器低一位的进位、第一级全加器当前位的和以及第二级全加器低一位的进位,第二级全加器输出的和即为加法单元的输出值;其中,第二级全加器中最低位全加器输入的两个进位具体值根据减法判断标志进行选择,即判断两个移位结果(β1(k)×α1)和(β2(k)×α2)之间是计算加法还是减法,如果计算加法,则两个进位都为0;如果计算减法,则其中一个进位为1,另一个进位为0。
进一步地,如果自变量x是正数,所述输出补码选择单元直接把加法单元的结果加上符号位作为tanh(x)计算结果输出;如果自变量x是负数,则所述输出补码选择单元把加法单元的结果的补码加上符号位作为-tanh(-x)计算结果输出。
本发明提供了一种创新地计算tanh函数的装置,利用tanh函数在输入自变量
Figure BDA0002250974400000031
Figure BDA0002250974400000032
时函数值的特殊性,使用组合逻辑映射、移位近似运算和进位保留加法,避免了大量查找表、乘法器和普通加法器资源的消耗,从而在保持拟合计算结果精度较理想的条件下计算速度更快、硬件占用面积更小、功耗更低,能够更加符合目前深度神经网络的硬件设计趋势,更加适用于实时性高的嵌入式设备等应用场景。
附图说明
图1是本发明装置的架构图。
图2是输入补码选择单元中补码计算阵列的示意图。
图3是常数乘法单元内进位保留加法器的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明方案作进一步详细的说明。
本实施例采用如下公式对tanh函数进行近似:
Figure BDA0002250974400000033
其中,x为函数自变量,x∈(-4,4),k为
Figure BDA0002250974400000034
的整数部分,k=1,2,3…11。
在自变量x为负数即x<0时,根据tanh函数关于原点对称的特点,将第三象限内的函数计算变化到第一象限内进行,即将x<0区间内的输入转化为-x>0区间的输入、将tanh(x)<0的输出转化为tanh(-x)>0输出。
在x∈[0,4)区间内,对tanh函数进行等间距分段,分段间距为
Figure BDA0002250974400000035
随后再通过公式(2)进行计算:
Figure BDA0002250974400000036
为了提高计算精度,本发明采用公式(3)计算区间
Figure BDA0002250974400000037
内的tanh(x)函数值:
Figure BDA0002250974400000038
在区间
Figure BDA0002250974400000039
采用如下公式对tanh函数进行近似:
Figure BDA00022509744000000310
本实施例的近似计算tanh函数的装置,其输入x的取值范围为(-4,4),输出函数结果的取值范围为(-1,1)。整体硬件架构示意图如图1所示,主要包括以下顺序工作的六个模块,分别是输入补码选择单元、常数乘法单元、特殊值产生单元、移位单元、加法单元以及输出补码选择单元。输入补码选择单元的作用是,在自变量x<0时,将x变换到正数区间输入。常数乘法单元用于计算
Figure BDA0002250974400000041
的近似值,即2.875×x的整数部分k与小数部分
Figure BDA0002250974400000042
特殊值产生单元用于根据输入k的值产生
Figure BDA0002250974400000043
的近似值。移位单元用于通过对
Figure BDA0002250974400000044
或x移位,计算
Figure BDA0002250974400000045
的的两个部分值,同时输出减法判断标志,该单元将
Figure BDA0002250974400000046
的的乘法运算近似为两个移位结果的相加或相减,从而避免了乘法器的使用,大大减少了硬件架构的功耗、面积与延时。加法单元用于计算(β1(k)×α1)±(β2(k)×α2)+Ω(k)的值,得到tanh(x)或tanh(-x)的近似值。输出补码选择单元的作用是,在自变量x<0时,将tanh(-x)变换到负数区间输出。下面详细说明每个单元的功能以及具体实施过程:
如图1所示,本实施例中的输入x为11bit定点数,包括1bit符号位、2bit整数部分和8bit小数部分。首先在输入补码选择单元中,对输入x的符号位sign进行判断:如果sign为0,即x是正数,则直接把输入x的原码作为模块的输出送入下面的运算模块;如果sign为1,即x是负数,则通过如图2所示的半加器阵列计算x取反后加1的补码结果
Figure BDA0002250974400000047
半加器阵列中每个半加器有进位、和共两个输出,最低位半加器的输入为x的最低位和1,其余半加器的输入为x的对应位和低一位半加器的进位,半加器阵列的输出即为补码结果
Figure BDA0002250974400000048
然后将补码
Figure BDA0002250974400000049
代替原码x作为后续单元的输入进行计算。
经上述处理完成后的数据为不含符号位的10bit定点数,包括2bit整数部分和8bit小数部分。常数乘法单元将
Figure BDA00022509744000000410
的运算近似为2.875×x的运算,即计算二进制乘法10.111×x的值。随后将二进制乘法中(10×x)+(0.1×x)+(0.01×x)+(0.001×x)的运算过程,转换为“加加减”,即(10×x)+(1×x)-(0.001×x),从而将四次移位、四个数相加的运算转换为两次移位、三个数相加的运算。具体的计算过程为:经过预处理后的数据在常数乘法单元中,通过组合逻辑直接映射的方式,完成数据“左移一位”以及“右移三位并取反”的计算;随后通过如图3所示的全加器阵列构成的进位保留加法器计算
Figure BDA00022509744000000411
与1的和,其中+1作为全加器阵列中第二级全加器最低位的进位来实现,从而有效降低了延时开销;最终完成如公式(5)的计算过程,从而得到
Figure BDA0002250974400000051
的近似值。结果的整数部分为4bit的k,取值范围为k=1,2,3…11,小数部分即为
Figure BDA0002250974400000052
位宽为8bit。
Figure BDA0002250974400000053
特殊值产生单元中利用tanh函数在输入自变量
Figure BDA0002250974400000054
时函数值如公式(6)的规律:
Figure BDA0002250974400000055
即小数部分高位为k-1个1,随后k个0和k个循环出现。当
Figure BDA0002250974400000056
近似值的整数部分k计算完成后,直接根据
Figure BDA0002250974400000057
二进制表示小数中每一比特位与输入的4bit的k的真值表整理成逻辑函数表达式,映射为相应的组合逻辑,生成Ω(k)近似值的对应比特位,使得该模块在快速生成Ω(k)值的同时占用很少的硬件资源。考虑采用公式(4)优化后,当k=0,1,2…11时,将Ω(k)的取值罗列如下:
Ω(0)=tanh(0)=0
Figure BDA0002250974400000058
Ω(2)=tanh(ln2)=0.1001 1001 1001 1001…
Figure BDA0002250974400000059
Ω(4)=tanh(2ln2)=0.1110 0001 1110 0001…
Figure BDA00022509744000000510
Ω(6)=tanh(3ln2)=0.1111 1000 0001 1111…
Figure BDA00022509744000000511
Ω(8)=tanh(4ln2)=0.1111 1110 0000 0001…
Figure BDA00022509744000000512
Ω(10)=tanh(5ln2)=0.1111 1111 1000 0000…
Figure BDA00022509744000000513
本实施例中取Ω(k)小数部分的高16位作为特殊值产生单元的输出。当k=0,1,2…11时,
16bitΩ(k)的每一比特位与4bit的k值对应的逻辑函数表达式罗列如下:其中A=k[3]、B=
k[2]、C=k[1]、D=k[0]分别表示k值的四位,
Figure BDA0002250974400000061
Figure BDA0002250974400000062
分别表示k值的四位取反,Ω(k)[n]表示16bit的Ω(k)中的第n位。
Ω(k)[15]=A+B+C
Ω(k)[14]=A+B+D
Ω(k)[13]=A+B
Figure BDA0002250974400000063
Figure BDA0002250974400000064
Figure BDA0002250974400000065
Figure BDA0002250974400000066
Figure BDA0002250974400000067
Figure BDA0002250974400000068
Figure BDA0002250974400000069
Figure BDA00022509744000000610
Figure BDA00022509744000000611
Figure BDA00022509744000000612
Figure BDA00022509744000000613
Ω(k)[1]=BC
Figure BDA00022509744000000614
本实施例在移位单元中对k的大小进行判断:当k=0时,将10bit的无符号数x作为被移位的数据α1和α2进行后续计算;当k=1时,将10bit的无符号数x和8bit的小数数据
Figure BDA00022509744000000615
分别作为α1和α2进行移位;当k>1时,仅8bit的小数数据
Figure BDA00022509744000000616
将作为被移位的数据α1和α2。即当k=0时,按照公式(3)计算近似的函数值;当k=1时,按照公式(4)计算;当k>1时,按照公式(2)计算。
在移位单元中,本实施例的输入为4bit的k值、8bit的
Figure BDA00022509744000000617
值和10bit的无符号数x,计算的输出为两段移位的结果(β1(k)×α1)和(β2(k)×α2),即
Figure BDA00022509744000000618
的两个部分值,以及1bit的减法判断位。当两个部分值相减才能得到tanh函数近似值时,即k=0,3,4,5,6,7,8时,实际输出为(β1(k)×α1)的原码和(β2(k)×α2)的反码,且减法判断位Sub_sign为1。当k=0,1,2…11时,将移位系数β1(k)和β2(k)的取值罗列如下,其中β2(k)前的负号在硬件中通过在移位映射时先取反,随后在加法单元中加一来实现:
β1(0)=20,β2(0)=-2-5
β1(1)=2-2,β2(1)=2-4
β1(2)=2-3,β2(2)=2-4
β1(3)=2-3,β2(3)=-2-6
β1(4)=2-4,β2(4)=-2-8
β1(5)=2-5,β2(5)=-2-10
β1(6)=2-6,β2(6)=-2-12
β1(7)=2-7,β2(7)=-2-14
β1(8)=2-8,β2(8)=-2-16
β1(9)=2-9,β2(9)=0
β1(10)=2-10,β2(10)=0
β1(11)=2-11,β2(11)=0
加法单元的输入为1bit的减法判断位、两个16bit的tanh函数部分值和16bit的Ω(k)。三个16bit数的加法由类似于图3架构的全加器阵列组成的进位保留加法器实现,首先在第一级全加器中将(β1(k)×α1)、(β2(k)×α2)和Ω(k)三个输入压缩为“进位”与“和”,再在第二级全加器中使用行波进位加法进行相加,即第二级全加器的输入为第一级全加器低一位的进位、第一级全加器当前位的和以及第二级全加器低一位的进位,第二级全加器输出的和即为加法单元的输出值S。当两个部分和需要相减时,减法标志位为1,此时第二级全加器中最低位全加器输入的其中一个进位为1,另一个输入的进位为0,即可实现
Figure BDA0002250974400000071
的运算。进位保留加法器的使用进一步减小了计算的延迟。
本实施例中的进位保留加法器的结果S为12bit的无符号数。在输出补码选择单元中,通过原始数据的符号位sign判断:如果sign为0,即x是正数,则直接把进位保留加法器的结果S加上符号位作为tanh(x)计算结果输出;如果sign为1,即x是负数,则计算S的补码加上符号位得到实际的输出值-tanh(-x)。最终的输出结果为13bit的有符号定点数,包括1bit符号位和12bit小数数据。

Claims (6)

1.一种近似计算tanh函数的装置,其特征在于,包括输入补码选择单元、常数乘法单元、移位单元、特殊值产生单元、加法单元和输出补码选择单元;
所述输入补码选择单元,用于在自变量x<0时,将x变换到正数区间并输入至常数乘法单元,其中自变量x取值范围为(-4,4);
所述常数乘法单元,用于计算输入补码选择单元的输出值与2.875的乘积的整数部分k值与小数部分
Figure FDA0002250974390000011
值,并将k值输入特殊值产生单元和移位单元,将
Figure FDA0002250974390000012
值和输入补码选择单元的输出值输入移位单元;
所述特殊值产生单元,用于根据输入的k值产生
Figure FDA0002250974390000013
的近似值;
所述移位单元,用于根据输入的k值将输入补码选择单元的输出值或常数乘法单元计算得到的
Figure FDA0002250974390000014
值进行两次移位得到
Figure FDA0002250974390000015
的两个部分值,移位系数分别为β1(k)=2-m1(k)和β2(k)=2-m2(k),被移位数分别为α1和α2,两次移位的两个结果β1(k)×α1和β2(k)×α2分别表示将α1向右移m1(k)位和将α2向右移m2(k)位的结果,若k值为0,则被移位数α1和α2均为输入的输入补码选择单元的输出值;若k值为1,则被移位数α1和α2分别为输入的
Figure FDA0002250974390000016
值和输入补码选择单元的输出值;若k为其他值,则被移位数α1和α2均为输入的
Figure FDA0002250974390000017
值,移位单元将两个移位结果以及减法判断标志同时输出给加法单元;
所述加法单元,用于计算(β1(k)×α1)+(β2(k)×α2)+Ω(k)的值或者(β1(k)×α1)-(β2(k)×α2)+Ω(k)的值,得到tanh(x)或tanh(-x)的近似值,并输出给输出补码选择单元;
所述输出补码选择单元,用于根据自变量x的符号位输出计算结果,在自变量x<0时,将tanh(-x)变换到负数区间输出。
2.根据权利要求1所述的一种近似计算tanh函数的装置,其特征在于,所述输入补码选择单元对自变量x的符号位进行判断:如果x是正数,则直接把自变量x的原码作为输出值输入至常数乘法单元;如果x是负数,则通过半加器阵列计算自变量x取反后加1的补码结果,然后将补码代替原码作为输出值输入至常数乘法单元。
3.根据权利要求1所述的一种近似计算tanh函数的装置,其特征在于,所述常数乘法单元通过计算二进制乘法10.111×x的值来计算乘积:将二进制乘法中(10×x)+(0.1×x)+(0.01×x)+(0.001×x)的运算过程,转换为(10×x)+(1×x)-(0.001×x)的运算。
4.根据权利要求1所述的一种近似计算tanh函数的装置,其特征在于,所述特殊值产生单元中,Ω(k)的二进制表示为如下公式:
Figure FDA0002250974390000021
该公式中的小数部分高位为k-1个1,随后k个0和k个1循环出现;对于Ω(k)小数中的每一比特位,列出其与4bit的k的逻辑真值表,用卡诺图化简法得到逻辑函数表达式,将每一比特位的逻辑函数表达式直接映射为组合逻辑得到Ω(k)的二进制表示中对应比特位的值。
5.根据权利要求1所述的一种近似计算tanh函数的装置,其特征在于,所述加法单元包括全加器阵列构成的进位保留加法器,首先将(β1(k)×α1)、(β2(k)×α2)和Ω(k)作为第一级全加器的三个输入计算得出每一位的和以及进位,第二级全加器的输入为第一级全加器低一位的进位、第一级全加器当前位的和以及第二级全加器低一位的进位,第二级全加器输出的和即为加法单元的输出值;其中,第二级全加器中最低位全加器输入的两个进位具体值根据减法判断标志进行选择,即判断两个移位结果(β1(k)×α1)和(β2(k)×α2)之间是计算加法还是减法,如果计算加法,则两个进位都为0;如果计算减法,则其中一个进位为1,另一个进位为0。
6.根据权利要求1所述的一种近似计算tanh函数的装置,其特征在于,如果自变量x是正数,所述输出补码选择单元直接把加法单元的结果加上符号位作为tanh(x)计算结果输出;如果自变量x是负数,则所述输出补码选择单元把加法单元的结果的补码加上符号位作为-tanh(-x)计算结果输出。
CN201911034169.8A 2019-10-29 2019-10-29 一种近似计算tanh函数的装置 Active CN110879697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911034169.8A CN110879697B (zh) 2019-10-29 2019-10-29 一种近似计算tanh函数的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911034169.8A CN110879697B (zh) 2019-10-29 2019-10-29 一种近似计算tanh函数的装置

Publications (2)

Publication Number Publication Date
CN110879697A true CN110879697A (zh) 2020-03-13
CN110879697B CN110879697B (zh) 2021-09-28

Family

ID=69728254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911034169.8A Active CN110879697B (zh) 2019-10-29 2019-10-29 一种近似计算tanh函数的装置

Country Status (1)

Country Link
CN (1) CN110879697B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428195A (zh) * 2020-03-30 2020-07-17 南京大学 一种基于随机计算的减函数近似计算装置
CN111428196A (zh) * 2020-03-30 2020-07-17 南京大学 一种基于随机计算的非单调函数近似计算装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323196A1 (en) * 2016-05-03 2017-11-09 Imagination Technologies Limited Hardware Implementation of a Convolutional Neural Network
CN108564169A (zh) * 2017-04-11 2018-09-21 上海兆芯集成电路有限公司 硬件处理单元、神经网络单元和计算机可用介质
CN108763159A (zh) * 2018-05-22 2018-11-06 中国科学技术大学苏州研究院 一种基于fpga的lstm前向运算加速器
CN109255436A (zh) * 2017-07-14 2019-01-22 英特尔公司 用于机器学习加速的双曲线函数
CN109643392A (zh) * 2016-09-07 2019-04-16 罗伯特·博世有限公司 利用简化的激活函数计算多层感知器模型的神经元层的方法
CN110058841A (zh) * 2019-04-22 2019-07-26 南京大学 面向具有对称性的非线性函数通用计算装置和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323196A1 (en) * 2016-05-03 2017-11-09 Imagination Technologies Limited Hardware Implementation of a Convolutional Neural Network
CN107403221A (zh) * 2016-05-03 2017-11-28 想象技术有限公司 卷积神经网络的硬件实现
CN109643392A (zh) * 2016-09-07 2019-04-16 罗伯特·博世有限公司 利用简化的激活函数计算多层感知器模型的神经元层的方法
CN108564169A (zh) * 2017-04-11 2018-09-21 上海兆芯集成电路有限公司 硬件处理单元、神经网络单元和计算机可用介质
CN109255436A (zh) * 2017-07-14 2019-01-22 英特尔公司 用于机器学习加速的双曲线函数
CN108763159A (zh) * 2018-05-22 2018-11-06 中国科学技术大学苏州研究院 一种基于fpga的lstm前向运算加速器
CN110058841A (zh) * 2019-04-22 2019-07-26 南京大学 面向具有对称性的非线性函数通用计算装置和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ASHKAN HOSSEINZADEH NAMIN等: ""Efficient hardware implementation of the hyperbolic tangent sigmoid function"", 《IEEE》 *
P.KUMAR MEHER等: ""An optimized lookup-table for the evaluation of sigmoid function for artificial neural networks"", 《IEEE》 *
曲之琳等: ""基于改进激活函数的卷积神经网络研究"", 《计算机技术与发展》 *
额尔敦布和等: ""利用改进的扩展tanh函数方法求解非线性发展方程(组)的行波解(英文)"", 《内蒙古民族大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428195A (zh) * 2020-03-30 2020-07-17 南京大学 一种基于随机计算的减函数近似计算装置
CN111428196A (zh) * 2020-03-30 2020-07-17 南京大学 一种基于随机计算的非单调函数近似计算装置

Also Published As

Publication number Publication date
CN110879697B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN107340993B (zh) 运算装置和方法
US20210349692A1 (en) Multiplier and multiplication method
CN111832719A (zh) 一种定点量化的卷积神经网络加速器计算电路
CN110879697B (zh) 一种近似计算tanh函数的装置
WO2022133686A1 (zh) 有/无符号乘累加装置及方法
Reddy et al. Design of approximate booth squarer for error-tolerant computing
CN111428863B (zh) 一种基于近似乘法器的低功耗卷积运算电路
CN111984227A (zh) 一种针对复数平方根的近似计算装置及方法
CN110837624B (zh) 一种针对sigmoid函数的近似计算装置
CN112734023A (zh) 应用于循环神经网络的激活函数的可重构电路
CN113010148A (zh) 一种适用于混合精度神经网络的定点乘加运算单元及方法
Jain et al. High-speed double precision computation of nonlinear functions
CN115526131A (zh) 多级编码近似计算Tanh函数的方法及装置
CN116257210A (zh) 一种基于概率计算的空间并行混合乘法器及其工作方法
CN113672196B (zh) 一种基于单数字信号处理单元的双乘法计算装置和方法
CN112558920B (zh) 有/无符号乘累加装置及方法
Neelima et al. FIR Filter design using Urdhva Triyagbhyam based on Truncated Wallace and Dadda Multiplier as Basic Multiplication Unit
Kumar et al. Complex multiplier: implementation using efficient algorithms for signal processing application
CN110555519B (zh) 一种基于符号随机计算的低复杂度卷积神经网络架构
Nishok et al. Design and performance estimation of efficient approximate carry select adder
EP1710689A1 (en) Combining circuitry for multipliers
Backenius et al. Bidirectional conversion to minimum signed-digit representation
Patel et al. Efficient Tree Multiplier Design by using Modulo 2 n+ 1 Adder
CN115480729A (zh) 用于图像卷积处理的高速低功耗近似乘累加运算器
CN116991359B (zh) Booth乘法器、混合Booth乘法器及运算方法

Legal Events

Date Code Title Description
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