CN109359724A - 一种压缩存储卷积神经网络模型的方法及装置 - Google Patents
一种压缩存储卷积神经网络模型的方法及装置 Download PDFInfo
- Publication number
- CN109359724A CN109359724A CN201811122249.4A CN201811122249A CN109359724A CN 109359724 A CN109359724 A CN 109359724A CN 201811122249 A CN201811122249 A CN 201811122249A CN 109359724 A CN109359724 A CN 109359724A
- Authority
- CN
- China
- Prior art keywords
- convolution
- weight
- full connection
- parameter
- cluster
- 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.)
- Pending
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供了一种压缩存储卷积神经网络模型的方法及装置,预先获取经过训练的卷积神经网络模型,包括:对卷积神经网络模型进行剪枝处理,并获取每一个卷积层对应的至少四个卷积权重参数和每一个全连接层对应的至少四个全连接权重参数;针对每一个卷积层,对卷积层对应的至少四个卷积权重参数进行聚类,获取至少一个卷积聚类权重参数和至少一个卷积权重索引;针对每一个全连接层,对全连接层对应的至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数和至少一个全连接权重索引;利用二进码十进数BCD码对各个卷积权重索引和各个全连接权重索引进行压缩存储。本方案能够降低卷积神经网络模型占用的存储空间。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种压缩存储卷积神经网络模型的方法及装置。
背景技术
在机器学习领域中,卷积神经网络是一种深度前馈人工神经网络,已成功地应用于图像识别。
目前,从AlexNet网络结构开始,卷积神经网络都以ImageNet可视化数据库上的分类准确率作为性能评估的主要标准。这使得卷积神经网络架构的发展没有考虑模型复杂度和计算效率问题,从而导致卷积神经网络模型过大,占用智能手机、AR/VR设备、无人机等内存较小的智能设备过多的存储空间。
发明内容
本发明实施例提供了一种压缩存储卷积神经网络模型的方法及装置,能够降低卷积神经网络模型占用的存储空间。
第一方面,本发明实施例提供了一种压缩存储卷积神经网络模型的方法,包括:
预先获取经过训练的卷积神经网络模型;
还包括:
对所述卷积神经网络模型进行剪枝处理;
获取剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
针对每一个所述卷积层,对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;
针对每一个所述全连接层,对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;
确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引;
存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
优选地,
所述对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数,包括:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
优选地,
所述对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数,包括:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
优选地,
所述利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;
将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;
则,
所述存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
优选地,
所述对所述卷积神经网络模型进行剪枝处理,包括:
利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
第二方面,本发明实施例提供了一种压缩存储卷积神经网络模型的装置,包括:
训练管理单元,用于预先获取经过训练的卷积神经网络模型;对所述卷积神经网络模型进行剪枝处理;
权重获取单元,用于获取所述训练管理单元剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
聚类处理单元,用于针对每一个所述卷积层,对所述权重获取单元获取的所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;针对每一个所述全连接层,对所述权重获取单元获取的所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
压缩存储单元,用于利用二进码十进数BCD码压缩所述聚类处理单元获取的所述至少一个卷积权重索引和所述至少一个全连接权重索引;存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
优选地,
所述聚类处理单元,用于执行:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
优选地,
所述聚类处理单元,用于执行:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
优选地,
所述压缩存储单元,用于将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
优选地,
所述训练管理单元,用于利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
在本发明实施例中,通过对经过训练的卷积神经网络模型进行剪枝,完成卷积神经网络模型的稀疏处理,可以减少卷积神经网络模型卷积层对应的聚集权重参数和全连接层对应的全连接权重参数的数量,节约运算时间,再通过权重量化,分别将每一个卷积层对应的卷积权重参数和每一个全连接层对应的卷积权重参数分别进行聚类,可以进一步缩减卷积神经网络模型的权重参数的数量,最后利用BCD码对聚类后的卷积聚类权重参数对应的卷积聚类权重索引,以及全连接聚类权重参数对应的全连接聚类权重索引进行压缩存储,即可减少量化后的权重索引存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率,实现降低卷积神经网络模型占用的存储空间的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种压缩存储卷积神经网络模型的方法的流程图;
图2是本发明一实施例提供的另一种压缩存储卷积神经网络模型的方法的流程图;
图3是本发明一实施例提供的一种压缩存储卷积神经网络模型的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种压缩存储卷积神经网络模型的方法,包括:
步骤101:预先获取经过训练的卷积神经网络模型;
步骤102:对所述卷积神经网络模型进行剪枝处理;
步骤103:获取剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
步骤104:针对每一个所述卷积层,对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;
步骤105:针对每一个所述全连接层,对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;
步骤106:确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
步骤107:利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引;
步骤108:存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
在本发明实施例中,通过对经过训练的卷积神经网络模型进行剪枝,完成卷积神经网络模型的稀疏处理,可以减少卷积神经网络模型卷积层对应的聚集权重参数和全连接层对应的全连接权重参数的数量,节约运算时间,再通过权重量化,分别将每一个卷积层对应的卷积权重参数和每一个全连接层对应的卷积权重参数分别进行聚类,可以进一步缩减卷积神经网络模型的权重参数的数量,最后利用BCD码对聚类后的卷积聚类权重参数对应的卷积聚类权重索引,以及全连接聚类权重参数对应的全连接聚类权重索引进行压缩存储,即可减少量化后的权重索引存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率,实现降低卷积神经网络模型占用的存储空间的目的。
在本发明一实施例中,所述对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数,包括:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
在本发明实施例中,由于剪枝后的卷积神经网络模型的卷积权重参数为浮点型数据,会增加智能设备的运算难度以及降低运算的准确率,因此需要对卷积权重参数进行聚类,即将卷积权重参数从float32类型量化至int8类型。而卷积层的量化可以分为两种,一种是当卷积层的卷积权重参数的参数量较小时,可以采用直接量化的方式,即对卷积层的各个卷积权重参数直接聚类,另一种是当卷积层的卷积权重参数的参数量较大时,需要采集多级量化方式,即对每一个卷积层的各个卷积权重参数划分为多个卷积等级,再对每一个卷积等级的卷积权重参数进行聚类,以减少卷积神经网络模型的卷积权重参数,降低反复运算导致的误差和运算的难度。
在本发明一实施例中,所述对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数,包括:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
在本发明实施例中,同样地,剪枝后的卷积神经网络模型的全连接权重参数也为浮点型数据,同样会增加智能设备的运算难度以及降低运算的准确率,因此需要对全连接权重参数进行聚类,即将全连接权重参数从float32类型量化至int8类型。而全连接的量化同样可以分为两种,一种是当全连接层的全连接权重参数的参数量较小时,可以采用直接量化的方式,即对全连接层的各个全连接权重参数直接聚类,另一种是当全连接层的全连接权重参数的参数量较大时,需要采集多级量化方式,即对每一个全连接层的各个全连接权重参数划分为多个全连接等级,再对每一个全连接等级的全连接权重参数进行聚类,以减少卷积神经网络模型的全连接权重参数,降低反复运算导致的误差和运算的难度。
在本发明一实施例中,所述利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;
将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;
则,
所述存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
在本发明实施例中,剪枝后的卷积神经网络模型的卷积权重参数和全连接权重参数均为浮点型数据,所以很多时候并不能表达一个精确值,例如,0.1,如果使用浮点型数据在内存中会被表示为0.10000000000000001,如果进行反复计算将会导致非常大的误差,因此,为了保证数值的精确度,需要利用BCD码对卷积聚类权重索引和全连接权重索引进行压缩存储,同时还可减少卷积神经网络模型权重占用的存储空间。
在本发明一实施例中,所述对所述卷积神经网络模型进行剪枝处理,包括:
利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
在本发明实施例中,利用Dropout方法或L1正则化方法,可以将卷积神经网络模型中微乎其微的卷积权重参数和全连接权重参数设置为0,完成卷积神经网络模型的稀疏处理,在保证卷积神经网络模型精度的同时,减小卷积权重参数和全连接权重参数的数量,以使降低卷积神经网络模型权重占用的存储空间。
为了更加清楚的说明本发明的技术方案及优点,下面对本发明提供的一种压缩存储卷积神经网络模型的方法进行详细描述,如图2所示,具体可以包括以下步骤:
步骤201:预先获取经过训练的卷积神经网络模型。
具体地,在模型训练阶段,通过输入一个图像并进行归一化处理,以保证卷积神经网络模型训练收敛,再通过卷积操作、池化操作、全连接操作完成前向计算和后向模型参数更新,直至卷积神经网络模型收敛,完成神经网络模型特征提取、下采样、和全连接分类和检测任务,即可获取经过训练的卷积神经网络模型。
步骤202:对卷积神经网络模型进行剪枝处理。
具体地,利用L1正则化方法或Dropout方法对卷积神经网络模型进行裁剪,以使将部分卷积权重系数和部分全连接权重系数设置为零,完成模型的稀疏处理。
举例来说,对卷积神经网络模型进行裁剪时,利用Dropout方法设定一个阈值ratio=p,每一个输出节点以概率p对卷积权重参数进行预处理,低于p的权重置为0,以使得到稀疏权重网络模型。
步骤203:获取剪枝处理后的卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数。
具体地,在对卷积神经网络模型进行剪枝处理后,即可获取卷积层和全连接层得到的对应权重参数,即获取每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数。
步骤204:针对每一个卷积层,确定卷积层对应的至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行步骤205,否则,执行步骤206。
具体地,在对卷积神经网络模型进行稀疏处理后,需要对卷积层的卷积权重参数进行量化处理,而量化的方式分为两种,对卷积层的卷积权重参数的参数量比较小时,可以采用直接量化的方式,即将卷积层对应的至少四个卷积权重参数划分为至少两个卷积等级,而对卷积层的卷积权重参数的参数量比较大时,需要采用多级量化方式,即将每一级的卷积权重参数量化并聚类至k中心。
步骤205:对至少四个卷积权重参数进行聚类,执行步骤208。
具体地,当确定卷积层的卷积权重参数的参数量比较小时,可直接对其直接量化,即将以各个卷积权重参数量化并聚类至k中心,以提高权重量化速度。
步骤206:将卷积层对应的至少四个卷积权重参数划分为至少两个卷积等级,执行步骤207。
具体地,当卷积层的卷积权重参数的参数量比较大时,则需要采用多计量化方式,即先将卷积层对应的至少四个卷积权重参数划分为至少两个卷积等级,再将每一卷积等级的卷积权重参数量化并聚类至k中心。
步骤207:针对每一个卷积等级,对卷积等级的至少两个卷积权重参数进行聚类,执行步骤208。
步骤208:获取聚类后的至少一个卷积聚类权重参数。
具体地,在对各个卷积权重参数进行聚类处理后,即可获取聚类后的至少一个卷积聚类权重参数。
步骤209:针对每一个全连接层,确定全连接层对应的至少四个全连接权重参数的参数量,是否大于预设的第二参数值,如果是,执行步骤210,否则,执行步骤211。
具体地,全连接层的全连接权重参数也需要量化,而量化的方式同样分为两种,对全连接层的全连接权重参数的参数量比较小时,可以采用直接量化的方式,即将全连接层对应的至少四个全连接权重参数划分为至少两个全连接等级,而对全连接层的全连接权重参数的参数量比较大时,需要采用多级量化方式,即将每一级的全连接权重参数量化并聚类至k中心。
步骤210:对至少四个全连接权重参数进行聚类,执行步骤213。
具体地,当确定全连接层的全连接权重参数的参数量比较小时,可直接对其直接量化,即将以各个全连接权重参数量化并聚类至k中心,以提高权重量化速度。
步骤211:将全连接层对应的至少四个全连接权重参数划分为至少两个全连接等级,执行步骤212。
具体地,当全连接的全连接权重参数的参数量比较大时,则需要采用多计量化方式,即先将全连接层对应的至少四个全连接权重参数划分为至少两个全连接等级,再将每一全连接等级的全连接权重参数量化并聚类至k中心。
步骤212:针对每一个全连接等级,对全连接等级的至少两个全连接权重参数进行聚类,执行步骤213。
步骤213:获取聚类后的至少一个全连接聚类权重参数。
具体地,在对各个全连接权重参数进行聚类处理后,即可获取聚类后的至少一个全连接聚类权重参数。
步骤214:确定至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和至少一个全连接聚类权重参数对应的至少一个全连接权重索引。
具体地,在对每一个卷积层对应的卷积权重参数行业每一个全连接层对应的全连接权重参数进行聚类后,可以获得聚类后对应的卷积权重索引和全连接权重索引。
步骤215:将至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码。
具体地,由于卷积聚类权重索引为浮点型数据,而浮点型数据是一个幂计算式,所以很多时候并不能表达一个精确值例如0.1,如果使用浮点型在内存中会被表示为0.10000000000000001,如果进行反复运算将会导致非常大的误差,降低运算的准确率。因此需要利用BCD码对卷积聚类权重索引进行压缩,以减少量化后的卷积聚类权重索引的存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率。
步骤216:将至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码。
具体地,利用BCD码对全连接聚类权重索引进行压缩,可以减少量化后的全连接聚类权重索引的存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率。
步骤217:存储卷积权重索引BCD码和全连接权重索引BCD码。
如图3所示,本发明提供了一种压缩存储卷积神经网络模型的装置,包括:
训练管理单元301,用于预先获取经过训练的卷积神经网络模型;对所述卷积神经网络模型进行剪枝处理;
权重获取单元302,用于获取所述训练管理单元301剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
聚类处理单元303,用于针对每一个所述卷积层,对所述权重获取单元302获取的所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;针对每一个所述全连接层,对所述权重获取单元302获取的所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
压缩存储单元304,用于利用二进码十进数BCD码压缩所述聚类处理单元303获取的所述至少一个卷积权重索引和所述至少一个全连接权重索引;存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
在本发明实施例中,通过训练管理单元对经过训练的卷积神经网络模型进行剪枝,完成卷积神经网络模型的稀疏处理,可以减少卷积神经网络模型卷积层对应的聚集权重参数的数量和全连接层对应的全连接权重参数的数量,节约运算时间,再通过聚类处理单元进行权重量化,分别将权重获取单元获取的每一个卷积层对应的卷积权重参数和每一个全连接层对应的卷积权重参数分别进行聚类,可以进一步减少卷积神经网络模型的权重参数的数量,最后通过压缩存储单元,利用BCD码对聚类后的卷积聚类权重参数对应的卷积聚类权重索引,以及全连接聚类权重参数对应的全连接聚类权重索引进行压缩存储,即可减少量化后的权重索引存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率,实现降低卷积神经网络模型占用的存储空间的目的。
在本发明一实施例中,所述聚类处理单元,用于执行:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
在本发明一实施例中,所述聚类处理单元,用于执行:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
在本发明一实施例中,所述压缩存储单元,用于将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
在本发明一实施例中,所述训练管理单元,用于利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
本发明各个实施例至少具有如下有益效果:
1、在本发明一实施例中,通过对经过训练的卷积神经网络模型进行剪枝,完成卷积神经网络模型的稀疏处理,可以减少卷积神经网络模型卷积层对应的聚集权重参数和全连接层对应的全连接权重参数的数量,节约运算时间,再通过权重量化,分别将每一个卷积层对应的卷积权重参数和每一个全连接层对应的卷积权重参数分别进行聚类,可以进一步缩减卷积神经网络模型的权重参数的数量,最后利用BCD码对聚类后的卷积聚类权重参数对应的卷积聚类权重索引,以及全连接聚类权重参数对应的全连接聚类权重索引进行压缩存储,即可减少量化后的权重索引存储空间,保证卷积神经网络模型损失和精度平衡的同时,提高卷积神经网络模型的压缩率,实现降低卷积神经网络模型占用的存储空间的目的。
2、在本发明一实施例中,由于剪枝后的卷积神经网络模型的卷积权重参数为浮点型数据,会增加智能设备的运算难度以及降低运算的准确率,因此需要对卷积权重参数进行聚类,即将卷积权重参数从float32类型量化至int8类型。而卷积层的量化可以分为两种,一种是当卷积层的卷积权重参数的参数量较小时,可以采用直接量化的方式,即对卷积层的各个卷积权重参数直接聚类,另一种是当卷积层的卷积权重参数的参数量较大时,需要采集多级量化方式,即对每一个卷积层的各个卷积权重参数划分为多个卷积等级,再对每一个卷积等级的卷积权重参数进行聚类,以减少卷积神经网络模型的卷积权重参数,降低反复运算导致的误差和运算的难度。
3、在本发明一实施例中,剪枝后的卷积神经网络模型的卷积权重参数和全连接权重参数均为浮点型数据,所以很多时候并不能表达一个精确值,例如,0.1,如果使用浮点型数据在内存中会被表示为0.10000000000000001,如果进行反复计算将会导致非常大的误差,因此,为了保证数值的精确度,需要利用BCD码对卷积聚类权重索引和全连接权重索引进行压缩存储,同时还可减少卷积神经网络模型权重占用的存储空间。
4、在本发明一实施例中,利用Dropout方法或L1正则化方法,可以将卷积神经网络模型中微乎其微的卷积权重参数和全连接权重参数设置为0,完成卷积神经网络模型的稀疏处理,在保证卷积神经网络模型精度的同时,减小卷积权重参数和全连接权重参数的数量,以使降低卷积神经网络模型权重占用的存储空间。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种压缩存储卷积神经网络模型的方法,其特征在于,预先获取经过训练的卷积神经网络模型,还包括:
对所述卷积神经网络模型进行剪枝处理;
获取剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
针对每一个所述卷积层,对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;
针对每一个所述全连接层,对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;
确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引;
存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
2.根据权利要求1所述的方法,其特征在于,
所述对所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数,包括:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
3.根据权利要求1所述的方法,其特征在于,
所述对所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数,包括:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
4.根据权利要求1所述的方法,其特征在于,
所述利用二进码十进数BCD码压缩所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;
将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;
则,
所述存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引,包括:
存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述对所述卷积神经网络模型进行剪枝处理,包括:
利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
6.一种压缩存储卷积神经网络模型的装置,其特征在于,包括:
训练管理单元,用于预先获取经过训练的卷积神经网络模型;对所述卷积神经网络模型进行剪枝处理;
权重获取单元,用于获取所述训练管理单元剪枝处理后的所述卷积神经网络模型的每一个卷积层对应的至少四个卷积权重参数,和每一个全连接层对应的至少四个全连接权重参数;
聚类处理单元,用于针对每一个所述卷积层,对所述权重获取单元获取的所述卷积层对应的所述至少四个卷积权重参数进行聚类,获取聚类后的至少一个卷积聚类权重参数;针对每一个所述全连接层,对所述权重获取单元获取的所述全连接层对应的所述至少四个全连接权重参数进行聚类,获取聚类后的至少一个全连接聚类权重参数;确定所述至少一个卷积聚类权重参数对应的至少一个卷积权重索引,和所述至少一个全连接聚类权重参数对应的至少一个全连接权重索引;
压缩存储单元,用于利用二进码十进数BCD码压缩所述聚类处理单元获取的所述至少一个卷积权重索引和所述至少一个全连接权重索引;存储压缩后的所述至少一个卷积权重索引和所述至少一个全连接权重索引。
7.根据权利要求6所述的装置,其特征在于,
所述聚类处理单元,用于执行:
S0:确定所述卷积层对应的所述至少四个卷积权重参数的参数量,是否大于预设的第一参数值,如果是,执行S1,否则,执行S2;
S1:对所述至少四个卷积权重参数进行聚类,执行S4;
S2:将所述卷积层对应的所述至少四个卷积权重参数划分为至少两个卷积等级,执行S3;
S3:针对每一个所述卷积等级,对所述卷积等级的至少两个所述卷积权重参数进行聚类,执行S4;
S4:获取聚类后的至少一个卷积聚类权重参数。
8.根据权利要求6所述的装置,其特征在于,
所述聚类处理单元,用于执行:
D0:确定所述全连接层对应的所述至少全连接四个权重参数的参数量,是否大于预设的第二参数值,如果是,执行D1,否则,执行D2;
D1:对所述至少四个全连接权重参数进行聚类,执行D4;
D2:将所述全连接层对应的所述至少四个全连接权重参数划分为至少全连接两个等级,执行D3;
D3:针对每一个所述全连接等级,对所述全连接等级的至少两个全连接所述权重参数进行聚类,执行D4;
D4:获取聚类后的至少一个全连接聚类权重参数。
9.根据权利要求6所述的装置,其特征在于,
所述压缩存储单元,用于将所述至少一个卷积聚类权重索引,转换为对应的卷积权重索引BCD码;将所述至少一个全连接聚类权重索引,转换为对应的全连接权重索引BCD码;存储所述卷积权重索引BCD码和所述全连接权重索引BCD码。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述训练管理单元,用于利用Dropout方法或L1正则化方法,对所述卷积神经网络模型进行剪枝处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811122249.4A CN109359724A (zh) | 2018-09-26 | 2018-09-26 | 一种压缩存储卷积神经网络模型的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811122249.4A CN109359724A (zh) | 2018-09-26 | 2018-09-26 | 一种压缩存储卷积神经网络模型的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109359724A true CN109359724A (zh) | 2019-02-19 |
Family
ID=65347650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811122249.4A Pending CN109359724A (zh) | 2018-09-26 | 2018-09-26 | 一种压缩存储卷积神经网络模型的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359724A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993304A (zh) * | 2019-04-02 | 2019-07-09 | 北京同方软件有限公司 | 一种基于语义分割的检测模型压缩方法 |
CN110309847A (zh) * | 2019-04-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 一种模型压缩方法及装置 |
WO2021070019A1 (en) * | 2019-10-10 | 2021-04-15 | International Business Machines Corporation | Domain specific model compression |
-
2018
- 2018-09-26 CN CN201811122249.4A patent/CN109359724A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993304A (zh) * | 2019-04-02 | 2019-07-09 | 北京同方软件有限公司 | 一种基于语义分割的检测模型压缩方法 |
CN110309847A (zh) * | 2019-04-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 一种模型压缩方法及装置 |
WO2021070019A1 (en) * | 2019-10-10 | 2021-04-15 | International Business Machines Corporation | Domain specific model compression |
GB2604499A (en) * | 2019-10-10 | 2022-09-07 | Ibm | Domain specific model compression |
US11620435B2 (en) | 2019-10-10 | 2023-04-04 | International Business Machines Corporation | Domain specific model compression |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359724A (zh) | 一种压缩存储卷积神经网络模型的方法及装置 | |
US20210192389A1 (en) | Method for ai optimization data governance | |
CN115564062A (zh) | 一种基于模型剪枝和传输压缩优化的联邦学习系统及方法 | |
CN115801901A (zh) | 一种企业生产排放数据压缩处理方法 | |
CN108696369A (zh) | 一种告警信息处理设备及方法 | |
CN110570400A (zh) | 一种芯片3d封装检测的信息处理方法和装置 | |
CN116389223B (zh) | 一种基于大数据的人工智能可视化预警系统及方法 | |
CN112309000B (zh) | 一种云平台的机床稼动率监测系统 | |
CN117313957B (zh) | 基于大数据分析的生产流水任务量智能预测方法 | |
CN113887749A (zh) | 基于云边协同的电力物联网多维度监控处置方法、设备及平台 | |
CN116128254A (zh) | 基于边缘计算的嵌入式智能制造资源配置方法及终端系统 | |
CN111488952A (zh) | 一种适用于轮毂自动化识别的深度残差模型构建方法 | |
CN105787113A (zh) | 一种基于plm数据库面向dpipp工艺信息的挖掘算法 | |
CN107992717A (zh) | 一种考虑任意两两模块间关联关系的吊钩组模块划分方法 | |
CN109711004B (zh) | 一种光纤折射率大数据预测方法 | |
CN116185797A (zh) | 预测服务器资源饱和度的方法、装置及存储介质 | |
CN114418486B (zh) | 一种并行接力拣选的波次规划方法 | |
CN115660730A (zh) | 基于分类算法的流失用户分析方法及系统 | |
CN113191569A (zh) | 一种基于大数据的企业管理方法及系统 | |
CN116631586A (zh) | 一种医院红细胞最优化智能分配决策方法和系统 | |
CN111832805A (zh) | 一种基于电力大数据的经济预警分析系统及方法 | |
CN105721199A (zh) | 一种基于核密度估计与模糊推理系统的实时云服务瓶颈检测方法 | |
CN110209837A (zh) | 一种装置信息词典的生成方法及计算装置 | |
CN118313423B (zh) | 一种汽车技术知识智能管理方法 | |
CN117880761B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190219 |