CN115222032A - 激活函数计算电路、神经网络处理器、计算芯片及设备 - Google Patents
激活函数计算电路、神经网络处理器、计算芯片及设备 Download PDFInfo
- Publication number
- CN115222032A CN115222032A CN202210894032.5A CN202210894032A CN115222032A CN 115222032 A CN115222032 A CN 115222032A CN 202210894032 A CN202210894032 A CN 202210894032A CN 115222032 A CN115222032 A CN 115222032A
- Authority
- CN
- China
- Prior art keywords
- value
- activation function
- input value
- activation
- function
- 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
Links
- 230000004913 activation Effects 0.000 title claims abstract description 198
- 238000004364 calculation method Methods 0.000 title claims abstract description 97
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 40
- 230000006870 function Effects 0.000 claims description 242
- 238000012545 processing Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 6
- 238000012886 linear function Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000012887 quadratic function Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Complex Calculations (AREA)
Abstract
本申请涉及一种激活函数计算电路、神经网络处理器、计算芯片及设备,属于神经网络技术领域。该激活函数计算电路包括:寻址单元和查找表单元;该寻址单元用于接收输入值,并基于该输入值所处于的值区间生成查找表地址;该查找表单元用于响应于该查找表地址,输出与该查找表地址对应的表项值;该激活函数计算电路用于基于该表项值确定该输入值对应的激活函数的值。通过本方案,在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数的值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,丰富了确定输入值对应的激活函数的值的方式。
Description
技术领域
本申请实施例涉及神经网络技术领域,特别涉及一种激活函数计算电路、神经网络处理器、计算芯片及设备。
背景技术
在神经网络中,通常在卷积运算层之后,连接一个数据激活层,通过数据激活层对卷积运算层输出的卷积结果进行激活处理,实现将数据重新映射,以便神经网络中的其他层进行后续处理。
相关技术中,在计算设备上部署神经网络时,根据神经网络的不同层的运算量,将不同的神经网络层部署到计算设备不同的处理器中。例如,由于卷积运算层一般以乘运算和加运算为主,运算量比较少,因此,可以将卷积运算层部署到运算能力较差的嵌入式神经网络处理器(Neural-network Processing Unit,NPU)上,而数据激活层所使用的是非线性激活函数,运算量比较大,因此,可以将数据激活层部署到运算能力较强的数字信号处理器(Digital Signal Processing,DSP)上。相应地,计算设备通过NPU进行卷积运算,将卷积结果存储至片上存储单元(On Chip Memory OCM)中,DSP从OCM中读取卷积结果,通过DSP中存储的非线性激活函数,对卷积结果进行激活处理,得到激活结果,将激活结果再存入OCM中。通过本方案确定激活结果具有局限性。
发明内容
本申请实施例提供了一种激活函数计算电路、神经网络处理器、计算芯片及设备,丰富了确定输入值对应的激活函数的值的方式。所述技术方案如下:
一方面,提供了一种激活函数计算电路,包括寻址单元和查找表单元;
所述寻址单元用于接收输入值,并基于所述输入值所处于的值区间生成查找表地址;
所述查找表单元用于响应于所述查找表地址,输出与所述查找表地址对应的表项值;
所述激活函数计算电路用于基于所述表项值确定所述输入值对应的激活函数的值。
另一方面,提供了一种神经网络处理器,所述神经网络处理器包括:
如上述方面中任一项所述的激活函数计算电路;
卷积处理单元用于对待处理数据进行卷积处理,并将卷积处理结果作为输入值输入至所述激活函数计算电路。
另一方面,提供了一种计算芯片,所述计算芯片包括如上述方面所述的神经网络处理器。
另一方面,提供了一种计算设备,所述计算设备包括如上述方面所述的神经网络处理器。
另一方面,提供了一种数据处理方法,所述方法应用于激活函数计算电路中,所述激活函数计算电路包括寻址单元和查找表单元,所述方法包括:
通过所述寻址单元接收输入值,并基于所述输入值所处于的值区间生成查找表地址;
通过所述查找表单元响应于所述查找表地址,输出与所述查找表地址对应的表项值;
通过所述激活函数计算电路基于所述表项值确定所述输入值对应的激活函数的值。
在本申请实施例中,通过在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数的值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,丰富了确定输入值对应的激活函数的值的方式。
附图说明
图1示出了一个示例性实施例示出的神经网络的结构示意图;
图2示出了一个示例性实施例示出的部署神经网络的硬件配置情况的示意图;
图3示出了本申请一个示例性实施例示出的激活函数计算电路的结构示意图;
图4示出了本申请一个示例性实施例示出的神经网络处理器的结构示意图;
图5示出了本申请一个示例性实施例示出的划分值区间的示意图;
图6示出了本申请一个示例性实施例示出的激活函数计算电路的结构示意图;
图7示出了本申请一个示例性实施例示出的激活函数计算电路的结构示意图;
图8示出了本申请一个示例性实施例示出的划分值区间的示意图;
图9示出了本申请一个示例性实施例示出的划分值区间的示意图;
图10示出了本申请一个示例性实施例示出的激活函数计算电路的结构示意图;
图11示出了本申请一个示例性实施例示出的激活函数计算电路的结构示意图;
图12示出了本申请一个示例性实施例示出的数据处理方法的流程图;
图13示出了本申请一个示例性实施例示出的计算设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本申请所涉及的相关数据可以为经用户授权或者经各方充分授权的数据。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、显示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的激活函数、输入值等都是在充分授权的情况下获取的。
神经网络一般在卷积运算层之后,都会有一个用于数据激活处理的数据激活层。参见图1,图1示出了一个比较常用的神经网络的结构。参见图1,输入数据输入至卷积运算层中,通过卷积运算层对该输入数据进行卷积运算,将卷积运算得到的卷积结果输入至数据激活层,通过数据激活层对应的激活函数对卷积结果进行重新映射。在本申请实施例中,对激活函数的类型不作具体限定,例如,激活函数包括relu函数、sigmoid函数、tanh函数等。
神经网络的运行基于终端的硬件能力,参见图2,其示出了在一种部署神经网络的硬件配置情况。参见图2,该用于部署神经网络的硬件包括DSP、NPU和OCM。通过部署在硬件中的神经网络处理数据的过程主要是:NPU基于部署的卷积运算层,对输入数据进行卷积运算,把卷积结果通过总线写入到OCM中,然后DSP再通过总线把卷积结果读入到DSP中进行激活运算,再把激活结果输出到OCM中。
对于上述的硬件执行方式,在数据传输上,NPU和DSP均需要通过OCM来进行数据交互,数据交互过程通过总线来完成,导致数据处理的延迟增加。
请参考图3,其示出了本申请一个示例性实施例提供的激活函数计算电路的结构示意图。参见图3,该激活函数计算电路包括:寻址单元301和查找表单元302。
在一些实施例中,参见图4,该激活函数计算电路设置在神经网络处理器中,该神经网络处理器还包括卷积处理单元,该卷积处理单元用于对待处理数据进行卷积,并将卷积结果作为输入值输入至该激活函数计算电路中。该激活函数计算电路用于确定该输入值对应的激活函数的值。
在一些实施例中,该神经网络处理器为NPU,该卷积处理单元包括张量运算引擎和向量运算引擎中的至少一种。响应于神经网络中的任一卷积层进行的卷积运算,神经网络处理器对卷积运算层输入的输入数据进行卷积运算,得到目标卷积结果,将该卷积结果输入至寻址单元301。
需要说明的一点是,对于任一层卷积运算层的输入数据,该输入数据为待处理的原始数据。或者,该输入数据为经由当前网络层的上一层网络层运算后的数据。相应地,在一些实施例中,神经网络处理器接收用户输入的输入数据。在一些实施例中,神经网络处理器通过总线,从OCM中读取上次层网络层写入的输入数据。在本申请中,对不作具体限定。
该寻址单元301用于接收输入值,并基于该输入值所处于的值区间生成查找表地址。在一些实施例中,该寻址单元301中存储有查找表单元302的多个查找表地址,每个查找表地址对应查找表单元302中的一个存储区域。响应于接收到卷积处理单元数输入的输入值,基于该输入值生成查找表地址,基于该查找表地址从查找表单元302中确定对应的表项值,该表项值用于确定该输入值对应的激活函数的值。
该查找表单元302用于响应于该查找表地址,输出与该查找表地址对应的表项值。该查找表单元302包括多个存储区域,每个存储区域对应一个存储地址,每个存储区域存储有一个表项值。
该激活函数计算电路用于基于该表项值确定该输入值对应的激活函数的值。
在本申请实施例中,通过在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数的值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,丰富了确定输入值对应的激活函数的值的方式。
在一些实施例中,该表项值为该输入值所处于的值区间对应的激活函数的值;该激活函数计算电路用于将该输入值所处于的值区间对应的激活函数的值确定为该输入值对应的激活函数的值。
在一些实施例中,该寻址单元301用于确定值区间对应的查找表地址。相应的,响应于任一输入值,确定该输入至所处于的值区间,将该值区间对应的查找表地址确定为该输入值对应的查找表地址。其中,该值区间可以为基于卷积结果划分为多个区间。
参见图5,在本申请实施例中,该表项值为常数。在一些实施例中,每个值区间的大小根据需要进行设置。例如,值区间包括:x1<x≤x2、x2<x≤x3和x3<x≤x4。
任一值区间对应的表项值可以为该值区间内,通过激活函数对该值区间内的任一取值进行激活运算得到的。例如,值区间x1<x≤x2对应的激活结果为Ya,值区间x2<x≤x3对应的激活结果为Yb,值区间x3<x≤x4对应的激活结果为Yc。
相应地,在确定每个值区间对应的表项值时,从该值区间中确定第一输入值,基于该激活函数,对该第一输入值进行激活处理,得到激活结果。其中,该第一输入值为该值区间中的任一值。例如,该第一输入值为该值区间的任一端点或者该值区间的中点。或者,从该值区间中确定第二输入值和第三输入值,基于该激活函数,对该第二输入值和该第三输入值进行激活处理,得到第一激活结果和第二激活结果,确定该第一激活结果和该第二激活结果的平均值,将该平均值作为该表项值,该第二输入值和该第三输入值为该值区间的两个端点卷积结果。
在本申请实施例中,不同的值区间对应一个激活结果,这样神经网络处理器只需要确定输入值所处于的值区间就能确定该输入值对应的激活函数的值,无需再通过激活函数计算该激活函数的值,进而降低了对输入值进行激活处理的运算复杂度,提高了数据处理的效率。
参见图6,查找表单元302包括多个存储区域,任一存储区域中存储有一个值区间对应的表项值。例如,如图6所示,其中,Ya(x1<x≤x2)表示该存储区域中存储有值区间为x1<x≤x2对应的激活结果,该激活结果为Ya;Yb(x2<x≤x3)表示该存储区域中存储有值区间为x2<x≤x3对应的激活结果,该激活结果为Yb;Yc(x3<x≤x4)表示该存储区域中存储有值区间为x3<x≤x4对应的激活结果,该激活结果为Yc等。
该激活函数计算电路用于根据该输入值,确定该输入值所处于的值区间,通过寻址单元确定该值区间对应的查找表地址,从而根据该存储地址,确定该输入值对应的激活函数的值。例如,继续参见图6,该输入值,激活函数计算电路确定a为属于x2<x≤x3的值,则确定该输入值的查找表地址为值区间x2<x≤x3对应的查找表地址,进而基于该查找表地址,从查找表单元302的对应存储区域中读取输入值a对应的激活函数的值Yb。
需要说明的一点是,每个存储区域对应的值区间根据需要进行设置,并且,每个存储区域对应的值区间的大小相同或者不同,在本申请实施例中,对此均不作具体限定。
在一些实施例中,参见图7,该激活函数计算电路还包括后计算单元303,该表项值为该输入值所处于的值区间对应的函数参数,该函数参数为一次函数参数或二次函数参数。该后计算单元303用于基于该函数参数来计算该输出值对应的激活函数的值。
在一些实施例中,该激活函数对应的计算范围被划分为多个值区间,每个值区间对应一组函数参数。例如,参见图8和图9,图8示出了一种函数参数为一次函数参数时每个值区间对应的函数参数;图9示出了一种函数参数为二次函数参数时每个值区间对应的函数参数。相应地,该激活函数计算电路用于基于该输入值,从寻址单元301中,确定该输入值对应的查找表地址,该查找表单元302用于基于该查找表地址确定对应的函数参数,该后计算单元303用于基于该函数参数确定输入值对应的激活函数的值。
在一些实施例中,该函数参数为一次函数参数。相应地,用于确定该输入值对应的激活函数的值的中间函数为一次函数y=ax+b,则该函数参数为a和b。在一些实施例中,该函数参数为二次函数参数。相应地,用于确定该输入值对应的激活函数的值的中间函数为二次函数y=ax2+bx+c,则该函数参数为a、b和v。
在本申请实施例中,激活函数计算电路基于该输入值,从查找表单元302中确定该输入值对应的函数参数,基于该函数参数确定该用于确定激活函数的值的中间函数,再基于该中间函数确定该输入值对应的激活函数的值,使得值区间中对应的中间函数与激活函数更相似,进而提高了确定的激活函数的值的精确度。
在一些实施例中,该存查找表单元302包括多个存储区域,一个存储区域用于存储一个函数参数;该激活函数计算电路用于确定该输入值对应的存储项区域查找表地址,基于该查找表地址,从该查找表单元302中确定该输入值对应的函数参数。该过程与上述基于输入值所在的值区间确定对应的激活函数的值的原理相同,在此不再赘述。
在一些实施例中,该中间函数为一次函数,该函数参数包括系数和偏置项。该后计算单元303用于计算该系数与该输入值的乘积,将该乘积与该偏置项的和,作为该输入值对应的激活函数的值.参见图10,图10示出了一种该中间函数为一次函数时,各存储区域中存储的函数参数。其中,a1,b1(x1<x≤x2)表示该存储区域中存储有值区间为x1<x≤x2对应的函数参数,该函数参数为a1,b1,其中,a1为中间函数的系数,b1为中间函数的偏置项;a2,b2(x2<x≤x3)表示该存储区域中存储有值区间为x2<x≤x3对应的函数参数,该函数参数为a2,b2,其中,a2为中间函数的系数,b2为中间函数的偏置项;a3,b3(x3<x≤x4)表示该存储区域中存储有值区间为x3<x≤x4对应的函数参数,该函数参数为a3,b3,其中,a3为中间函数的系数,b3为中间函数的偏置项。
在一些实施例中,该函数参数包括二次系数、一次系数和偏置项,该后计算单元303用于计算该二次系数与该输入值的平方的第一乘积、该一次系数与该输入值的第二乘积,并将该第一乘积、该第二乘积以及该偏置项的和,作为该输入值对应的激活函数的值。参见图11,图11示出了一种该中间函数为二次函数时,各存储区域中存储的函数系参数。其中,a1,b1,c1(x1<x≤x2)表示该存储区域中存储有值区间为x1<x≤x2对应的函数参数,该函数参数为a1,b1,c1,其中,a1为二次系数,b1为一次系数,c1为偏置项;a2,b2,c2(x2<x≤x3)表示该存储区域中存储有值区间为x2<x≤x3对应的函数参数,该函数参数为a2,b2,c2,其中,a2为二次系数,b2为一次系数,c2为偏置项;a3,b3,c3(x3<x≤x4)表示该存储区域中存储有值区间为x3<x≤x4对应的函数参数,该函数参数为a3,b3,c3,其中,a3为二次系数,b3为一次系数,c3为偏置项。
在一些实施例中,该激活函数计算电路还包括:片上存储单元304;该激活函数计算电路与片上存储单元304通过总线连接;该片上存储单元用于存储该输入值对应的激活函数的值。
激活函数计算电路确定出输入值对应的激活函数的值后,将该输入值对应的激活函数的值写入到片上存储单元304中,以便其他网络层对该输入值对应的激活函数的值继续进行卷积运算等处理。
需要说明的一点是,该激活函数计算电路的查找表单元302中的各个表项值的类型可以根据需要进行加载。相应地,该表项值在计算激活函数之前被预先配置并加载至该查找表单元302中。该激活函数计算电路还包括表项值存储单元,该表项值存储单元用于存储上述多种类型的表项值,在进行激活函数计算之前,通过激活函数计算电路将表项值存储单元中任一类型的表项值加载到该查找表电源302的存储区域中。
在激活函数计算电路对输入值进行计算之前,还可以先通过计算设备确定查找表单元302的多个存储区域中,每个存储区域存储的表项值。
需要说明的一点是,该计算设备可以为设置有该激活函数计算电路的计算设备,或者,该计算设备为未配置有该激活函数计算电路的其他计算设备,相应地,在其他计算设备确定好每个存储区域存储的表项值后,将该表项值和对应的查找表地址发送给激活函数计算电路。
在本申请实施例中,激活函数计算电路根据需要从多种表项值中,加载任一类型的表项值到查找表单元302中,使得激活函数计算电路能够根据不同的卷积层来预先配置,更加符合多种卷阶层的计算类型。
在本申请实施例中,通过在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数的值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,丰富了确定输入值对应的激活函数的值的方式。
请参考图12,其示出了本申请一个示例性实施例示出的数据处理方法的流程图。该方法应用于激活函数计算电路中,该激活函数计算电路包括寻址单元和查找表单元,该方法包括:
步骤S1201:通过该寻址单元接收输入值,并基于该输入值所处于的值区间生成查找表地址。
步骤S1202:通过该查找表单元响应于该查找表地址,输出与该查找表地址对应的表项值。
步骤S1203:通过该激活函数计算电路基于该表项值确定该输入值对应的激活函数的值。
在一些实施例中,该表项值为该输入值所处于的值区间对应的激活函数的值;
该通过该激活函数计算电路基于该表项值确定该输入值对应的激活函数的值,包括:
通过该激活函数计算电路将该输入值所处于的值区间对应的激活函数的值确定为该输入值对应的激活函数的值。
在一些实施例中,该激活函数计算电路还包括后计算单元,该表项值为该输入值所处于的值区间对应的函数参数,该函数参数为一次函数参数或二次函数参数;
该通过该激活函数计算电路基于该表项值确定该输入值对应的激活函数的值,包括:
通过该后计算单元基于该函数参数来计算该输入值对应的激活函数的值。
在一些实施例中,该函数参数包括系数和偏置项;该通过该后计算单元基于该函数参数来计算该输入值对应的激活函数的值,包括:
通过该后计算单元计算该系数与该输入值的乘积,将该乘积与该偏置项的和,作为该输入值对应的激活函数的值。
在一些实施例中,该函数参数包括二次系数、一次系数和偏置项;该通过该后计算单元基于该函数参数来计算该输入值对应的激活函数的值,包括:
通过该后计算单元计算该二次系数与该输入值的平方的第一乘积、该一次系数与该输入值的第二乘积,并将该第一乘积、该第二乘积以及该偏置项的和,作为该输入值对应的激活函数的值。
在一些实施例中,该方法还包括:该表项值在计算激活函数之前被预先配置并加载至该查找表单元中。
在本申请实施例中,通过在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数的值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,丰富了确定输入值对应的激活函数的值的方式。
本申请实施例还保护一种神经网络处理器,该神经网络处理器包括激活函数计算电路和卷积处理单元。
该卷积处理单元用于对待处理数据进行卷积处理,并将卷积处理结果作为输入值输入至该激活函数计算电路。该激活函数计算电路用于确定该输入值对应的激活函数的值,其中,该激活函数计算电路确定该输入至对应的激活函数的值的过程与上述实施例的提供的方式原理相同,在此不再赘述。
在本申请实施例中,通过在激活函数计算电路中设置寻址单元和查找表单元,将用于确定输入值对应的激活函数值的表项值存储在该查找表单元中,使得激活函数计算电路具有确定输入值的激活结果的能力,从而无需通过DSP实现对卷积结果的激活处理,进而减少了神经网络处理器与片上存储单元之间的数据交互,进而减少了数据交互浪费的时间,降低了数据处理延迟。
本申请实施例还保护一种计算芯片,该计算芯片包括本申请实施例所述的神经网络处理器。
本申请实施例还保护一种计算设备,请参考图13,其示出了本申请一个示例性实施例提供的计算设备1300的结构方框图。计算设备1300可以是智能手机、电脑、平板电脑等具有部署神经网络功能的终端。本申请中的计算设备1300可以包括一个或多个如下部件:处理器1310、存储器1230和计算芯片1330。
处理器1310可以包括一个或者多个处理核心。处理器1310利用各种接口和线路连接整个计算设备1300内的各个部分,通过运行或执行存储在存储器1320内的程序代码、程序、代码集或程序代码集,以及调用存储在存储器1320内的数据,执行计算设备1300的各种功能和处理数据。可选地,处理器1310可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1310可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(ArtificialIntelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1310中,单独通过一块芯片进行实现。
存储器1320可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器1320包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1320可用于存储程序代码、程序、代码、代码集或程序代码集。存储器1320可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的程序代码、用于至少一个功能的程序代码(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的程序代码等;存储数据区可存储根据计算设备1300的使用所创建的数据(比如音频数据、电话本)等。
计算设备1300还包括计算芯片1330,该计算装置可以为本申请中上述方面所述的计算芯片。
在一些实施例中,计算设备1300还包括显示屏。显示屏是用于显示用户界面的显示组件。可选的,该显示屏为具有触控功能的显示屏,通过触控功能,用户可以使用手指、触摸笔等任何适合的物体在显示屏上进行触控操作。显示屏通常设置在计算设备1300的前面板。显示屏可被设计成为全面屏、曲面屏、异型屏、双面屏或折叠屏。显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合等,本实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的计算设备1300的结构并不构成对计算设备1300的限定,计算设备1300可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,计算设备1300中还包括麦克风、扬声器、射频电路、输入单元、传感器、音频电路、无线保真(Wireless Fidelity,Wi-Fi)模块、电源、蓝牙模块等部件,在此不再赘述。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种激活函数计算电路,包括寻址单元和查找表单元;
所述寻址单元用于接收输入值,并基于所述输入值所处于的值区间生成查找表地址;
所述查找表单元用于响应于所述查找表地址,输出与所述查找表地址对应的表项值;
所述激活函数计算电路用于基于所述表项值确定所述输入值对应的激活函数的值。
2.根据权利要求1所述的激活函数计算电路,其特征在于,所述表项值为所述输入值所处于的值区间对应的激活函数的值;
所述激活函数计算电路用于将所述输入值所处于的值区间对应的激活函数的值确定为所述输入值对应的激活函数的值。
3.根据权利要求1所述的激活函数计算电路,其特征在于,所述激活函数计算电路还包括后计算单元,所述表项值为所述输入值所处于的值区间对应的函数参数,所述函数参数为一次函数参数或二次函数参数;
所述后计算单元用于基于所述函数参数来计算所述输入值对应的激活函数的值。
4.根据权利要求3所述的激活函数计算电路,其特征在于,所述函数参数包括系数和偏置项,所述后计算单元用于计算所述系数与所述输入值的乘积,将所述乘积与所述偏置项的和,作为所述输入值对应的激活函数的值;或者,
所述函数参数包括二次系数、一次系数和偏置项,所述后计算单元用于计算所述二次系数与所述输入值的平方的第一乘积、所述一次系数与所述输入值的第二乘积,并将所述第一乘积、所述第二乘积以及所述偏置项的和,作为所述输入值对应的激活函数的值。
5.根据权利要求1所述的激活函数计算电路,其特征在于,所述表项值在计算激活函数之前被预先配置并加载至所述查找表单元中。
6.根据权利要求1所述的激活函数计算电路,其特征在于,所述激活函数计算电路与片上存储单元通过总线连接;
所述片上存储单元用于存储所述输入值对应的激活函数的值。
7.一种神经网络处理器,其特征在于,所述神经网络处理器包括:
如权利要求1-6中任一项所述的激活函数计算电路;
卷积处理单元用于对待处理数据进行卷积处理,并将卷积处理结果作为输入值输入至所述激活函数计算电路。
8.一种计算芯片,其特征在于,所述计算芯片包括如权利要求7所述的神经网络处理器。
9.一种计算设备,其特征在于,所述计算设备包括如权利要求8所述的计算芯片。
10.一种数据处理方法,其特征在于,所述方法应用于激活函数计算电路中,所述激活函数计算电路包括寻址单元和查找表单元,所述方法包括:
通过所述寻址单元接收输入值,并基于所述输入值所处于的值区间生成查找表地址;
通过所述查找表单元响应于所述查找表地址,输出与所述查找表地址对应的表项值;
通过所述激活函数计算电路基于所述表项值确定所述输入值对应的激活函数的值。
11.根据权利要求10所述的方法,其特征在于,所述表项值为所述输入值所处于的值区间对应的激活函数的值;
所述通过所述激活函数计算电路基于所述表项值确定所述输入值对应的激活函数的值,包括:
通过所述激活函数计算电路将所述输入值所处于的值区间对应的激活函数的值确定为所述输入值对应的激活函数的值。
12.根据权利要求10所述的方法,其特征在于,所述激活函数计算电路还包括后计算单元,所述表项值为所述输入值所处于的值区间对应的函数参数,所述函数参数为一次函数参数或二次函数参数;
所述通过所述激活函数计算电路基于所述表项值确定所述输入值对应的激活函数的值,包括:
通过所述后计算单元基于所述函数参数来计算所述输入值对应的激活函数的值。
13.根据权利要求12所述的方法,其特征在于,所述函数参数包括系数和偏置项;所述通过所述后计算单元基于所述函数参数来计算所述输入值对应的激活函数的值,包括:
通过所述后计算单元计算所述系数与所述输入值的乘积,将所述乘积与所述偏置项的和,作为所述输入值对应的激活函数的值。
14.根据权利要求13所述的方法,其特征在于,所述函数参数包括二次系数、一次系数和偏置项;所述通过所述后计算单元基于所述函数参数来计算所述输入值对应的激活函数的值,包括:
通过所述后计算单元计算所述二次系数与所述输入值的平方的第一乘积、所述一次系数与所述输入值的第二乘积,并将所述第一乘积、所述第二乘积以及所述偏置项的和,作为所述输入值对应的激活函数的值。
15.根据权利要求10所述的方法,其特征在于,所述表项值在计算激活函数之前被预先配置并加载至所述查找表单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894032.5A CN115222032A (zh) | 2022-07-27 | 2022-07-27 | 激活函数计算电路、神经网络处理器、计算芯片及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894032.5A CN115222032A (zh) | 2022-07-27 | 2022-07-27 | 激活函数计算电路、神经网络处理器、计算芯片及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222032A true CN115222032A (zh) | 2022-10-21 |
Family
ID=83613578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210894032.5A Pending CN115222032A (zh) | 2022-07-27 | 2022-07-27 | 激活函数计算电路、神经网络处理器、计算芯片及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222032A (zh) |
-
2022
- 2022-07-27 CN CN202210894032.5A patent/CN115222032A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457235B (zh) | 内存压缩方法、装置、终端及存储介质 | |
WO2022247194A1 (zh) | 乘法器、数据处理方法、芯片、计算机设备及存储介质 | |
CN111491169B (zh) | 一种数字图像压缩方法、装置、设备、介质 | |
CN114610650A (zh) | 内存压缩方法、装置、存储介质及电子设备 | |
CN113837980A (zh) | 分辨率的调整方法、装置、电子设备及存储介质 | |
CN113961961A (zh) | 一种基于scalable-ot的隐私集合求交方法及装置 | |
CN110689114B (zh) | 网络节点处理方法、装置、存储介质及电子设备 | |
WO2024152901A1 (zh) | 一种图像处理方法、装置、设备及介质 | |
CN110737473A (zh) | 数据处理方法及装置、终端、存储介质 | |
CN110678862B (zh) | 用于硬连线乘法器电路的数据打包技术 | |
CN109408191A (zh) | 页面更新方法、装置、设备及存储介质 | |
CN115222032A (zh) | 激活函数计算电路、神经网络处理器、计算芯片及设备 | |
CN115827555B (zh) | 数据处理方法、计算机设备、存储介质和乘法器结构 | |
CN116206606A (zh) | 语音处理方法、装置、计算机设备和存储介质 | |
CN114614992B (zh) | 签名值输出及验证方法、装置、计算机设备、存储介质 | |
CN111461858B (zh) | 基于隐私保护的连乘计算方法、装置、系统和电子设备 | |
CN109543835B (zh) | 运算方法、装置及相关产品 | |
CN109542837B (zh) | 运算方法、装置及相关产品 | |
CN112650763A (zh) | 产品额度的配置方法、相关设备和存储介质 | |
CN109558565B (zh) | 运算方法、装置及相关产品 | |
CN111027683A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN109583580B (zh) | 运算方法、装置及相关产品 | |
CN109543833B (zh) | 运算方法、装置及相关产品 | |
CN115357212B (zh) | 用于环形缓冲器的参数生成方法、装置和人工智能芯片 | |
CN109543836B (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 |