CN108647774A - 一种优化稀疏性矩阵运算的神经网络方法和电路 - Google Patents
一种优化稀疏性矩阵运算的神经网络方法和电路 Download PDFInfo
- Publication number
- CN108647774A CN108647774A CN201810366385.1A CN201810366385A CN108647774A CN 108647774 A CN108647774 A CN 108647774A CN 201810366385 A CN201810366385 A CN 201810366385A CN 108647774 A CN108647774 A CN 108647774A
- Authority
- CN
- China
- Prior art keywords
- unit
- zero
- characteristic
- convolution
- adder
- 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
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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)
- 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)
- Complex Calculations (AREA)
Abstract
本发明提供了一种优化稀疏性矩阵运算的神经网络方法和电路,所述方法通过非零数据规整单元来统计从主存单元中获取的第一特征矩阵数据的非零数据个数,并根据非零数据个数与卷积运算所需的乘加器个数的对应关系,采用门控时钟控制电路控制对应的时钟组开启,而后进行乘加运算得到卷积特征数据。在之后的累加运算过程中,累加单元只针对卷积特征数据中的非零数据进行累加,并在累加完成后将累加运算数据传输给激活函数运算单元进行激活运算。相较于针对整个卷积特征数据进行累加运算的方式,本发明能够有效降低神经网络电路运算过程中的运算量和功耗。
Description
技术领域
本发明涉及神经网络芯片电路领域,特别涉及一种优化稀疏性矩阵运算的神经网络方法和电路。
背景技术
随着人工智能产业的兴起,深度学习专用芯片也在快速的发展。当前深度学习芯片的最大问题之一就是由于深度学习神经网络的复杂性,造成运算电路庞大、芯片成本高、功耗高。如果能从深度学习的特性出发,进一步的降低深度学习人工智能芯片的成本和功耗将是非常有意义的。
由于人脑处理信息的一大特点是稀疏性,很多研究表明同一时刻只有大约1%的脑神经元处于被激活状态。从信号方面来看,即神经元同时只对输入信号的少部分选择性响应,大量信号被刻意的屏蔽了,这样处理的方式可以提高学习的精度,更好更快地提取稀疏特征。因此深度学习神经网络激活函数的一个重要发展方向就是使数据经过激活函数后更加向稀疏化靠拢。神经网络激活函数的特点就是稀疏化,对应到数学上可以表示为在激活后的矩阵中有很多0元素。然而,目前的硬件神经网络运算技术都是对整个矩阵进行运算,这将导致芯片对电路面积和功耗都消耗较大,没有考虑到神经网络稀疏性的发展趋势。
发明内容
为此,需要提供一种优化稀疏性矩阵运算的神经网络的技术方案,用以解决神经网络芯片运算过程中运算电路庞大、消耗硬件资源多、功耗高等问题。
为实现上述目的,发明人提供了一种优化稀疏性矩阵运算的神经网络电路,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
所述非零数据规整单元用于统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
所述门控时钟确定单元用于根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
所述门控时钟控制单元用于根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
所述乘加器阵列单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
所述累加单元用于根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
所述激活函数运算单元用于对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
所述反向回写单元用于将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
进一步地,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;
所述池化运算单元用于对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
进一步地,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;
当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元用于控制第一时钟组开启并控制第二时钟组关闭;
当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
进一步地,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;
所述数据填充控制单元用于接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,所述累加运算单元用于根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
所述数据填充控制单元还用于在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
进一步地,所述非零数据规整单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;
所述比较器用于将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;
当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
发明人还提供了一种优化稀疏性矩阵运算的神经网络方法,所述方法应用于优化稀疏性矩阵运算的神经网络电路,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述方法包括以下步骤:
主存单元存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
特征数据读取单元从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;卷积核读取单元从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
非零数据规整单元统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
门控时钟确定单元根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
门控时钟控制单元根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
乘加器阵列单元获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
累加单元根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
激活函数运算单元对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
反向回写单元将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
进一步地,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;所述方法包括:
池化运算单元对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
进一步地,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;
当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元控制第一时钟组开启并控制第二时钟组关闭;
当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
进一步地,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;所述方法包括:
数据填充控制单元接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,累加运算单元根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
数据填充控制单元在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
进一步地,其特征在于:所述非零数据规整单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;所述方法包括:
比较器将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;
当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
区别于现有技术,上述技术方案所述的优化稀疏性矩阵运算的神经网络方法和电路,所述方法通过非零数据规整单元来统计从主存单元中获取的第一特征矩阵数据的非零数据个数,并根据非零数据个数与卷积运算所需的乘加器个数的对应关系,采用门控时钟控制电路控制对应的时钟组开启,而后进行乘加运算得到卷积特征数据。在之后的累加运算过程中,累加单元只针对卷积特征数据中的非零数据进行累加,并在累加完成后将累加运算数据传输给激活函数运算单元进行激活运算。相较于针对整个卷积特征数据进行累加运算的方式,本发明能够有效降低神经网络电路运算过程中的运算量和功耗。
附图说明
图1为本发明一实施方式涉及的优化稀疏性矩阵运算的神经网络电路的示意图;
图2为本发明一实施方式涉及的非零数据规整单元的示意图;
图3本发明一实施方式涉及的乘加器阵列单元的示意图;
图4本发明一实施方式涉及的累加单元的示意图;
图5为本发明一实施方式涉及的优化稀疏性矩阵运算的神经网络方法的流程图;
附图标记说明:
101、主存单元;
102、特征数据读取单元;
103、特征数据缓存单元;
104、非零数据规整单元;114、非零数据判断单元;124、非零数据序号存储单元;134、规整缓存单元;
105、卷积核读取单元;
106、卷积核缓存单元;
107、乘加器阵列单元;
108、累加单元;118、数据填充控制单元;128、累加运算单元;138、累加缓存单元;
109、激活函数运算单元;
110、反向回写单元;
111、门控时钟确定单元;
112、门控时钟控制单元;
113、池化运算单元;
114、反向回写单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施方式涉及的优化稀疏性矩阵运算的神经网络电路的示意图。
所述电路包括主存单元101、特征数据读取单元102、特征数据缓存单元103、非零数据规整单元104、卷积核读取单元105、卷积核缓存单元106、乘加器阵列单元107、累加单元108、激活函数运算单元109、反向回写单元110、门控时钟确定单元111、门控时钟控制单元112;
所述主存单元101分别与特征数据读取单元102、卷积核读取单元105连接,所述特征数据读取单元102与特征数据缓存单元103连接,所述特征数据缓存单元103与非零数据规整单元104连接,所述卷积核读取单元105与卷积核缓存单元106连接,所述乘加器阵列单元107分别与非零数据规整单元104、卷积核缓存单元106、门控时钟控制单元112、累加单元108连接;所述非零数据规整单元104与门控时钟确定单元111连接,所述门控时钟确定单元111与门控时钟控制单元112连接;所述卷积核缓存单元106与激活函数运算单元109连接,所述激活函数运算单元109与反向回写单元110连接,所述反向回写单元110与主存单元101连接;
所述乘加器阵列单元107包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元112与乘加器阵列单元107中的各个时钟组均连接;
所述主存单元101用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据。所述第一特征矩阵数据可以是原始的图像数据,也可以是由反向回写单元回写至主存单元的经过某一次池化运算后的特征数据。
所述特征数据读取单元102用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元103中;所述卷积核读取单元105用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元106中。卷积运算是神经网络运算过程中的重要一项,简单的说,其是通过对应的卷积核模板(即卷积核数据)对特征数据进行卷积运算,因而进行卷积运算所需的输入参数为卷积核数据和第一特征矩阵数据(即待进行卷积运算的数据),为了保证卷积运算数据获取的同步性,先将这两者分别存储于卷积核缓存单元和特征数据缓存单元中。
所述非零数据规整单元104用于统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元111;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元108。
如图2所示,非零数据规整单元104包括非零数据判断单元114、非零数据序号存储单元124、规整缓存单元134。非零数据规整单元104负责对第一特征数据矩阵中的数据进行重新排列整理,具体做法如下:先将第一特征矩阵数据按照从左到右、从上到下的顺序(在其他实施例中,也可以根据其他顺序规则进行排列,具体根据实际需要设定)排列进入非零数据判断单元114;而后非零数据判断单元114对矩阵数据进行一一判断,判断各个数据是否为零,如果为零则不做任何操作,如果为非零则将数据按顺序存到规整缓存单元134中,并将该非零数据在特征数据流中的序号以及统计非零数据的总个数送往非零数据序号存储单元124。
当矩阵数据中的所有数据均判断(即判断是否为0)完毕后,规整缓存单元存储了矩阵数据中所有重新排列后的非零数据,非零数据序号存储单元存储了各个非零数据对应的序号,每一序号对应一个规整缓存单元中存储的非零数据。而后非零数据规整单元104会将存储的非零数据的序号送往乘加器阵列单元107和累加单元108,将规整缓存单元134中的非零数据送往乘加器阵列单元107,将非零数据个数送往门控时钟确定单元111。
具体地,非零数据判断单元114包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值。所述比较器用于将第二特征矩阵数据中的特征数据逐个与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
所述门控时钟确定单元111用于根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;所述门控时钟控制单元112用于根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数。
在本实施方式中,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同。当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元用于控制第一时钟组开启并控制第二时钟组关闭;当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
每个时钟组对应为一个或多个乘加器提供时钟,时钟组开启,则与之相连接的乘加器对应开启工作。如果非零数据的个数越多,说明卷积运算过程中需要进行的乘加操作越多,所需的乘加器数量越多,门控时钟控制单元需要开启的时钟组数量也就越多。简言之,开启的乘加器数量与非零数据的个数呈分段函数关系,两者之间的衔接是通过控制与乘加器连接的时钟组是否开启来实现。
如图3所示,门控时时钟确定单元根据非零数据个数和乘加阵列的每个门控时钟(即时钟组)控制的乘加器组中乘加器的个数,来决定打开几个乘加器组的时钟。例如图4中有4个乘加器组,每个乘加器组对应一个时钟组,每一时钟组内连接有4个乘加器,那么该乘加器阵列单元支持同时运行4x4个数据进行乘加运算。因而非零数据个数与时钟组之间的关系可以被配置为:
当非零数据个数为13~16个时,全部乘加器组时钟打开,即时钟组1、2、3、4开启;
当非零数据个数为9~12个时,开启3个乘加器组(即开启12个乘加器),即时钟组1、2、3开启,时钟组4关闭;
当非零数据个数为5~8个时,开启2个乘加器组(即开启8个乘加器),即时钟组1、2开启,时钟组3、4关闭;
当非零数据个数为1~4个时,开启1个乘加器组(即开启4个乘加器),即时钟组1开启,时钟组2、3、4关闭。
这样,门控时钟控制单元根据非零数据个数决定开启时钟组的数量,相较于乘加器全部集中控制的方式,可以达到节省运算功耗的目的。
所述乘加器阵列单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元。卷积运算过程为神经网络运算领域常用的算法,相关原理可以参考以下链接:
https://www.cnblogs.com/nsnow/p/4562308.html
https://blog.csdn.net/nicajonh/article/details/53142449?locati onNum =2&fps=1。
所述累加单元108用于根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元109。
如图4所示,所述累加单元108包括数据填充控制单元118、累加运算单元128和累加缓存单元138。
所述数据填充控制单元118用于接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,所述累加运算单元128用于根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中。
所述数据填充控制单元118用于在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
在神经网络算法时,对于一幅图像的卷积运算是基于块进行处理,块大小取决于所采用的卷积核模板大小,如3x3矩阵、5x5矩阵等。在运算过程中,除了将特征矩阵数据与卷积核数据(即卷积核模板)进行乘加运算之外,还需要对乘加之后得到的卷积特征数据(也是一个矩阵)不断地与自身进行累加运算,而后再将累加运算结果传给激活函数运算单元进行激活运算。
例如块为3x3矩阵,数据的序号为1到9,非零数据序号为3和8,累加运算单元将接收的序号为3的非零数据与累加缓存单元中地址为3(即序号3对应逻辑地址)已存储好的数据进行相加,然后再将相加得到的值覆盖存储到地址为3的存储位置。累加方式可以用公式“a=a+b”表示,等式左边a表示累加得到的值,等式右边a表示已存储好的数据值,b表示非零数据的值。同理,累加单元还将接收的序号为8的非零数据与累加缓存单元中地址为8(即序号8对应逻辑地址)已存储好的数据进行相加,然后再将相加得到的值覆盖存储到地址为8的存储位置。
当收到块运算完成标识信号后,数据填充控制单元将其他剩余地址(除了3和8之外累加缓存单元的其他7个地址)填充为零,得到最终的累加运算结果数据,而后将累加运算结果数据送往激活函数运算单元进行激活运算。
所述激活函数运算单元109用于对累加运算结果进行激活函数运算,得到第二特征矩阵数据。。激活运算,也是神经网络运算领域一个常见的运算,简单的说,其是通过一个激活阈值对卷积运算后的卷积特征数据进行激活,从而得到一个大多数位置数值为0的矩阵来尝试表达特征数据,关于激活函数运算的相关原理可以参考以下链接:
https://blog.csdn.net/huahuazhu/article/details/74188288
https://blog.csdn.net/shuzfan/article/details/71125457。
在本实施方式做,所述电路还包括池化运算单元113,所述池化运算单元113分别与激活函数运算单元109、反向回写单元110连接。所述池化运算单元113用于对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。池化运算,也是神经网络运算领域一个常见的运算,关于池化运算的相关原理可以参考以下链接:
https://blog.csdn.net/qq_18343569/article/details/49823091
https://blog.csdn.net/qq_16234613/article/details/79520929
所述反向回写单元110用于将第二特征矩阵数据回写至主存单元101中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
如图5所示,一种优化稀疏性矩阵运算的神经网络方法,所述方法应用于优化稀疏性矩阵运算的神经网络电路,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述方法包括以下步骤:
首先进入步骤S501主存单元存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
而后进入步骤S502特征数据读取单元从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;卷积核读取单元从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
而后进入步骤S503非零数据规整单元统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
而后进入步骤S504门控时钟确定单元根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
而后进入步骤S505门控时钟控制单元根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
而后进入步骤S506乘加器阵列单元获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
而后进入步骤S507累加单元根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
而后进入步骤S508激活函数运算单元对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
而后进入步骤S509反向回写单元将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
在某些实施例中,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;所述方法包括:池化运算单元对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
在某些实施例中,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元控制第一时钟组开启并控制第二时钟组关闭;当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
在某些实施例中,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;所述方法包括:
数据填充控制单元接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,累加运算单元根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
数据填充控制单元在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
在某些实施例中,所述非零数据规整单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;所述方法包括:比较器将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
上述技术方案所述的优化稀疏性矩阵运算的神经网络方法和电路,所述方法通过非零数据规整单元来统计从主存单元中获取的第一特征矩阵数据的非零数据个数,并根据非零数据个数与卷积运算所需的乘加器个数的对应关系,采用门控时钟控制电路控制对应的时钟组开启,而后进行乘加运算得到卷积特征数据。在之后的累加运算过程中,累加单元只针对卷积特征数据中的非零数据进行累加,并在累加完成后将累加运算数据传输给激活函数运算单元进行激活运算。相较于针对整个卷积特征数据进行累加运算的方式,本发明能够有效降低神经网络电路运算过程中的运算量和功耗。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (10)
1.一种优化稀疏性矩阵运算的神经网络电路,其特征在于,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述主存单元用于存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
所述特征数据读取单元用于从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;所述卷积核读取单元用于从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
所述非零数据规整单元用于统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
所述门控时钟确定单元用于根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
所述门控时钟控制单元用于根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
所述乘加器阵列单元用于获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
所述累加单元用于根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
所述激活函数运算单元用于对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
所述反向回写单元用于将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
2.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;
所述池化运算单元用于对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
3.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;
当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元用于控制第一时钟组开启并控制第二时钟组关闭;
当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
4.如权利要求1所述的优化稀疏性矩阵运算的神经网络电路,其特征在于,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;
所述数据填充控制单元用于接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,所述累加运算单元用于根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
数据填充控制单元用于在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
5.如权利要求1至4任一项所述的优化稀疏性矩阵运算的神经网络电路,其特征在于:
所述非零数据规整单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;
所述比较器用于将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;
当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
6.一种优化稀疏性矩阵运算的神经网络方法,其特征在于,所述方法应用于优化稀疏性矩阵运算的神经网络电路,所述电路包括主存单元、特征数据读取单元、特征数据缓存单元、非零数据规整单元、卷积核读取单元、卷积核缓存单元、乘加器阵列单元、累加单元、激活函数运算单元、反向回写单元、门控时钟确定单元、门控时钟控制单元;
所述主存单元分别与特征数据读取单元、卷积核读取单元连接,所述特征数据读取单元与特征数据缓存单元连接,所述特征数据缓存单元与非零数据规整单元连接,所述卷积核读取单元与卷积核缓存单元连接,所述乘加器阵列单元分别与非零数据规整单元、卷积核缓存单元、门控时钟控制单元、累加单元连接;所述非零数据规整单元与门控时钟确定单元连接,所述门控时钟确定单元与门控时钟控制单元连接;所述卷积核缓存单元与激活函数运算单元连接,所述激活函数运算单元与反向回写单元连接,所述反向回写单元与主存单元连接;
所述乘加器阵列单元包括多个时钟组,每一时钟组连接有一个或多个乘加器,所述门控时钟控制单元与乘加器阵列单元中的各个时钟组均连接;
所述方法包括以下步骤:
主存单元存储第一特征矩阵数据以及各个神经网络子层的卷积核数据;
特征数据读取单元从主存单元读取第一特征矩阵数据,并将其存储于特征数据缓存单元中;卷积核读取单元从主存单元读取当前神经网络子层对应的卷积核数据,并将其存储于卷积核缓存单元中;
非零数据规整单元统计第一特征矩阵数据中非零数据的个数,并将统计得到的第一特征矩阵数据中非零数据的个数传输给门控时钟确定单元;以及记录各个非零数据在第一特征矩阵数据中的序号,并将记录的各个非零数据的序号传输给累加单元;
门控时钟确定单元根据第一特征矩阵数据中非零数据的个数确定进行卷积运算所需的乘加器个数;
门控时钟控制单元根据门控时钟确定单元确定的乘加器个数、以及乘加器阵列单元中各个时钟组连接的乘加器个数,控制乘加器阵列单元中时钟组开启的数量,以使得开启的所有时钟组内与之连接的乘加器数量满足门控时钟确定单元确定的乘加器个数;
乘加器阵列单元获取卷积核缓存单元中的卷积核数据以及特征数据缓存单元中的第一特征矩阵数据进行卷积运算,得到卷积特征数据,并将卷积特征数据传输至累加单元;
累加单元根据卷积特征数据以及各个非零数据在第一特征矩阵数据中的序号,对卷积特征数据中的各个非零数据进行累加运算,得到累加运算结果,并将累加运算结果传输至激活函数运算单元;
激活函数运算单元对累加运算结果进行激活函数运算,得到第二特征矩阵数据;
反向回写单元将第二特征矩阵数据回写至主存单元中;当前神经网络子层的第二特征矩阵数据为下一层神经网络子层对应的第一特征矩阵数据。
7.如权利要求6所述的优化稀疏性矩阵运算的神经网络方法,其特征在于,所述电路还包括池化运算单元,所述池化运算单元分别与激活函数运算单元、反向回写单元连接;所述方法包括:
池化运算单元对激活函数运算的运算结果进行池化运算,得到第二特征矩阵数据。
8.如权利要求6所述的优化稀疏性矩阵运算的神经网络方法,其特征在于,所述时钟组包括第一时钟组和第二时钟组,与第一时钟组连接的乘加器数量与第二时钟组连接的乘加器数量相同;
当第一特征矩阵数据中非零数据的个数小于第一预设数值时,门控时钟控制单元控制第一时钟组开启并控制第二时钟组关闭;
当第一特征矩阵数据中非零数据的个数大于第一预设数值且小于第二预设数值时,门控时钟控制单元控制第一时钟组和第二时钟组均开启。
9.如权利要求6所述的优化稀疏性矩阵运算的神经网络方法,其特征在于,所述累加单元包括数据填充控制单元、累加运算单元和累加缓存单元;所述方法包括:
数据填充控制单元接收非零数据的序号、卷积特征数据以及各个卷积特征数据对应的块标识信息,累加运算单元根据所述块标识信息,对图像逐块进行块累加运算,所述块累加运算包括:对卷积特征数据中的非零数据进行累加运算,并将累加结果写入该非零数据在累加缓存单元对应的逻辑地址中;
数据填充控制单元在接收到块运算完成运算后,停止对非零数据的累加运算,并将累加缓存单元中除了非零数据对应的逻辑地址之外的其他逻辑地址的存储值填充为0。
10.如权利要求6至9任一项所述的优化稀疏性矩阵运算的神经网络方法,其特征在于:所述非零数据规整单元包括比较器、计数器和存储器,所述比较器分别与计数器、存储器连接,所述存储器用于存储零值;所述方法包括:
比较器将第二特征矩阵数据中的各个特征数据与零值进行比较,当比较器判定当前特征数据的数值不为零值时,则计算器值加1;
当所有第二特征矩阵数据中的特征数据全部比较完成后,非零数据规整单元将当前计数器的值传输给门控时钟确定单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810366385.1A CN108647774B (zh) | 2018-04-23 | 2018-04-23 | 一种优化稀疏性矩阵运算的神经网络方法和电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810366385.1A CN108647774B (zh) | 2018-04-23 | 2018-04-23 | 一种优化稀疏性矩阵运算的神经网络方法和电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647774A true CN108647774A (zh) | 2018-10-12 |
CN108647774B CN108647774B (zh) | 2020-11-20 |
Family
ID=63747284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810366385.1A Active CN108647774B (zh) | 2018-04-23 | 2018-04-23 | 一种优化稀疏性矩阵运算的神经网络方法和电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647774B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740754A (zh) * | 2018-12-29 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 神经网络计算装置、神经网络计算方法及相关产品 |
CN109858622A (zh) * | 2019-01-31 | 2019-06-07 | 福州瑞芯微电子股份有限公司 | 深度学习神经网络的数据搬运电路和方法 |
CN110647976A (zh) * | 2019-08-20 | 2020-01-03 | 福州瑞芯微电子股份有限公司 | 一种矩阵卷积优化运算方法和电路 |
CN110705701A (zh) * | 2019-09-05 | 2020-01-17 | 福州瑞芯微电子股份有限公司 | 一种高并行度的卷积运算方法和电路 |
CN111553471A (zh) * | 2020-07-13 | 2020-08-18 | 北京欣奕华数字科技有限公司 | 一种数据分析处理方法及装置 |
CN111694767A (zh) * | 2019-05-16 | 2020-09-22 | 时擎智能科技(上海)有限公司 | 累加缓存装置 |
WO2021000285A1 (zh) * | 2019-07-03 | 2021-01-07 | 华为技术有限公司 | 数据处理系统与方法、编码单元、处理单元与存储介质 |
TWI742802B (zh) * | 2020-08-18 | 2021-10-11 | 創鑫智慧股份有限公司 | 矩陣運算裝置及其操作方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105652186A (zh) * | 2016-03-11 | 2016-06-08 | 福州瑞芯微电子股份有限公司 | 一种芯片高速测试电路及测试方法 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN107229967A (zh) * | 2016-08-22 | 2017-10-03 | 北京深鉴智能科技有限公司 | 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法 |
WO2017214728A1 (en) * | 2016-06-14 | 2017-12-21 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
CN107832841A (zh) * | 2017-11-14 | 2018-03-23 | 福州瑞芯微电子股份有限公司 | 一种神经网络芯片的功耗优化方法及电路 |
-
2018
- 2018-04-23 CN CN201810366385.1A patent/CN108647774B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105652186A (zh) * | 2016-03-11 | 2016-06-08 | 福州瑞芯微电子股份有限公司 | 一种芯片高速测试电路及测试方法 |
WO2017214728A1 (en) * | 2016-06-14 | 2017-12-21 | The Governing Council Of The University Of Toronto | Accelerator for deep neural networks |
CN107229967A (zh) * | 2016-08-22 | 2017-10-03 | 北京深鉴智能科技有限公司 | 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN107832841A (zh) * | 2017-11-14 | 2018-03-23 | 福州瑞芯微电子股份有限公司 | 一种神经网络芯片的功耗优化方法及电路 |
Non-Patent Citations (2)
Title |
---|
YU-HSIN CHEN 等: "Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks", 《2016 ACM/IEEE 43RD ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
余子健 等: "基于FPGA的卷积神经网络加速器", 《计算机工程》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740754A (zh) * | 2018-12-29 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 神经网络计算装置、神经网络计算方法及相关产品 |
CN109858622A (zh) * | 2019-01-31 | 2019-06-07 | 福州瑞芯微电子股份有限公司 | 深度学习神经网络的数据搬运电路和方法 |
CN109858622B (zh) * | 2019-01-31 | 2021-03-02 | 瑞芯微电子股份有限公司 | 深度学习神经网络的数据搬运电路和方法 |
CN111694767A (zh) * | 2019-05-16 | 2020-09-22 | 时擎智能科技(上海)有限公司 | 累加缓存装置 |
WO2021000285A1 (zh) * | 2019-07-03 | 2021-01-07 | 华为技术有限公司 | 数据处理系统与方法、编码单元、处理单元与存储介质 |
CN110647976A (zh) * | 2019-08-20 | 2020-01-03 | 福州瑞芯微电子股份有限公司 | 一种矩阵卷积优化运算方法和电路 |
CN110647976B (zh) * | 2019-08-20 | 2022-03-29 | 瑞芯微电子股份有限公司 | 一种矩阵卷积优化运算方法和电路 |
CN110705701A (zh) * | 2019-09-05 | 2020-01-17 | 福州瑞芯微电子股份有限公司 | 一种高并行度的卷积运算方法和电路 |
CN110705701B (zh) * | 2019-09-05 | 2022-03-29 | 瑞芯微电子股份有限公司 | 一种高并行度的卷积运算方法和电路 |
CN111553471A (zh) * | 2020-07-13 | 2020-08-18 | 北京欣奕华数字科技有限公司 | 一种数据分析处理方法及装置 |
TWI742802B (zh) * | 2020-08-18 | 2021-10-11 | 創鑫智慧股份有限公司 | 矩陣運算裝置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108647774B (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647774A (zh) | 一种优化稀疏性矩阵运算的神经网络方法和电路 | |
CN107169563B (zh) | 应用于二值权重卷积网络的处理系统及方法 | |
CN108416422A (zh) | 一种基于fpga的卷积神经网络实现方法及装置 | |
US20220051002A1 (en) | Using batches of training items for training a network | |
CN110546610B (zh) | 通过数据共享和分配增强人工智能/机器硬件的处理性能 | |
CN208061184U (zh) | 矢量处理单元 | |
CN104662526B (zh) | 用于高效地更新尖峰神经元网络的装置和方法 | |
CN105184366B (zh) | 一种时分复用的通用神经网络处理器 | |
CN109697510A (zh) | 具有神经网络的方法和装置 | |
EP4044071A1 (en) | Exploiting input data sparsity in neural network compute units | |
CN107578098A (zh) | 基于脉动阵列的神经网络处理器 | |
CN108510194A (zh) | 风控模型训练方法、风险识别方法、装置、设备及介质 | |
US20170061279A1 (en) | Updating an artificial neural network using flexible fixed point representation | |
CN106951962A (zh) | 用于神经网络的复合运算单元、方法和电子设备 | |
CN108108811A (zh) | 神经网络中的卷积计算方法和电子设备 | |
CN107622305A (zh) | 用于神经网络的处理器和处理方法 | |
WO2021164317A1 (zh) | 序列挖掘模型的训练方法、序列数据的处理方法及设备 | |
CN106683158A (zh) | 一种GPU纹理映射非阻塞存储Cache的建模结构 | |
CN108229671A (zh) | 一种降低加速器外部数据存储带宽需求的系统和方法 | |
CN112529146B (zh) | 神经网络模型训练的方法和装置 | |
CN106779057A (zh) | 基于gpu的计算二值神经网络卷积的方法及装置 | |
CN109344888A (zh) | 一种基于卷积神经网络的图像识别方法、装置及设备 | |
CN108510065A (zh) | 应用于长短时记忆神经网络的计算装置和计算方法 | |
CN108280451A (zh) | 语义分割及网络训练方法和装置、设备、介质、程序 | |
CN108734850A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Applicant after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Applicant before: Fuzhou Rockchips Electronics Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |