CN106909970A - 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 - Google Patents
一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 Download PDFInfo
- Publication number
- CN106909970A CN106909970A CN201710029955.3A CN201710029955A CN106909970A CN 106909970 A CN106909970 A CN 106909970A CN 201710029955 A CN201710029955 A CN 201710029955A CN 106909970 A CN106909970 A CN 106909970A
- Authority
- CN
- China
- Prior art keywords
- input
- approximate
- value
- adder
- bit
- 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
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 title claims abstract description 21
- 239000003638 chemical reducing agent Substances 0.000 claims abstract description 73
- 210000002364 input neuron Anatomy 0.000 claims abstract description 14
- 210000004027 cell Anatomy 0.000 claims description 11
- 230000001186 cumulative effect Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 210000002569 neuron Anatomy 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 5
- 229920006395 saturated elastomer Polymers 0.000 claims description 3
- 230000008901 benefit Effects 0.000 claims description 2
- 230000000295 complement effect Effects 0.000 abstract description 8
- 238000005457 optimization Methods 0.000 abstract description 4
- 241001442055 Vipera berus Species 0.000 description 71
- 238000007792 addition Methods 0.000 description 12
- 210000004205 output neuron Anatomy 0.000 description 7
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块。硬件加速器的计算模块可接收输入神经元以及二值卷积核(权重)并进行快速的卷积乘累加计算。计算模块使用补码数据表示形式,主要包含了优化的近似二值乘法器,一个压缩器树,创新的近似加法器及用于串行地累加部分和的暂存器。除此之外,针对优化的二值近似乘法器,提出了两种误差补偿方案,能在极少增加硬件资源开销的前提下使二值近似乘法器带来的误差得到降低或完全消除。本发明通过优化的计算单元,能够使使用该计算模块的二值权重卷积神经网络硬件加速器的关键路径大大缩短,并减少了面积损耗和功耗,适用于需要使用卷积神经网络的低功耗嵌入式系统。
Description
技术领域
本发明设计计算机及电子信息技术领域,特别涉及一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块。
背景技术
深度卷积神经网络模型在诸多领域譬如图像分类、动作检测、语音识别以及其他大数据分析的任务中取得了极大的突破和成功。一方面,随着卷积神经网络的效果变得越来越好,其本身拓扑结构也在不断加深,参数数量也达到了10的6次方及以上级别,这带来了计算复杂度的极大提升,所需的计算能力爆炸性增长。另一方面,嵌入式系统仅能够提供有限的资源,其功耗也受限在一定范围内,现有常用的使用大规模GPU的解决方案虽然有较高的吞吐率,但其功耗过高(约250W),难以应用于嵌入式系统中。
二值权重卷积神经网络是一种简化的卷积神经网络模型,其最早由加拿大蒙特利尔大学的Matthieu Courbariaux等人提出,后又经过Itay hubara、Mohammad Rasteg等人的改进。此模型通过特别的训练方式将卷积神经网络的权重训练为二值的+1和-1,这使得模型的计算复杂度大大降低,模型的大小也能够被压缩达到32倍。
然而尽管如此,对于深度卷积神经网络,即使参数二值化能够使得复杂度有所降低,其仍然需要大量的计算,直接应用于嵌入式系统中很难满足实时性和低功耗的要求。
在二值权重卷积神经网络中的核心计算在于卷积层的乘累加计算,这涉及了多个数据(从几百到几千个)的计算,如何达到高速低功耗且不会对系统计算精度带来明显误差,是二值权重卷积神经网络加速器设计的关键。
发明内容
本发明旨在解决二值权重卷积神经网络应用于功耗受限而又需求实时性的嵌入式系统的技术问题,或至少提出一种有用的商业选择。为此,本发明的目的在于提出一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,以完成大量输入神经元的二值权重乘累加计算。在不明显降低二值权重卷积神经网络计算精度的前提下,设计了专门优化的近似二值乘法器及对应的两种补偿方案和近似加法器,能够缩短最长路径,减少面积以及降低功耗。除此之外,使用了压缩器树代替传统的加法器树,消除了最长路径与输入数据位宽的依赖性,并且不增加面积的消耗。
从该计算模块的整体上来看,其包含了:
1.多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;
2.多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;
3.多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;
4.一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3∶2压缩器和4∶2压缩器;
5.第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;
6.一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,计算模块中的串行累加单元,包含了:
1.第二近似加法器,用于将第一近似加法器的结果与偏置项,或是近似二值乘法器的补偿项,或是中间结果暂存器的数据进行累加;
2.饱和逻辑,用于防止第二近似加法器计算结果的溢出而进行饱和处理;
3.中间结果暂存器,用于暂存累加的中间结果以进入下一次累加;
4.多路选择器,用于接收输入的偏置项,或是近似二值乘法器补偿项,或是暂存器中的计算中间结果,并根据控制信号选择送入第二近似加法器的项;
5.数据门选通寄存器,通过选通信号用于输出卷积结果,并在卷积结果未完全计算完毕时阻止数据输出。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,还包括多个寄存器,其中所述多个寄存器被配置为实现流水线操作。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,数值被编码为定点的2的补码形式。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,可通过扩展支持多种卷积核大小,如3×3,5×5,7×7等等;根据需要的不同的卷积核大小,如权利要求1所述的若干个神经元输入端、二值权重输入端、近似二值乘法器的数量、并行输入通道数量可相应扩展;例如针对3×3卷积核,神经元输入端、二值权重输入端、近似二值乘法器的数量则可设定为9个;而并行输入通道可根据需求任意设定;说明书的实施例是以3×3卷积核、4个并行输入通道为例,但不应理解为对本发明的限制。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,第一、第二近似加法器中,包括:第一子加法器,用于近似的计算第一、第二近似加法器输入数据的高位之和。第二子加法器,用于计算第一、第二近似加法器输入数据的低位之和。一个输出并接模块,用于将第一、第二子加法器的计算结果并接起来并输出。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,近似二值权重乘法器的输入其中之一为二值权重,其数字值为+1或-1,但使用1个比特分别表示,0表示-1,1表示+1。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,压缩器树中的3∶2压缩器由多个1比特全加器构成;这些1比特全加器的三个输入分别为3∶2压缩器的3个输入(X、Y、Z)的某一个比特;输出为S、C,他们的关系满足:X+Y+Z=S+C×2,每个1比特全加器无相互连接。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,压缩器树中的4∶2压缩器由多个1比特全加器构成,与3∶2压缩器不同的是在4∶2压缩器中由两个1比特全加器作为一个基本单元;每个基本单元内包含一个第一全加器和第二全加器;第一全加器的三个输入为4∶2压缩器的4个输入中某三个输入的某一个比特,进位输出连接至下一个比特的基本单元的第二全加器的输入之一,另一输出连接至第二全加器输入之一;基本单元内的第二全加器的三个输入分别来自于上一个比特的基本单元的第一全加器的进位输出、当前基本单元第一全加器的输出之一,以及整个4∶2压缩器中4个输入之一的某比特;假设4∶2压缩器的输入为X、Y、Z、W、Cin(1比特),输出为Carry、Sum,他们都有多个比特,则满足以下关系:X+Y+Z+W+Cin=Carry+Sum。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,近似二值乘法器,包含:与输入数据比特数相同数量的反相器,用于计算输入数据与二值权重为-1时的近似结果;一个两输入多路选择器,用于根据二值权重选择近似二值乘法器的输出结果。
在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,串行累加单元其中的多入选择器的输入之一为近似二值乘法器的补偿值。根据补偿方案的不同,有以下两种补偿方式:1)直接将补偿值设置为0.5CinWkernelHkernel;其中Cin为当前卷积层输入通道数,Wkernel、Hkernel分别为当前卷积层的卷积核的列数和行数,常见值为3、5、7、11等;2)通过在模型的训练过程中,记录当前卷积层每个输出通道对应的所有卷积核中-1的权重的数量,记为n;则对每一个输出通道的计算结果,都补偿此值n。
本发明的有益效果:在不产生明显的精度损失的前提下,加速二值权重卷积神经网络的计算速度,并且功耗低,面积小。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明的整体结构图。
图2是本发明中3∶2压缩器、4∶2压缩器(1比特)的详细结构图。
图3是本发明中带有补偿方案的近似二值乘法器、近似加法器的详细结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。其中自始至终使用相同的名称表示相同或有类似功能的模块。下面通过参考附图描述的实施示例以3×3的卷积核大小为例,并行输入通道数设为4,旨在用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括一个或更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
如图1所示,为本发明的整体结构图。该基于近似计算的二值权重卷积神经网络硬件加速器的计算模块主要包含了:
1.多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;
2.多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;
3.多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;
4.一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3∶2压缩器和4∶2压缩器;
5.第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;
6.一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合,或是对近似二值乘法器的误差进行补偿。
本实施例以3×3卷积核大小为例,并行的输入通道数设为4通道。因此,在进行二值卷积过程中,同时将有3×3×4=36个输入神经元与二值权重相乘后进行相加。而当输入通道数大于4时,此4通道的累加和将是计算输出神经元的中间结果的部分和,需要在串行累加单元中进行串行累加。因此此计算模块使用的是一种部分并行的方式,计算模块将被复用。
使用压缩器树完成上述相加过程的方式如图1上半部分所示。输入通道1、2、3、4有相同的结构,区别在于输入数据为不同输入通道的神经元,二值权重也为对应不同输入通道的卷积核的权重。为了清晰,图中仅绘出1个通道的具体结构。压缩器树由多个3∶2压缩器和4∶2压缩器前后串联而成,最终使36个数据相加变成了需要进行2个数据相加。
如图2所示是压缩器树中的3∶2压缩器和4∶2压缩器内部结构图。一个压缩器由多个1比特的全加器组成。对于一个3∶2压缩器,如图2左半部分所示,其含有3个输入X、Y、Z,两个输出C、S,他们分别由多个比特组成。每个比特的全加器之间无相互依赖关系。3∶2压缩器的输出关系是:
X+Y+Z=S+C×2,
如果有三个数据需要进行相加计算,可以由一个3∶2压缩器后串联一个普通加法器来实现,此普通加法器一端输入为3∶2压缩器的输出S,一端的输出为3∶2压缩器的输出C的两倍,可由移位来实现。这将比直接使用两个两输入加法器有更短的关键路径,这是因为普通串行进位加法器的延迟与输入数据位宽成正比,而3∶2压缩器的关键路径延迟仅为1个比特的全加器的延迟,与输入数据位宽无关。使用压缩器和普通加法器的组合,可以使计算3个数据相加之和的延迟降低为一个加法器延迟+一个1比特全加器延迟,少于两倍普通串行进位加法器与输入数据位宽的延迟。而相对使用两个超前进位加法器进行3个数字相加,压缩器和普通加法器的组合能够有更小的面积。因为3∶2压缩器的面积是与串行进位加法器的面积相同,而比超前进位加法器小。
图2中所绘的4∶2压缩器也由多个1比特全加器组成,为了简洁起见,途中仅绘出了1个比特的4∶2压缩器,多个1比特4∶2压缩器可通过下面介绍的连接方式组合成多个输入比特数位宽的4∶2压缩器。4∶2压缩器与3∶2压缩器不同之处在于它以2个全加器为一个基本单元。其连接方式如图2所示,图2所示的是第k个1比特4∶2压缩器。Xk、Yk、Zk、Wk为多位输入的第k个比特,Cin是来自于低位比特的进位。Cout是此位基本单元的进位输出,用于连接在下一比特的Cin输入。4∶2压缩器的特性如下:
1、其输出代表了五个输入之和。
2.为了防止进位位的串行传播,每一个基本单元中的Cout_k仅与Xk、Yk、Zk有关,与Cin_k没有依赖关系。
3.多个1比特4∶2压缩器组成一个多比特的4∶2压缩器。连接方式如下:第k-1个1比特压缩器的Gout被连接在第k比特的Cin输入端。第一个1比特压缩器的Cin输入可以置为0。
4.一个多比特4∶2压缩器的输入输出关系如下:
X+Y+Z+W+Cin_0=Carry×2+Sum
一个4∶2比较器仅有两个1比特的全加器延迟,相比于使用有2阶与输入数据位宽成正比的加法器延迟的4输入加法器,能显著降低关键路径的延迟。
将上述3∶2压缩器和4∶2压缩器组合成树形,即可将多个数据的相加最终压缩成两个数据的相加,组合方式如图1所示。
使用压缩器树累加36个数据的总延时可估计如下:
Dtree=2×D3∶2+4×D4∶2+DAdder≈8×DAOI+8×DInv+DAdder
其中D表示延迟,D3∶2、D4∶2、DAdder、DAOI、DInv分别指的是3∶2压缩器、4∶2压缩器、串接在压缩器树后的加法器、与或非门、反相器的延迟。相比直接使用串行进位加法器树累加36个数据,总的延迟为7个加法器的延迟,且每个加法器的延迟与其数据位宽成正比。可以看出压缩器树相比加法器树在延迟上得到大大的改善。
为了进一步降低路径延迟和功耗,本发明将压缩器树后的加法器以及串行累加单元中的加法器进行了优化,设计了一个近似加法器进行代替。
近似加法器的结构如图3左侧所示。包含了:第一子加法器,用于近似的计算第一、第二近似加法器输入数据的高位之和;第一子加法器的最低位进位位连接到第二子加法器某一个输入的最高位;第二子加法器,用于计算第一、第二近似加法器输入数据的低位之和;一个输出并接模块,用于将第一、第二子加法器的计算结果并接起来并输出。
此结构将一个多位全加器在第k个比特处,拆分成高位和低位两部分,并分别相加,然后并接起来。由于这种拆分,高位子加法器无需依赖于低位的串行进位,所以能够减少缩短最长路径长度。带来的误差来自于某个输入的第k-1位的值与实际所需的第k-1位进位的误差。
表1
X[k-1] | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
Y[k-1] | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
C[k-2] | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | |
δ | 0 | 0 | 0 | 0 | 0 | 0 |
表2
为了能够对本发明中近似加法器的效果有更清楚的理解,表1给出了近似加法器输入的组合方式以及带来的误差。其中X[k-1]、Y[k-1]、C[k-2]分别表示第k位的两个输入以及在第k-1位的进位(从0开始索引)。C[k-1]approx·,C[k-1]correct分别为第k个比特进位输入的近似值和正确值。而近似加法器一次计算所带来的误差表示为δ。
对于一个深度二值卷积神经网络来说,将会有大量的输入数据进行相加。举例来说,如VGG-16网络的某些层数的输入通道数达到512,那么将有3×3×512=4608个数相加。而整个计算模块中有2个近似加法器,那么就会引入2×4608=9216次加法。假设近似加法器的输入每个比特满足均匀分布,那么由独立同分布随机变量的中心极限定律,总误差的均值将趋近于0,即在大量数据累加的过程中大部分正误差和负误差相互抵消,最后产生的总误差较小。而二值卷积神经网络由于其对于噪声的鲁棒性,对最终的分类结果不会造成太大的影响。表2显示了在不同数据集上本发明中设计的近似加法器所带来的分类精度误差不会超过0.5%,在某些数据集如CIFAR-10甚至分类精度还有所提升。表2的结果中CIFAR10和CIFAR100数据集是使用VGG16二值权重卷积神经网络测试的结果。MNIST是使用LENET-5二值权重版本测试的结果。
近似二值乘法器及补偿方案说明如下:
本发明使用2的补码形式来表示数据。由于二值权重卷积神经网络的权重都为+1或者-1,因此可以将原有的进行加权乘法的乘法器改为由求补码操作的电路加多路选择器代替,相比使用普通乘法器,可以使面积和功耗大大减少。为了进一步进行优化功耗和性能,本发明提出了一种近似二值乘法器以及两种误差补偿方案。
上述的求补码电路及多路选择器组成的二值乘法器中,求补码电路一般主要为对输入进行求反码,在加一个加法器,向输入的反码加1求得。因此仍然需要一个多位的加法器。本发明提出一种近似的二值乘法器,如图3右侧所示,取消了求反码操作后的“加一加法器”,而仅保留反相器和多路选择器,也即在输入权重为+1时无误差,在权重为-1时,得到了输入神经元乘上-1结果的近似值,带来的误差为-1。
对于某一个输出神经元,使用上述近似二值乘法器对其相关的所有输入神经元进行加权后,所带来的有误差的输出神经元与其原本正确的值的关系为:
x*=x-n
其中,x*是带有误差的输出神经元值,x是正确的输出神经元值,n为该输出神经元对应的卷积核中为-1权重的数量。
为了降低或消除近似二值乘法器带来的误差,本发明在串行累加单元中对此误差进行补偿(如图1所示)。关于误差的补偿,本发明提出两种方案:
1)直接将补偿值设置为0.5CinWkernelHkernel;其中Cin为当前卷积层输入通道数,Wkernel、Hkernel分别为当前卷积层的卷积核的列数和行数,常见值为3、5、7、11等。这是因为从统计上来讲,+1和-1的权重比例近似相同。经过在CIFAR10数据集上的测试,这种方案所带来的分类精度损失仅为0.71%。
2)第二种方案是,通过在模型的训练过程中,记录当前卷积层每个输出通道对应的所有卷积核中-1的权重的数量,记为n;则对每一个输出通道的计算结果,都补偿此值n。这是一个精确补偿方案,将完全消除近似二值乘法器带来的误差。此方案与第一种方案相比,需要多存储Cin个参数。
选择何种补偿方案,可以视作对于精度要求和片上参数存储空间的一种权衡。
根据使用Synopsys Design Compiler工具的综合结果,使用上述的近似二值乘法器及补偿方案,可以在不损失或损失极低分类精度的情况下,相比使用补码电路加多路选择器组成二值乘法电路的方案,有效节省40%的面积需求。
图1下半部分的串行累加单元,包括:
第二近似加法器,用于将第一近似加法器的结果与偏置项,或是近似二值乘法器的补偿项,或是中间结果暂存器的数据进行累加;
饱和逻辑,用于防止第二近似加法器计算结果的溢出而进行饱和处理;
中间结果暂存器,使用寄存器文件(Register file)实现,用于暂存累加的中间结果以进入下一次累加;
多路选择器,用于接收输入的偏置项,或是近似二值乘法器补偿项,或是暂存器中的计算中间结果,并根据控制信号选择送入第二近似加法器的项;
数据门选通寄存器,通过选通信号用于输出卷积结果,并在卷积结果未完全计算完毕时阻止数据输出。
串行累加单元的功能主要是对36个数据的相加结果进行累加,以部分并行的形式进行卷积计算。前述的近似二值乘法器和压缩器树以及第一近似加法器将被多个输入通道及不同的输入二值权重复用,他们的结果为串行累加单元累加,最终得到输出神经元的最终值。
综上所述,利用本发明实施例提出的基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,可以有效的提高二值卷积神经网络计算的吞吐率,且能够在损失极少精度的前提下,显著降低功耗和面积,适用于需要应用卷积神经网络算法进行实时处理的低功耗嵌入式系统。
尽管你已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下载本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,包括:
多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;
多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;
多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;
一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3:2压缩器和4:2压缩器;
第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;
一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合。
2.如权利要求1所述的串行累加单元,包括:
第二近似加法器,用于将第一近似加法器的结果与偏置项,或是近似二值乘法器的补偿项,或是中间结果暂存器的数据进行累加;
饱和逻辑,用于防止第二近似加法器计算结果的溢出而进行饱和处理;
中间结果暂存器,用于暂存累加的中间结果以进入下一次累加;
多路选择器,用于接收输入的偏置项,或是近似二值乘法器补偿项,或是暂存器中的计算中间结果,并根据控制信号选择送入第二近似加法器的项;
数据门选通寄存器,通过选通信号用于输出卷积结果,并在卷积结果未完全计算完毕时阻止数据输出。
3.如权利要求1所述二值权重卷积神经网络硬件加速器的计算模块,还包括多个寄存器,其中所述多个寄存器被配置为实现流水线操作。
4.如权利要求1所述的二值权重卷积神经网络硬件加速器的计算模块,可通过扩展支持多种卷积核大小,如3×3,5×5,7×7等等;根据需要的不同的卷积核大小,如权利要求1所述的若干个神经元输入端、二值权重输入端、近似二值乘法器的数量、并行输入通道数量可相应扩展;例如针对3×3卷积核,神经元输入端、二值权重输入端、近似二值乘法器的数量则可设定为9个;而并行输入通道可根据需求任意设定;说明书的示例是以3×3卷积核、4个并行输入通道为例,但不应理解为对本发明的限制。
5.如权利要求1、权利要求2所述的第一、第二近似加法器,包括:
第一子加法器,用于近似的计算第一、第二近似加法器输入数据的高位之和;第一子加法器的最低位进位位连接到第二子加法器某一个输入的最高位;
第二子加法器,用于计算第一、第二近似加法器输入数据的低位之和;
一个输出并接模块,用于将第一、第二子加法器的计算结果并接起来并输出。
6.如权利要求1所述的近似二值权重乘法器的输入其中之一为二值权重,其数字值为+1或-1,但使用1个比特分别表示,0表示-1,1表示+1。
7.如权利要求1所述压缩器树中的3:2压缩器由多个1比特全加器构成;这些1比特全加器的三个输入分别为3:2压缩器的3个输入(X、Y、Z)的某一个比特;输出为S、C,他们的关系满足:X+Y+Z=S+C×2,每个1比特全加器无相互连接。
8.如权利要求1所述压缩器树中的4:2压缩器由多个1比特全加器构成,与3:2压缩器不同的是在4:2压缩器中由两个1比特全加器作为一个基本单元;每个基本单元内包含一个第一全加器和第二全加器;第一全加器的三个输入为4:2压缩器的4个输入中某三个输入的某一个比特,进位输出连接至下一个比特的基本单元的第二全加器的输入之一,另一输出连接至第二全加器输入之一;基本单元内的第二全加器的三个输入分别来自于上一个比特的基本单元的第一全加器的进位输出、当前基本单元第一全加器的输出之一,以及整个4:2压缩器中4个输入之一的某比特;假设4:2压缩器的输入为X、Y、Z、W、Cin(1比特),输出为Carry、Sum,他们都有多个比特,则满足以下关系:X+Y+Z+W+Cin=2×Carry+Sum。
9.如权利要求1所述的近似二值乘法器,其特征在于,包含:
与输入数据比特数相同数量的反相器,用于计算输入数据与二值权重为-1时的近似结果;
一个两输入多路选择器,用于根据二值权重选择近似二值乘法器的输出结果。
10.如权利要求2所述的串行累加单元,其中的多入选择器的输入之一为近似二值乘法器的补偿值,根据补偿方案的不同,有以下两种补偿方式:
1)直接将补偿值设置为0.5CinWkernelHkernel;其中Cin为当前卷积层输入通道数,Wkernel、Hkernel分别为当前卷积层的卷积核的列数和行数,常见值为3、5、7、11等;
2)通过在模型的训练过程中,记录当前卷积层每个输出通道对应的所有卷积核中-1的权重的数量,记为n;则对每一个输出通道的计算结果,都补偿此值n。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029955.3A CN106909970B (zh) | 2017-01-12 | 2017-01-12 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029955.3A CN106909970B (zh) | 2017-01-12 | 2017-01-12 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909970A true CN106909970A (zh) | 2017-06-30 |
CN106909970B CN106909970B (zh) | 2020-04-21 |
Family
ID=59207052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710029955.3A Active CN106909970B (zh) | 2017-01-12 | 2017-01-12 | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909970B (zh) |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832839A (zh) * | 2017-10-31 | 2018-03-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
CN108108812A (zh) * | 2017-12-20 | 2018-06-01 | 南京大学 | 用于卷积神经网络的高效可配置卷积计算加速器 |
CN108256638A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
CN108256644A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
CN108596331A (zh) * | 2018-04-16 | 2018-09-28 | 浙江大学 | 一种细胞神经网络硬件架构的优化方法 |
CN108710941A (zh) * | 2018-04-11 | 2018-10-26 | 杭州菲数科技有限公司 | 用于电子设备的神经网络模型的硬加速方法和装置 |
CN108764467A (zh) * | 2018-04-04 | 2018-11-06 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN108875919A (zh) * | 2017-07-21 | 2018-11-23 | 北京旷视科技有限公司 | 数据处理装置、数据处理方法和存储介质产品 |
CN108921292A (zh) * | 2018-05-02 | 2018-11-30 | 东南大学 | 面向深度神经网络加速器应用的近似计算系统 |
CN108984149A (zh) * | 2018-08-07 | 2018-12-11 | 电子科技大学 | 一种高速低功耗的近似4-2压缩器 |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
CN109447257A (zh) * | 2018-09-18 | 2019-03-08 | 复旦大学 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
CN109542512A (zh) * | 2018-11-06 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN109656623A (zh) * | 2019-03-13 | 2019-04-19 | 北京地平线机器人技术研发有限公司 | 执行卷积运算操作的方法及装置、生成指令的方法及装置 |
WO2019080483A1 (zh) * | 2017-10-23 | 2019-05-02 | 北京深鉴智能科技有限公司 | 利用非均匀量化和查找表加速神经网络计算的方法和系统 |
WO2019136752A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
WO2019136751A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能并行处理方法、装置、可读存储介质、及终端 |
CN110162403A (zh) * | 2019-05-28 | 2019-08-23 | 首都师范大学 | 一种基于人工神经网络的硬件资源分配方法及系统 |
CN110245750A (zh) * | 2019-06-14 | 2019-09-17 | 西南科技大学 | 一种基于fpga的神经网络数值模拟方法 |
CN110262772A (zh) * | 2019-06-18 | 2019-09-20 | 北京大学深圳研究生院 | 一种两位、三位的近似加法器和一种近似加法器 |
CN110265002A (zh) * | 2019-06-04 | 2019-09-20 | 北京清微智能科技有限公司 | 语音识别方法、装置、计算机设备及计算机可读存储介质 |
CN110321816A (zh) * | 2019-06-19 | 2019-10-11 | 北京清微智能科技有限公司 | 图像识别方法及装置 |
CN110362292A (zh) * | 2019-07-22 | 2019-10-22 | 电子科技大学 | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 |
CN110458277A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110516801A (zh) * | 2019-08-05 | 2019-11-29 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器架构 |
CN110663048A (zh) * | 2017-09-05 | 2020-01-07 | 松下电器(美国)知识产权公司 | 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及程序 |
CN110705196A (zh) * | 2019-09-25 | 2020-01-17 | 电子科技大学 | 一种基于随机计算的无误差加法器 |
CN110780923A (zh) * | 2019-10-31 | 2020-02-11 | 合肥工业大学 | 应用于二值化卷积神经网络的硬件加速器及其数据处理方法 |
CN110889259A (zh) * | 2019-11-06 | 2020-03-17 | 北京中科胜芯科技有限公司 | 针对排列的块对角权重矩阵的稀疏矩阵向量乘法计算单元 |
CN111078189A (zh) * | 2019-11-23 | 2020-04-28 | 复旦大学 | 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器 |
CN111275167A (zh) * | 2020-01-16 | 2020-06-12 | 北京中科研究院 | 一种用于二值卷积神经网络的高能效脉动阵列架构 |
EP3660690A4 (en) * | 2017-11-30 | 2020-08-12 | SZ DJI Technology Co., Ltd. | CALCULATION UNIT, CALCULATION SYSTEM AND ORDERING PROCEDURE FOR CALCULATION UNIT |
CN111582451A (zh) * | 2020-05-08 | 2020-08-25 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111610963A (zh) * | 2020-06-24 | 2020-09-01 | 上海西井信息科技有限公司 | 芯片结构及其乘加计算引擎 |
CN111767220A (zh) * | 2020-06-24 | 2020-10-13 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种测试方法及装置 |
WO2021000469A1 (zh) * | 2019-07-01 | 2021-01-07 | 东南大学 | 一种基于模拟延时链的二值化神经网络累加器电路 |
CN112306454A (zh) * | 2020-11-13 | 2021-02-02 | 深圳市国芯物联科技有限公司 | 一种实现cordic旋转模式下近似计算的装置和方法 |
WO2022174733A1 (zh) * | 2021-02-19 | 2022-08-25 | 山东英信计算机技术有限公司 | 一种神经元加速处理方法、装置、设备及可读存储介质 |
WO2022189872A1 (en) * | 2021-03-09 | 2022-09-15 | International Business Machines Corporation | Resistive memory device for matrix-vector multiplications |
WO2022198685A1 (en) * | 2021-03-26 | 2022-09-29 | Shanghaitech University | Reduced approximation sharing-based single-input multi-weights multiplier |
US11599785B2 (en) | 2018-11-13 | 2023-03-07 | International Business Machines Corporation | Inference focus for offline training of SRAM inference engine in binary neural network |
CN116151340A (zh) * | 2022-12-26 | 2023-05-23 | 辉羲智能科技(上海)有限公司 | 并行随机计算神经网络系统及其硬件压缩方法、系统 |
US11874898B2 (en) | 2018-01-15 | 2024-01-16 | Shenzhen Corerain Technologies Co., Ltd. | Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067186A1 (en) * | 2000-03-09 | 2001-09-13 | Stmicroelectronics S.R.L. | Method and hardware architecture for controlling a process or for processing data based on quantum soft computing |
CN1694486A (zh) * | 2004-04-30 | 2005-11-09 | 微软公司 | 多级图像的适应性压缩 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN105681628A (zh) * | 2016-01-05 | 2016-06-15 | 西安交通大学 | 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法 |
CN106022472A (zh) * | 2016-05-23 | 2016-10-12 | 复旦大学 | 一种嵌入式深度学习处理器 |
CN106228240A (zh) * | 2016-07-30 | 2016-12-14 | 复旦大学 | 基于fpga的深度卷积神经网络实现方法 |
-
2017
- 2017-01-12 CN CN201710029955.3A patent/CN106909970B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067186A1 (en) * | 2000-03-09 | 2001-09-13 | Stmicroelectronics S.R.L. | Method and hardware architecture for controlling a process or for processing data based on quantum soft computing |
CN1694486A (zh) * | 2004-04-30 | 2005-11-09 | 微软公司 | 多级图像的适应性压缩 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN105681628A (zh) * | 2016-01-05 | 2016-06-15 | 西安交通大学 | 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法 |
CN106022472A (zh) * | 2016-05-23 | 2016-10-12 | 复旦大学 | 一种嵌入式深度学习处理器 |
CN106228240A (zh) * | 2016-07-30 | 2016-12-14 | 复旦大学 | 基于fpga的深度卷积神经网络实现方法 |
Cited By (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875919A (zh) * | 2017-07-21 | 2018-11-23 | 北京旷视科技有限公司 | 数据处理装置、数据处理方法和存储介质产品 |
CN108875919B (zh) * | 2017-07-21 | 2021-04-02 | 北京旷视科技有限公司 | 数据处理装置、数据处理方法和存储介质产品 |
US11501144B2 (en) | 2017-08-11 | 2022-11-15 | Google Llc | Neural network accelerator with parameters resident on chip |
US11727259B2 (en) | 2017-08-11 | 2023-08-15 | Google Llc | Neural network accelerator with parameters resident on chip |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
CN110663048A (zh) * | 2017-09-05 | 2020-01-07 | 松下电器(美国)知识产权公司 | 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及程序 |
CN110663048B (zh) * | 2017-09-05 | 2023-10-24 | 松下电器(美国)知识产权公司 | 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及记录介质 |
WO2019080483A1 (zh) * | 2017-10-23 | 2019-05-02 | 北京深鉴智能科技有限公司 | 利用非均匀量化和查找表加速神经网络计算的方法和系统 |
CN107832839B (zh) * | 2017-10-31 | 2020-02-14 | 南京地平线机器人技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
CN107832839A (zh) * | 2017-10-31 | 2018-03-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
EP3660690A4 (en) * | 2017-11-30 | 2020-08-12 | SZ DJI Technology Co., Ltd. | CALCULATION UNIT, CALCULATION SYSTEM AND ORDERING PROCEDURE FOR CALCULATION UNIT |
CN108108812B (zh) * | 2017-12-20 | 2021-12-03 | 南京风兴科技有限公司 | 用于卷积神经网络的高效可配置卷积计算加速器 |
CN108108812A (zh) * | 2017-12-20 | 2018-06-01 | 南京大学 | 用于卷积神经网络的高效可配置卷积计算加速器 |
CN108256644A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
CN108256638A (zh) * | 2018-01-05 | 2018-07-06 | 上海兆芯集成电路有限公司 | 微处理器电路以及执行神经网络运算的方法 |
US11604970B2 (en) | 2018-01-05 | 2023-03-14 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Micro-processor circuit and method of performing neural network operation |
WO2019136751A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能并行处理方法、装置、可读存储介质、及终端 |
US11874898B2 (en) | 2018-01-15 | 2024-01-16 | Shenzhen Corerain Technologies Co., Ltd. | Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal |
WO2019136752A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能卷积处理方法、装置、可读存储介质、及终端 |
CN108764467A (zh) * | 2018-04-04 | 2018-11-06 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN108764467B (zh) * | 2018-04-04 | 2021-08-17 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN108710941A (zh) * | 2018-04-11 | 2018-10-26 | 杭州菲数科技有限公司 | 用于电子设备的神经网络模型的硬加速方法和装置 |
CN108596331A (zh) * | 2018-04-16 | 2018-09-28 | 浙江大学 | 一种细胞神经网络硬件架构的优化方法 |
CN108921292B (zh) * | 2018-05-02 | 2021-11-30 | 东南大学 | 面向深度神经网络加速器应用的近似计算系统 |
CN108921292A (zh) * | 2018-05-02 | 2018-11-30 | 东南大学 | 面向深度神经网络加速器应用的近似计算系统 |
CN108984149B (zh) * | 2018-08-07 | 2023-03-03 | 电子科技大学 | 一种高速低功耗的近似4-2压缩器 |
CN108984149A (zh) * | 2018-08-07 | 2018-12-11 | 电子科技大学 | 一种高速低功耗的近似4-2压缩器 |
CN109447257A (zh) * | 2018-09-18 | 2019-03-08 | 复旦大学 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
CN109447257B (zh) * | 2018-09-18 | 2021-08-17 | 复旦大学 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
CN109542512A (zh) * | 2018-11-06 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN109542512B (zh) * | 2018-11-06 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
US11599785B2 (en) | 2018-11-13 | 2023-03-07 | International Business Machines Corporation | Inference focus for offline training of SRAM inference engine in binary neural network |
US11797851B2 (en) | 2018-11-13 | 2023-10-24 | International Business Machines Corporation | Inference focus for offline training of SRAM inference engine in binary neural network |
CN109656623B (zh) * | 2019-03-13 | 2019-06-14 | 北京地平线机器人技术研发有限公司 | 执行卷积运算操作的方法及装置、生成指令的方法及装置 |
CN109656623A (zh) * | 2019-03-13 | 2019-04-19 | 北京地平线机器人技术研发有限公司 | 执行卷积运算操作的方法及装置、生成指令的方法及装置 |
CN110458277B (zh) * | 2019-04-17 | 2021-11-16 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110458277A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110162403B (zh) * | 2019-05-28 | 2021-07-13 | 首都师范大学 | 一种基于人工神经网络的硬件资源分配方法及系统 |
CN110162403A (zh) * | 2019-05-28 | 2019-08-23 | 首都师范大学 | 一种基于人工神经网络的硬件资源分配方法及系统 |
CN110265002A (zh) * | 2019-06-04 | 2019-09-20 | 北京清微智能科技有限公司 | 语音识别方法、装置、计算机设备及计算机可读存储介质 |
CN110265002B (zh) * | 2019-06-04 | 2021-07-23 | 北京清微智能科技有限公司 | 语音识别方法、装置、计算机设备及计算机可读存储介质 |
CN110245750B (zh) * | 2019-06-14 | 2022-07-15 | 西南科技大学 | 一种基于fpga的神经网络数值模拟方法 |
CN110245750A (zh) * | 2019-06-14 | 2019-09-17 | 西南科技大学 | 一种基于fpga的神经网络数值模拟方法 |
CN110262772A (zh) * | 2019-06-18 | 2019-09-20 | 北京大学深圳研究生院 | 一种两位、三位的近似加法器和一种近似加法器 |
CN110262772B (zh) * | 2019-06-18 | 2023-01-03 | 北京大学深圳研究生院 | 一种两位、三位的近似加法器和一种近似加法器 |
CN110321816A (zh) * | 2019-06-19 | 2019-10-11 | 北京清微智能科技有限公司 | 图像识别方法及装置 |
WO2021000469A1 (zh) * | 2019-07-01 | 2021-01-07 | 东南大学 | 一种基于模拟延时链的二值化神经网络累加器电路 |
CN110362292B (zh) * | 2019-07-22 | 2022-12-20 | 电子科技大学 | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 |
CN110362292A (zh) * | 2019-07-22 | 2019-10-22 | 电子科技大学 | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 |
CN110516801B (zh) * | 2019-08-05 | 2022-04-22 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器 |
CN110516801A (zh) * | 2019-08-05 | 2019-11-29 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器架构 |
CN110705196B (zh) * | 2019-09-25 | 2021-09-28 | 电子科技大学 | 一种基于随机计算的无误差加法器 |
CN110705196A (zh) * | 2019-09-25 | 2020-01-17 | 电子科技大学 | 一种基于随机计算的无误差加法器 |
CN110780923B (zh) * | 2019-10-31 | 2021-09-14 | 合肥工业大学 | 应用于二值化卷积神经网络的硬件加速器及其数据处理方法 |
CN110780923A (zh) * | 2019-10-31 | 2020-02-11 | 合肥工业大学 | 应用于二值化卷积神经网络的硬件加速器及其数据处理方法 |
CN110889259A (zh) * | 2019-11-06 | 2020-03-17 | 北京中科胜芯科技有限公司 | 针对排列的块对角权重矩阵的稀疏矩阵向量乘法计算单元 |
CN110889259B (zh) * | 2019-11-06 | 2021-07-09 | 北京中科胜芯科技有限公司 | 针对排列的块对角权重矩阵的稀疏矩阵向量乘法计算单元 |
CN111078189B (zh) * | 2019-11-23 | 2023-05-02 | 复旦大学 | 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器 |
CN111078189A (zh) * | 2019-11-23 | 2020-04-28 | 复旦大学 | 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器 |
CN111275167A (zh) * | 2020-01-16 | 2020-06-12 | 北京中科研究院 | 一种用于二值卷积神经网络的高能效脉动阵列架构 |
CN111582451A (zh) * | 2020-05-08 | 2020-08-25 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111582451B (zh) * | 2020-05-08 | 2022-09-06 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111610963A (zh) * | 2020-06-24 | 2020-09-01 | 上海西井信息科技有限公司 | 芯片结构及其乘加计算引擎 |
CN111767220A (zh) * | 2020-06-24 | 2020-10-13 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种测试方法及装置 |
CN112306454A (zh) * | 2020-11-13 | 2021-02-02 | 深圳市国芯物联科技有限公司 | 一种实现cordic旋转模式下近似计算的装置和方法 |
WO2022174733A1 (zh) * | 2021-02-19 | 2022-08-25 | 山东英信计算机技术有限公司 | 一种神经元加速处理方法、装置、设备及可读存储介质 |
WO2022189872A1 (en) * | 2021-03-09 | 2022-09-15 | International Business Machines Corporation | Resistive memory device for matrix-vector multiplications |
GB2619654A (en) * | 2021-03-09 | 2023-12-13 | Ibm | Resistive memory device for matrix-vector multiplications |
WO2022198685A1 (en) * | 2021-03-26 | 2022-09-29 | Shanghaitech University | Reduced approximation sharing-based single-input multi-weights multiplier |
CN116151340A (zh) * | 2022-12-26 | 2023-05-23 | 辉羲智能科技(上海)有限公司 | 并行随机计算神经网络系统及其硬件压缩方法、系统 |
CN116151340B (zh) * | 2022-12-26 | 2023-09-01 | 辉羲智能科技(上海)有限公司 | 并行随机计算神经网络系统及其硬件压缩方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106909970B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909970A (zh) | 一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块 | |
CN106897046B (zh) | 一种定点乘累加器 | |
CN108564168B (zh) | 一种对支持多精度卷积神经网络处理器的设计方法 | |
CN105955706B (zh) | 一种除法器及除法运算方法 | |
CN101174200B (zh) | 一种具有五级流水线结构的浮点乘加融合单元 | |
CN106951211B (zh) | 一种可重构定浮点通用乘法器 | |
CN111667051A (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
Juang et al. | Low-error carry-free fixed-width multipliers with low-cost compensation circuits | |
CN110413255A (zh) | 人工神经网络调整方法和装置 | |
WO2021073196A1 (zh) | 基于高精度取舍方式的误差可控的数据处理系统及方法 | |
CN110265002A (zh) | 语音识别方法、装置、计算机设备及计算机可读存储介质 | |
US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
CN109240644B (zh) | 一种用于伊辛芯片的局部搜索方法及电路 | |
CN115238863A (zh) | 一种卷积神经网络卷积层的硬件加速方法、系统及应用 | |
CN106682258A (zh) | 一种高层次综合工具中的多操作数加法优化方法及系统 | |
US8812569B2 (en) | Digital filter implementation for exploiting statistical properties of signal and coefficients | |
CN108762719A (zh) | 一种并行广义内积重构控制器 | |
CN113705794A (zh) | 一种基于动态激活位稀疏的神经网络加速器设计方法 | |
CN108255463A (zh) | 一种数字逻辑运算方法、电路和fpga芯片 | |
KR102277644B1 (ko) | 가속 회로에 적합한 합성곱 신경망의 Conv-XP 프루닝 장치 | |
CN113360131A (zh) | 面向卷积神经网络加速器的对数近似乘累加器 | |
US20050223054A1 (en) | Multiplier sign extension method and architecture | |
EP4345600A1 (en) | Multiplication hardware block with adaptive fidelity control system | |
KR100853787B1 (ko) | 가변 진법 나눗셈 연산기 | |
US20070038692A1 (en) | Correlator having user-defined processing |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190429 Address after: Room 816, Block B, Software Building 9 Xinghuo Road, Jiangbei New District, Nanjing, Jiangsu Province Applicant after: Nanjing Fengxing Technology Co., Ltd. Address before: 210023 Xianlin Avenue 163 Nanjing University Electronic Building 229, Qixia District, Nanjing City, Jiangsu Province Applicant before: Nanjing University |
|
GR01 | Patent grant | ||
GR01 | Patent grant |