【技术实现步骤摘要】
一种基于卷积神经网络的处理方法及其系统
[0001]本专利技术涉及神经网络领域,特别涉及一种基于卷积神经网络的处理方法和系统。
技术介绍
[0002]卷积神经网络(CNN)是一种用于进行图像处理的、包含卷积计算且具有深度结构的前馈神经网络,其被广泛用于图像分类、图像识别等。
[0003]近年来随着对神经网络算法的研究不断深入,深度学习技术迅速发展,已经被广泛应用到生活中的多个领域,特别是计算机视觉、语音识别和自然语言处理领域。卷积神经网络(CNN)作为深度学习技术的代表,凭借其强大的学习能力已经成为图像识别和分类任务中最有效的方法。
[0004]CNN作为一种计算密集型的深度学习模型,通常拥有大量的模型参数并且有比较高的计算需求。为了在图像识别和分类任务中获得更高的准确率,CNN模型的网络层次逐渐加深、规模更庞大、结构也更复杂。在性能提升的同时,也带来了更大的计算复杂度和参数存储需求。在通过处理器硬件对模型参数进行计算时,往往导致巨大的计算量需求、内存和带宽需求以及功耗较高的问题,这也导致了CNN模型在FPGA、ASIC等资源有限且对功耗较为敏感的移动嵌入式硬件平台上的部署难以实现。
[0005]为了解决上述问题,对神经网络模型的压缩和加速方法成为深度学习领域研究的热点。一方面,是对基于FPGA和ASIC等嵌入式硬件的加速芯片的研究,通过充分挖掘网络模型中算法的并行性,设计专用的电路结构实现对计算的并行加速。另一方面,是对网络模型中的参数进行压缩,目的是为了降低模型参数的数据量和计算量,进而减 ...
【技术保护点】
【技术特征摘要】
1.一种基于卷积神经网络的处理方法,其特征在于,由PE阵列实现对大量参数数据的并行运算,设N-bit是PE的基本精度,每个PE含有一个N-bit*N-bit的乘法器、一个N-bit的权值参数W输入端口和一个N-bit的特征图参数F输入端口,这个PE阵列对大于N-bit参数切分的N-bit参数片段进行运算,X表示权值参数W的比特数值;Y表示特征图参数F参数比特数值;X和Y是N的整数倍,当X/N大于1或Y/N大于1时进行运算,所述方法包括以下步骤:步骤1,预置SUM寄存器;步骤2,使用PE进行多轮计算,每轮计算时所加载的W参数的N-bit片段是对应W参数的同位权片段,所加载的F参数的N-bit片段是对应F参数的同位权片段,根据预先安排计算顺序,对每轮进行计算,包括:将本轮的W和F参数N-bit片段加载到对应的PE单元中,PE的乘法结果是P0,P1,...,PZ,对每个PE的乘法结果求和,得到S=P0+P1+...+PZ;S的位权是W片段的位权乘以F片段的位权;将本轮的计算结果S与SUM进行累加;每轮对SUM进行累加后,将S的位权赋予SUM。2.根据权利要求1所述的一种基于卷积神经网络的处理方法,其特征在于,所述步骤2包括,根据预先安排计算顺序,确保相邻轮的计算结果S的位权相等,或者不等时大值除以小值是2的N次方;其中,每轮的计算步骤是:步骤2.1,将本轮的W和F参数N-bit片段加载到对应的PE单元中,PE的乘法结果是P0,P1,...,PZ,对每个PE的乘法结果求和,得到S=P0+P1+...+PZ;S的位权是W片段的位权乘以F片段的位权;步骤2.2,将本轮的计算结果S与SUM进行累加;其中,累加的方法是:如果SUM的位权为不确定状态或者SUM的位权与S的位权相等,则将S加SUM置于SUM中;如果SUM的位权除以S的位权是2的N次方,则将S加SUM循环左移N-bit置于SUM中;如果S的位权除以SUM的位权是2的N次方,则将S加SUM循环右移N-bit置于SUM中;步骤2.3,每轮对SUM进行累加后,将S的位权赋予SUM。3.根据权利要求2所述的一种基于卷积神经网络的处理方法,其特征在于,所述步骤2中的加法如果是有符号加法,则符号扩展的位数不能越过SUM的最高位减去它的位权所表示的2进制bit数。4.根据权利要求2所述的一种基于卷积神经网络的处理方法,其特征在于,进一步包括在步骤2中:所述的预先安排计算顺序是,使多轮计算结束后取出SUM时,SUM的位权是1。5.根据权利要求2所述的一种基于卷积神经网络的处理方法,其特征在于,进一步包括在步骤2中,所述的预先安排计算顺序是:轮1到轮n,W参数片段都是W0P
m
,W1P
m
,...,WZP
m
,F参数遍历所有参数片段,即从片段1到片段n:F0Q1,F1Q1,...,FZQ1,...,F0Q
n
,F1Q
n
,...,FZQ
n
;遍历顺序可以是自1至n或自n至1;轮n+1到轮2*n,W参数片段都是W0P
m-1
,W1P
m-1
,...,WZP
m-1
,F参数片段与轮1到轮n相同,只是遍历顺序与之相反;轮2*n+1到轮3*n,W参数片段都是W0P
m-2
,W1P
m-2
,...,WZP
m-2
,F参数片段与轮1到轮n相同,遍历顺序也与之相同;
……
轮(m-2)*n+1到轮(m-1)*n,W参数片段都是W0P2,W1P2,...,WZP2,F参数片段与轮1到轮n相同,遍历顺序与轮(m-3)*n+1到轮(m-2)*n相反;轮(m-1)*n+1到轮m*n,W参数片段都是
W0P1,W1P1,...,WZP1,F参数片段与轮1到轮n相同,遍历顺序与轮(m-2)*n+1到轮(m-1)*n相反;上述步骤中,Z+1表示通道数;X表示W参数比特数值;Y表示F参数比特数值;W参数的切分数值分别为:W0P
i
,W1P
i
,
……
,WZP
i
,i=1,
……
,m,其中m=X/N;F参数的切分数值分别为:F0Q
j
,F1Q
j
,
……
,FZQ
j
,j=1,
……
,n,其中n=Y/N。6.根据权利要求2所述的一种基于卷积神经网络的处理方法,其特征在于,进一步包括在步骤2中,所述的预先安排计算顺序是:轮1到轮n,W参数片段都是W0P1,W1P1,...,WZP1,F参数遍历所有参数片段,即从片段1到片段n:F0Q1,F1Q1,...,FZQ1,...,F0Q
n
,F1Q
n
,...,FZQ
n
;遍历顺序可以是自1至n或自n至1;轮n+1到轮2*n,W参数片段都是W0P2,W1P2,...,WZP2,F参数片段与轮1到轮n相同,只是遍历顺序与之相反;轮2*n+1到轮3*n,W参数片段都是W0P3,W1P3,...,WZP3,F参数片段与轮1到轮n相同,遍历顺序也与之相同;
……
轮(m-2)*n+1到轮(m-1)*n,W参数片段都是W0P
m-1
,W1P
m-1
,...,WZP
m-1
,F参数片段与轮1到轮n相同,遍历顺序与轮(m-3)*n+1到轮(m-2)*n相反;轮(m-1)*n+1到轮m*n,W参数片段都是W0P
m
,W1P
m
,...,WZP
m
,F参数片段与轮1到轮n相同,遍历顺序与轮(m-2)*n+1到轮(m-1)*n相反;上述步骤中,Z+1表示通道数;X表示W参数比特数值;Y表示F参数比特数值;W参数的切分数值分别为:W0P
i
,W1P
i
,
……
,WZP
i
,i=1,
……
,m,其中m=X/N;F参数的切分数值分别为:F0Q
j
,F1Q
j
,
……
,FZQ
j
,j=1,
……
,n,其中n=Y/N。7...
【专利技术属性】
技术研发人员:张紧,
申请(专利权)人:合肥君正科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。