CN116167430A - 基于均值感知稀疏的目标检测模型全局剪枝方法及设备 - Google Patents
基于均值感知稀疏的目标检测模型全局剪枝方法及设备 Download PDFInfo
- Publication number
- CN116167430A CN116167430A CN202310436635.5A CN202310436635A CN116167430A CN 116167430 A CN116167430 A CN 116167430A CN 202310436635 A CN202310436635 A CN 202310436635A CN 116167430 A CN116167430 A CN 116167430A
- Authority
- CN
- China
- Prior art keywords
- pruning
- mask
- convolution
- sparsity
- target detection
- 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.)
- Granted
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明的一种基于均值感知稀疏的目标检测模型全局剪枝方法及设备,包括通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率;在该最佳剪枝率下获得剪枝卷积核的掩码;根据得到的二维剪枝卷积核掩码以及有效掩码行索引、列索引进行增长正则化,增长正则化后,根据最佳剪枝率重新排序或者直接根据得到的有效掩码行索引、列索引进行剪枝;剪枝后对压缩后的模型进行微调,微调结束后最终得到剪枝压缩后的目标检测模型。本发明在保证检测精度不下降的情况下,大幅减少模型的参数量、计算量以及内存占用。
Description
技术领域
本发明涉及目标检测模型剪枝技术领域,具体涉及一种基于均值感知稀疏的目标检测模型全局剪枝方法。
背景技术
目标检测作为计算机视觉领域一个重要的研究与应用方向,其早期发展过程中采用的检测算法中并没有深度学习方法的应用,而一直到第三次浪潮中深度学习在较为简单的图像分类任务上取得较大的突破后,相关研究人员才将深度学习方法应用到目标检测任务中。同样的,为了支撑更高的检测精度,目标检测模型的发展愈发朝着深度化、宽度化、复杂化进而引起参数规模、内存占用大幅增加的方向发展。但是,需要注意到,这些在学术研究中得以快速发展的目标检测模型往往都是在GPU或者高性能的CPU等硬件平台上进行训练与推理,在这些计算单元多、内存容量大的平台上往往对模型的参数量与内存占用并不敏感。但是当下目标检测的一个重要应用场合就是各种移动终端设备或者物联网设备上,在此类边缘硬件平台上,不仅都存在着计算资源少、内存小等共性特点,而且还对目标检测的推理速度有着更高的需求。
如果直接将当前研究中精度较高的模型部署到这些资源受限的平台上,显然无法满足检测速度上的需求,因此目前已经出现了多种方法来对大规模的目标检测模型进行压缩。其中主要包括:模型量化、模型剪枝、神经网络架构搜索(NAS)、知识蒸馏以及轻量化网络设计等。其中量化可以减少内存占用,但是无法减少计算量;神经网络架构搜索则是通过强化学习等方法从原始的大模型中学习搜索找到一个更小的网络,以实现模型的瘦身,但是这个过程往往由于强化学习的复杂性以及大量计算而变得较为冗余,同时搜索出来的网络结构也不一定能达到最终压缩的需求;知识蒸馏方法则是顾名思义,即在训练小的学生模型的同时,添加一个教师模型,用这个参数规模更大、精度更高的教师模型来指导学生模型的训练,但是该方法目前仅在分类任务以及两阶段目标检测任务上取得较好的结果,而在单阶段目标检测任务上,由于单阶段检测输出中会包含大量的无效框信息,所以直接利用知识蒸馏往往很难提升单阶段检测模型的精度;轻量化网络设计则是通过添加或优化网络现有的结构,以达到保证精度的同时,减少计算量与参数量,而这就直接涉及到了对原有模型的大幅修改,往往需要耗费大量的时间精力。
鉴于以上几种压缩方法中存在的问题,本发明选择了模型剪枝作为大规模目标检测模型的压缩方法。目前模型剪枝方法主要分为两类,一种是早期出现的非结构化剪枝方法,其通过对所有权值施加一定的正则稀疏,然后迫使其中部分不重要的权值绝对值朝着趋近于0的方向学习,待完成稀疏之后根据剪枝比例确定剪枝阈值,然后将模型中小于该阈值的权值全部置为0。尽管非结构化剪枝能够实现较高的剪枝率,但是由于这种非结构化的压缩方式,使得其中的剪枝的“0”值分布不规律,必须通过特殊的压缩算法才可以实现剪枝后模型存储规模的减小,而对计算量的减少,则往往更需要特殊的跳0机制配合才能够实现,而这些硬件上的特殊设计对于大多现存的端侧设备来说是不具备的,因此很难达到期望的压缩后加速的效果。
另一种剪枝即为结构化剪枝,即通过对深度神经网络的通道(channels)、卷积核(filters)、层(layers)以及自定义块进行剪枝。其中,通道剪枝与卷积核剪枝应用广泛,在剪枝完成后,仅修改了每一层卷积核的数量或者说每一层输出通道的数量,所以不需要硬件上的特殊设计;而对于层剪枝与块剪枝,相对而言只是将待剪枝的目标扩大为层或缩小到自定义的块,与通道剪枝或卷积核剪枝本质相同,因此本发明中公开的方法虽然是针对卷积核剪枝设计,但是同样可以扩展至层剪枝或自定义块剪枝。此外,本发明需要注意到,通道剪枝与卷积核剪枝最终呈现的效果是一致的,区别仅在于两种剪枝方法中选择剪枝对象的依据不同。通道剪枝大多通过最小可重构误差等方法来逐层确定每一层的剪枝通道,以保证在剪去这些通道时,能够将该层对下一层输入的影响降低至最小,如此从模型输入层至模型输出层,逐层确定剪枝通道,最终保证整个模型的精度损失较小。但是本发明可以看到,这样逐层进行剪枝,其每一层产生的误差将是不断累积的,同时,正如前文中所述,目前目标检测模型为了追求更高的推理精度,都在朝着深度化的方向发展,因此这种逐层计算并确定剪枝通道的方法往往会带来极高的计算量,且最终得到的剪枝模型也是次优的,因为逐层剪枝的方法没有从模型全局出发考虑,而仅仅是根据人为设置的剪枝比例在每一个剪枝层寻找相应比例的待剪枝通道。从整个目标检测模型来说,其中不同阶段中的不同卷积层,其对整个模型的检测精度的贡献显然是不一致的,但采用逐层剪枝的方法则是将所有这些层的重要性同等对待,因此,亟需采用一种全局剪枝方法对目标检测模型进行剪枝压缩,以保证在剪枝过程中对精度的损伤更小。
不同于通道剪枝方法,卷积核剪枝多采用启发式的方法来评估卷积核的重要性,然后依据剪枝比例与阈值,确定剪枝卷积核。其中常见的方法有基于卷积核的L1范数排序,或者基于BN(Batch Normalization)层中权值参数gamma排序。其中基于gamma参数进行剪枝的方法,通过在稀疏训练的过程中,对该参数施加L1正则化惩罚项,使其稀疏化,其中往往导致的问题是仅稀疏了BN层中的权值参数,而忽略了该层中的偏置参数beta的影响,使得最终在依据gamma参数进行排序确定卷积核重要性时有失偏颇,进而得到次优的结果。而在基于卷积核L1范数排序的剪枝方法中,其L1范数为每一个卷积核的绝对值累加和,但是需要注意到,卷积核中权值的分布往往是随机的,尽管大多数权值分布在0值左右,但其中正、负权值的分布是不均匀的,此时对于相同的输入特征图,其中负的权值与正的权值对输出的影响是明显不一样的,所以此时通过直接求取绝对值并累加的方式进行排序比较是一种次优的选择。因此如何训练得到一个所有卷积核中权值近似对称分布的模型,然后再根据L1范数进行重要性排序成为卷积核剪枝提升精度的一个优化方向。
此外对于深度神经网络中常见的残差块结构,由于其中部分卷积核的输出通过shortcut的连接作为逐元素相加算子的输入之一,此时为了与该加法算子的另一个输入的维度匹配,就需要保证两个输入的通道数一致,本发明中将这些关联的卷积层成为关联层。对于关联层中的卷积层,需要保证剪枝时剪去的卷积核数量一致。传统的做法往往是通过前文中所述的普通的L1正则化稀疏后,根据剪枝比例,逐层确定剪枝通道,对于残差块中的关联层,则是将各自的待剪枝通道索引取交集,然后只剪掉关联层中的交集卷积核。但是实验结果表明,通过这种朴素直接的做法,往往得到的索引交集很小甚至没有,进而导致无法有效减少关联层的通道数量,而在同样的剪枝率情况,这对最终检测模型的精度是不利的。因此需要一种能够有效耦合到前述L1范数排序的关联层剪枝方法来进一步提升剪枝压缩的效果。
最后,在普通的启发式卷积核剪枝方法中,在正则稀疏后,即根据预设的剪枝比例进行排序,然后进行剪枝以及对剪枝后模型的微调。但是,此类方法中正则稀疏是无差别地对模型中所有可剪枝卷积核进行,而这种稀疏作用无疑对精度的影响较大,在剪枝后尽管还有微调能恢复部分精度,但是仍往往无法恢复这种无差别稀疏对保留卷积核的损伤。因此,对于剪枝卷积核与保留卷积核,应该应用不同的稀疏策略,以此来保证将剪枝卷积核上提取的特征信息最大限度地转移到保留卷积核中。针对此问题,目前仅有的解决方案中提出对确定的剪枝卷积核应用正则稀疏,而对该层中其他的保留卷积核都不应用稀疏,尽管该方法在图像分类任务上取得了不错的精度,但是区别于图像分类仅需识别图像中目标的类别,目标检测还需要准确地标定目标的位置,因此检测模型对这种粗糙的方法是敏感的,实现的精度也是较差的,亟需找到能够转移剪枝卷积核影响,并最大限度地降低剪枝时的精度损失的方法。
发明内容
本发明提出的一种基于均值感知稀疏的目标检测模型全局剪枝方法,可至少解决上述技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种基于均值感知稀疏的目标检测模型全局剪枝方法,包括以下步骤,
S01、通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,在稀疏完成后,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率;最终在该最佳剪枝率下获得即剪枝卷积核的掩码及有效掩码行索引、有效掩码列索引;
S02、根据步骤S01得到的二维剪枝卷积核掩码以及有效掩码行索引、有效掩码列索引进行增长正则化,待增长正则化完成后,根据最佳剪枝率重新排序,或者直接根据第一阶段得到的有效掩码行索引、有效掩码列索引进行剪枝;剪枝后即可开始对压缩后的模型进行微调,微调结束后最终得到剪枝压缩后的目标检测模型。
进一步地,所述通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,具体包括:
首先确定目标检测模型的基础稀疏模式选择L2正则化稀疏;
然后在预设好目标压缩率即剪枝率的情况下,选择全局稀疏因子δ,即正则稀疏的系数,该稀疏因子将用于后面步骤中的所有可剪枝卷积核权值的稀疏;
上式中表示目标检测模型,/>表示用于训练的数据集,/>即为全局稀疏时的总损失函数;等式右边第二项为L2正则化稀疏项,其中/>表示目标检测模型中第/>层的第/>个卷积核(filter);等式右边第三项为均值感知稀疏项,其中/>表示均值感知稀疏的稀疏因子,等式中的/>为卷积核/>的第/>个权值,下面分母中的/>函数则用于计算/>中权值的个数;
在完成对损失函数的修改之后,即开始目标检测模型的全局稀疏训练。
进一步地,所述在稀疏完成后,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率,包括:
基于得到的全局均值感知稀疏结果,对目标检测模型残差块中带有shortcut连接的卷积层的处理,最终得到关联层中卷积层共同维护的L1范数均值,此时结合目标检测模型中剩下可直接剪枝卷积层的L1范数,统一进行重要性排序,将根据贪心算法,不断增长剪枝率,最终得到使稀疏后剪枝精度不下降的最大剪枝率极为最佳剪枝率。
进一步地,所述最终在该最佳剪枝率下获得剪枝卷积核的掩码即有效掩码行索引、有效掩码列索引,包括:
将对应每一个卷积层生成一个二维掩码,该二维掩码的第0维表示当前卷积层中卷积核的数目,第1维则表示当前卷积核中通道的数目,即当前卷积层输入特征图的通道数目;
根据最佳剪枝率伪剪枝的结果,确定每一层剪枝卷积核索引,在该卷积层二维掩码中将剪枝卷积核对应行标注出来,将所有卷积层中标注出的行索引称之为有效掩码行索引;
将二维掩码中保留卷积核对应行的列索引记录下来,这些列索引则是根据上一层卷积层中剪枝卷积核的索引来确定的,将所有卷积层中标注出来的列索引称之为有效掩码列索引。
进一步地,根据步骤S01得到的二维剪枝卷积核掩码以及有效掩码行索引、有效掩码列索引进行增长正则化,具体包括,
根据步骤S01得到的二维剪枝卷积核掩码,将在有效掩码行索引与有效掩码列索引对应的掩码值位置处应用如下的增长正则稀疏系数,
除了这些需要剪枝的有效掩码行索引、有效掩码列索引处存在值之外,二维剪枝卷积核掩码的其他位置的掩码值均为0值。
另一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述方法的步骤。
由上述技术方案可知,本发明的基于均值感知稀疏的目标检测模型全局剪枝方法,具体提供一种基于均值感知稀疏和增长正则化的目标检测模型全局剪枝方法,它是一种通过均值感知稀疏并耦合对残差块中关联层处理进而初始化全局剪枝卷积核的方法,通过对初始化确定的剪枝卷积核应用细粒度的增长正则化,最终从大规模目标检测模型中通过卷积核剪枝获得参数量、计算量以及内存占用均大幅减少的目标检测模型。
具体的说,本发明在原有的L2正则稀疏的基础上,添加一项均值感知稀疏项,进而在整个模型的稀疏训练的过程中,使得每个可剪枝卷积核的权值分布在整体趋向于0的同时,又尽可能地使其呈对称分布。在完成均值感知稀疏后,即可通过基于可剪枝卷积核L1范数的重要性排序来确定剪枝卷积核,进而从全局视角下获得剪枝压缩后的目标检测模型结构;
为了增加残差块中关联层的卷积核剪枝效率,本发明公开的方法中通过对关联层中所有卷积层的卷积核按照索引进行对应L1范数的累加,并根据关联层中卷积层的数目求得统一的L1范数均值。在随后的模型全局L1范数排序中,同一关联层中的所有卷积层将均由其共同维护的L1范数均值代表,进而可以使得关联层中卷积层均获得相同的剪枝卷积核索引,而不会导致后续加法算子中输入维度的不匹配。
在全局剪枝卷积核初始化完成后,即获得了预设剪枝比例下所有待剪枝卷积核的索引,此时再构成一个与原模型卷积核数目及该卷积核对应输入通道数目对应的二维掩码。接下来通过对二维掩码中相应位置处系数的增长来施加细粒度的增长正则化稀疏,稀疏的对象不仅仅是所有在初始化剪枝卷积核阶段已经确定了的卷积核,还包括了在保留卷积核中根据上层剪枝卷积核确定的需要剪枝的通道。通过这种细粒度的增长正则化稀疏,不仅能够最大限度地将剪枝卷积核上提取的特征等影响转移到保留的卷积核中,同时又因为稀疏了保留卷积核中同样需要剪去的通道,所以稀疏后能够实现无损的剪枝过程。待此处剪枝完成后,再对该模型进行微调进而获得最终所需的剪枝压缩后的目标检测模型。
相较于其他的剪枝方案通过逐层方式确定剪枝卷积核,本发明通过稀疏过程中以精度为目标的模型自主学习来逐步迭代出卷积核之间的重要性差别,进而从全局角度比较重要性获得剪枝卷积核;同时,本发明中通过特殊的均值感知稀疏方式,使得所有可剪枝卷积核的权值分布都呈现一种类似的对称分布,使得后续使用L1范数排序来决定重要性更公平。
此外,为了能够实现对残差块中关联层的卷积层的有效剪枝,本发明提出了一种共同维护L1范数均值并参数排序的方法,大幅提升此类卷积层的剪枝效率。最终通过细粒度的增长正则化,可以将待剪枝卷积核或保留卷积核中剪枝通道的影响最大限度地转移到剩下的卷积核中。因此,本发明提供的剪枝压缩方法,将可以在保证检测精度不下降的情况下,大幅减少模型的参数量、计算量以及内存占用;同样地,本发明的剪枝压缩方法可作为一种神经网络架构搜索(NAS)方法,在保证同样精度的情况下,得到参数量最小的模型结构设置。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例剪枝卷积核掩码的生成具体实施步骤;
图3a为本发明实施例中原始权值分布示意图;
图3b为本发明实施例均值感知稀疏训练后权值分布示意图;
图4为本发明实施例中采用的残差块中带shortcut连接的卷积层示意图;
图5为本发明实施例中二维剪枝卷积核掩码值更新后的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
神经网络为了在图像分类以及目标检测等任务上取得更高的推理精度,其发展呈现出深度化、宽度化以及复杂化的趋势;而为了在端侧移动设备及其他的资源受限的终端设备上高效运行大规模的目标检测模型,就需要对原模型进行压缩处理。模型压缩方法中一种应用颇为广泛的就是结构化剪枝方法,通过像最小化输出误差或者一些启发式的方法来评估卷积层中输出通道或卷积核的重要性,然后进行剪枝。这些方法虽然已经在一些图像分类任务的深度模型上取得了不错的结果,但是都没有考虑过目标检测在以检测精度作为稀疏训练的主要目标时,其稀疏的过程中其实已经在从模型全局的视角出发选择了重要的卷积核,进而在一次次地迭代过程中不同程度地增大对应的卷积核L1范数大小。这些不断程度地增大L1范数的结果也都最终体现在稀疏之后的重要性排序中,而此时就需要使得这种基于L1范数来决定卷积核重要性的排序过程更加公平可靠。鉴于卷积核中正、负权值在相同输入特征图下将发挥不同作用的基础,本发明的目的之一就是通过添加均值感知的稀疏项,使得稀疏训练过程中所有可剪枝卷积核的权值分布近似对称地分布在0值左右。此外,配合以本发明提出的对残差块的剪枝处理方法以及细粒度的增长正则化方案,本发明最终目的即利用稀疏训练自动获取剪枝卷积核索引,得到增长正则化掩码,完成对大规模目标检测模型的结构化剪枝压缩。
如图1所示,为本发明的实施例,即提供一种基于均值感知稀疏和增长正则化的目标检测模型全局剪枝方法,其主要包括两个阶段:
一、剪枝卷积核掩码的生成
此阶段的作用主要即生成用于第二阶段中增长正则化时所需的剪枝卷积核掩码,该掩码中标注了增长正则化过程需要稀疏的剪枝卷积核以及保留卷积核中需要剪枝的通道。通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,使得检测模型在稀疏训练的过程中自动区分卷积核的重要性;在稀疏完成后,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率;最终即在该最佳剪枝率下获得输出:剪枝卷积核的掩码。
如图2所示,本步骤的优选实施方式详述如下:
1、选择正则化稀疏模式
在深度神经网络的卷积核中引入稀疏度,常见的方法包括添加L1正则化项或者添加L2正则化项。不同于L1正则化稀疏的系数很难调控好稀疏度与模型精度之间的平衡,在L2正则稀疏中,L2正则化的梯度是与权值的大小成正比关系的,因此对模型权值的稀疏化过程将更可控。鉴于此,本发明中选择L2正则稀疏。
2、选择全局稀疏因子
根据选择的正则化稀疏模式,选择全局稀疏因子,即正则稀疏的系数,该稀疏因子将用于后面步骤中的所有可剪枝卷积核权值的稀疏。根据本发明中所提出的方案,不同的全局稀疏因子一般产生不同的模型最佳剪枝率,所以需要在初步确定该检测模型的目标压缩率的情况下,来选择全局稀疏因子/>。/>
该步骤具体可解释为:鉴于L1正则化稀疏的系数很难调控好稀疏度与模型精度之间的平衡,所以首先确定目标检测模型的基础稀疏模式选择L2正则化稀疏。然后在预设好目标压缩率/剪枝率的情况下,选择合适的全局稀疏因子δ,即正则稀疏的系数,该稀疏因子将用于后面步骤中的所有可剪枝卷积核权值的稀疏。
3、均值感知稀疏
上式中,表示目标检测模型,/>表示用于训练的数据集,/>即为全局稀疏时的总损失函数。等式右边第二项为L2正则化稀疏项,其中/>表示目标检测模型中第/>层的第个卷积核(filter)。等式右边第三项为均值感知稀疏项,其中的/>表示均值感知稀疏的稀疏因子,在本发明的实施例中一个优选设置为该稀疏因子为/>,然后等式中的/>为卷积核/>的第/>个权值,下面分母中的/>函数则用于计算/>中权值的个数。
等式右边第三项中为本发明提到的均值感知稀疏项,该项在稀疏过程中给可剪枝卷积核带来的效果如图3a和图3b对比所示,使得原本均值不近似为0的近似正太分布逐渐朝着均值为0的近似正太分布移动,而这也将有利于下一步骤中基于L1范数的重要性排序过程。
在完成对损失函数的修改之后,即可开始目标检测模型的全局稀疏训练。需要注意到,在本实施例中,这次全局稀疏一般在使用了较大稀疏因子的情况下,仅需要原始目标检测模型全精度训练的epoch次数,加快了整个剪枝压缩的处理时间。
4、计算关联层的L1范数均值
在完成上述的全局均值感知稀疏后,开始对目标检测模型残差块中带有shortcut连接的卷积层的处理,如前所述,本发明中将这些卷积层统称为关联层,如图4中所示。
对于所有关联层中的卷积层,首先计算每一个卷积层中卷积核(filter)的L1范数值,因为所有关联层的卷积核数量是严格一致的,所以在得到每层的L1范数后,需要根据其在每一层中的卷积核索引,将相同卷积核索引对应的L1范数值相加。最终,根据这块关联层中卷积层的数量,求得这一关联层的L1范数均值。在随后的排序中,这一关联层中的所有层都将依靠共同维护得到的L1范数均值参数参与到重要性排序中,并根据重要性排序的结果来确定关联层中的剪枝卷积核索引情况。
5、生成二维剪枝卷积核掩码
完成对关联层中卷积层的特殊处理后,即可计算目标检测模型中所有剩下可剪枝卷积核的L1范数,然后将这些L1范数与代表关联层的L1范数均值统一起来进行排序。本发明中通过贪心算法来计算在每一个全局稀疏因子下的最佳剪枝率,即按照0.001的步长,不断增加剪枝比例,然后根据L1范数的排序结果,选择该排序中由小及大相应比例的卷积核作为剪枝卷积核,进行一次伪剪枝,并对比该次剪枝后的结果与稀疏后结果的情况。按照步长不断增加剪枝比例,直到当次伪剪枝的结果小于稀疏后的结果,则停止剪枝比例的增加,并确定上一次伪剪枝的比例即为该稀疏因子下得到的最佳剪枝率。
该步骤具体可解释为:
基于以上得到的全局均值感知稀疏结果,对目标检测模型残差块中带有shortcut连接的卷积层的处理,最终得到关联层中卷积层共同维护的L1范数均值。此时结合目标检测模型中剩下可直接剪枝卷积层的L1范数,统一进行重要性排序。将根据贪心算法,不断增长剪枝率,最终得到使稀疏后剪枝精度不下降的最大剪枝率极为本方案中的最佳剪枝率。全局视角下得到目标检测模型的最佳剪枝率,具体为通过贪心算法来计算在每一个全局稀疏因子下的最佳剪枝率,即按照固定步长,不断增加剪枝比例,然后根据重要性排序结果,选择该排序中由小及大相应比例的卷积核作为剪枝卷积核,进行伪剪枝,对比该次剪枝后的结果与稀疏后结果的情况。不断增加剪枝比例,直到当次伪剪枝的结果小于稀疏后的结果,则停止剪枝比例的增加,并确定上一次伪剪枝的比例即为该稀疏因子下得到的最佳剪枝率。
在本实施例中,将对应每一个卷积层生成一个二维掩码,该二维掩码的第0维表示当前卷积层中卷积核的数目,第1维则表示当前卷积核中通道的数目,即当前卷积层输入特征图的通道数目。
然后根据上述的最佳剪枝率伪剪枝的结果,确定了每一层剪枝卷积核的索引,本发明需要在该层二维掩码中的剪枝卷积核对应行将其标注出来,此处不妨将所有卷积层中标注出的行索引称之为“有效掩码行索引”;更细粒度地,本发明中为了彻底地将被剪枝卷积核或通道上提取的特征影响转移到其他保留卷积核上,本发明还需要将二维掩码中保留卷积核对应行的某些列索引记录下来,而这些列索引则是根据上一层卷积层中剪枝卷积核的索引来确定的,此处不妨将所有卷积层中标注出来的列索引称之为“有效掩码列索引”。
如此,即完成了本发明实施例中第一阶段的工作,也可作为下一阶段中真剪枝的准备工作。
二、增长正则化与微调
此阶段的主要工作即根据第一阶段得到的二维剪枝卷积核掩码以及“有效掩码行索引、有效掩码列索引”进行增长正则化,随后进行真正的剪枝压缩,并最终完成对剪枝压缩后模型的微调处理。
1、细粒度的增长正则化稀疏
根据第一阶段中得到的二维剪枝卷积核掩码,本发明将在“有效掩码行索引”与“有效掩码列索引”对应的掩码值位置处应用如下的增长正则稀疏系数,
其中表示添加的初始正则系数,在本实施例中设置该值为0;/>表示每次增加的稀疏因子大小,本实例中设置为每10次迭代(iteration)才更新一次/>,/>即为当前所有“有效掩码行索引、有效掩码列索引”对应位置的掩码值。在本实施例中,除了这些需要剪枝的“有效掩码行索引、有效掩码列索引”处存在值之外,二维剪枝卷积核掩码的其他位置的掩码值均为0值,此即意味着不会限制保留卷积核的学习,增长之后的二维掩码示意图如图5中所示。
在本实施例中,设置的增长正则系数上限为0.02,具体到在MS-COCO数据集上的训练中,设置的batchsize为32,在每10次迭代增长一次的情况下,仅需要极少数的epoch即达到增长上限。此后,本实施例中还将继续进行一段epoch的稳定化阶段,以保证能够彻底、有效地将剪枝卷积核上地特征转移到保留卷积核上。
在本实施例中,此增长正则稀疏阶段将共进行65个epoch的训练。
2、剪枝
如前文所述,在获取最佳剪枝率的过程中开展的剪枝在本发明中称之为伪剪枝,而此处才是开展真正的剪枝工作,即根据最佳剪枝率重新排序,或者直接根据第一阶段得到的“有效掩码行索引、有效掩码列索引”进行剪枝,此时得到的剪枝结果即为本发明最终得到的剪枝压缩后的目标检测模型。
3、微调
在得到剪枝压缩后的模型后,即可开始对压缩后的模型进行微调。需要注意到,在整个均值感知稀疏、增长正则化稀疏以及当前的微调过程中,本发明均采用同样的超参设置,即对学习率的设置、数据增强的处理等均采用相同的设置。三次训练唯一的区别之处即在于训练的epoch次数不同,如前文所述,在本实施例中,均值感知稀疏训练50个epoch,增长正则化稀疏训练65个epoch,最终微调则进行150个epoch,全部加起来共265个epoch,尚不及全精度训练时所采用的300个epoch时长,一种优选设置中,最终微调进行150个epoch,仅为全精度训练时所采用300个epoch的一半,也间接表明本发明在获得更优压缩结果的同时,不会引起更多冗余的计算过程,因此,此实施例也间接表明本发明实施例在获得更优结果的同时,没有造成更多冗余的计算过程。
可知,待细粒度的增长正则化完成后,根据最佳剪枝率重新排序,或者直接根据第一阶段得到的“有效掩码行索引、有效掩码列索引”进行剪枝。此次剪枝后,即可开始对压缩后的模型进行微调,微调结束后最终得到剪枝压缩后的目标检测模型。
综上所述,本发明实施例公开了一种基于均值感知稀疏和增长正则化的目标检测模型全局剪枝方法。主要包括:在对目标检测模型中所有可剪枝卷积核权值施加L2正则化的基础上,同时添加基于均值感知的稀疏惩罚项,通过较短迭代次数的全局稀疏,快速获得基于模型中可剪枝卷积核L1范数的卷积核重要性排序。其中,将每个残差块中受shortcut连接影响的卷积层称为关联层,关联层中所有卷积层的对应卷积核将根据索引求均值,然后参与到检测模型的全局重要性排序中。其次,通过预设的卷积核剪枝比例,根据卷积核重要性排序情况来确定相应的剪枝卷积核与保留卷积核,并根据原始模型结构形成正则系数掩码,每一个可剪枝卷积层的卷积核即对应一个掩码值。通过不断增大剪枝卷积核对应位置的掩码值来不断增大正则系数,并将该掩码应用到检测模型的稀疏过程中,通过这种施加不断增长稀疏系数的正则化来将剪枝卷积核上提取的特征等影响转移到其他保留卷积核中。其中,第二次施加L2正则化的目标不仅包含该层中根据重要性排序确定的卷积核,同时将包含该层保留卷积核中根据上一层剪枝卷积核索引所确定的剪枝通道。在第二次稀疏完成后得到卷积核剪枝后的目标检测模型,经过微调后得到最终剪枝压缩后的模型。通过该剪枝压缩方法,将可以在保证检测精度不下降的情况下,大幅减少模型的参数量以及内存占用;同样地,该剪枝算法可作为一种神经网络架构搜索方法,在保证同样精度的情况下,得到参数量最小的检测模型结构。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法的步骤。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于均值感知稀疏的目标检测模型全局剪枝方法,其特征在于,包括以下步骤,
S01、通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,在稀疏完成后,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率;最终在该最佳剪枝率下获得剪枝卷积核的掩码及有效掩码行索引、有效掩码列索引;
S02、根据步骤S01得到的二维剪枝卷积核掩码以及有效掩码行索引、有效掩码列索引进行增长正则化,待增长正则化完成后,根据最佳剪枝率重新排序,或者直接根据步骤S01得到的有效掩码行索引、有效掩码列索引进行剪枝;剪枝后即可开始对压缩后的模型进行微调,微调结束后最终得到剪枝压缩后的目标检测模型。
2.根据权利要求1所述的基于均值感知稀疏的目标检测模型全局剪枝方法,其特征在于:所述通过对目标检测模型所有可剪枝卷积核权值施加L2正则化稀疏以及均值感知稀疏项,具体包括:
首先确定目标检测模型的基础稀疏模式选择L2正则化稀疏;
然后在预设好目标压缩率即剪枝率的情况下,选择全局稀疏因子δ,即正则稀疏的系数,该稀疏因子将用于后面步骤中的所有可剪枝卷积核权值的稀疏;
上式中表示目标检测模型,/>表示用于训练的数据集,/>即为全局稀疏时的总损失函数;等式右边第二项为L2正则化稀疏项,其中/>表示目标检测模型中第/>层的第/>个卷积核(filter);等式右边第三项为均值感知稀疏项,其中/>表示均值感知稀疏的稀疏因子,等式中的/>为卷积核/>的第/>个权值,下面分母中的/>函数则用于计算/>中权值的个数;
在完成对损失函数的修改之后,即开始目标检测模型的全局稀疏训练。
3.根据权利要求2所述的基于均值感知稀疏的目标检测模型全局剪枝方法,其特征在于:所述在稀疏完成后,通过耦合了残差块中关联层剪枝处理方式的L1范数排序,通过贪心算法确定在稀疏因子下的最佳剪枝率,包括:
基于得到的全局均值感知稀疏结果,对目标检测模型残差块中带有shortcut连接的卷积层的处理,最终得到关联层中卷积层共同维护的L1范数均值,此时结合目标检测模型中剩下可直接剪枝卷积层的L1范数,统一进行重要性排序,将根据贪心算法,不断增长剪枝率,最终得到使稀疏后剪枝精度不下降的最大剪枝率即为最佳剪枝率。
4.根据权利要求3所述的基于均值感知稀疏的目标检测模型全局剪枝方法,其特征在于:所述最终在该最佳剪枝率下获得剪枝卷积核的掩码即有效掩码行索引、有效掩码列索引,包括:
将对应每一个卷积层生成一个二维掩码,该二维掩码的第0维表示当前卷积层中卷积核的数目,第1维则表示当前卷积核中通道的数目,即当前卷积层输入特征图的通道数目;
根据最佳剪枝率伪剪枝的结果,确定每一层剪枝卷积核索引,在该卷积层二维掩码中将剪枝卷积核对应行标注出来,将所有卷积层中标注出的行索引称之为有效掩码行索引;
将二维掩码中保留卷积核对应行的列索引记录下来,这些列索引则是根据上一层卷积层中剪枝卷积核的索引来确定的,将所有卷积层中标注出来的列索引称之为有效掩码列索引。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310436635.5A CN116167430B (zh) | 2023-04-23 | 2023-04-23 | 基于均值感知稀疏的目标检测模型全局剪枝方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310436635.5A CN116167430B (zh) | 2023-04-23 | 2023-04-23 | 基于均值感知稀疏的目标检测模型全局剪枝方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116167430A true CN116167430A (zh) | 2023-05-26 |
CN116167430B CN116167430B (zh) | 2023-07-18 |
Family
ID=86416662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310436635.5A Active CN116167430B (zh) | 2023-04-23 | 2023-04-23 | 基于均值感知稀疏的目标检测模型全局剪枝方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116167430B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109461127A (zh) * | 2018-10-22 | 2019-03-12 | 中国人民解放军空军工程大学 | 一种以解译为目的的sar图像稀疏正则化特征增强方法 |
US20190347554A1 (en) * | 2018-05-14 | 2019-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints |
CN112699958A (zh) * | 2021-01-11 | 2021-04-23 | 重庆邮电大学 | 一种基于剪枝和知识蒸馏的目标检测模型压缩与加速方法 |
CN113128355A (zh) * | 2021-03-29 | 2021-07-16 | 南京航空航天大学 | 一种基于通道剪枝的无人机图像实时目标检测方法 |
CN114118402A (zh) * | 2021-10-12 | 2022-03-01 | 重庆科技学院 | 基于分组注意力机制的自适应剪枝模型压缩算法 |
CN115600647A (zh) * | 2022-10-21 | 2023-01-13 | 中国科学技术大学(Cn) | 一种面向稀疏神经网络加速的bit级计算的模型架构系统 |
CN115829024A (zh) * | 2023-02-14 | 2023-03-21 | 山东浪潮科学研究院有限公司 | 一种模型训练方法、装置、设备及存储介质 |
-
2023
- 2023-04-23 CN CN202310436635.5A patent/CN116167430B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190347554A1 (en) * | 2018-05-14 | 2019-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints |
CN109461127A (zh) * | 2018-10-22 | 2019-03-12 | 中国人民解放军空军工程大学 | 一种以解译为目的的sar图像稀疏正则化特征增强方法 |
CN112699958A (zh) * | 2021-01-11 | 2021-04-23 | 重庆邮电大学 | 一种基于剪枝和知识蒸馏的目标检测模型压缩与加速方法 |
CN113128355A (zh) * | 2021-03-29 | 2021-07-16 | 南京航空航天大学 | 一种基于通道剪枝的无人机图像实时目标检测方法 |
CN114118402A (zh) * | 2021-10-12 | 2022-03-01 | 重庆科技学院 | 基于分组注意力机制的自适应剪枝模型压缩算法 |
CN115600647A (zh) * | 2022-10-21 | 2023-01-13 | 中国科学技术大学(Cn) | 一种面向稀疏神经网络加速的bit级计算的模型架构系统 |
CN115829024A (zh) * | 2023-02-14 | 2023-03-21 | 山东浪潮科学研究院有限公司 | 一种模型训练方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
HYOJEONG KIM 等: "Adaptive forgetting with uncontrolled and controlled removal processes", 《UT ELECTRONIC THESES AND DISSERTATIONS》 * |
JUNPENG WANG 等: "DDAM: Data Distribution-Aware Mapping of CNNs on Processing-In-Memory Systems", 《ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS》, vol. 28, no. 3, XP059023461, DOI: 10.1145/3576196 * |
徐少铭 等: "基于强化学习和3σ准则的组合剪枝方法", 《浙江大学学报(工学版)》, vol. 57, no. 3 * |
Also Published As
Publication number | Publication date |
---|---|
CN116167430B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874631B (zh) | 一种基于特征图稀疏化的卷积神经网络剪枝方法 | |
JP6950756B2 (ja) | ニューラルネットワークのランク最適化装置および最適化方法 | |
Singh et al. | Play and prune: Adaptive filter pruning for deep model compression | |
CN108846445B (zh) | 一种图像处理方法 | |
CN114037844A (zh) | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 | |
TW202139071A (zh) | 一種模型壓縮方法及圖像處理方法、電腦設備及儲存介質 | |
CN111079899A (zh) | 神经网络模型压缩方法、系统、设备及介质 | |
CN113011588B (zh) | 一种卷积神经网络的剪枝方法、装置、设备和介质 | |
CN113837376B (zh) | 基于动态编码卷积核融合的神经网络剪枝方法 | |
CN113657421B (zh) | 卷积神经网络压缩方法和装置、图像分类方法和装置 | |
CN112101547A (zh) | 一种对网络模型的剪枝方法、装置、电子设备及存储介质 | |
CN113919484A (zh) | 基于深度卷积神经网络模型的结构化剪枝方法和装置 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
JP7150651B2 (ja) | ニューラルネットワークのモデル縮約装置 | |
CN112132255A (zh) | 人工智能神经网络引擎中模型推断的批量归一化层融合和量化方法 | |
CN116167430B (zh) | 基于均值感知稀疏的目标检测模型全局剪枝方法及设备 | |
CN114239799A (zh) | 一种高效目标检测方法、设备、介质和系统 | |
CN112734025B (zh) | 基于固定基正则化的神经网络参数稀疏化方法 | |
US11875263B2 (en) | Method and apparatus for energy-aware deep neural network compression | |
CN115148279A (zh) | 蛋白质与配体分子的亲和力预测方法及装置 | |
CN115081580A (zh) | 一种对预训练的神经网络模型进行剪枝的方法 | |
CN110633722B (zh) | 人工神经网络调整方法和装置 | |
CN113887721A (zh) | 一种语音识别任务中的训练后量化压缩方法及系统 | |
CN113537490A (zh) | 一种神经网络裁剪方法及电子设备 | |
CN112052951B (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 |