CN113762462A - 一种轻量化模型压缩方法及系统 - Google Patents
一种轻量化模型压缩方法及系统 Download PDFInfo
- Publication number
- CN113762462A CN113762462A CN202110843973.1A CN202110843973A CN113762462A CN 113762462 A CN113762462 A CN 113762462A CN 202110843973 A CN202110843973 A CN 202110843973A CN 113762462 A CN113762462 A CN 113762462A
- Authority
- CN
- China
- Prior art keywords
- training
- data
- model
- loss function
- pruning
- 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
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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种轻量化模型压缩方法及系统。该方案包括获取数据集数据进行训练集、验证集和测试集的划分;对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;对比原始的模型获得训练周期,并建立训练损失函数;输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。该方案通过采用基于MobileNetV3的模型压缩方法,通过对Bottleneck模块进行剪枝,并配合知识蒸馏的模型压缩方法,实现减少轻量化模型的核数量。
Description
技术领域
本发明涉及模型压缩方法技术领域,更具体地,涉及一种轻量化模型压缩方法及系统。
背景技术
模型压缩是一种很有前景的模型处理方法。目前,的模型压缩技术都是针对VGG或ResNet等大模型的压缩,所得到的结果仍是比较大的网络模型,对设备计算量还是有一定的要求。进一步,压缩模型则会影响精度。为了得到更小的实用模型,需要设计对轻量化模型的剪枝技术。
仅涉及了大模型的压缩方法,对于轻量化模型MobileNetV3模型,由于参数较少尚未有合理的压缩方案。但是,这些模型常常需要在移动端部署,对实际的计算效率要求极高。因此,十分有必要进行嵌入式处理器中的轻量化模型的压缩。
发明内容
鉴于上述问题,本发明提出了一种轻量化模型压缩方法及系统,该方案采用基于MobileNetV3的模型压缩方法,通过对Bottleneck模块进行剪枝,并配合知识蒸馏的模型压缩方法,实现减少轻量化模型的核数量。
根据本发明实施例第一方面,提供一种轻量化模型压缩方法。
在一个或多个实施例中,优选地,所述一种轻量化模型压缩方法包括:
获取数据集数据进行训练集、验证集和测试集的划分;
对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
对比原始的模型获得训练周期,并建立训练损失函数;
输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
在一个或多个实施例中,优选地,所述获取数据集数据进行训练集、验证集和测试集的划分,具体包括:
自动的获取全部的数据集数据;
对所述数据集数据进行划分,生成所述训练集、验证集和测试集。
在一个或多个实施例中,优选地,所述对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据,具体包括:
对所述训练集进行尺寸缩放获得第一增强数据;
对所述训练集进行随机亮度,获得第二增强数据;
将所述第一增强数据、所述第二增强数据和所述训练集数据组成综合训练数据;
对所述综合训练数据进行均值计算、标准差计算和归一化计算,生成数据增强数据,其中,均值包括0.485、0.456和0.406,所述标准差包括0.229、0.224和0.225。
在一个或多个实施例中,优选地,所述设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度,具体包括:
对MobileNetV3基准网络中的Bottleneck模块的输出层的每一个卷积核的门值;
将卷积核门值初始化为1;
设置用于所述卷积核门值进行训练的剪枝损失函数;
获得Bottleneck输出层的卷积核的重要度;
其中,所述剪枝损失函数为:
在一个或多个实施例中,优选地,所述在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络,具体包括:
配置所述卷积核门值裁剪比率在0.5至0.9之间;
通过全局剪枝的方法对所有的所述卷积核门值进行排序;
通过所述卷积核门值比率计算每个所述Bottleneck模块中的保留卷积核数目;
利用每个所述Bottleneck模块中的保留卷积核数目对MobileNetV3网络进行修正,生成初始化的MobileNetV3网络。
在一个或多个实施例中,优选地,所述对比原始的模型获得训练周期,并建立训练损失函数,具体包括:
利用周期训练公式获得训练周期;
采用知识蒸馏构造训练损失函数;
所述周期训练公式为:
其中,FLOPS()是计算模型的浮点型数量的函数,A为基准模型,B为裁剪后的模型,epoch为所述训练周期;
所述训练损失函数为:
在一个或多个实施例中,优选地,所述输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型,具体包括:
获取所述综合训练数据和所述验证集;
获取所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期;
对所述训练集的全部数据自动进行模型训练,获得目标模型;
利用所述验证集对所有的所述目标模型进行验证,获得性能最好的所述目标模型,保存为目标剪枝模型。
根据本发明实施例第二方面,提供一种轻量化模型压缩系统。
在一个或多个实施例中,优选地,所述一种轻量化模型压缩系统包括:
数据集划分子模块,用于获取数据集数据进行训练集、验证集和测试集的划分;
数据增强子模块,用于对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
重要度生成子模块,用于设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
网络剪枝子模块,用于在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
训练周期生成子模块,用于对比原始的模型获得训练周期,并建立训练损失函数;
目标模型生成子模块,用于输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
在一个或多个实施例中,优选地,所述一种轻量化模型压缩系统还包括:掉电临时数据存储子模块,用于存储所述综合训练数据、所述验证集、所述测试集中的数据。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
1)本发明实施例中,对现有的轻量化模型进行进一步的模型压缩,使其拥有更低的参数和更高的性能,可以适配更多的移动端设备。
2)本发明实施例中,进行了知识蒸馏的模型压缩方法和学习率热身的训练方法,避免了轻量化模型再剪枝之后导致的准确度降低的问题,使其在自动化生产中可以应对更多的问题,使其可以实现自动化生产。
3)本发明实施例中,可以利用轻量化模型本身自带的轻量化结构进行进一步剪枝,使其在移动端的运行速率远远高于VGG或ResNet等大型网络,进而降低了移动端设备的成本,扩展了神经网络在实际应用的范围。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的一种轻量化模型压缩方法的流程图。
图2是本发明一个实施例的一种轻量化模型压缩方法中的获取数据集数据进行训练集、验证集和测试集的划分的流程图。
图3是本发明一个实施例的一种轻量化模型压缩方法中的对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据的流程图。
图4是本发明一个实施例的一种轻量化模型压缩方法中的设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度的流程图。
图5是本发明一个实施例的一种轻量化模型压缩方法中的在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络的流程图。
图6是本发明一个实施例的一种轻量化模型压缩方法中的对比原始的模型获得训练周期,并建立训练损失函数的流程图。
图7是本发明一个实施例的一种轻量化模型压缩方法中的输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型的流程图。
图8是本发明一个实施例的一种轻量化模型压缩系统的结构图。
具体实施方式
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着神经网络技术的发展与进步,深度学习在各个领域得到了广泛应用。其中,尤其是在计算机视觉方面应用及其广泛。但是,深度学习的使用也存在诸多问题,所使用的深度神经网络具有较大的参数量和计算量,这在很多方面限制了深度学习的发展,因此对于深度网络模型的压缩具有重要意义。
模型压缩是一种很有前景的模型处理方法。目前,的模型压缩技术都是针对VGG或ResNet等大模型的压缩,所得到的结果仍是比较大的网络模型,对设备计算量还是有一定的要求。进一步,压缩模型则会影响精度。为了得到更小的实用模型,需要设计对轻量化模型的剪枝技术。
仅涉及了大模型的压缩方法,对于轻量化模型MobileNetV3模型,由于参数较少尚未有合理的压缩方案。但是,这些模型常常需要在移动端部署,对实际的计算效率要求极高。因此,十分有必要进行嵌入式处理器中的轻量化模型的压缩。
本发明实施例中,提供了一种轻量化模型压缩方法及系统。该方案采用基于MobileNetV3的模型压缩方法,通过对Bottleneck模块进行剪枝,并配合知识蒸馏的模型压缩方法,实现减少轻量化模型的核数量。
根据本发明实施例第一方面,提供一种轻量化模型压缩方法。
图1是本发明一个实施例的一种轻量化模型压缩方法的流程图。
如图1所示,在一个或多个实施例中,优选地,所述一种轻量化模型压缩方法包括:
S101、获取数据集数据进行训练集、验证集和测试集的划分;
S102、对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
S103、设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
S104、在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
S105、对比原始的模型获得训练周期,并建立训练损失函数;
S106、输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
在本发明实施例中,通过轻量化模型的压缩,压缩后实际的MobileNetV3模型可以在获得和原模型相似准确度的同时,减少了百分之70的参数量,便于其在移动端的部署。
图2是本发明一个实施例的一种轻量化模型压缩方法中的获取数据集数据进行训练集、验证集和测试集的划分的流程图。
如图2所示,在一个或多个实施例中,优选地,所述获取数据集数据进行训练集、验证集和测试集的划分,具体包括:
S201、自动的获取全部的数据集数据;
S202、对所述数据集数据进行划分,生成所述训练集、验证集和测试集。
在本发明实施例中,通过数据集划分获得初始化训练的数据集准备数据。
图3是本发明一个实施例的一种轻量化模型压缩方法中的对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据的流程图。
如图3所示,在一个或多个实施例中,优选地,所述对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据,具体包括:
S301、对所述训练集进行尺寸缩放获得第一增强数据;
S302、对所述训练集进行随机亮度,获得第二增强数据;
S303、将所述第一增强数据、所述第二增强数据和所述训练集数据组成综合训练数据;
S304、对所述综合训练数据进行均值计算、标准差计算和归一化计算,生成数据增强数据,其中,均值包括0.485、0.456和0.406,所述标准差包括0.229、0.224和0.225。
在本发明实施例中,在获取训练集数据的基础上,对数据总量进行了丰富,通过丰富训练数据,可以有效的提高模型训练的精度并提升模型训练过程中的数据丰富程度。
图4是本发明一个实施例的一种轻量化模型压缩方法中的设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度的流程图。
如图4所示,在一个或多个实施例中,优选地,所述设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度,具体包括:
S401、对MobileNetV3基准网络中的Bottleneck模块的输出层的每一个卷积核的门值;
S402、将卷积核门值初始化为1;
S403、设置用于所述卷积核门值进行训练的剪枝损失函数;
S404、获得Bottleneck输出层的卷积核的重要度;
其中,所述剪枝损失函数为:
在本发明实施例中,在进行剪枝的过程中,采用全局迭代和全局裁剪的方法对MobileNetV3进行剪枝操作,由于,在剪枝过程中,不对参数量较少的1*1卷积核进行处理,只针对MobileNetV3中的每个Bottleneck模块中最后一层输出卷积核进行裁剪工作,这样既可以达到剪枝的效果又可以保证MobileNetV3模型的完整性。
图5是本发明一个实施例的一种轻量化模型压缩方法中的在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络的流程图。
如图5所示,在一个或多个实施例中,优选地,所述在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络,具体包括:
S501、配置所述卷积核门值裁剪比率在0.5至0.9之间;
S502、通过全局剪枝的方法对所有的所述卷积核门值进行排序;
S503、通过所述卷积核门值比率计算每个所述Bottleneck模块中的保留卷积核数目;
S504、利用每个所述Bottleneck模块中的保留卷积核数目对MobileNetV3网络进行修正,生成初始化的MobileNetV3网络。
在本发明实施例中,为了进行模型的剪枝,设置了具体的裁剪比率,当过于低的影响度,则此模型被剪出,通过此方式实现对于原始的MoblieNetV3网络的剪枝。
图6是本发明一个实施例的一种轻量化模型压缩方法中的对比原始的模型获得训练周期,并建立训练损失函数的流程图。
如图6所示,在一个或多个实施例中,优选地,所述对比原始的模型获得训练周期,并建立训练损失函数,具体包括:
S601、利用周期训练公式获得训练周期;
S602、采用知识蒸馏构造训练损失函数;
所述周期训练公式为:
其中,FLOPS()是计算模型的浮点型数量的函数,A为基准模型,B为裁剪后的模型,epoch为所述训练周期;
所述训练损失函数为:
在本发明实施例中,首先通过剪枝后的网络与原生网络的浮点型参数量的比值获取训练周期,进而通过知识蒸馏方式将训练好的MobileNetV3模型作为知识蒸馏的教师网络,这保证了剪枝后MobileNetV3使用知识蒸馏的高效性。
图7是本发明一个实施例的一种轻量化模型压缩方法中的输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型的流程图。
如图7所示,在一个或多个实施例中,优选地,所述输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型,具体包括:
S701、获取所述综合训练数据和所述验证集;
S702、获取所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期;
S703、对所述训练集的全部数据自动进行模型训练,获得目标模型;
S704、利用所述验证集对所有的所述目标模型进行验证,获得性能最好的所述目标模型,保存为目标剪枝模型。
在本发明实施例中,通过获取上述综合训练数据、验证集的基础上,完成实际的模型训练,最终利用损失函数评判,实际的模型最好的模型作为目标剪枝模型。
根据本发明实施例第二方面,提供一种轻量化模型压缩系统。
图8是本发明一个实施例的一种轻量化模型压缩系统的结构图。
如图8所示,在一个或多个实施例中,优选地,所述一种轻量化模型压缩系统包括:
数据集划分子模块801,用于获取数据集数据进行训练集、验证集和测试集的划分;
数据增强子模块802,用于对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
重要度生成子模块803,用于设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
网络剪枝子模块804,用于在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
训练周期生成子模块805,用于对比原始的模型获得训练周期,并建立训练损失函数;
目标模型生成子模块806,用于输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
在一个或多个实施例中,优选地,所述一种轻量化模型压缩系统还包括:掉电临时数据存储子模块807,用于存储所述综合训练数据、所述验证集、所述测试集中的数据。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
1)本发明实施例中,对现有的轻量化模型进行进一步的模型压缩,使其拥有更低的参数和更高的性能,可以适配更多的移动端设备。
2)本发明实施例中,进行了知识蒸馏的模型压缩方法和学习率热身的训练方法,避免了轻量化模型再剪枝之后导致的准确度降低的问题,使其在自动化生产中可以应对更多的问题,使其可以实现自动化生产。
3)本发明实施例中,可以利用轻量化模型本身自带的轻量化结构进行进一步剪枝,使其在移动端的运行速率远远高于VGG或ResNet等大型网络,进而降低了移动端设备的成本,扩展了神经网络在实际应用的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种轻量化模型压缩方法,其特征在于,该方法包括:
获取数据集数据进行训练集、验证集和测试集的划分;
对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
对比原始的模型获得训练周期,并建立训练损失函数;
输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
2.如权利要求1所述的一种轻量化模型压缩方法,其特征在于,所述获取数据集数据进行训练集、验证集和测试集的划分,具体包括:
自动的获取全部的数据集数据;
对所述数据集数据进行划分,生成所述训练集、验证集和测试集。
3.如权利要求1所述的一种轻量化模型压缩方法,其特征在于,所述对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据,具体包括:
对所述训练集进行尺寸缩放获得第一增强数据;
对所述训练集进行随机亮度,获得第二增强数据;
将所述第一增强数据、所述第二增强数据和所述训练集数据组成综合训练数据;
对所述综合训练数据进行均值计算、标准差计算和归一化计算,生成数据增强数据,其中,均值包括0.485、0.456和0.406,所述标准差包括0.229、0.224和0.225。
4.如权利要求1所述的一种轻量化模型压缩方法,其特征在于,所述设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度,具体包括:
对MobileNetV3基准网络中的Bottleneck模块的输出层的每一个卷积核的门值;
将卷积核门值初始化为1;
设置用于所述卷积核门值进行训练的剪枝损失函数;
获得Bottleneck输出层的卷积核的重要度;
其中,所述剪枝损失函数为:
loss1=l(output,label)+a*(gate_param-b)2
其中,loss1为损失值,output为模型输出值,label为该训练数据对应的标签,a是比例常数,b为稀疏度值,gate_param为门值的平均值,l()是交叉熵损失函数。
5.如权利要求4所述的一种轻量化模型压缩方法,其特征在于,所述在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络,具体包括:
配置所述卷积核门值裁剪比率在0.5至0.9之间;
通过全局剪枝的方法对所有的所述卷积核门值进行排序;
通过所述卷积核门值比率计算每个所述Bottleneck模块中的保留卷积核数目;
利用每个所述Bottleneck模块中的保留卷积核数目对MobileNetV3网络进行修正,生成初始化的MobileNetV3网络。
6.如权利要求1所述的一种轻量化模型压缩方法,其特征在于,所述对比原始的模型获得训练周期,并建立训练损失函数,具体包括:
利用周期训练公式获得训练周期;
采用知识蒸馏构造训练损失函数;
所述周期训练公式为:
其中,FLOPS()是计算模型的浮点型数量的函数,A为基准模型,B为裁剪后的模型,epoch为所述训练周期;
所述训练损失函数为:
loss2=l(p,softmax(z))+202l(softmax(r/20),softmax(z/20))
其中,loss2为损失值,p是真实概率的分布,z为剪枝后的模型,r为训练好的基准模型的输出,l()是交叉熵损失函数,softmax(z)为逻辑回归函数。
7.如权利要求1所述的一种轻量化模型压缩方法,其特征在于,所述输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型,具体包括:
获取所述综合训练数据和所述验证集;
获取所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期;
对所述训练集的全部数据自动进行模型训练,获得目标模型;
利用所述验证集对所有的所述目标模型进行验证,获得性能最好的所述目标模型,保存为目标剪枝模型。
8.一种轻量化模型压缩系统,其特征在于,该系统包括:
数据集划分子模块,用于获取数据集数据进行训练集、验证集和测试集的划分;
数据增强子模块,用于对所述训练集利用随机亮度和尺寸缩放进行数据增强,生成数据增强数据;
重要度生成子模块,用于设置稀疏度,通过训练获得Bottleneck输出层的卷积核的重要度;
网络剪枝子模块,用于在配置卷积核门值裁剪比率的基础上,获得剪枝之后的初始化MoblieNetV3网络;
训练周期生成子模块,用于对比原始的模型获得训练周期,并建立训练损失函数;
目标模型生成子模块,用于输入所述综合训练数据、所述验证集、所述测试集和所述训练损失函数、所述初始化的MobileNetV3网络和所述训练周期,生成目标剪枝模型。
9.一种轻量化模型压缩系统,其特征在于,该系统还包括:掉电临时数据存储子模块,用于存储所述综合训练数据、所述验证集、所述测试集中的数据。
10.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843973.1A CN113762462A (zh) | 2021-07-26 | 2021-07-26 | 一种轻量化模型压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110843973.1A CN113762462A (zh) | 2021-07-26 | 2021-07-26 | 一种轻量化模型压缩方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113762462A true CN113762462A (zh) | 2021-12-07 |
Family
ID=78788030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110843973.1A Pending CN113762462A (zh) | 2021-07-26 | 2021-07-26 | 一种轻量化模型压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762462A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206178785U (zh) * | 2016-07-08 | 2017-05-17 | 佛山市诺百利科技有限公司 | 一种掉电保护装置 |
US20190147318A1 (en) * | 2017-11-14 | 2019-05-16 | Google Llc | Highly Efficient Convolutional Neural Networks |
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
CN112364705A (zh) * | 2020-10-16 | 2021-02-12 | 天津大学 | 基于多层次特征融合的轻量型cnn的表情识别方法 |
-
2021
- 2021-07-26 CN CN202110843973.1A patent/CN113762462A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206178785U (zh) * | 2016-07-08 | 2017-05-17 | 佛山市诺百利科技有限公司 | 一种掉电保护装置 |
US20190147318A1 (en) * | 2017-11-14 | 2019-05-16 | Google Llc | Highly Efficient Convolutional Neural Networks |
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
CN112364705A (zh) * | 2020-10-16 | 2021-02-12 | 天津大学 | 基于多层次特征融合的轻量型cnn的表情识别方法 |
Non-Patent Citations (2)
Title |
---|
SHIVA V NAIK等: "Survey_on_Comparative_Study_of_Pruning_Mechanism_on_MobileNetV3_Model", 《2021 INTERNATIONAL CONFERENCE ON INTELLIGENT TECHNOLOGIES》 * |
宋非洋等: "基于 MobileNetV3 的结构性剪枝优化", 《自动化与信息工程》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
US20190026639A1 (en) | Neural architecture search for convolutional neural networks | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
CN108897829A (zh) | 数据标签的修正方法、装置和存储介质 | |
CN110866115B (zh) | 序列标注方法、系统、计算机设备及计算机可读存储介质 | |
CN112052951A (zh) | 一种剪枝神经网络方法、系统、设备及可读存储介质 | |
CN107395211B (zh) | 一种基于卷积神经网络模型的数据处理方法及装置 | |
CN107133190A (zh) | 一种机器学习系统的训练方法和训练系统 | |
CN111695696A (zh) | 一种基于联邦学习的模型训练的方法及装置 | |
CN113673697A (zh) | 基于相邻卷积的模型剪枝方法、装置及存储介质 | |
CN111625399A (zh) | 一种计量数据恢复方法及系统 | |
CN111931848B (zh) | 数据的特征提取方法、装置、计算机设备及存储介质 | |
CN113408561A (zh) | 模型生成方法、目标检测方法、装置、设备及存储介质 | |
Dolgui et al. | Multi-product lot-sizing and sequencing on a single imperfect machine | |
CN109325530A (zh) | 基于少量无标签数据的深度卷积神经网络的压缩方法 | |
CN110263917B (zh) | 一种神经网络压缩方法及装置 | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN114220479A (zh) | 一种蛋白质结构预测方法、蛋白质结构预测装置及介质 | |
CN113762462A (zh) | 一种轻量化模型压缩方法及系统 | |
CN115221153B (zh) | 一种缺失数据填补方法、装置和计算机可读存储介质 | |
CN112257332A (zh) | 一种仿真模型的评估方法及装置 | |
CN103268614B (zh) | 一种用于多前景共分割的前景谱图生成方法 | |
CN114065920A (zh) | 一种基于通道级剪枝神经网络的图像识别方法及系统 | |
CN113159297B (zh) | 一种神经网络压缩方法、装置、计算机设备及存储介质 | |
US20220138554A1 (en) | Systems and methods utilizing machine learning techniques for training neural networks to generate distributions |
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: 20211207 |