CN111581593B - 可配置重用的分段式查找表激活函数实现装置 - Google Patents

可配置重用的分段式查找表激活函数实现装置 Download PDF

Info

Publication number
CN111581593B
CN111581593B CN202010317789.9A CN202010317789A CN111581593B CN 111581593 B CN111581593 B CN 111581593B CN 202010317789 A CN202010317789 A CN 202010317789A CN 111581593 B CN111581593 B CN 111581593B
Authority
CN
China
Prior art keywords
activation function
input data
lookup table
unit
input
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
CN202010317789.9A
Other languages
English (en)
Other versions
CN111581593A (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.)
Tianjin University
Original Assignee
Tianjin 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 Tianjin University filed Critical Tianjin University
Priority to CN202010317789.9A priority Critical patent/CN111581593B/zh
Publication of CN111581593A publication Critical patent/CN111581593A/zh
Application granted granted Critical
Publication of CN111581593B publication Critical patent/CN111581593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/33Writer recognition; Reading and verifying signatures based only on signature image, e.g. static signature recognition
    • 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

Abstract

本发明涉及深度神经网络、激活函数、FPGA设计,为能够适用于实现多种不同类型的激活函数,提高所述激活函数实现装置的计算效率,降低硬件功耗,降低硬件实现难度,本发明,可配置重用的分段式查找表激活函数实现装置,包括:输入数据处理单元、范围判断单元、地址索引产生单元、查找表:输入端连接地址索引产出单元,用于存储激活函数结果数据,使用BRAM资源存储,输出端连接结果输出单元;结果输出单元:输入端连接输入数据处理单元和查找表,用于产生最终结果,输出输入数据对应的激活函数结果。本发明主要应用于人工智能硬件实现设计场合。

Description

可配置重用的分段式查找表激活函数实现装置
技术领域
本发明涉及深度神经网络、激活函数、FPGA设计等领域,特别涉及一种可配置重用的分段式查找表激活函数实现装置。
背景技术
从2006年的复兴开始,深度神经网络(Deep Neural Network,DNN),或所谓的深度学习(Deep Learning,DL),已成为机器学习领域最重要的技术之一。近年,深度学习的快速发展致使越来越多的人从事相关的研究工作,其在目标检测、自然语言处理、计算机视觉等等领域成效斐然。深度神经网络(Deep Neural Networks,DNN)则是深度学习领域内的一个重要模型,随着集成电路的发展、计算机处理能力的不断提高,神经网络再度成为人工只能研究发展的热点。
卷积神经网络是一种源于人工神经网络的深度学习算法,它降低了网络模型的复杂度,减少了权值的数量,这个优点在处理图像数据时尤为明显,避免了传统算法中复杂的特征提取和数据重建过程。神经网络包含一系列并行工作的隐藏层,并且每一个隐藏层中包含大量神经元。每一个神经元都从其他神经元中获取输入,再计算输出,激活函数就被用在此处。在卷积神经网络中,使用线性的激活函数只有线性表达的能力,所以要使用非线性的激活函数来增加卷积神经网路的表达能力,使其具有人工智能的真正意义。
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是一种集成电路,被设计为制造后可以由客户或设计者进行配置,因此被称为“现场可编程”。FPGA能通过硬件编程实现并行运算,用FPGA来实现神经网络激活函数,能大大加快计算速度,达到实时性要求,降低功耗。
然而,神经网络的任何硬件实现中最重要,最昂贵且难以实现的部分是神经元的非线性激活函数。非线性的激活函数主要有sigmoid函数、tanh函数、softmax函数、ReLU函数、ELU函数、PReLU函数等,这些激活函数都有其各自的优缺点,他们的实现难度也都不一样。已有一些常用的tanh函数的FPGA硬件实现,针对sigmoid函数也有一系列优化方法。其中激活函数逼近算法使用较多,泰勒级数逼近能力最差;坐标旋转算法和查找表法能达到较高的精度,但是所需要FPGA资源较多。
虽然国内外对于激活函数的硬件加速器的实现已经有很多工作,但关注点仅仅在提高硬件性能和节约硬件资源上,且多数工作只局限于单个激活函数在硬件上的实现。其实目前集成电路和FPGA的发展已经远远能够满足了激活函数算法在硬件上的实现,对激活函数的实现不应局限于硬件资源方面,应该更关注算法在硬件上的实现效率,以达到硬件资源的充分利用。因此,本发明提出一款能在在充分利用硬件资源的基础上,提高计算效率,降低功耗,尽可能减少存储面积资源,同时能通过配置适用于多种激活函数的实现装置。
发明内容
为克服现有技术的不足,本发明旨在提出一种基于查找表法的激活函数实现装置,能够适用于实现多种不同类型的激活函数,提高所述激活函数实现装置的计算效率,降低硬件功耗,降低硬件实现难度。此外,在此基础上,本发明提出了一种基于激活函数精确度要求分段实现查找表的方案。基于该方案,可以实现以激活函数精确度为标准制定不同大小的查找表,以完成对应的硬件设计,该方案能最大限度的降低查找表存储面积资源消耗。所述实现装置同时支持16位和32位自定义定点数数据精度的计算,满足对激活函数不同精度的要求。为此,本发明采取的技术方案是,可配置重用的分段式查找表激活函数实现装置,包括:
输入数据处理单元:输入端连接符合16位或32位输入数据和配置信号,输出数据符号、整数部分和小数部分,分别连接结果输出单元、范围判断单元和地址索引产生单元;
范围判断单元:输入端连接输入数据处理单元输出的整数部分,用于范围判断,输出范围判断结果信号,输出端连接地址索引产生单元;
地址索引产生单元:输入端连接输入数据处理单元和范围判断单元,用于生成查找表的地址索引,输出查找表地址信号,输出端连接查找表;
查找表:输入端连接地址索引产出单元,用于存储激活函数结果数据,使用BRAM资源存储,输出端连接结果输出单元;
结果输出单元:输入端连接输入数据处理单元和查找表,用于产生最终结果,输出输入数据对应的激活函数结果。
查找表分为四段内容,其中每一段存放激活函数不同部分的输出数据,每一段的地址对应于激活函数的输入数据,这样就完成了激活函数的输入输出映射;每当输入数据输入本激活函数实现装置时,硬件设备完成地址索引的计算,根据地址到查找表中找到对应的激活函数输出数据。
输入数据处理单元由译码器构成,当输入数据和配置信号输入译码器时,译码器根据不同位宽对输入数据进行译码,将输入数据的符号位、整数部分和小数部分分隔开,移交给不同输出信号,完成输入数据处理的主要任务。
范围判断单元由三个比较器构成,当输入数据的整数部分输入时,所述范围判断单元使用三个比较器确定该输入数据属于哪一个范围,所述三个比较器分别为与1比较、与3比较、与6比较,由此可能得出四个结果,分别为0、1、2、3,对应四个分段范围[0,1)、[1,3)、[3,6)、[6,∞),所述范围判断单元输出数据为两位宽,数值可能为0、1、2、3。
地址索引产生单元由多路选择器和移位器构成,多路选择器用于根据所述范围判断单元传来的范围range信号选取输入数据索引的起始地址;移位器用于将输入数据数值部分进行移位,以得到输入数据索引的偏移地址;将两项地址相加即可得到查找表最终的索引地址。
地址索引产生单元中计算方式如表1所示:
表1地址索引计算规则
表中range即所示范围判断单元的输出结果,data为所述输入数据处理单元的整数部分输出和小数部分输出的结合,即输入数据的数值部分,n0~n3指为满足不同分段中的相同精度要求而得出的不同位宽。
数字手写体识别装置,利用卷积神经网络实现手写体识别,其中采用激活函数实现装置替换ReLU函数为Swish函数。
深度神经网络装置,其激活函数采用激活函数实现装置实现。
本发明的特点及有益效果是:
本发明提出了一种可配置重用的分段式查找表激活函数实现装置,并基于该装置,在FPGA上实验并验证了tanh函数与sigmoid函数,均达到较好的实验结果。所述激活函数实现装置在满足激活函数的精确度要求的基础上,使用分段结构,最大限度的减少存储面积资源消耗,同时,在硬件算法上使用查找表法实现激活函数,极大提高了运算效率,降低功耗。此外,本发明适用性极高,由于采用查找表法实现激活函数的逼近,理论上适用于所有激活函数的实现,而且操作简单,易于实现,有很大的实用价值。
附图说明:
图1数据格式图。
图2硬件设计架构图。
图3输入数据处理单元架构图。
图4范围判断单元架构图。
图5地址索引产生单元架构图。
具体实施方式
为克服现有技术的不足,本发明旨在提出一种基于查找表法的激活函数实现装置,能够适用于实现多种不同类型的激活函数,采用查找表法也因为运算简单,易于实现等特点,能显著提高所述激活函数实现装置的计算效率,降低硬件功耗,降低硬件实现难度。此外,在此基础上,本发明提出了一种基于激活函数精确度要求分段实现查找表的方案。基于该方案,可以实现以激活函数精确度为标准制定不同大小的查找表,以完成对应的硬件设计,该方案能最大限度的降低查找表存储面积资源消耗。所述实现装置同时支持16位和32位自定义定点数数据精度的计算,满足对激活函数不同精度的要求。
本发明设计的是一种激活函数实现装置。在该装置中,1)提出了一种激活函数分段系统,按精度要求生成激活函数分段查找表。2)设计一种分段式查找表法实现的激活函数实现装置。所述实现装置的软件部分设计并实现了一种简单的算法,用于将激活函数进行分段逼近。所述实现装置的硬件部分设计了一款基于查找表法实现的激活函数计算装置,包括输入数据处理单元、范围判断单元、地址索引产生单元、查找表和结果输出单元,该实现装置理论上可用于完成所有激活函数的实现。
在卷积神经网络中,非线性激活函数具有非常重大的意义。而激活函数可分为软件实现和硬件实现两种方式,但是软件实现相对硬件而言速度较慢且并行度较低,所以无法满足神经网络中激活函数快速计算的要求。因此,本发明提出一种基于FPGA实现的硬件激活函数实现装置,用于高效、节能地实现神经网络激活函数。
激活函数的实现核心难点在于解决其非线性函数的计算问题,由于非线性函数计算复杂度高,激活函数的硬件实现方式多以逼近代替,常用的方法有分段线性逼近、分段非线性逼近、坐标旋转数字计算算法和查找表法,本发明采用查找表法实现激活函数的逼近。查找表法提前将计算结果保存在一个存储器中,这种方法实现简单,计算方便快速,但是随着激活函数的精度要求提高,需要消耗更多的存储空间。因此,本发明提出一种分段式的查找表法实现装置,利用激活函数的特性,在其斜率较大的分段中设置查找表的步长较小,查找表的项数更多,而在斜率较小的分段设置查找表的步长较长、项数较少,以此来减少存储资源消耗,同时也能在不同分段中均满足激活函数的精度要求。
下面结合附图及实例,对本发明进行进一步详细说明。应该指出,此处所描述的具体实施实例仅仅用以解释本发明,并不用于限定本发明。为了使本发明的目的、技术方案和优点更加清晰,本实例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。
(1)数据格式
本发明结合精度要求、功耗要求、成本要求,使用两种位宽的定点数据格式,分别使用16位和32位作为整体定点位宽数据。整体定点位宽又可分为符号位、整数部分和小数部分。
所述16位定点数据分为最高位为符号位,整数部分(包括符号位)占1/4位宽,小数部分占3/4位宽,如附图1(a)所示,符号位占1位,整数部分占3位,小数部分占12位。除符号位外,数据采用二进制原码的方式表示。本实例中采用该种数据格式,可表示范围为(-8,8),数据精度为1/212
所述32位定点数据分为最高位为符号位,整数部分(包括符号位)占1/4位宽,小数部分占3/4位宽,如附图1(b)所示,符号位占1位,整数部分占7位,小数部分占24位。除符号位外,数据采用二进制原码的方式表示。可表示范围为(-128,128),数据精度为1/224
(2)制定分段查找表
所诉激活函数分段式查找表的生成方式,具体包含如下步骤:
步骤1):确定所需实现的激活函数,本实例使用tanh函数做实验。
步骤2):确定激活函数的精度要求,本实例设置最大误差为0.02。
步骤3):将所述激活函数进行分段,确定分段范围为(-∞,-6]、(-6,-3]、(-3,-1]、(-1,0]、[0,1)、[1,3)、[3,6)、[6,∞),由于tanh函数的对称性,只取x轴正半轴分段做查找表即可减少资源消耗,即[0,1)、[1,3)、[3,6)、[6,∞),计算每一段的最大斜率。
步骤4):确定每一分段的步长,利用每一段的最大斜率和最大误差要求,计算出每一段能够满足的最大步长,作为每一段查找表的索引步长。
步骤5):保存每一段查找表及其对应的索引步长,用于硬件实现。
本实例中的查找表可分为四段内容,其中每一段存放激活函数不同部分的输出数据,每一段的地址对应于激活函数的输入数据,这样就完成了激活函数的输入输出映射。每当输入数据输入本激活函数实现装置时,硬件设备完成地址索引的计算,即可根据地址到查找表中找到对应的激活函数输出数据。激活函数每一部分在输入数据增加固定的情况下,输出数据的变化根据其斜率的不同而不一样,故本方面根据激活函数每一部分斜率的大小,变化其每一部分查找表的精度。例如,激活函数[0,1)段的斜率较大,该段查找表存放的输入输出映射中的每相邻项输入数据相差较小,这样能满足映射出来的输出数据误差较小;同时激活函数[6,∞)段的斜率较小,这一部分查找表可设置每相邻项输入数据相差较大,可以减少查找表对存储资源的利用,达到减少存储资源消耗的目的。
(3)硬件架构设计
所述实现装置使用分段式的查找表法实现激活函数,硬件实现较一般查找表更复杂,其整体架构如附图2所示,包括:
输入数据处理单元1:输入端连接符合所述数据格式的16位或32位输入数据和配置信号,输出数据符号、整数部分和小数部分,分别连接结果输出单元5、范围判断单元2和地址索引产生单元3。
范围判断单元2:输入端连接输入数据处理单元1输出的整数部分,用于范围判断,输出范围判断结果信号,输出端连接地址索引产生单元3。
地址索引产生单元3:输入端连接输入数据处理单元1和范围判断单元2,用于生成查找表的地址索引,输出查找表地址信号,输出端连接查找表4。
查找表4:输入端连接地址索引产出单元3,用于存储激活函数结果数据,使用BRAM资源存储,输出端连接结果输出单元5。
结果输出单元5:输入端连接输入数据处理单元1和查找表4,用于产生最终结果,输出输入数据对应的激活函数结果。
输入数据处理单元:
输入数据处理单元结构如附图3所示,其主要结构为译码器。当输入数据和配置信号输入译码器时,译码器根据不同位宽对输入数据进行译码。以16位数据为例,译码器按照所述数据格式的要求将16位输入数据的符号位、整数部分和小数部分分隔开,移交给不同输出信号,完成输入数据处理的主要任务。
16位译码器6对输入16位宽数据进行译码,32位译码器7对输入32位宽数据进行译码,再通过第一多路选择器8和第二多路选择器9根据配置信号确定选用16位数据还是32位数据。所述第一多路选择器8为整数部分多路选择器,所述第二多路选择器9为小数部分多路选择器。
范围判断单元:
范围判断单元结构如附图4所示,其主要结构为比较器。当输入数据的整数部分输入时,所述范围判断单元使用三个比较器确定该输入数据属于哪一个范围,这三个比较器:第一比较器10、第二比较器11、第三比较器12分别为与1比较、与3比较、与6比较,由此可能得出四个结果,分别为0、1、2、3,对应四个分段范围[0,1)、[1,3)、[3,6)、[6,∞)。所述范围判断单元输出数据为两位宽,数值可能为0、1、2、3。
地址索引产生单元:
地址索引产生单元结构如附图4所示。本发明使用查找表的方式实现激活函数的运算,需要提供一个地址索引给查找表,所述地址索引产生单元完成这个工作。该单元接收范围判断单元传来的信号range和输入数据处理单元传来的数据部分data,再结合每一分段的精度要求以及每一分段的数据项数量,进行相关计算得到输入数据在该激活函数下的查找表地址索引。附图4中第三多路选择器13用于根据所述范围判断单元传来的范围range信号选取输入数据索引的起始地址;第一移位器14用于将输入数据数值部分进行移位,以得到输入数据索引的偏移地址;将两项地址相加即可得到查找表最终的索引地址。计算方式如表1所示:
表1地址索引计算规则
表中range即所示范围判断单元的输出结果,data为所述输入数据处理单元的整数部分输出和小数部分输出的结合,即输入数据的数值部分,n0~n3指为满足不同分段中的相同精度要求而得出的不同位宽。
查找表:
查找表(Look-Up-Table)简称LUT,其本质就是一个存储器,在硬件结构上使用FPGA芯片中的Distributed Ram(将芯片中LUT资源整合存储器的逻辑)资源实现。FPGA中可事先将数据写入存储单元中,此时每输入一个信号等于输入一个地址,可在该查找表中进行查表,找出地址对应的内容,然后输出,这就是查找表的基本功能。
本发明使用一个查找表存放所有的分段式查找表,每一段直接相连,便于地址映射和不同分段下结果的查找。其中查找表内容如表2所示:
表2查找表映射
结果输出单元:
结果输出单元对从查找表中找出的结果做最后的处理,这一阶段可能根据不同激活函数做不一样的处理。本实例中的tanh函数是一个奇函数,即可通过所述(2)中简化查找表,将负数部分省略,减少查找表面积资源消耗。应该指出,针对不同的激活函数,所述结果输出单元所作的操作可能不尽相同,此处所描述的具体实施实例仅仅用以解释本发明,并不用于限定本发明。
由于tanh函数是奇函数的特性,所述结果输出单元会根据所述输入数据处理单元得出的符号位对最终结果进行处理:当符号位为0,表示输入数据为正数时,直接输出查找表结果;当符号位为1,表示输入数据为负数时,将查找表最高位置1,作为输出结果。
本发明实现的激活函数硬件实现装置使用分段查找表的方式实现了激活函数,通过查找表可以满足激活函数的精度要求,同时通过将激活函数分段处理,解决了查找表使用过多存储空间的问题,达到了节约硬件存储资源的目的。
在一个实施例中,基于MNIST手写体识别数据集,本发明的激活函数实现装置可用于卷积神经网络硬件加速器中,完成数字手写体识别。例如,基于LeNet5卷积神经网络模型的神经网络硬件加速器,其中激活函数使用的是ReLU函数,可以使用本发明提出的激活函数实现装置,替换ReLU函数为Swish函数,可以达到提高手写体识别性能的目的。此外,本发明也可用于深度神经网络中,同样替换其中的激活函数硬件实现为本发明装置,由于本发明采用查找表实现,计算较少,运算效率极高,可以明显加速深度神经网络的训练效率,节省训练时间。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种可配置重用的分段式查找表激活函数实现装置,其特征是,包括:
输入数据处理单元:输入端连接符合16位或32位输入数据和配置信号,输出数据符号、整数部分和小数部分,分别连接结果输出单元、范围判断单元和地址索引产生单元;
范围判断单元:输入端连接输入数据处理单元输出的整数部分,用于范围判断,输出范围判断结果信号,输出端连接地址索引产生单元,其中,范围判断单元由三个比较器构成,当输入数据的整数部分输入时,所述范围判断单元使用三个比较器确定该输入数据属于哪一个范围,所述三个比较器分别为与1比较、与3比较、与6比较,由此可能得出四个结果,分别为0、1、2、3,对应四个分段范围[0,1)、[1,3)、[3,6)、[6,∞),所述范围判断单元输出数据为两位宽,数值可能为0、1、2、3;
地址索引产生单元:输入端连接输入数据处理单元和范围判断单元,用于生成查找表的地址索引,输出查找表地址信号,输出端连接查找表,地址索引产生单元由多路选择器和移位器构成,多路选择器用于根据所述范围判断单元传来的范围range信号选取输入数据索引的起始地址;移位器用于将输入数据数值部分进行移位,以得到输入数据索引的偏移地址;将两项地址相加即可得到查找表最终的索引地址;
查找表:输入端连接地址索引产生单元,用于存储激活函数结果数据,使用BRAM资源存储,输出端连接结果输出单元,地址索引产生单元中计算方式如表1所示:
表1地址索引计算规则
表中range即所示范围判断单元的输出结果,data为所述输入数据处理单元的整数部分输出和小数部分输出的结合,即输入数据的数值部分,n0~n3指为满足不同分段中的相同精度要求而得出的不同位宽;
结果输出单元:输入端连接输入数据处理单元和查找表,用于产生最终结果,输出输入数据对应的激活函数结果。
2.如权利要求1所述的可配置重用的分段式查找表激活函数实现装置,其特征是,查找表分为四段内容,其中每一段存放激活函数不同部分的输出数据,每一段的地址对应于激活函数的输入数据,这样就完成了激活函数的输入输出映射;每当输入数据输入本激活函数实现装置时,硬件设备完成地址索引的计算,根据地址到查找表中找到对应的激活函数输出数据。
3.如权利要求1所述的可配置重用的分段式查找表激活函数实现装置,其特征是,输入数据处理单元由译码器构成,当输入数据和配置信号输入译码器时,译码器根据不同位宽对输入数据进行译码,将输入数据的符号位、整数部分和小数部分分隔开,移交给不同输出信号,完成输入数据处理任务。
4.一种数字手写体识别装置,其特征是,利用卷积神经网络实现手写体识别,其中采用权利要求1所述的激活函数实现装置替换ReLU函数为Swish函数。
5.一种深度神经网络装置,其特征是,其激活函数采用权利要求1所述的激活函数实现装置实现。
CN202010317789.9A 2020-04-21 2020-04-21 可配置重用的分段式查找表激活函数实现装置 Active CN111581593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010317789.9A CN111581593B (zh) 2020-04-21 2020-04-21 可配置重用的分段式查找表激活函数实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010317789.9A CN111581593B (zh) 2020-04-21 2020-04-21 可配置重用的分段式查找表激活函数实现装置

Publications (2)

Publication Number Publication Date
CN111581593A CN111581593A (zh) 2020-08-25
CN111581593B true CN111581593B (zh) 2023-09-05

Family

ID=72116794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010317789.9A Active CN111581593B (zh) 2020-04-21 2020-04-21 可配置重用的分段式查找表激活函数实现装置

Country Status (1)

Country Link
CN (1) CN111581593B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256094A (zh) * 2020-11-13 2021-01-22 广东博通科技服务有限公司 一种基于深度学习的激活函数装置及其使用方法
CN112651496A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种处理激活函数的硬件电路及芯片
CN112734023B (zh) * 2021-02-02 2023-10-13 中国科学院半导体研究所 应用于循环神经网络的激活函数的可重构电路
CN112749803B (zh) * 2021-03-05 2023-05-30 成都启英泰伦科技有限公司 一种神经网络的激活函数计算量化方法
CN113377332B (zh) * 2021-05-28 2023-08-22 南京大学 一种基于线性分段的softmax硬件实现方法
CN113870090B (zh) * 2021-12-01 2022-03-15 北京壁仞科技开发有限公司 实现函数的方法、图形处理装置、系统和介质
CN116185126A (zh) * 2022-09-08 2023-05-30 重庆位图信息技术有限公司 一种基于查找表的复杂函数输出方法及其装置
CN116432711B (zh) * 2023-02-13 2023-12-05 杭州菲数科技有限公司 SiLU激活函数的硬件实现方法、装置及计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508784A (zh) * 2018-12-28 2019-03-22 四川那智科技有限公司 一种神经网络激活函数的设计方法
CN109523020A (zh) * 2017-10-30 2019-03-26 上海寒武纪信息科技有限公司 一种运算装置和方法
CN110610235A (zh) * 2019-08-22 2019-12-24 北京时代民芯科技有限公司 一种神经网络激活函数计算电路
CN110688088A (zh) * 2019-09-30 2020-01-14 南京大学 一种面向神经网络的通用非线性激活函数计算装置和方法
CN110796246A (zh) * 2019-10-29 2020-02-14 南京宁麒智能计算芯片研究院有限公司 一种基于线性分段的激活函数的硬件实现电路和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109523020A (zh) * 2017-10-30 2019-03-26 上海寒武纪信息科技有限公司 一种运算装置和方法
CN109508784A (zh) * 2018-12-28 2019-03-22 四川那智科技有限公司 一种神经网络激活函数的设计方法
CN110610235A (zh) * 2019-08-22 2019-12-24 北京时代民芯科技有限公司 一种神经网络激活函数计算电路
CN110688088A (zh) * 2019-09-30 2020-01-14 南京大学 一种面向神经网络的通用非线性激活函数计算装置和方法
CN110796246A (zh) * 2019-10-29 2020-02-14 南京宁麒智能计算芯片研究院有限公司 一种基于线性分段的激活函数的硬件实现电路和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Huaqing Sun et. al.《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEEMS-I: REGULAR PAPERS》.2019,第177-188页. *

Also Published As

Publication number Publication date
CN111581593A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN111581593B (zh) 可配置重用的分段式查找表激活函数实现装置
CN109214509B (zh) 一种用于深度神经网络高速实时量化结构和运算实现方法
CN107340993B (zh) 运算装置和方法
Du et al. Efficient softmax hardware architecture for deep neural networks
CN110688088B (zh) 一种面向神经网络的通用非线性激活函数计算装置和方法
CN110780923B (zh) 应用于二值化卷积神经网络的硬件加速器及其数据处理方法
US20200218509A1 (en) Multiplication Circuit, System on Chip, and Electronic Device
CN110888623A (zh) 数据转换方法、乘法器、加法器、终端设备及存储介质
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
Zhang et al. Efficient hardware post processing of anchor-based object detection on FPGA
CN109325590B (zh) 用于实现计算精度可变的神经网络处理器的装置
CN113377332B (zh) 一种基于线性分段的softmax硬件实现方法
CN113837365A (zh) 实现sigmoid函数逼近的模型、FPGA电路及工作方法
CN112734023A (zh) 应用于循环神经网络的激活函数的可重构电路
CN111666442A (zh) 一种图像检索方法、装置及计算机设备
CN104751459B (zh) 多维特征的相似性度量优化方法及图像匹配方法
Zhan et al. Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems
CN115526131A (zh) 多级编码近似计算Tanh函数的方法及装置
CN108734179B (zh) 基于硬件实现优化的sift关键点描述的方法
CN116384455A (zh) 一种非均匀分段线性化激活函数硬件实现方法
Chen et al. Design and implementation of low-power hardware architecture with single-cycle divider for on-line clustering algorithm
Chen et al. Approximate softmax functions for energy-efficient deep neural networks
Sanjeet et al. Energy-efficient FPGA implementation of power-of-2 weights-based convolutional neural networks with low bit-precision input images
CN111009004A (zh) 一种加速图像匹配的硬件优化方法
CN110059817B (zh) 一种实现低资源消耗卷积器的方法

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