CN108898216A - 应用于神经网络的激活处理装置 - Google Patents

应用于神经网络的激活处理装置 Download PDF

Info

Publication number
CN108898216A
CN108898216A CN201810417336.6A CN201810417336A CN108898216A CN 108898216 A CN108898216 A CN 108898216A CN 201810417336 A CN201810417336 A CN 201810417336A CN 108898216 A CN108898216 A CN 108898216A
Authority
CN
China
Prior art keywords
linear function
unit
look
activation
function parameter
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.)
Pending
Application number
CN201810417336.6A
Other languages
English (en)
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810417336.6A priority Critical patent/CN108898216A/zh
Publication of CN108898216A publication Critical patent/CN108898216A/zh
Pending legal-status Critical Current

Links

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

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)
  • Image Analysis (AREA)

Abstract

本发明提供一种应用于神经网络的激活处理装置。该装置包括查找表单元,多个匹配单元和多个计算单元,其中:所述查找表单元用于存储反映神经网络中的激活函数的变量区间以及对应的拟合线性函数参数之间的映射关系,其中,所述线性函数参数包括用于限定线性函数的截距和斜率;所述多个匹配单元用于基于所述查找表输出与待计算的激活函数的输入变量对应的线性函数参数;所述多个计算单元与所述多个匹配单元一一对应连接,所述多个计算单元的每一个用于根据对应的匹配单元输出的线性函数参数完成针对待计算的激活函数的输入变量的线性运算。本发明的激活处理装置能够提高神经网络的激活处理效率并降低功耗。

Description

应用于神经网络的激活处理装置
技术领域
本发明涉及深度学习技术领域,尤其涉及一种应用于神经网络的激活处理装置。
背景技术
近年来,深度学习技术得到了飞速发展,在解决高级抽象认知问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用,成为学术界和工业界的研究热点。
神经网络是人工智能领域具有最高发展水平的感知模型之一,其通过建立模型来模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来突破性进展。神经网络的数据处理包括卷积过程、池化过程和激活过程等,其中,激活处理的作用是提供神经网络的非线性建模能力,例如,神经网络的每一层均存在激活处理,其是通过非线性激活函数完成数据的非线性变换,从而解决了线性模型的表达能力、分类能力不足的问题。
然而,由于激活处理通常作用于神经网络的各层处理中,例如,神经网络中卷积层的操作过程是:将一个K*K大小的二维权重卷积核对输入特征图进行扫描,在扫描过程中权重与特征图内对应的神经元求内积,并将所有内积值求和,得到卷积层的输出特征图或称输出神经元,然后,通过非线性激活函数(如ReLU)进一步把该输出特征图传递到下一层(例如,池化层)。激活处理通常包含乘法运算、加法运算等一系列运算过程,现有技术中通常利用软件或算术逻辑单元等部件实现激活处理,存在执行速度慢、电路硬件开销大等问题,进而很难实现体积轻便、功耗低的神经网络处理器。
因此,需要对神经网络中现有技术进行改进,以提高神经网络中的激活处理的计算效率和资源利用率。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种应用于神经网络的激活处理装置以及基于该装置的神经网络处理器,以提高神经网络的计算效率并降低神经网络处理器的功耗和体积。
根据本发明的第一方面,提供了一种应用于神经网络的激活处理装置。该装置包括查找表单元,多个匹配单元和多个计算单元,其中:
所述查找表单元用于存储反映神经网络中的激活函数的变量区间索引以及对应的拟合线性函数参数之间的映射关系,其中,所述线性函数参数包括用于限定线性函数的截距和斜率;
所述多个匹配单元用于接收以广播形式发送的来自于所述查找表的多组变量区间索引和对应的多组线性函数参数并且并行输出与待计算的激活函数的输入变量对应的线性函数参数;
所述多个计算单元与所述多个匹配单元一一对应连接,所述多个计算单元的每一个用于根据对应的匹配单元输出的线性函数参数完成针对待计算的激活函数的输入变量的线性运算。
在一个实施例中,所述激活函数包括函数f(x)=tanh(x)或f(x)=max(0,x)。
在一个实施例中,所述多个匹配单元中的每一个具有相同的电路结构。
在一个实施例中,所述匹配单元由第一数据选择器、第二数据选择器和多个比较器构成,所述第一数据选择器用于接收来自于所述查找表的线性函数参数的斜率,所述第二数据选择器用于接收来自于所述查找表的线性函数参数的截距,所述比较器基于所述查找表以及待计算的激活函数的输入变量来控制所述第一数据选择器和所述第二数据选择器输出与待计算的激活函数的输入变量对应的线性函数参数。
在一个实施例中,所述计算单元包括乘法器和加法器,所述乘法器接收来自于所连接的匹配单元的线性函数参数的斜率和待计算的激活函数的输入变量,执行乘法计算,所述加法器接收来自于所连接的匹配单元的线性函数参数的截距以及所述乘法器的输出,执行加法计算。
根据本发明的第二方面,提供了一种神经网络处理器。该处理器包括:
根据本发明的激活处理装置;
控制单元:用于控制所述激活处理装置的数据加载和计算过程;
存储单元:用于存储待计算数据以及计算过程中的中间结果。
在一个实施例中,所述控制单元控制基于所述查找表将激活函数的变量区间和对应的线性函数参数广播至所述多个匹配单元。
根据本发明的第三方面,提供了一种用于本发明的激活处理装置的神经网络激活处理方法。该方法包括以下步骤:
步骤1:基于查找表来确定与待计算的激活函数的输入变量对应的线性函数参数,其中所述查找表存储神经网络中的激活函数的变量区间索引以及对应的拟合线性函数参数之间的映射关系,所述线性函数参数包括用于限定线性函数的截距和斜率;
步骤2:根据所述线性函数参数完成针对待计算的激活函数的输入变量的线性运算。
与现有技术相比,本发明的优点在于:提供一种用于处理神经网络中激活处理的装置,通过在神经网络计算过程中动态加载查找表实现针对不同激活函数的处理过程,降低了计算复杂度并提高了计算效率;利用能够基于查找表并行计算激活函数的不同输入变量的函数值的装置进一步提高了激活处理的计算效率;此外,利用复杂度低的电路实现激活处理过程降低了神经网络处理器的体积和运行功耗。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1示出了根据本发明一个实施例的应用于神经网络的激活处理装置的示意框图;
图2示出了根据本发明一个实施例的激活处理装置中的匹配单元的电路示意图;
图3示出了根据本发明一个实施例的神经网络处理器中计算单元的电路图;
图4示出了包含本发明的激活处理装置的神经网络处理器的示意图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1示出了根据本发明一个实施例的应用于神经网络的激活处理装置。该处理装置包括查找表单元110、多个匹配单元120以及与匹配单元120一一对应连接的多个计算单元130。
查找表单元110存储的是反映神经网络中的激活函数的变量区间以及对应的拟合线性函数参数之间的映射关系,其中,线性函数参数包括截距和斜率,利用线性函数参数可唯一地确定与某一段变量区间对应的线性函数。查找表可采用寄存器堆的形式构成,即每组变量区间索引和对应的线性函数参数均保存在寄存器中,采用寄存器堆的方式存储能够将查找表的多个输出(即多个变量区间索引和对应线性函数参数)同时接入至多个匹配单元中,从而提高了激活处理装置的并行度。
在本文中,神经网络应用的激活函数包括但不限于sigmoid函数或f(x)=tanh(x)或ReLU函数f(x)=max(0,x)等非线性函数。
例如,在一个实施例中,基于sigmoid函数构建的查找表参见下表1所示。
表1:查找表示例
索引 斜率 截距
[0,1] a0 b0
[1,2] a1 b1
…… …… ……
[N-1,N] aN bN
在表1中,包含N+1个索引,每个索引对应激活函数的变量区间,斜率和截距表示在相应的变量区间内与该激活函数拟合的线性函数的斜率和截距。例如,在表1中,激活函数的变量区间范围被划分为等间距的多个分段区间[0,1]、[1,2]。
本文中的查找表可在进行激活处理时在线构建或动态改变,也可离线构建神经网络中涉及的多个激活函数的查找表,预先存储在存储单元中,并在激活处理过程中动态读取,优选采用离线方式构建查找表,以提高激活处理效率。查找表的构建方法例如是,对于某一变量区间[0,1],利用计算其端点0和1对应的函数值,表示为进而得出该变量区间拟合的线性函数的斜率近似表示为0.231,截距表示为0.5,则该变量区间[0,1]对应的拟合线性函数表示为f(x)=0.231×x+0.5,类似地,计算出其它变量区间对应的斜率和截距存储于查找表。在本文中,将斜率和截距统称为线性函数的参数或参数组合,其用于限定线性函数。
在另一个实施例中,针对激活函数的分布特征,每个变量区间的间距可设置为相等或不相等。例如,针对某一激活函数,在斜率相对较高的范围内,可设置相对小的区间,而在斜率较低的变量范围内,可适当地设置较大的区间,以提高将非线性激活函数拟合为线性函数的精度。此外,为了兼顾拟合精度和计算效率,需适当地设置查找表中的索引数量,例如,将索引数量设置为8或16。
匹配单元120用于接收来自于查找表的变量区间和对应的线性函数参数以及待计算的激活函数的输入变量(如图1示出的数据0至数据M等),并输出与待计算的激活函数的输入变量对应的线性函数参数,包括斜率和截距。参见图1,示出了M+1个匹配单元120,表示为匹配单元0至匹配单元M,其中,每个匹配单元接收查找表中的所有索引,并且每个匹配单元可同时接收不同的输入变量,该M+1个匹配单元可并行输出不同输入变量对应的线性函数参数,从而提高计算效率。
例如,当输入变量落在第一个索引[0,1]范围内时,由其中一个匹配单元(例如匹配单元0)输出斜率a0和截距b0至对应的计算单元,而当输入变量落在第二个索引[1,2]范围内时,由另外的一个匹配单元(例如匹配单元1)输出斜率a1和截距b1至相应的计算单元。应理解的是,对于上述两个索引,由于端点值1既属于[0,1],也属于[1,2],因此,当输入变量为1时,可由匹配单元0输出斜率和截距,也可由匹配单元1输出斜率和截距,不影响最终的计算结果,在实际实现时只要统一规则即可,在下文的描述中对于端点值的处理也不再单独说明。
计算单元130用于根据来自于匹配单元120的截距和斜率计算与输入变量对应的函数值。参见图1,示出了M+1个计算单元130,分别表示为计算单元0至计算单元M,一个计算单元与一个匹配单元对应连接,可并行计算M+1个输入变量的函数值。
例如,当匹配单元0输出斜率a0和截距b0,匹配单元1输出斜率a1和截距b1时,计算单元0将执行a0×x+b0的线性计算,其中x对应输入变量0(即数据0),计算单元1将执行a1×x+b1的计算,其中x对应输入变量1(即数据1)。
为了提高神经网络处理器的计算吞吐量,通常在设计过程中会追求高并行度的设计,现有技术中的激活函数处理装置作为非线性运算部件比线性运算部件(乘加等)复杂度高,资源开销大。而本发明提供的激活处理装置通过采用寄存器堆的方式构建查找表,能够实现多个匹配单元和计算单元共享同一个查找表单元,在保证高并行度运算的同时减少了装置的面积开销。若查找表采用寻址输出的存储器,则每时钟周期只能完成一个索引与数据的比较,从而显著降低计算效率,或者每个匹配单元中均需保存所有变量区间索引及对应的线性函数参数,导致增加了装置的面积开销。
图2示出了根据本发明一个实施例的匹配单元的电路结构示意图。该匹配单元包括多个比较器,表示为比较器0至比较器M,数据选择器210和数据选择器220,其中,比较器0至比较器M的输出连接至数据选择器210和数据选择器220,数据选择器210和数据选择器220的输出连接至同一个计算单元(未示出),该匹配单元例如能够同时接收表2示出的查找表的索引,下文称为查找表2。
表2:查找表示例
索引 斜率 截距
[-∞,0] a0 b0
[0,1] a1 b1
[1,2] a2 b2
…… …… ……
[M-1,M] aM bM
比较器用于将激活函数的输入变量与查找表的激活函数的变量区间进行匹配,以根据他们之间的大小关系确定输出值。例如,比较器1的一个输入用于接收激活函数的输入变量,另外两个输入用于接收来自于查找表的索引1(即该索引对应的变量区间的端点值0和1),因此,当输入变量大于0且小于1时,比较器1输出高电平“1”,而其他比较器输出低电平“0”。
数据选择器210接收来自于查找表的激活函数的多个斜率参数,并根据比较器的输出选择一个斜率参数输出,数据选择器220接收来自于查找表的激活函数的多个截距参数,并根据比较器的输出选择输出一个截距参数。例如,当输入变量落在[0,1]区间时(即查找表2的索引1,其对应的斜率参数为a1,对应的截距参数为b1),此时,比较器1输出高电平,而其他比较器均输出低电平,则数据选择器210将斜率a1、数据选择器220将截距b1输出至连接的计算单元。又如,当输入变量落在[-∞,0]区间时,比较器0输出高电平,其他比较器输出低电平,数据选择器210和数据选择器220将该区间对应的线性函数参数a0和b0输出。
需要说明的是,在优选的实施例中,每个匹配单元中比较器的数量与查找表中索引的数量相等,如图2所示,当查找表2中具有M+1个索引的情况下,每个匹配单元中比较器的数量同样设置为M+1个,从而能够同时接收查找表中的所有索引,而匹配单元的数量大于等于2即可实现计算输入变量函数值的并行处理。在另外的实施例中,每个匹配单元中比较器的数量也可小于或大于查找表中索引的数量,例如,在小于查找表中索引数量的情况下,可将查找表中索引在不同的时刻分批广播至匹配单元。
图3示出了根据本发明一个实施例的计算单元的电路图。该计算单元由乘法器和加法器构成,其中,乘法器接收来自于匹配单元的斜率参数与激活函数的输入变量x进行乘法运算,加法器接收来自于乘法器的输出结果和来自于匹配单元的截距参数b执行加法运算,从而该计算单元获得输入变量x对应的函数值,一般性的表示为f(x)=ax+b。
在本发明的上述实施例中,数据选择器、比较器、乘法器和加法器等均可采用通用或专用器件来实现。
本发明的激活处理装置可应用于神经网络处理器,实现激活处理过程,参见图4示出的基于本发明的激活处理装置的神经网络处理器。概括而言,该处理器基于存储-控制-计算的结构。存储结构用于存储参与计算的数据及处理器的操作指令等;控制结构用于解析操作指令,生成控制信号,该信号用于控制处理器内数据的调度和存储以及神经网络的计算过程;计算结构用于参与该处理器中的神经网络计算操作,保证数据在计算单元中能够正确地进行计算。
具体地,参见图4,该处理器401包括输入数据存储单元402、控制单元403、输出数据存储单元404、权重存储单元405、指令存储单元406、计算阵列407(示出了M+1个计算单元)、查找表构建单元408、查找表存储单元409和匹配单元410,其中,计算阵列407、查找表构建单元408、查找表存储单元409和匹配单元410构成本发明的激活处理装置,在此实施例中,为了便于说明,示出了可选的查找表构建单元408。
输入数据存储单元402用于存储参与计算的数据,该数据包括激活函数的输入变量以及参与神经网络中间层计算的数据等。
输出数据存储单元404用于存储计算阵列407得到的计算结果。
权重存储单元405用于存储已经训练好的神经网络权重。
指令存储单元406用于存储参与计算的指令信息,指令被解析以实现神经网络计算。
控制单元403分别与输出数据存储单元404、权重存储单元405、指令存储单元406、计算阵列407相连。控制单元403获得保存在指令存储单元406中的指令并且解析该指令,控制单元403可根据解析指令得到的控制信号来控制计算阵列407进行神经网络的相关计算。
计算阵列407用于根据控制单元403的产生的控制信号执行相应的神经网络计算。计算阵列407与一个或多个存储单元相关联,例如,计算阵列407可以从与其相关联的输入数据存储单元402中获得待计算的数据并执行相关计算,并且将计算结果或中间结果输出至数据存储单元404。计算阵列407完成神经网络算法中的大部分运算,例如卷积计算、池化计算或激活处理等,例如,包括本发明提供的计算单元结构,用于获得激活函数的待计算的输入变量对应的函数值。
查找表构建单元408用于构建反映激活函数的变量区间与对应的拟合的线性函数参数的对应关系的查找表。
查找表存储单元409用于存储查找表构建单元408输出的查找表,在后续处理中可供控制单元403或其他模块从查找表中获得相关数据。
匹配单元410用于基于查找表确定待计算的激活函数的输入变量所对应的线性函数参数。
具体地,当采用图4的神经网络处理器进行激活处理时,首先,查找表构建单元408针对神经网络中应用的多个类型的激活函数分别构建查找表,并存储于查找表存储单元409的不同位置,当需要进行激活处理时,根据激活函数的类型,由控制单元403控制从查找表存储单元409的相应位置读取查找表,控制单元403可控制将查找表中的变量区间和对应的线性函数参数以及输入变量广播至匹配单元410,以由匹配单元410和计算阵列407通过执行线性运算获得输入变量对应的函数值,该函数值与直接通过激活函数获得的结果近似,但通过采用查找表结构和具有简单电路结构的匹配单元410和计算单元,激活处理的速度显著提高,并同时降低了运行功耗。
在图4示出的神经网络处理器中,各存储单元(包括缓存单元)、控制单元和计算阵列之间的数据通路可通过H-TREE或FAT-TREE等互联技术实现。存储单元可以是静态随机存储器(SRAM)、动态随机存储器(DRAM)、寄存器堆等常见存储介质,也可以是3D存储器件等新型的存储类型。此外,本发明提供的神经网络处理器可以是针对神经网络计算而设计的一个微处理器,也可以仅是微处理器的一部分,该神经网络处理器可应用于文字处理、语音识别与处理、多国语言翻译、图像识别、生物特征识到、智能控制等领域,可用作智能计算处理器、机器人、移动设备、也可用于构建大规模神经网络计算超级计算机。基于本发明的神经网络处理器提高了对于多种激活函数的普适性并降低了运行功耗。
需要说明的是,尽管本发明以神经网络中激活处理为例进行说明,但本领域的技术人员应理解,本发明的装置同样适用于神经网络中其他的非线性函数的计算,例如,归一化处理。
虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种应用于神经网络的激活处理装置,其特征在于,包括查找表单元,多个匹配单元和多个计算单元,其中:
所述查找表单元用于存储反映神经网络中的激活函数的变量区间索引以及对应的拟合线性函数参数之间的映射关系,其中,所述线性函数参数包括用于限定线性函数的截距和斜率;
所述多个匹配单元用于接收以广播形式发送的来自于所述查找表的多组变量区间索引和对应的多组线性函数参数并且并行输出与待计算的激活函数的输入变量对应的线性函数参数;
所述多个计算单元与所述多个匹配单元一一对应连接,所述多个计算单元的每一个用于根据对应的匹配单元输出的线性函数参数完成针对待计算的激活函数的输入变量的线性运算。
2.根据权利要求1所述的激活处理装置,其特征在于,所述激活函数包括函数f(x)=tanh(x)或f(x)=max(0,x)。
3.根据权利要求1所述的激活处理装置,其特征在于,所述多个匹配单元中的每一个具有相同的电路结构。
4.根据权利要求1所述的激活处理装置,其特征在于,所述匹配单元由第一数据选择器、第二数据选择器和多个比较器构成,所述第一数据选择器用于接收来自于所述查找表的线性函数参数的斜率,所述第二数据选择器用于接收来自于所述查找表的线性函数参数的截距,所述比较器基于所述查找表以及待计算的激活函数的输入变量来控制所述第一数据选择器和所述第二数据选择器输出与待计算的激活函数的输入变量对应的线性函数参数。
5.根据权利要求1所述的激活处理装置,其特征在于,所述计算单元包括乘法器和加法器,所述乘法器接收来自于所连接的匹配单元的线性函数参数的斜率和待计算的激活函数的输入变量,执行乘法计算,所述加法器接收来自于所连接的匹配单元的线性函数参数的截距以及所述乘法器的输出,执行加法计算。
6.一种神经网络处理器,包括:
根据权利要求1至5中任一项所述的激活处理装置;
控制单元:用于控制所述激活处理装置的数据加载和计算过程;
存储单元:用于存储待计算数据以及计算过程中的中间结果。
7.根据权利要求6所述的神经网络处理器,其特征在于,所述控制单元控制基于所述查找表将激活函数的变量区间索引和对应的线性函数参数广播至所述多个匹配单元。
8.一种用于权利要求1至7中任一项所述的激活处理装置的神经网络激活处理方法,包括以下步骤:
步骤1:基于查找表来确定与待计算的激活函数的输入变量对应的线性函数参数,其中所述查找表存储神经网络中的激活函数的变量区间索引以及对应的拟合线性函数参数之间的映射关系,所述线性函数参数包括用于限定线性函数的截距和斜率;
步骤2:根据所述线性函数参数完成针对待计算的激活函数的输入变量的线性运算。
9.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现根据权利要求8所述的方法的步骤。
10.一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求8所述的方法的步骤。
CN201810417336.6A 2018-05-04 2018-05-04 应用于神经网络的激活处理装置 Pending CN108898216A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810417336.6A CN108898216A (zh) 2018-05-04 2018-05-04 应用于神经网络的激活处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810417336.6A CN108898216A (zh) 2018-05-04 2018-05-04 应用于神经网络的激活处理装置

Publications (1)

Publication Number Publication Date
CN108898216A true CN108898216A (zh) 2018-11-27

Family

ID=64343675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810417336.6A Pending CN108898216A (zh) 2018-05-04 2018-05-04 应用于神经网络的激活处理装置

Country Status (1)

Country Link
CN (1) CN108898216A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
CN110147879A (zh) * 2019-04-03 2019-08-20 中国科学院计算技术研究所 一种用于神经网络处理器的激活装置及方法
CN110738310A (zh) * 2019-10-08 2020-01-31 清华大学 一种稀疏神经网络加速器及其实现方法
CN110796247A (zh) * 2020-01-02 2020-02-14 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111401533A (zh) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 一种神经网络专用计算阵列及其计算方法
CN111507465A (zh) * 2020-06-16 2020-08-07 电子科技大学 一种可配置的卷积神经网络处理器电路
CN117631751A (zh) * 2024-01-25 2024-03-01 北京壁仞科技开发有限公司 人工智能芯片、特殊函数计算方法和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750252A2 (de) * 1990-10-30 1996-12-27 Siemens Aktiengesellschaft Einrichtung zum Vergleich zweier dual kodierter Daten mit mindenstens 2-bit-breiten Speichern
CN1949126A (zh) * 2005-10-11 2007-04-18 宏正自动科技股份有限公司 一种查表电路
CN105897253A (zh) * 2016-04-01 2016-08-24 上海新储集成电路有限公司 一种非易失性查找表电路的实现方法
CN106775599A (zh) * 2017-01-09 2017-05-31 南京工业大学 递归神经网络的多计算单元粗粒度可重构***及方法
CN107861916A (zh) * 2017-11-10 2018-03-30 中国科学院计算技术研究所 一种用于针对神经网络执行非线性运算的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0750252A2 (de) * 1990-10-30 1996-12-27 Siemens Aktiengesellschaft Einrichtung zum Vergleich zweier dual kodierter Daten mit mindenstens 2-bit-breiten Speichern
CN1949126A (zh) * 2005-10-11 2007-04-18 宏正自动科技股份有限公司 一种查表电路
CN105897253A (zh) * 2016-04-01 2016-08-24 上海新储集成电路有限公司 一种非易失性查找表电路的实现方法
CN106775599A (zh) * 2017-01-09 2017-05-31 南京工业大学 递归神经网络的多计算单元粗粒度可重构***及方法
CN107861916A (zh) * 2017-11-10 2018-03-30 中国科学院计算技术研究所 一种用于针对神经网络执行非线性运算的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YINHE HAN 等: "C-Brain: A Deep Learning Accelerator that Tames the Diversity of CNNs through Adaptive Data-level Parallelization", 《IEEE》 *
吴顺君 等: "一种高精度的快速求模算法", 《西安电子科技大学》 *
朱世鸿 等: "《80x86微机原理和接口技术》", 30 November 2014, 中国科学技术大学出版社 *
赵志英 等: "《计算机组成实验》", 30 September 2000, 复旦大学出版社 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
CN110147879A (zh) * 2019-04-03 2019-08-20 中国科学院计算技术研究所 一种用于神经网络处理器的激活装置及方法
CN110738310A (zh) * 2019-10-08 2020-01-31 清华大学 一种稀疏神经网络加速器及其实现方法
CN110738310B (zh) * 2019-10-08 2022-02-01 清华大学 一种稀疏神经网络加速器及其实现方法
CN110796247A (zh) * 2020-01-02 2020-02-14 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779B (zh) * 2020-01-02 2023-05-30 中昊芯英(杭州)科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111401533A (zh) * 2020-04-28 2020-07-10 南京宁麒智能计算芯片研究院有限公司 一种神经网络专用计算阵列及其计算方法
CN111507465A (zh) * 2020-06-16 2020-08-07 电子科技大学 一种可配置的卷积神经网络处理器电路
CN111507465B (zh) * 2020-06-16 2020-10-23 电子科技大学 一种可配置的卷积神经网络处理器电路
CN117631751A (zh) * 2024-01-25 2024-03-01 北京壁仞科技开发有限公司 人工智能芯片、特殊函数计算方法和计算机可读存储介质
CN117631751B (zh) * 2024-01-25 2024-05-03 北京壁仞科技开发有限公司 人工智能芯片、特殊函数计算方法和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN108898216A (zh) 应用于神经网络的激活处理装置
CN108921288A (zh) 神经网络激活处理装置和基于该装置的神经网络处理器
CN107169560B (zh) 一种自适应可重构的深度卷积神经网络计算方法和装置
CN106529670B (zh) 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN107609641A (zh) 稀疏神经网络架构及其实现方法
EP3407266A1 (en) Artificial neural network calculating device and method for sparse connection
CN110110851A (zh) 一种lstm神经网络的fpga加速器及其加速方法
CN109325591A (zh) 面向Winograd卷积的神经网络处理器
CN110163356B (zh) 一种计算装置及方法
CN107341541A (zh) 一种用于执行全连接层神经网络训练的装置和方法
CN106447034A (zh) 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN110383300A (zh) 一种计算装置及方法
WO2019239254A1 (en) Parallel computational architecture with reconfigurable core-level and vector-level parallelism
CN109359730A (zh) 面向固定输出范式Winograd卷积的神经网络处理器
CN108171328A (zh) 一种卷积运算方法和基于该方法的神经网络处理器
CN116113941A (zh) 一种神经网络加速器、加速方法以及装置
CN112200300A (zh) 卷积神经网络运算方法及装置
CN110163350A (zh) 一种计算装置及方法
Zhang et al. Implementation and optimization of the accelerator based on FPGA hardware for LSTM network
CN110874627A (zh) 数据处理方法、数据处理装置及计算机可读介质
Geng et al. CQNN: a CGRA-based QNN framework
CN112051981B (zh) 一种数据流水线计算路径结构及单线程数据流水线***
CN111178492B (zh) 计算装置及相关产品、执行人工神经网络模型的计算方法
CN112766475B (zh) 处理部件及人工智能处理器
CN112183725B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181127