【技术实现步骤摘要】
卷积神经网络权重压缩方法及其系统
本申请涉及神经网络提速领域,特别涉及卷积神经网络权重压缩技术。
技术介绍
对于非均匀分布的信息,霍夫曼编码是理论最优的无损压缩方案。但是,霍夫曼编码并不是针对庞大稀疏矩阵的,对于具有庞大稀疏矩阵的卷积神经网络的卷积计算过程,霍夫曼编码需要统计各个权值的数量,然后才能计算霍夫曼树得到长编码,这无疑增加了计算系统的负担。目前,霍夫曼编码与解码的过程,没有将硬件特性考虑进去,在FPGA上实现效果不佳。
技术实现思路
本申请的目的在于提供一种卷积神经网络权重压缩方法及其系统,使得压缩结果能够在FPGA上加快后续的神经网络运算。本申请公开了一种卷积神经网络权重压缩方法,包括:获取所述卷积神经网络的所有卷积核;针对任一卷积核的各权重矩阵按照深度从小到大依次叠层排列,并对排列后的多层权重矩阵中除第一个以外的任一非零元素执行以下操作:计算当前非零元素相对于前一个非零元素的深度偏移量以及计算所述当前非零元素相对于当前层权重矩阵的第一行第一列元素的高度偏移量和 ...
【技术保护点】
1.一种卷积神经网络权重压缩方法,其特征在于,包括:/n获取所述卷积神经网络的所有卷积核;/n针对任一卷积核的各权重矩阵按照深度从小到大依次叠层排列,并对排列后的多层权重矩阵中除第一个以外的任一非零元素执行以下操作:/n计算当前非零元素相对于前一个非零元素的深度偏移量以及计算所述当前非零元素相对于当前层权重矩阵的第一行第一列元素的高度偏移量和宽度偏移量;/n根据预设压缩规则对所述当前非零元素的值、所述深度偏移量、所述高度偏移量和所述宽度偏移量进行压缩得到对应的压缩结果。/n
【技术特征摘要】
1.一种卷积神经网络权重压缩方法,其特征在于,包括:
获取所述卷积神经网络的所有卷积核;
针对任一卷积核的各权重矩阵按照深度从小到大依次叠层排列,并对排列后的多层权重矩阵中除第一个以外的任一非零元素执行以下操作:
计算当前非零元素相对于前一个非零元素的深度偏移量以及计算所述当前非零元素相对于当前层权重矩阵的第一行第一列元素的高度偏移量和宽度偏移量;
根据预设压缩规则对所述当前非零元素的值、所述深度偏移量、所述高度偏移量和所述宽度偏移量进行压缩得到对应的压缩结果。
2.如权利要求1所述的卷积神经网络权重压缩方法,其特征在于,所述针对任一卷积核的各权重矩阵按照深度从小到大依次排列之后,还包括:
计算排列后的多层权重矩阵中第一个非零元素相对于第一层权重矩阵的深度偏移量作为其深度偏移量,以及计算该第一个非零元素相对于当前层权重矩阵的第一行第一列元素的高度偏移量和宽度偏移量作为其高度偏移量和宽度偏移量。
3.如权利要求1或2所述的卷积神经网络权重压缩方法,其特征在于,所述计算当前非零元素相对于前一个非零元素的深度偏移量,进一步包括:
判断所述当前非零元素相对于前一个非零元素的深度偏移量是否大于最大可跳跃深度值;
若大于所述最大可跳跃深度值,则根据所述最大可跳跃深度值在所述当前非零元素与所述前一个非零元素之间写入一个或多个零值,每个零值的深度偏移量为所述最大可跳跃深度值,以及所述当前非零元素的深度偏移量等于所述当前非零元素相对于前一个非零元素的深度偏移量减去所述一个或多个零值对应的深度偏移量;
若不大于所述最大可跳跃深度值,则所述深度偏移量为所述当前非零元素的深度偏移量。
4.如权利要求3所述的卷积神经网络权重压缩方法,其特征在于,所述根据预设压缩规则对所述当前非零元素的值、所述深度偏移量、所述高度偏移量和所述宽度偏移量进行压缩得到对应的压缩结果,进一步包括:
按照公式weightbin=w<<cshift+yshift+xshift|coff<<yshift+xshift|yoff<<xshift|xoff<<0对所述当前非零元素进行压缩得到对应的压缩结果,其中w为所述当前非零元素的值,coff、yoff、xoff分别为所述深度偏移量、所述高度偏移量、所述宽度偏移量,cshift、yshift、xshift分别为coff、yoff、xoff占用的最大比特数,且2cshift表示所诉最大可跳跃深度值。
5.如权利要求4所述的卷积神经网络权重压缩方法,其特征在于,所述卷积核为K×K卷积核时,xshift=yshift=S,且S是满足2s>K的最小整数,cshift可以根据存储系统的剩余数据位调整;
所述卷积神经网络基于32位ARM架构FPGA硬件处理时,使用3×3卷积核,则K=3,xshift=yshift=2,cshift=2。
6.如权利要求1所述的卷积神经网络权重压缩方法,其特征在于,...
【专利技术属性】
技术研发人员:边立剑,叶梦琦,
申请(专利权)人:上海安路信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。