CN112836823A - 基于循环重组和分块的卷积神经网络反向传播映射方法 - Google Patents
基于循环重组和分块的卷积神经网络反向传播映射方法 Download PDFInfo
- Publication number
- CN112836823A CN112836823A CN202110229586.9A CN202110229586A CN112836823A CN 112836823 A CN112836823 A CN 112836823A CN 202110229586 A CN202110229586 A CN 202110229586A CN 112836823 A CN112836823 A CN 112836823A
- Authority
- CN
- China
- Prior art keywords
- convolution
- neural network
- tensor
- cyclic
- blocking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000000903 blocking effect Effects 0.000 title claims abstract description 32
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 32
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 title claims abstract description 19
- 238000005215 recombination Methods 0.000 title claims abstract description 16
- 230000006798 recombination Effects 0.000 title claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims abstract description 47
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 26
- 230000008521 reorganization Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 claims description 2
- 230000009471 action Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000011549 displacement method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了基于循环重组和分块的卷积神经网络反向传播映射方法,适用于片上神经网络训练加速器电路,属于神经网络加速器领域。该方法通过数据调度方式将神经网络训练中的反向传播算法映射到现有的用于前向推理的神经网络加速器引擎上,即将卷积神经网络的反向传播中的大卷积操作进行重映射,使得卷积的规模和维度能够适配到用于前向推理的神经网络加速器中。该方法可以在几乎不需要改变硬件架构的情况下,通过将反向传播算法特有的大卷积运算进行重组和分块,将其映射到现有的用于前向推理的神经网络加速器引擎上,从而可以使这类原本只能进行前向推理的加速器很容易就能适配反向传播算法,进而在片上进行神经网络的训练。
Description
技术领域
本发明属于神经网络加速器领域,尤其是用于片上再训练方面,用于将反向传播算法适配到只能进行前向推理的神经网络加速器上,从而实现神经网络在片上进行训练而无需在服务器端进行训练后部署。
背景技术
片上训练,是指部署在神经网络加速器芯片上的神经网络通过特定的方法进行再训练的过程。传统的神经网络加速器芯片通常需要通过服务器端对模型进行大数据训练,之后通过接口部署到芯片内部进行前向推理。因此一般用于边缘设备的神经网络加速器芯片都只能进行推理任务而无法进行训练任务。
近几年来,用户隐私泄露的问题愈发严重。神经网络作为一种数据驱动型的模型,其需要大量用户数据进行训练。一些边缘设备(手机、IOT设备)很容易获取用户的数据,但是受限于这类设备中的神经网络加速器的功能限制,通常设备需要将收集到的数据上传到云端服务器,服务器整合收集到的数据进行神经网络模型训练,之后再将训练好的模型参数分发到设备中。这样一条数据链路在无形中增加了这些用户私密数据被泄露的风险,因此需要一种可以在设备内部离线地使用用户数据训练神经网络模型的方法。
支持片上训练的神经网络芯片目前寥寥可数,其中最大的难点在于训练任务相比前向推理需要更大的计算量和存储量,这两种资源在边缘设备中都十分稀缺。此外,不同神经网络加速器芯片的内部数据流各不相同,在进行反向推理任务时相应的软件需要针对各种不同的加速器架构进行任务的映射,增加了配套软件的设计难度。
发明内容
技术问题:本发明提供一种基于循环重组和分块技术的卷积反向传播映射方法,适用于卷积神经网络的片上训练,通过将反向传播的过程重映射为前向推理过程相似的计算方式,进而将反向传播适配到各类神经网络前向推理加速器中,扩充这类加速器的使用范围,并且保护用于神经网络算法再训练时用户的隐私数据。
技术方案:本发明的一种基于循环重组和分块的卷积神经网络反向传播映射方法通过数据调度方式将反向传播算法映射到现有的用于前向推理的神经网络加速器引擎上,采用一种反向传播大卷积重映射方法,可以使得反向传播中大卷积的规模和维度能够适配到用于前向推理的神经网络加速器中。
所述卷积神经网络的反向传播,包含以下步骤:
步骤一:误差传播,用于将误差从后往前进行推导:涉及的数据为当前层的误差张量,权重张量,前一层的误差张量;涉及主要运算为卷积,也就是当前层的误差张量与权重张量进行卷积得到前一层的误差张量。
步骤二:求权重梯度,用于更新神经网络的卷积权重:涉及的数据为前一层的激活值张量,当前层的误差张量和权重的梯度张量;涉及的运算为大卷积,也就是前一层的激活值张量与当前层的误差张量进行卷积得到权重梯度张量;该大卷积的卷积次序也与普通卷积的卷积次序有所不同。
所述大卷积的规模是指卷积中输入图和卷积核的面积;所述的大卷积的维度是指卷积中输入图的通道数以及卷积核的个数。
所述的前向推理的神经网络加速器是指能够部署神经网络算法的加速硬件,通常只能进行神经网络的前向推理,而无法完成网络的训练任务。
所述误差张量是指神经网络的输出与真实标签值的误差矩阵;在神经网络的输出层结合真实标签求得初始的误差值之后,通过反向传播算法中的误差传播公式,求得神经网络每一层对应的误差张量;所述权重张量是指卷积前向计算中使用的卷积核张量;所述激活值张量是指卷积前向计算中输入图和权重进行卷积得到的输出图经过激活函数作用后的张量。
所述卷积次序是指卷积操作所固有的循环顺序;通常的卷积循环分为七层,从内到外依次是输入通道循环,卷积核宽度循环,卷积核高度循环,输出图宽度循环,输出图高度循环,输出通道循环,样本数循环。
所述的反向传播大卷积重映射方法,包括卷积循环重组和卷积分块两种方法。
所述的卷积循环重组方法采用一种大卷积循环次序置换方法,将反向传播大卷积的循环次序进行置换,从而将求权重梯度这一步的大卷积的卷积顺序转变为跟前向卷积一致的循环方式。
所述的大卷积循环次序置换方法是将反向传播大卷积中的样本数维度的循环置换到卷积的最内层,避免反向大卷积之后需要对所有样本求得的梯度进行累加的步骤。
所述的卷积分块方法是对大卷积进行分块操作,设定一个分块参数,将原本较大的卷积核划分为若干个小块的卷积核,将每个小块的卷积核高效地映射到前向推理的神经网络加速器中,最后将所有分块的输出进行累加,得到完整的大卷积的输出图。
有益效果:本发明的具有的有点是:
1.本发明所使用的数据映射方法可以将反向传播中的大卷积重映射为跟前向传播规模相近的小卷积。
2.本发明的数据重映射方式可以将反向传播算法以较小的代价映射到只支持前向推理的神经网络芯片而无需改变这类芯片原有的计算模式。
附图说明
图1是卷积神经网络的前向过程计算示意图,
图2是一种卷积神经网络加速器计算阵列的工作示意图,
图3是卷积神经网络的反向过程中求权重梯度的计算示意图,
图4是反向计算中求权重梯度的大卷积的流程图,
图5是卷积的反向计算中求权重梯度的大卷积的重组过程,
图6是反向计算中求权重梯度的大卷积循环重组的流程图,
图7卷积的反向计算中求权重梯度的大卷积分块过程,
图8重组并分块后的反向传播大卷积流程图。
具体实施方式
通常在卷积神经网络的反向传播中,分为两个步骤,第一个是误差传播,第二个是权重更新。第一部误差传播的过程跟前向传播基本类似,只是对应的输入图和权重发生了改变,卷积的规模跟前向传播是一致的。而在第二个步骤,权重更新时,输入图变为前一层的激活值张量,权重变为当前层的误差张量。这两个张量在规模上可能远远超出前向传播的规模,比如作为权重的当前层的误差张量可能达到100像素*100像素的大小(前向中通常只有3*3或者5*5)。因此对于这类大卷积,只支持前向的加速器通常无法很好地适配。
本发明提供的技术方案为:通过将反向传播中权重更新的卷积进行重映射,也就是将原本两个非常大的卷积通过特定的方式进行重组,并进行分块,使其变为规模较小的卷积,从而适配到前向加速器中。
将反向传播中涉及大卷积操作两部分数据:输入图和卷积核进行重组和分块,降低为规模较小的卷积。由于反向传播算法的特性,大卷积操作中两部分数据的输入通道恒定都为1,并且需要在batch维度方向对卷积结果进行求和,因此可以对卷积进行重组,将batch维度作为输入通道,这样可以在卷积过程中完成batch维度的求和步骤。此外,由于这一步输入图和卷积核都非常大,因此可以通过分块卷积的方式,将输入图和卷积划分为若干个子块进行卷积。由此即可实现将反向传播中的大卷积分解为前向加速器适配的通常卷积。
具体做法是将反向传播中求权重梯度的步骤进行修改,分为两步,第一步对卷积方式进行重组;第二步将大卷积进行分块。在第一步中,对卷积进行重组,将原先的batch维度和输入通道维度进行对调。在第二步中,对卷积进行分块,例如原先16*16的输入图,可以拆分为4张8*8的图来进行分块卷积。通过这两步可以将反向传播中的通道恒为1的大卷积拆解为跟前向传播一致的传统的小卷积。
下面结合附图对本发明作进一步说明,本发明适用于各类卷积神经网络加速器,用于适配反向传播算法。
如图1所示,为卷积神经网络的卷积前向运算过程示意图。卷积运算涉及到三类数据:输入图、卷积核和输出图。每一层卷积层通常有多个卷积核,卷积核在同一输入图上逐步移动,提取的不同位置的特征,形成许多不同的特征映射构成三维阵列特征映射,即输出图。卷积核,这里称为weight,通常为四维[R,S,C,M](均为≥1的整数)数据,其中第一维R和第二维S是卷积核的高和宽,第三维C为输入通道数,第四维M为卷积核个数。而输入图,这里称为ifmap,一般为图像数据,也有四个维度[N,H,W,C],其中第一维一般称为batch维度,用N代表样本个数,通常表示一次推理或者一次训练所用到的图片数。H,W分别代表输入图的高和宽。C跟卷积核的C相同,表示的是输入通道个数。卷积之后得到的输出图片,这里称为ofmap,同样也是四维,[N,E,F,M],其中N和输入图中的N意义相同,E,F表示输出图的高和宽,M表示输出图的通道数,跟卷积核个数相同。
图2为一种卷积神经网络加速器计算阵列的工作示意图。标准的卷积操作涉及三种数据,分别是输入图,权重以及输出图。一种常见的卷积计算阵列通常会接收输入图和权重,内部进行乘累加计算后得到输出图并输出。这里给出了一种示例。输入图在输入到卷积阵列中时,按照图中方式送入到每个计算单元中。也就是每一行输入图从阵列的左侧和下侧斜对角地输入计算阵列。对于权重数据,每一行权重广播到对应行中的所有计算单元中。经过乘累加计算后,得到的输出图在列方向上进行累加,每一列的输出结果对应一行输出图。
图3为卷积神经网络的反向过程中求权重梯度的计算示意图。由于卷积神经网络反向过程中的误差传播过程和前向计算的过程基本相同,唯一区别是输入图和权重的数据种类发生了改变,因此误差传播卷积很容易适配到前向加速器中。而求权重梯度的卷积与前向的卷积有较大差距。首先其输入图为前一层的输出图,也称为激活值(Act),维度为四维[N,H,W,C]。卷积核为当前误差(loss),维度也是四维[N,E,F,M]。两者卷积之后得到的输出为卷积核的梯度dW,也是四维[R,S,C,M]。跟传统卷积的区别是,这一步的卷积的输入通道恒定为1,每张输入图都要跟所有卷积核两两进行卷积。也就是说每次卷积实际是都是一张二维输入图[H,W]与一张二维卷积核[E,F]进行卷积,得到一张[R,S]的二维输出图,也就是卷积核梯度图。因为输入图和卷积核在通道上分别有C和M张,因此两两卷积将得到的输出图有C*M张,也就是卷积核梯度图的张数,跟卷积核维度[R,S,C,M]一致。最后,由于总共有N个样本,因此上述过程将重复N次,得到N份维度为[R,S,C,M]的卷积核梯度图,再将这些图进行累加即得到了最后完整的卷积核梯度张量,维度为[R,S,C,M]。对应的流程图如图4所示。
图5为卷积的反向计算中求权重梯度的大卷积的重组过程。上面提到在反向传播求卷积核梯度图时,涉及到的是二维的卷积【输入图高,输入图宽】*【卷积核高,卷积核宽】=【输出图高,输出图宽】(‘【】’代表张量,‘*’代表卷积操作)。但是传统的卷积一般都是四维的卷积,如图1所示,也就是【样本数,输入图高,输入图宽,输入通道数】*【卷积核高,卷积核宽,输入通道数,输出通道数】=【样本数,输出图高,输出图宽,输出通道数】。因此将上述二维卷积映射到传统的前向推理的卷积加速器中不可避免地面临效率低下的问题。为了解决这个问题,本发明提出将卷积进行重组,上面提到每一次二维卷积得到一张卷积核梯度图,之后需要对N张卷积核梯度图进行累加。因此对于[N,H,W,C]的输入图和[N,E,F,M]的卷积核的反向大卷积得到[R,S,C,M]的卷积核梯度图的操作,可以将N方向作为卷积的“输入通道”方向。而输入图的C方向则作为“样本数”方向,卷积核的M方向不变。也就是调整卷积的顺序,调整之后的卷积过程为[C,H,W,N]*[E,F,N,M]=[C,R,S,M]。得到的输出图经过简单的维度变换,也就是将C和M方向对调即可得到卷积核的梯度图,维度为[R,S,C,M]。对应的卷积流程图如图6所示,因为大卷积的输入通道默认为1,所以按照之前的循环展开方式中最内层直接是从卷积核的高和宽方向展开(默认步长为1)。而重组之后的大卷积循环中,将N方向移动到最内层,隐式地将样本数量维度充当为卷积的“输入通道”维度,并且将C方向挪到最外层充当原来的“样本数”维度,如此一来整个大卷积的循环顺序就变得跟普通卷积一致了。
图7为卷积的反向计算中求权重梯度的大卷积分块过程。前面提到反向过程中计算权重梯度涉及到的卷积是大卷积,所谓大卷积,就是输入图和卷积核的高宽都非常大的卷积。通常用于前向计算的卷积加速器对卷积核的大小都有一定限制,遇到这类非常大的卷积核往往无法很好地适配。因此本发明提出了一种卷积分块的方法。在上述卷积重组过程[C,H,W,N]*[E,F,N,M]=[C,R,S,M]中,反向大卷积的维度已经扩张成了传统卷积的模式。而E,F可能达到100-200的大小,而前向推理的加速器可能只支持E,F在10以内的大小,因此需要对其进行分块。首先确定一个分块系数G,则分块之后的卷积核的高宽分别为(表示向下取整)。分块后的输入图高宽为其中U为卷积的步长。需要进行的卷积次数为G*G。将这些卷积的结果累加即得到大卷积的完整结果。
图8为将卷积重组与分块技术结合起来的反向传播大卷积的流程图。实现了将反向传播中求权重梯度步骤的大卷积分解为适配前向推理加速器的小卷积。
具体案例
在一个具体实施案例中,将基于循环重组和分块技术的卷积反向传播映射方法应用于一种只支持前向推理的神经网络加速器,使其支持某个神经网络的反向传播算法。
此处以神经网络中的某一层为例解释上述方法的有效性。假设输入图片高和宽为66*66,输入通道数32,样本数为16。卷积核大小为3*3,卷积核个数为64,卷积步长为1。则对应的输出图大小为64*64(计算公式:(66-3)/1+1=64),输出通道为64。对应的卷积过程为:Ifmap[N:16,H:66,W:66,C:32]*Weight[R:3,S:3,C:32,M:64]=Ofmap[N:16,E:64,F:64,M:64]
这一层卷积网络在各类前向推理的神经网络加速器都能非常好地进行映射和计算。而当进行反向传播时,在计算卷积核的梯度中,输入图和卷积核发生了变化。其中输入图大小仍然为66*66,但卷积核大小变为64*64(与原来的输出图大小一致)。这两者进行卷积得到3*3大小的卷积核的梯度。根据上述循环重组和分块技术,可以将这一步的大卷积进行重组,令新的输入通道数等于前向卷积中的样本数(16);令新的样本数等于前向卷积中的输入通道数(32)。重组后的卷积过程可表示为:
Ifmap[N:32,H:66,W:66,C:16]*Weight[R:64,S:64,C:16,M:64]=Ofmap[N:32,E:3,F:3,M:64]
之后,设定卷积分块系数为8,将卷积过程分解为8*8个子卷积,分组后的大卷积可表示为:
最后得到的ofmap[N:32,E:3,F:3,M:64]通过简单的维度变换,重组为[3,3,32,64]即为得到的卷积核梯度图dW,其维度跟卷积核的维度一致。之后结合各种优化器,例如Adam,SGD等,并结合适当的学习率即可进行卷积核的梯度更新,进而完成卷积神经网络的训练。
同样以图2中的卷积加速器计算阵列为例,按照图中的计算原理,在不使用所提出的卷积重组和分块方案时,要完成上述的卷积和其反向传播卷积,至少需要的计算阵列大小为64*3。而使用所提出的方法后,计算阵列只需要8*3即可。
下面对这两种不同的实现方式进行硬件描述以及仿真对比。首先规定所有输入数据采用8bit位宽,输出数据16bit位宽。对上述64*3以及8*3的卷积计算阵列使用Verilog进行RTL建模,之后在TSMC 28nm SS工艺下使用Design Compiler进行综合得到门级网表。随机产生上述卷积所需要的数据进行功能验证后,两种实现方式都可以得到正确的卷积计算结果。通过PrimeTime PX进行功耗分析,得到两种实现方式的功耗。具体对比数据如下表一所示:
表一 使用本发明前后卷积加速器面积和功耗对比
64*3(未使用本发明) | 8*3(使用本发明后) | 本发明的带来的收益 | |
面积/um<sup>2</sup> | 7.68*10<sup>5</sup> | 9.3658*10<sup>4</sup> | 78.1% |
静态功耗/mW | 3.32 | 0.42 | 87.3% |
动态功耗/mW | 6.35 | 4.33 | 31.8% |
总功耗/mW | 9.67 | 4.75 | 50.9% |
从上表可以发现,使用本发明提出的卷积重映射以及分块方法后,可以使完成相同的卷积的卷积加速器整体面积减少78.1%,这主要是得益于分块后计算阵列缩减为原来的八分之一。因此,静态功耗也大致减少为原来的八分之一。此外,在动态功耗部分,虽然所做的卷积都是相同的,计算量也相同,但是相比于不使用本发明的方案相比,由于采用了重映射方案,所以计算阵列可以更高效地计算反向传播中的卷积,也就是减少了数据的重复搬运,因此寄存器的读写功耗降低了,所以最后动态功耗也有32%左右的收益。可见,使用本发明后,在功耗上可以带来将近一半的收益。
Claims (10)
1.一种基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:该方法通过数据调度方式将反向传播算法映射到现有的用于前向推理的神经网络加速器引擎上,采用一种反向传播大卷积重映射方法,可以使得反向传播中大卷积的规模和维度能够适配到用于前向推理的神经网络加速器中。
2.根据权利要求1所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述卷积神经网络的反向传播,包含以下步骤:
步骤一:误差传播,用于将误差从后往前进行推导:涉及的数据为当前层的误差张量,权重张量,前一层的误差张量;涉及主要运算为卷积,也就是当前层的误差张量与权重张量进行卷积得到前一层的误差张量。
步骤二:求权重梯度,用于更新神经网络的卷积权重:涉及的数据为前一层的激活值张量,当前层的误差张量和权重的梯度张量;涉及的运算为大卷积,也就是前一层的激活值张量与当前层的误差张量进行卷积得到权重梯度张量;该大卷积的卷积次序也与普通卷积的卷积次序有所不同。
3.根据权利要求1所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述大卷积的规模是指卷积中输入图和卷积核的面积;所述的大卷积的维度是指卷积中输入图的通道数以及卷积核的个数。
4.根据权利要求1所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述的前向推理的神经网络加速器是指能够部署神经网络算法的加速硬件,通常只能进行神经网络的前向推理,而无法完成网络的训练任务。
5.根据权利要求2所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述误差张量是指神经网络的输出与真实标签值的误差矩阵;在神经网络的输出层结合真实标签求得初始的误差值之后,通过反向传播算法中的误差传播公式,求得神经网络每一层对应的误差张量;所述权重张量是指卷积前向计算中使用的卷积核张量;所述激活值张量是指卷积前向计算中输入图和权重进行卷积得到的输出图经过激活函数作用后的张量。
6.根据权利要求2所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述卷积次序是指卷积操作所固有的循环顺序;通常的卷积循环分为七层,从内到外依次是输入通道循环,卷积核宽度循环,卷积核高度循环,输出图宽度循环,输出图高度循环,输出通道循环,样本数循环。
7.根据权利要求1所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述的反向传播大卷积重映射方法,包括卷积循环重组和卷积分块两种方法。
8.根据权利要求7所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是,所述的卷积循环重组方法采用一种大卷积循环次序置换方法,将反向传播大卷积的循环次序进行置换,从而将求权重梯度这一步的大卷积的卷积顺序转变为跟前向卷积一致的循环方式。
9.根据权利要求8所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述的大卷积循环次序置换方法是将反向传播大卷积中的样本数维度的循环置换到卷积的最内层,避免反向大卷积之后需要对所有样本求得的梯度进行累加的步骤。
10.根据权利要求7所述的基于循环重组和分块的卷积神经网络反向传播映射方法,其特征是:所述的卷积分块方法是对大卷积进行分块操作,设定一个分块参数,将原本较大的卷积核划分为若干个小块的卷积核,将每个小块的卷积核高效地映射到前向推理的神经网络加速器中,最后将所有分块的输出进行累加,得到完整的大卷积的输出图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110229586.9A CN112836823B (zh) | 2021-03-02 | 2021-03-02 | 基于循环重组和分块的卷积神经网络反向传播映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110229586.9A CN112836823B (zh) | 2021-03-02 | 2021-03-02 | 基于循环重组和分块的卷积神经网络反向传播映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112836823A true CN112836823A (zh) | 2021-05-25 |
CN112836823B CN112836823B (zh) | 2024-03-05 |
Family
ID=75934300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110229586.9A Active CN112836823B (zh) | 2021-03-02 | 2021-03-02 | 基于循环重组和分块的卷积神经网络反向传播映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112836823B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912593A (zh) * | 2022-05-06 | 2022-08-16 | 上海壁仞智能科技有限公司 | 用于神经网络中的计算核 |
CN115456149A (zh) * | 2022-10-08 | 2022-12-09 | 鹏城实验室 | 脉冲神经网络加速器学习方法、装置、终端及存储介质 |
CN115982530A (zh) * | 2023-03-13 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 加速器运算控制方法、系统、存储介质、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119807A1 (zh) * | 2016-12-29 | 2018-07-05 | 浙江工商大学 | 一种基于卷积神经网络的时空一致性深度图序列的生成方法 |
CN111428188A (zh) * | 2020-03-30 | 2020-07-17 | 南京大学 | 一种卷积运算的方法和装置 |
-
2021
- 2021-03-02 CN CN202110229586.9A patent/CN112836823B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119807A1 (zh) * | 2016-12-29 | 2018-07-05 | 浙江工商大学 | 一种基于卷积神经网络的时空一致性深度图序列的生成方法 |
CN111428188A (zh) * | 2020-03-30 | 2020-07-17 | 南京大学 | 一种卷积运算的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912593A (zh) * | 2022-05-06 | 2022-08-16 | 上海壁仞智能科技有限公司 | 用于神经网络中的计算核 |
CN115456149A (zh) * | 2022-10-08 | 2022-12-09 | 鹏城实验室 | 脉冲神经网络加速器学习方法、装置、终端及存储介质 |
CN115982530A (zh) * | 2023-03-13 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 加速器运算控制方法、系统、存储介质、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112836823B (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112836823A (zh) | 基于循环重组和分块的卷积神经网络反向传播映射方法 | |
US11645529B2 (en) | Sparsifying neural network models | |
JP7007488B2 (ja) | ハードウェアベースのプーリングのシステムおよび方法 | |
CN108416434B (zh) | 针对神经网络的卷积层与全连接层进行加速的电路结构 | |
CN112801279A (zh) | 用于卷积神经网络的超像素方法 | |
KR20180117017A (ko) | 컨벌루션 뉴럴 네트워크의 계산 복잡성을 감소시키기 위한 방법 및 시스템 | |
CN104866900A (zh) | 一种反卷积神经网络训练方法 | |
WO2021080873A1 (en) | Structured pruning for machine learning model | |
Sun et al. | 3D CNN acceleration on FPGA using hardware-aware pruning | |
US11270207B2 (en) | Electronic apparatus and compression method for artificial neural network | |
CN109741364B (zh) | 目标跟踪方法及装置 | |
US20220036189A1 (en) | Methods, systems, and media for random semi-structured row-wise pruning in neural networks | |
CN111381968A (zh) | 一种高效运行深度学习任务的卷积运算优化方法及系统 | |
CN114792124A (zh) | 在硬件中实施扩张卷积 | |
CN112132760A (zh) | 基于可学习可微分矩阵逆及矩阵分解的图像恢复方法 | |
CN104915566A (zh) | 一种支持增量更新的深度计算模型设计方法 | |
CN109446478B (zh) | 一种基于迭代和可重构方式的复协方差矩阵计算系统 | |
Shrivastava et al. | A survey of hardware architectures for generative adversarial networks | |
CN114819051A (zh) | 用于执行神经网络计算的模拟电路的校准方法及装置 | |
US20220351036A1 (en) | Methods and systems for generating the gradients of a loss function with respect to the weights of a convolution layer | |
Khaleghi et al. | Patternet: explore and exploit filter patterns for efficient deep neural networks | |
US20230065725A1 (en) | Parallel depth-wise processing architectures for neural networks | |
Di et al. | Exploring resource-efficient acceleration algorithm for transposed convolution of GANs on FPGA | |
US11580191B1 (en) | Method and system for convolution | |
CN114662647A (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 |