首页 / 专利库 / 软件 / 无损压缩 / 卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统

卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统

阅读:1034发布:2020-05-08

专利汇可以提供卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 卷积神经网络 全连接层稀疏的权值矩阵的压缩方法及系统,包括以下步骤:步骤1,获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成 位置 矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;步骤2,将步骤1获得的位置矩阵B作为二值矩阵,进行满足预设图像压缩标准的 无损压缩 。本发明可提高全连接层稀疏的权值矩阵的压缩率,节省更多的存储空间。,下面是卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统专利的具体信息内容。

1.一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,包括以下步骤:
步骤1,获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;
其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
步骤2,将步骤1获得的位置矩阵B作为二值矩阵,进行满足预设图像压缩标准的无损压缩
步骤2具体包括以下步骤:
步骤2.1,将步骤1获得的位置矩阵B进行8-邻域或24-邻域的有损压缩,获得有损压缩后的位置矩阵;在有损压缩过程中,将满足预设阈值的剔除点补回;
步骤2.2,将步骤2.1获得的有损压缩后的位置矩阵进行满足预设图像压缩标准的无损压缩。
2.根据权利要求1所述的一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,步骤1具体包括:对待优化卷积神经网络的全连接层进行非结构化剪枝、再训练后获得稀疏的权值矩阵A。
3.根据权利要求1所述的一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,预设图像压缩标准包括:JBIG标准或JPEG2000标准。
4.根据权利要求1所述的一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,步骤2.1中,8-邻域或24-邻域孤立点剔除具体包括:
将步骤1获得的位置矩阵B中每一个数值为1的点当做目标点,做8-邻域或24-邻域剔除孤立点实验;
8-邻域剔除孤立点包括:以目标点为中心的3*3矩阵中,其他8个点若全为0值,则目标点为孤立点,需剔除掉,否则保留目标点;
24-邻域剔除孤立点包括:以目标点为中心的5*5矩阵中,其他24个点若全为0值,则目标点为孤立点,需剔除掉,否则保留目标点。
5.根据权利要求4所述的一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,在剔除孤立点的过程中,孤立点的稀疏的权值矩阵A对应位置处的值的绝对值大于等于预设阈值时,将其保留。
6.根据权利要求4所述的一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,其特征在于,阈值的确定过程具体包括:
将孤立点的稀疏的权值矩阵A对应位置处的值的绝对值进行排序,最小值为min,最大值为max,差值a=max-min,则阈值S=min+a(1-nΔt);
其中,Δt为每次调整的变量,n为调整的次数。
7.一种卷积神经网络全连接层稀疏的权值矩阵的压缩系统,其特征在于,包括:
位置矩阵获取模,用于获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;位置矩阵B中,在稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
有损压缩模块,用于将位置矩阵获取模块获得的位置矩阵B进行8-邻域或24-邻域并设置阈值的有损压缩,获得有损压缩后的位置矩阵;
无损压缩模块,用于将有损压缩模块获得的有损压缩后的位置矩阵进行满足预设图像压缩标准的无损压缩。

说明书全文

卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统

技术领域

[0001] 本发明属于计算机人工智能领域、深度神经网络优化技术领域以及图片识别技术领域,特别涉及一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统。

背景技术

[0002] 在人工智能领域,深度神经网络作为基石之一,其复杂性以及可移植性直接影响人工智能在生活中的应用。对深度网络的加速与压缩优化的研究,可使得人工智能更加方便的实现、更方便的服务于生活。
[0003] 目前,对卷积神经网络非结构化剪枝后全连接层得到稀疏的权值矩阵,经常使用的是一种稀疏矩阵压缩方法CSR(Compressed sparse row)或CSC(Compressed sparse column)。这些方法对稀疏的权值矩阵的压缩率并不是非常理想。
[0004] 因此,希望提出一种新型的卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统,以提高全连接层稀疏的权值矩阵的压缩率。

发明内容

[0005] 本发明的目的在于提供一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法及系统,以解决上述存在的技术问题。本发明可提高全连接层稀疏的权值矩阵的压缩率,节省更多的存储空间。
[0006] 为达到上述目的,本发明采用以下技术方案:
[0007] 一种卷积神经网络全连接层稀疏的权值矩阵的压缩方法,包括以下步骤:
[0008] 步骤1,获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
[0009] 步骤2,将步骤1获得的位置矩阵B作为二值矩阵,进行满足预设图像压缩标准的无损压缩
[0010] 本发明的进一步改进在于,步骤2具体包括以下步骤:
[0011] 步骤2.1,将步骤1获得的位置矩阵B进行8-邻域或24-邻域的有损压缩,获得有损压缩后的位置矩阵;在有损压缩过程中,将满足预设阈值的剔除点补回;
[0012] 步骤2.2,将步骤2.1获得的有损压缩后的位置矩阵进行满足预设图像压缩标准的无损压缩。
[0013] 本发明的进一步改进在于,步骤1具体包括:对待优化卷积神经网络的全连接层进行非结构化剪枝、再训练后获得稀疏的权值矩阵A。
[0014] 本发明的进一步改进在于,预设图像压缩标准包括:JBIG标准或JPEG2000标准。
[0015] 本发明的进一步改进在于,步骤2.1中,8-邻域或24-邻域孤立点剔除具体包括:
[0016] 将步骤1获得的位置矩阵B中每一个数值为1的点当做目标点,做8-邻域或24-邻域剔除孤立点实验;8-邻域剔除孤立点包括:以目标点为中心的3*3矩阵中,其他8个点若全为0值,则目标点为孤立点,需剔除掉,否则保留目标点;24-邻域剔除孤立点包括:以目标点为中心的5*5矩阵中,其他24个点若全为0值,则目标点为孤立点,需剔除掉,否则保留目标点。
[0017] 本发明的进一步改进在于,在剔除孤立点的过程中,孤立点的稀疏的权值矩阵A对应位置处的值的绝对值大于等于预设阈值时,将其保留。
[0018] 本发明的进一步改进在于,阈值的确定过程具体包括:
[0019] 将孤立点的稀疏的权值矩阵A对应位置处的值的绝对值进行排序,最小值为min,最大值为max,差值a=max-min,则阈值S=min+a(1-nΔt);
[0020] 其中,Δt为每次调整的变量,n为调整的次数。
[0021] 一种卷积神经网络全连接层稀疏的权值矩阵的压缩系统,包括:
[0022] 位置矩阵获取模,用于获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
[0023] 无损压缩模块,用于将位置矩阵获取模块获得的位置矩阵B作为二值矩阵,进行满足预设图像压缩标准的无损压缩。
[0024] 其中,预设图像压缩标准包括:JBIG标准或JPEG2000标准。
[0025] 一种卷积神经网络全连接层稀疏的权值矩阵的压缩系统,包括:
[0026] 位置矩阵获取模块,用于获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
[0027] 有损压缩模块,用于将位置矩阵获取模块获得的位置矩阵B进行8-邻域或24-邻域并设置阈值的有损压缩,获得有损压缩后的位置矩阵
[0028] 无损压缩模块,用于将有损压缩模块获得的有损压缩后的位置矩阵进行满足预设图像压缩标准的无损压缩。
[0029] 与现有技术相比,本发明具有以下有益效果:
[0030] 本发明针对常用的稀疏的权值矩阵压缩方法的缺陷提出了一种新颖的压缩方法。本发明的方法主要包括对稀疏的权值矩阵分解的位置矩阵(二值矩阵)进行满足JBIG/JPEG2000图像压缩标准的无损压缩,相比于现有的CSR或CSC方法,可得到更大的压缩率,节省更多的存储空间。
[0031] 进一步地,还包括对位置矩阵B进行8-邻域或24-邻域并设置合适阈值的有损压缩,能够进一步压缩模型。
[0032] 本发明的系统可用于卷积神经网络模型的压缩,具有相对较高的压缩率。附图说明
[0033] 图1为本发明实施例的一种针对全连接层稀疏的权值矩阵的压缩优化方法的流程示意框图
[0034] 图2为本发明实施例的压缩优化方法中8-邻域示意图;
[0035] 图3为本发明实施例的压缩优化方法中24-邻域示意图;
[0036] 图4为本发明实施例的压缩优化方法中阈值设置原理示意图;
[0037] 图5为本发明实施例的压缩优化方法中图像编码压缩示意图。

具体实施方式

[0038] 下面结合附图和具体实施例对本发明作进一步详细说明。
[0039] 本发明实施例的一种针对全连接层稀疏的权值矩阵的压缩优化方法,具体包括以下步骤:
[0040] (1)位置矩阵通过JBIG/JPEG2000标准的MQ编码器进行无损压缩,包括:
[0041] (1.1)对卷积神经网络全连接层进行非结构化剪枝之后得到稀疏的权值矩阵A,进行位置矩阵变化,即将稀疏的权值矩阵A,分解成位置矩阵B以及非零值数组C。
[0042] (1.2)位置矩阵B尺寸大小与稀疏的权值矩阵A一样。数值方面,矩阵B在矩阵A中有非零值的对应位置数值为1,其他位置数值为0。
[0043] (1.3)将矩阵B当做二值矩阵进行满足预设图像压缩标准的无损压缩;可以是JBIG标准或JPEG2000标准的无损压缩。
[0044] (2)位置矩阵8-邻域或24-邻域剔除孤立点并且设置阈值进行有损压缩,包括:
[0045] 对步骤(1.2)中的位置矩阵B,进行8-邻域或24-邻域孤立点剔除操作以及设置阈值操作,最后得到的位置矩阵也做JBIG或JPEG2000标准的无损压缩。
[0046] 其中,进行8-邻域或24-邻域孤立点剔除操作具体包括:
[0047] 将步骤(1.2)中的位置矩阵B中每一个值为1的点当做目标点做8-邻域或24-邻域剔除孤立点实验;具体而言8-邻域剔除孤立点就是以目标点为中心的3*3矩阵其他8个点若全为0,则目标点为孤立点,需剔除掉,8个点不全为0值则保留目标点;24-邻域剔除孤立点就是以目标点为中心的5*5矩阵其他24个点若全为0,目标点为孤立点,需剔除掉,24个点不全为0值则保留目标点.
[0048] 步骤(2)中,设置阈值操作具体包括:
[0049] 8-邻域或24邻域剔除孤立点是一个有损压缩操作,往往会带来卷积神经网络模型的性能下降(准确率或mAP下降)的不好影响。这时候需要对步骤(2)中剔除掉的孤立点进行一定程度的免剔除操作。这时候需要设置合适的阈值,需要保留已经剔除的点对应步骤(1)中权值矩阵A对应位置值的绝对值大于阈值的点,减小模型性能损失的影响。
[0050] 阈值的设置需要结合剔除点的对应步骤(1)中权值矩阵A对应位置的值的绝对值大小分布来确定。首先将这些值绝对值、排序、设置阈值。如果在对剔除点对应权值矩阵A的值进行绝对值化后进行升序排列,最小值为min最大值为max,差值a=max-min,则阈值S=min+a(1-nΔt)其中Δt每次调整的变量,n为调整的次数,若模型的性能没有改善则一直调整直至1≈nΔt,模型性能无较大下降为止(例如准确率,若准确率不下降或者减小1%以内可以认为模型的性能无较大变化)。对于大于等于阈值的点,将保留下来。
[0051] 将经过8-邻域或24-邻域剔除孤立点以及设置阈值调整后得到的新的位置矩阵,再进行JBIG/JPEG2000标准的无损压缩。
[0052] 实施例
[0053] 请参阅图1,图1所示为整个全连接层稀疏的权值矩阵压缩优化原理示意图。本发明实施例的一种针对全连接层稀疏的权值矩阵的压缩优化方法,具体步骤包括:无损压缩和有损压缩两部分。
[0054] (1)无损压缩步骤如下:经过非结构化剪枝再训练后,全连接层的权值矩阵为大型稀疏化矩阵A。将大型稀疏化矩阵A分解为位置矩阵B和非零值数组C;其中位置矩阵B尺寸大小与稀疏的权值矩阵A一样;数值方面,在矩阵B在矩阵A中有非零值的对应位置数值为1,其他位置数值为0。
[0055] 本实施例中,具体实验选取的卷积神经网络模型为CaffeNet,实验平台为Ubuntu(一种Linux系统)下深度学习框架Caffe。预测物体为Bus(大巴车)、Dinosaur(恐龙)、Horse()、Flower(花)、Elephant(大象)五类。经过全连接层稀疏率为0.1的非结构化剪枝、再训练后得到三层全连接层的稀疏化权值矩阵A。如图5对稀疏化矩阵A分别分解得到位置矩阵B和非零值数组C。
[0056] 对三层位置矩阵B通过JBIG的MQ编码器对位置矩阵从左上开始,从左到右、从上到下进行扫描,无损压缩的结果如表1所示,并与使用CSC稀疏化存储无损压缩稀疏矩阵A后位置信息的存储量进行比较验证。
[0057] 表1.位置矩阵无损压缩前后的大小变化
[0058] 单位/字节 第六层 第七层 第八层 总计位置矩阵 4,718,592 2,097,152 2,560 6,818,304
压缩 2,379,966 1,058,819 1,478 3,440,263
[0059] 稀疏的权值矩阵A经过现有的CSC压缩之后得到存储非零值的数组val、位置信息存储是列索引row_ind和每列开始的val索引的列表col_ptr。这里将位置矩阵大小与row_ind和col_ptr大小进行比较。
[0060] col_ptr的参数量:
[0061] 第六层个数:4096+1=4097;最大值3774874,使用22bit表示;
[0062] 第七层个数:4096+1=4097;最大值1677722,使用21bit表示;
[0063] 第八层个数:5+1=6;最大值2048,使用12bit表示。
[0064] row_ind的参数量:
[0065] 第六层个数:3774874;最大值9215,使用14bit表示;
[0066] 第七层个数:1677722;最大值4095,使用12bit表示;
[0067] 第八层个数:2048;最大值4095,使用12bit表示。
[0068] 综上,使用CSC稀疏化存储,存储稀疏矩阵位置信息的存储量为:
[0069] 4097*22bit+4097*21bit+6*12bit+3774874*14bit+1677722*12bit+2048*12bit=9147714.875Byte≈8.72MB
[0070] 可以得到现有的CSC方法存储位置信息需要9147714Byte,而经过对位置矩阵压缩后仅需要3440263Byte就能表示稀疏矩阵非零值的位置信息,并且都是无损压缩,故模型性能一样;本发明对位置矩阵进行JBIG标准无损压缩模型的存储空间更小。
[0071] (2)有损压缩步骤如下:步骤(1)中使用JBIG标准直接对位置矩阵进行压缩,并得到了很好的效果。这里介绍一种有损压缩方法,使得模型存储量更加减小。对(1)中的位置矩阵B,进行8-邻域或24-邻域剔除孤立点操作,如图2和图3所示,位置矩阵B由0和1组成,每一个1值为目标点,若它的8-邻域或24-邻域中没有1值,则称该目标点为孤立点,需要剔除掉,反之保留该目标点。
[0072] 经过8-邻域或24-邻域剔除点操作后模型的性能可能下降很多,需要设置阈值保留部分对应(1)中稀疏矩阵A非零值绝对值较大的孤立点。
[0073] 阈值的设置如图4所示,首先统计剔除位置矩阵孤立点对应矩阵A数值的数组D,然后对数组D的数值进行绝对值化、升序排列,得到最大值max,最小值min,计算差值a=max-min,则阈值为S=min+a(1-nΔt),Δt为每次调整量,n为调整次数。
[0074] 本实施例实验得到的阈值为0.02,选择24-邻域剔除孤立点操作,得到的新位置矩阵目标点数量变化如表2所示:
[0075] 表1.位置矩阵目标点数量变化
[0076]目标点个数 初始 24-邻域 24-邻域+阈值
第六层 3774874 3472537 3472658
第七层 1677722 1543132 1543196
第八层 2048 1692 1941
[0077] 在模型性能不变化的前提下,可以从表2中得到,经过24-邻域和阈值设置操作后,模型的存储量有所变小。
[0078] 最后对经过24-邻域、阈值设置后得到新位置矩阵进行JBIG无损压缩,结果如表3所示:
[0079] 表3.位置矩阵有损压缩结果
[0080]单位/字节 第六层 第七层 第八层 总计
位置矩阵 4,718,592 2,097,152 2,560 6,818,304
剔除+阈值+压缩 2,232,742 993,097 1,429 3,227,268
[0081] 综上,步骤(2)较步骤(1)多进行了8-邻域或24-邻域孤立点剔除以及阈值设置操作,可进一步对位置矩阵进行压缩,节省了3440263Byte-3227268Byte=212995Byte。本发明中的有损压缩能进一步压缩模型,但是操作更繁琐,模型性能会略微下降。具体使用哪种方法,需要根据实际情况确定。
[0082] 本发明实施例的一种卷积神经网络全连接层稀疏的权值矩阵的压缩系统,用于实现上述方法,包括:
[0083] 位置矩阵获取模块,用于获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
[0084] 无损压缩模块,用于将位置矩阵获取模块获得的位置矩阵B作为二值矩阵,进行满足预设图像压缩标准的无损压缩。
[0085] 其中,预设图像压缩标准包括:JBIG标准或JPEG2000标准。
[0086] 本发明实施例的另一种卷积神经网络全连接层稀疏的权值矩阵的压缩系统,包括:
[0087] 位置矩阵获取模块,用于获取待优化卷积神经网络的全连接层稀疏的权值矩阵A,并将其分解成位置矩阵B以及非零值数组C;其中,位置矩阵B与稀疏的权值矩阵A的尺寸大小一致;在位置矩阵B中,稀疏的权值矩阵A中有非零值的对应位置的数值为1,其他位置的数值为0;
[0088] 有损压缩模块,用于将位置矩阵获取模块获得的位置矩阵B进行8-邻域或24-邻域并设置阈值的有损压缩,获得有损压缩后的位置矩阵
[0089] 无损压缩模块,用于将有损压缩模块获得的有损压缩后的位置矩阵进行满足预设图像压缩标准的无损压缩。
[0090] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0091] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0092] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0093] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0094] 以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈