CN112101487B - 一种细粒度识别模型的压缩方法和设备 - Google Patents
一种细粒度识别模型的压缩方法和设备 Download PDFInfo
- Publication number
- CN112101487B CN112101487B CN202011285432.3A CN202011285432A CN112101487B CN 112101487 B CN112101487 B CN 112101487B CN 202011285432 A CN202011285432 A CN 202011285432A CN 112101487 B CN112101487 B CN 112101487B
- Authority
- CN
- China
- Prior art keywords
- neural network
- deep neural
- model
- network model
- training
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006835 compression Effects 0.000 title claims abstract description 34
- 238000007906 compression Methods 0.000 title claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 94
- 238000003062 neural network model Methods 0.000 claims abstract description 93
- 238000013138 pruning Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 22
- 238000010606 normalization Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 238000013459 approach Methods 0.000 claims 2
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- HXVZGASCDAGAPS-UHFFFAOYSA-N MAMC Natural products CC1=CC(=O)OC2=CC(OC(=O)C)=CC=C21 HXVZGASCDAGAPS-UHFFFAOYSA-N 0.000 description 1
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/217—Validation; Performance evaluation; Active pattern learning techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种细粒度识别模型的压缩方法和设备,包括:步骤1、获取用于细粒度识别的深度神经网络模型;步骤2、对深度神经网络模型的缩放因子添加L1正则约束后进行训练;步骤3、在完成训练后,根据缩放因子对训练完成后的深度神经网络模型进行逐层剪枝处理;步骤4、对完成剪枝的深度神经网络模型进行调整以减小剪枝对模型带来的精度损失,得到调整后的深度神经网络模型。步骤5、重复执行步骤2‑步骤4,直到得到的深度神经网络模型符合预设模型剪枝阈值的条件,且将符合条件的深度神经网络模型作为最终模型。本方案通过多次根据缩放因子对训练完成后的深度神经网络模型进行逐层剪枝处理的方式,有效压缩了深度神经网络模型。
Description
技术领域
本发明涉及细粒度识别技术领域,特别涉及一种细粒度识别模型的压缩方法和设备。
背景技术
细粒度识别是一种针对具有细微差异物体进行分类的图像分类任务,深度模型在细粒度识别任务表现出优异的性能。细粒度识别能够在细粒度级别完成图像分类任务,通常识别的对象是同一个大类之间的物体,比如鸟的分类、车型识别等。细粒度识别广泛应用在车型识别、智能货柜、植物识别等场景中。等提出多种细粒度的深度模型并取得了很好的效果。
实际部署细粒度识别深度学习模型时,除了需要更精细粒度的准确率,还需要考虑模型运行时间复杂度和空间复杂度。在某些实际搭载的设备比如手机等终端设备,计算资源和存储资源有限,而度神经网络模型需要执行大量的浮点运算,并且有大量权重参数,比如ResNet50(Residual Network, 残差网络)需要执行5GFLOPs(Giga Floating-pointOperations Per Second,每秒10亿次的浮点运算数),有24M(Million,百万)个参数,这种情况严重制约了模型的实际应用。
由此,如何降低模型运算处理的时间复杂度和空间复杂度,使得可以在终端设备上部署细粒度识别模型成为目前需要解决的技术问题。
发明内容
针对现有技术中的缺陷,本发明提出了一种细粒度识别模型的压缩方法和设备,通过对细粒度识别模型的压缩,降低了模型运算处理的时间复杂度和空间复杂度,使得细粒度识别模型可以在终端设备上部署。
具体的,本发明提出了以下具体的实施例:
本发明实施例提出了一种细粒度识别模型的压缩方法,包括:
步骤1、获取用于细粒度识别的深度神经网络模型;
步骤2、对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;
步骤3、在完成训练后,根据所述缩放因子对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
步骤4、对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型;
步骤5、重复执行步骤2-步骤4,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型。
在一个具体的实施例中,所述深度神经网络模型为Bi-Attention 模型;所述深度神经网络模型的骨干网络为ResNet50。
在一个具体的实施例中,所述步骤1包括:
通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型;其中,所述样本数据为设置有标签的图像。
在一个具体的实施例中,一次所述训练所选取的样本数为偶数;
所述步骤1包括:
对每一次所述训练选的样本数据添加成对的混淆约束;
通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型。
在一个具体的实施例中,所述深度神经网络模型包括:数据模块、卷积神经网络结构、注意力分支模块、损失函数计算模块;其中,
所述数据模块用于处理所述深度神经网络模型训练和测试过程中的图像输入的批数据构造和预处理;
所述卷积神经网络结构,用于对所述数据模块的图像进行特征提取;
所述注意力分支模块,用于检测和提取包括特定特征的注意力区域;
所述损失函数计算模块,用于计算所述深度神经网络模型在训练过中的损失函数。
在一个具体的实施例中,所述缩放因子为网络Batch Normalization 层中的缩放因子。
本发明实施例还提出了一种细粒度识别模型的压缩设备,包括:
获取模块、用于获取用于细粒度识别的深度神经网络模型;
训练模块,用于对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;
剪枝模块,用于在完成训练后,根据所述缩放因子对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
调整模块,用于对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型;
迭代模块,用于重复执行依次执行训练模块、剪枝模块、调整模块,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型。
在一个具体的实施例中,所述深度神经网络模型为Bi-Attention 模型;所述深度神经网络模型的骨干网络为ResNet50。
在一个具体的实施例中,所述获取模块,用于:
通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型;其中,所述样本数据为设置有标签的图像。
在一个具体的实施例中,一次所述训练所选取的样本数为偶数;
所述获取模块,用于:
对每一次所述训练选的样本数据添加成对的混淆约束;
通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型。
与现有技术相比,本方案具有以下效果:
本方案通过多次根据所述缩放因子对训练完成后的深度神经网络模型进行逐层剪枝处理的方式,有效压缩了深度神经网络模型,提高了模型的压缩比,且基于L1正则化的网络剪枝方法在模型训练上与非压缩模型的训练相比没有引入过多的复杂度,并且不需要借助额外的运算库和硬件,性能上通过多次训练的方式达到理想的压缩比以减少模型的存储与计算消耗。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提出的一种细粒度识别模型的压缩方法的流程示意图;
图2为本发明实施例提出的一种细粒度识别模型的压缩方法中Bi-Attention模型架构;
图3为本发明实施例提出的一种细粒度识别模型的压缩方法中Attention 分支网络结构图;
图4为本发明实施例提出的一种细粒度识别模型的压缩方法的框架示意图;
图5为本发明实施例提出的一种细粒度识别模型的压缩方法中训练过程中的损失函数曲线示意图;
图6为本发明实施例提出的一种细粒度识别模型的压缩方法中训练过程中的准确率函数曲线示意图;
图7为本发明实施例提出的一种细粒度识别模型的压缩设备的结构示意图。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。
实施例1
本发明实施例1公开了一种细粒度识别模型的压缩方法,如图1所示,包括以下步骤:
步骤1、获取用于细粒度识别的深度神经网络模型;
步骤2、对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;
步骤3、在完成训练后,根据所述缩放因子对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
步骤4、对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型;
步骤5、重复执行步骤2-步骤4,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型。
深度神经网络模型的参数存在着巨大的冗余。对于训练好的网络模型,只需要给定大约 5%的模型参数,便能完成模型的推断并且能够重构出剩余的模型参数。这些冗余在神经网络训练过程中是需要的,因为深度神经网络的优化属于非凸优化,绝大多数模型采用随机梯度下降SGD进行训练,在训练过程中,这些冗余的参数能够保证网络收敛在一个较好的最优值,但是对于模型推断实际应用来说,神经网络参数的冗余往往意味着计算和存储的多余消耗,因此需要对网络模型进行压缩精简,在保证模型高准确度的同时,尽可能地降低其复杂度,从而达到资源与性能上的平衡。针对这种情况,本方案提出了通过上述步骤实现了对深度神经网络模型的压缩。具体的,通过模型参数剪枝这一种删除神经网络中多余的参数,因为神经网络存在大量冗余的参数。为了使得压缩后的模型可以在硬件设备上高效执行,通道剪枝方式可以使模型更加结构化,这样就可以利用高度优化的BLAS线性代数运算库。
在一个具体的实施例中,所述步骤1包括:通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型;其中,所述样本数据为设置有标签的图像。具体的,弱监督学习方法是指在模型训练时仅使用图像的类别标注,不需要使用额外的局部标注信息的一种方法。弱监督学习方法提出在给定目标数据集的基础上,从一个大的源数据集里根据Earth Mover’s Distance(EMD)筛选出与目标数据集相似的子数据集,本方案中采用弱监督学习方式具有更好的通用型以及更少的数据依赖。
进一步的,对于 Bi-Attention 模型的训练采用的是—批随机梯度下降算法,即对于模型而言,需要逐批次的送入图像进行训练,由于采用成对混淆损失函数,要求batchsize(一次所述训练所选取的样本数)为偶数。
进一步的,所述步骤1包括:对每一次所述训练选的样本数据添加成对的混淆约束;通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型。
由于细粒度图像细微的类内差异性,普通的网络模型很容易陷入到学习某一部分图像的局部特征,产生过拟合,为了防止这种情况发生,本方案通过对每一批的训练数据添加成对的混淆约束,使得其减少对同类别图像的距离,增大其与不同类别图像的距离,总体思路与上文介绍的基于度量学习的方法一致。
此外,Bi-Attention模型整体结构是一个一阶段、可端到端训练到的线性模型。模型的一阶段是指整个训练过程是连续的一个阶段,可端到端训练指的是网络模型关注输入图像与输出类别之间的直接对应关系,没有中间表示的映射转换。对于模型的训练,主要采取的是基于Imagenet预训练模型的微调方法。即首先获取在Imagenet上预训练好的ResNet-50模型参数,根据这些参数对Bi-Attention模型进行微调。
在一个具体的实施例中,所述深度神经网络模型包括:数据模块、卷积神经网络结构、注意力分支模块、损失函数计算模块;其中,
所述数据模块用于处理所述深度神经网络模型训练和测试过程中的图像输入的批数据构造和预处理;具体的,对于数据的预处理,可以对输入批图像数据的逐通道减均值与除方差,并对所有的输入图像做固定缩放和单次随机裁剪的处理。
所述卷积神经网络结构,用于对所述数据模块的图像进行特征提取;
所述注意力分支模块,用于检测和提取包括特定特征的注意力区域;具体的,对于注意力分支,主要的功能在于检测和提取出图像的强可区分局部特征,从而得到较好的分类特征,并且可以提供一定的可解释性。我们借鉴MAMC中提取图像注意力区域的方法,采用的注意力模块即是在 SE block 的基础上加上一个全连接层形成的注意力提取子网络,如图3所示。
所述损失函数计算模块,用于计算所述深度神经网络模型在训练过中的损失函数。
具体的,所述深度神经网络模型为Bi-Attention 模型;所述深度神经网络模型的骨干网络为ResNet50。具体的,如图2所示,Bi-Attention模型的基础骨干网络是双路的CNN网络。
具体的,所述缩放因子为网络Batch Normalization 层中的缩放因子。
由于 L1 正则的稀疏化特性则会将大多数通道因子数值挤压到接近于0,这些接近于0的因s子可以认为是不重要的通道因子,予以剪除,最终得到剪除冗余通道的网络参数。
稀疏化通道因子的剪枝过程可以理解为类似给网络权重加上一层“通道选择层”,利用参数通道稀疏化因子的网络参数剪枝实际上就是对网络参数的通道选择,通常的做法是在网络参数参与网络运算之前***一层参数通道选择层,选择实际的参数,但是这样往往又会给网络引入新的参数与运算,因而不是很好的选择。另一方面,基于对网络BatchNormalization 层的考察,发现可以利用Batch Normalization层固有的缩放因子参数可以作为参数的通道稀疏化因子。而Batch Normalization的形式如下:
该公式中,表示输入的批数据的均值与标准差,与是BatchNormalization层的学习参数,分别表示缩放因子与偏移。对于Batch Normalization层而言,实际上的作用就是在网络空间特征的通道维度对输入的网络特征进行批归一化操作,从而有利于梯度的前向计算与反向传播,并且对于大多数现代网络模型,BatchNormalization层是其不可或缺的一部分。因而可以利用Batch Normalization层的缩放因子来代替引入的通道选择层的参数,通过对缩放因子施加L1正则,达到稀疏化通道因子的目的。
在对网络的Batch Normalization层缩放因子添加上L1正则约束的训练完毕之后,需要根据这些Batch Normalization层中的稀疏化通道因子对整体网络参数进行剪枝。而由于神经网络层次之间的连续性,这种剪枝s通常是逐层进行的,即上一层的网络参数会影响到下一层的网络参数。
在ResNet中,Batch Normalization层往往处于卷积层与ReLU层之间,因此在获取Batch Normalization层的稀疏化通道因子并对其剪枝后,会出现剪枝后的参数与上一层或者下一层的参数不匹配,需要调整对应的网络层参数结构。因此正确的剪枝方法应该是从最初的Batch Normalization层开始,根据稀疏化通道因子以及相邻层之间的参数对应关系逐层的剪枝,这样就可以将Batch Normalization层的稀疏化通道因子作用辐射到整个网络结构,形成对整体网络的剪枝。
以此,对于压缩模型的训练主要分为三个阶段:第一阶段是对Bi-Attention模型的Batch Normalization层的缩放因子添加L1正则约束,之后设置训练参数对模型进行训练;第二阶段是在第一阶段训练好的模型参数之上,根据及网络层之间参数对应关系对网络逐层剪枝,获取剪枝后的网络模型;第三阶段是对剪枝后的模型进行微调以最大程度的减少因剪枝带来的精度损失。
算法1、Bi-Attention模型压缩训练算法
输入:一个已经训练好的Bi-Attention模型
输出:一个完成模型剪枝的Bi-Attention模型
③完成②的模型剪枝之后,需要重新执行模型的训练微调,保证模型的准确率
④重复执行②和③操作,直到达到执行的模型剪枝阀值,完成模型压缩训练
整体的压缩模型训练框架如图4所示。
从图4中我们了解到,一次完整的模型压缩训练涉及到模型L1正则训练、模型剪枝与模型微调三个阶段,然后得到压缩后的网络模型。而且这三个阶段是可以多次循环进行的,这样可以进一步的对模型进行压缩,提高模型的压缩比。总体而言,这种基于L1正则化的网络剪枝方法在模型训练上与非压缩模型的训练相比没有引入过多的复杂度,并且不需要借助额外的运算库和硬件,性能上通过多次训练的方式达到理想的压缩比以减少模型的存储与计算消耗。
模型压缩的判断标准分为准确率、参数量、压缩比和FLOPS,具体如下:准确率,表示压缩模型在细粒度识别数据集上的识别准确率;参数量,表示深度学习模型参数的大小,一般以单精度浮点数为存储单位,是对模型的静态存储的评估;压缩比,表示模型压缩前与压缩后模型在模型参数量大小上的比例;FLOPS,深度学习模型的浮点数运算次数,包括乘法和加法操作。
Bi-Attention模型以及L1正则化模型压缩算法是在表1的数据集上测试。
表1细粒度图像识别数据集
数据集 | 规模 | 训练/测试 | 种类 |
Stanford Cars | 16185 | 8144/8041 | 196 |
CUB Birds | 11788 | 5994/5794 | 200 |
FGVC Aircrafts | 10000 | 3334/3333 | 100 |
其中,Stanford Cars数据集用于细粒度车型识别,其中训练集图像8144张,测试集图像8041张,共196类。该数据集属于非均衡数据集,即各类别图像数据量大小不一致,整体数量分布呈高斯分布。该数据集的图像大小跨度也较大,其平均分辨率据统计约在650×450;
CUB Birds数据集用鸟类品种的细粒度识别,其中训练集图像5994张,测试集图像5794张,共200类。该数据集属于均衡数据集,每个类别大约各60张左右。数据集的图像大小分布相对集中,方差较小,平均图像分辨率大约在650×450附近;
FGVC Aircrafts数据集用于飞行器品种的细粒度识别,其中整体数据集3等分为训练集、验证集与测试集。该数据集公有100个子类,属于均衡数据集,每个子类个100张图像。数据集的分辨率分布均衡,平均分辨率大约在1000×700左右;
以上三个数据集均只采用数据标签信息作为监督信息训练,不采用任何边界框、部分标注等其他额外标注信息;
首先在三个数据集上训练基础的baseline模型。本次实验中,为了节省训练时间,设置数据批的batch size为32;对于训练数据,预处理只采用去均值、减方差、固定256像素等比例缩放和224像素随机裁剪,对于测试数据将224像素随机裁剪改成224像素中心裁剪。模型的优化方法均为动量SGD,其中学***滑,最终在测试集上top-1准确率稳定在85.8%左右,top-5准确率稳定在96.5%,由此验证了Bi-Attention模型的可行性与有效性。
进一步的,为了验证Bi-Attention模型在精度上的提升,本文将Bi-Attention模型和与之相关的一些主流的细粒度图像识别模型做了相应的对比实验。本次实验中在数据部分与现有的主流细粒度识别方法的配置保持一致,采用batch size为64,输入图像为448x448大小的输入数据设置。峰值准确率对比数据如表2所示。
表2 Bi-Attention模型与其他模型的准确率对比
Stanford Cars | CUB birds | FGVC Aircrafts | |
ResNet-50 | 88.4% | 77.3% | 84.6% |
Bilinear CNN | 90.3% | 80.9% | 85.1% |
MAMC-SE | 89.6% | 78.9% | 85.4% |
PC-ResNet | 90.5% | 81.2% | 85.2% |
PC-Bilinear | 90.4% | 82.1% | 85.7% |
Bi-Attention | 91.6% | 82.3% | 88.0% |
从表2中我们可以看出,Bi-Attention模型在Stanford Cars, CUB Birds和FGVCAircrafts三个数据集上的准确率分别为91.6%、82.3%和87.0%,相较于其他模型均为最优。
实施例2
本发明实施例还公开了一种细粒度识别模型的压缩设备,如图所示,包括:
获取模块201、用于获取用于细粒度识别的深度神经网络模型;
训练模块202,用于对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;
剪枝模块203,用于在完成训练后,根据所述缩放因子对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
调整模块204,用于对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型。
迭代模块205,用于重复执行依次执行训练模块、剪枝模块、调整模块,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型。
在一个具体的实施例中,所述深度神经网络模型为Bi-Attention 模型;所述深度神经网络模型的骨干网络为ResNet50。
在一个具体的实施例中,所述获取模块201,用于:
通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型;其中,所述样本数据为设置有标签的图像。
在一个具体的实施例中,一次所述训练所选取的样本数为偶数;
所述获取模块201,用于:
对每一次所述训练选的样本数据添加成对的混淆约束;
通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型。
在一个具体的实施例中,所述深度神经网络模型包括:数据模块、卷积神经网络结构、注意力分支模块、损失函数计算模块;其中,
所述数据模块用于处理所述深度神经网络模型训练和测试过程中的图像输入的批数据构造和预处理;
所述卷积神经网络结构,用于对所述数据模块的图像进行特征提取;
所述注意力分支模块,用于检测和提取包括特定特征的注意力区域;
所述损失函数计算模块,用于计算所述深度神经网络模型在训练过中的损失函数。
在一个具体的实施例中,所述缩放因子为网络Batch Normalization 层中的缩放因子。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (6)
1.一种细粒度识别模型的压缩方法,其特征在于,包括:
步骤1、通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型;
步骤2、对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;
步骤3、在完成训练后,从所述缩放因子对应的层开始,根据所述缩放因子是否趋近于0以及相邻层之间的参数对应关系对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
步骤4、对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型;
步骤5、重复执行步骤2-步骤4,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型;
其中,所述深度神经网络模型包括:数据模块、卷积神经网络结构、注意力分支模块、损失函数计算模块;
所述数据模块用于处理所述深度神经网络模型训练和测试过程中的图像输入的批数据构造和预处理;
所述卷积神经网络结构,用于对所述数据模块的图像进行特征提取;
所述注意力分支模块,用于检测和提取包括特定特征的注意力区域;
所述损失函数计算模块,用于计算所述深度神经网络模型在训练过中的损失函数;
其中,所述样本数据为设置有标签的图像;
一次所述训练所选取的样本数为偶数,所述步骤1包括:对每一次所述训练选的样本数据添加成对的混淆约束;通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型。
2.如权利要求1所述的方法,其特征在于,所述深度神经网络模型为Bi-Attention模型;所述深度神经网络模型的骨干网络为ResNet50。
3.如权利要求1所述的方法,其特征在于,
所述预处理包括进行逐通道减均值与除方差,并对所有的输入图像做固定缩放和单次随机裁剪的处理;
所述注意力分支模块包括在SE block的基础上加上一个全连接层形成的注意力提取子网络。
4.如权利要求1所述的方法,其特征在于,所述缩放因子为网络BatchNormalization层中的缩放因子。
5.一种细粒度识别模型的压缩设备,其特征在于,包括:
获取模块, 用于通过样本数据采用弱监督学习方式训练得到用于细粒度识别的深度神经网络模型,其中,所述样本数据为设置有标签的图像;
训练模块,用于对所述深度神经网络模型的缩放因子添加L1正则约束后进行训练;一次所述训练所选取的样本数为偶数,对每一次所述训练选的样本数据添加成对的混淆约束,通过添加成对的混淆约束后的每一批所述样本数据训练得到用于细粒度识别的深度神经网络模型;
剪枝模块,用于在完成训练后,从所述缩放因子对应的层开始,根据所述缩放因子是否趋近于0以及相邻层之间的参数对应关系对训练完成后的所述深度神经网络模型进行逐层剪枝处理;
调整模块,用于对完成剪枝的所述深度神经网络模型进行调整以减小剪枝对所述模型带来的精度损失,得到调整后的所述深度神经网络模型;
迭代模块,用于重复执行依次执行训练模块、剪枝模块、调整模块,直到得到的所述深度神经网络模型符合预设模型剪枝阈值的条件,且将符合所述条件的所述深度神经网络模型作为最终模型;
其中,所述深度神经网络模型包括:数据模块、卷积神经网络结构、注意力分支模块、损失函数计算模块;
所述数据模块用于处理所述深度神经网络模型训练和测试过程中的图像输入的批数据构造和预处理;
所述卷积神经网络结构,用于对所述数据模块的图像进行特征提取;
所述注意力分支模块,用于检测和提取包括特定特征的注意力区域;
所述损失函数计算模块,用于计算所述深度神经网络模型在训练过中的损失函数。
6.如权利要求5所述的设备,其特征在于,所述深度神经网络模型为Bi-Attention模型;所述深度神经网络模型的骨干网络为ResNet50。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285432.3A CN112101487B (zh) | 2020-11-17 | 2020-11-17 | 一种细粒度识别模型的压缩方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285432.3A CN112101487B (zh) | 2020-11-17 | 2020-11-17 | 一种细粒度识别模型的压缩方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101487A CN112101487A (zh) | 2020-12-18 |
CN112101487B true CN112101487B (zh) | 2021-07-16 |
Family
ID=73784670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011285432.3A Active CN112101487B (zh) | 2020-11-17 | 2020-11-17 | 一种细粒度识别模型的压缩方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101487B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686145A (zh) * | 2020-12-29 | 2021-04-20 | 广东各有所爱信息科技有限公司 | 一种面部皮肤肤质的识别方法及其智能终端 |
CN112802141B (zh) * | 2021-03-22 | 2021-08-24 | 深圳金三立视频科技股份有限公司 | 一种应用于图像目标检测的模型压缩方法及终端 |
CN113469340A (zh) * | 2021-07-06 | 2021-10-01 | 华为技术有限公司 | 一种模型处理方法、联邦学习方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991642A (zh) * | 2019-12-25 | 2020-04-10 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
CN111652366A (zh) * | 2020-05-09 | 2020-09-11 | 哈尔滨工业大学 | 一种基于通道剪枝和量化训练的联合神经网络模型压缩方法 |
EP3716158A2 (en) * | 2019-03-25 | 2020-09-30 | Nokia Technologies Oy | Compressing weight updates for decoder-side neural networks |
CN111797991A (zh) * | 2019-04-08 | 2020-10-20 | 上海怀若智能科技有限公司 | 一种深度网络模型压缩***、方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353598A (zh) * | 2018-12-20 | 2020-06-30 | 中科寒武纪科技股份有限公司 | 一种神经网络压缩方法、电子设备及计算机可读介质 |
CN111242287A (zh) * | 2020-01-15 | 2020-06-05 | 东南大学 | 一种基于通道l1范数剪枝的神经网络压缩方法 |
CN111898591B (zh) * | 2020-08-28 | 2022-06-24 | 电子科技大学 | 一种基于剪枝残差网络的调制信号识别方法 |
-
2020
- 2020-11-17 CN CN202011285432.3A patent/CN112101487B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3716158A2 (en) * | 2019-03-25 | 2020-09-30 | Nokia Technologies Oy | Compressing weight updates for decoder-side neural networks |
CN111797991A (zh) * | 2019-04-08 | 2020-10-20 | 上海怀若智能科技有限公司 | 一种深度网络模型压缩***、方法及装置 |
CN110991642A (zh) * | 2019-12-25 | 2020-04-10 | 神思电子技术股份有限公司 | 一种基于网络激活与稀疏化的网络裁剪优化方法 |
CN111652366A (zh) * | 2020-05-09 | 2020-09-11 | 哈尔滨工业大学 | 一种基于通道剪枝和量化训练的联合神经网络模型压缩方法 |
Non-Patent Citations (2)
Title |
---|
PRUNING FILTERS FOR EFFICENT CONVNETS;Hao Li 等;《ICLR2017》;20170310;全文 * |
基于模型剪枝的神经网络压缩技术研究;徐嘉荟;《信息通信》;20191231(第204期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112101487A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101487B (zh) | 一种细粒度识别模型的压缩方法和设备 | |
Kang et al. | Operation-aware soft channel pruning using differentiable masks | |
CN110619385B (zh) | 基于多级剪枝的结构化网络模型压缩加速方法 | |
CN110929603B (zh) | 一种基于轻量级卷积神经网络的天气图像识别方法 | |
CN110197205B (zh) | 一种多特征来源残差网络的图像识别方法 | |
CN111860982A (zh) | 一种基于vmd-fcm-gru的风电场短期风电功率预测方法 | |
US20190294928A1 (en) | Image processing method and apparatus, and computer-readable storage medium | |
CN114037844A (zh) | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 | |
CN111325342A (zh) | 模型的压缩方法、装置、目标检测设备和存储介质 | |
CN112052951A (zh) | 一种剪枝神经网络方法、***、设备及可读存储介质 | |
CN111723915A (zh) | 深度卷积神经网络的剪枝方法、计算机设备及应用方法 | |
CN112288700A (zh) | 一种铁轨缺陷检测方法 | |
CN110726898A (zh) | 一种配电网故障类型识别方法 | |
CN113837959B (zh) | 图像去噪模型训练方法、图像去噪方法及*** | |
CN115587543A (zh) | 基于联邦学习和lstm的刀具剩余寿命预测方法及*** | |
CN111368707B (zh) | 基于特征金字塔与密集块的人脸检测方法、***、设备及介质 | |
CN116453096A (zh) | 图像异物检测方法、装置、电子设备和存储介质 | |
CN114037001A (zh) | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 | |
CN115496144A (zh) | 配电网运行场景确定方法、装置、计算机设备和存储介质 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
CN117131132A (zh) | 一种基于模式识别算法的高效数据分析与处理方法 | |
CN111582442A (zh) | 一种基于优化深度神经网络模型的图像识别方法 | |
CN109325140B (zh) | 从图像中提取哈希码的方法、装置及图像检索方法、装置 | |
Li et al. | A spectral clustering based filter-level pruning method for convolutional neural networks | |
CN113609809B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518000 D401, productivity building, No. 5, Gaoxin middle 2nd Road, Science Park community, Yuehai street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen ganzhen intelligent Co.,Ltd. Address before: 518000 Room 501, building a, productivity building, No.5, Gaoxin middle 2nd Road, science and Technology Park, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Patentee before: 8D TECHNOLOGY Ltd. |
|
CP03 | Change of name, title or address |