CN114819143A - 一种适用于通信网现场维护的模型压缩方法 - Google Patents
一种适用于通信网现场维护的模型压缩方法 Download PDFInfo
- Publication number
- CN114819143A CN114819143A CN202210414566.3A CN202210414566A CN114819143A CN 114819143 A CN114819143 A CN 114819143A CN 202210414566 A CN202210414566 A CN 202210414566A CN 114819143 A CN114819143 A CN 114819143A
- Authority
- CN
- China
- Prior art keywords
- model
- pruning
- layer
- node
- algorithm
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种适用于通信网现场维护的模型压缩方法,使用基于深度强化学习的模型剪枝算法和自适应聚类的模型量化算法对模型进行压缩,在保证模型精度的前提下压缩模型体积以及提升模型检测速度。基于深度强化学习的模型剪枝算法,以通信网现场维护模型性能作为需求约束,用深度确定性策略梯度的强化学习算法对模型各层的压缩比进行控制,实现自动通道剪枝,再进行层剪枝,在保证模型精度的前提下,从宽度和深度分别进行模型的压缩。自适应聚类的模型量化算法,用改进的BIRCH算法自动获取聚类的个数,使聚类个数的选取不再依赖先验知识,再通过K‑meansII算法获取初始化质心,使聚类中心位置的选取不再具有盲目性,提升模型压缩比,大大减少模型存储体积。
Description
技术领域
本发明涉及通信网现场维护技术领域,尤其涉及一种适用于通信网现场维护的模型压缩方法。
背景技术
随着通信网不断扩展和结构日益复杂,通信网现场维护工作量大、管理问题多、自动化支撑工具缺乏等问题也日益突出。因此,通信网现场维护管理水平的提高是十分有必要的。为实现通信网现场维护的自动化和智能化,提高维护效率,可穿戴设备、巡检无人机、巡检机器人逐渐应用到通信网现场维护场景下。这些智能终端设备可通过对通信网现场维护进行拍录,实时采集现场音视频图像数据并且完成实时的设备识别和故障诊断。然而,当前的深度学习模型结构复杂、层次多、体积过大,而智能终端设备搭载的硬件存储、计算能力有限,导致模型难以直接部署到这些智能终端上进行实时的识别。
为了解决上述问题,现有技术中已有关于图像识别的模型压缩方法,如:
技术方案1:专利申请号为CN202110673860.1提出一种模型压缩方法及装置,该方法包括:获取待压缩网络模型以及目标压缩比;根据所述目标压缩比确定节点压缩方式,并且基于所述节点压缩方式以及所述目标压缩比对所述待压缩网络模型进行压缩,得到待赋值网络模型;根据所述待压缩网络模型以及所述待赋值网络模型,确定与所述待赋值网络模型中各待赋值节点对应的权重值;基于各权重值以及所述待赋值网络模型,确定目标压缩网络模型。最终该发明的技术方案实现了对深度学习模型的压缩,节约模型占用资源的技术效果。
技术方案2:专利申请号为CN202111371531.8提出一种基于通道级剪枝神经网络的图像识别方法及系统,所述方法包括:获取图像数据集;利用预训练的神经网络模型,得到图像识别结果;其中,通过正态检验方法降低神经网络模型的精度损失,实现神经网络模型压缩。将Jarque-Bera正态检验方法应用到通道级剪枝上,首先对BN层的缩放因子进行L2正则化训练,使其服从正态分布,然后使用Jarque-Bera正态检验方法计算出剪枝比例,从而剪掉缩放因子对应的通道及其输入输出连接,从而保证剪枝后的网络模型精度损失低,进而实现模型压缩。
技术方案3:专利申请号为CN202111426701.8提出了一种基于对抗蒸馏技术的图像识别模型压缩方法,属于计算机视觉领域。该方法将对抗学习思想引入知识蒸馏中,采用对抗生成网络(GAN)作为框架。将生成器映射为学生模型,真实样本映射为教师模型的知识来进行循环对抗训练。具体包括:采集图像识别数据集并进行类别标注;利用GAN生成图片数据集;选取教师模型并进行训练;采用优化或浓缩小型网络版本选取学生模型;对知识类型进行选取;引入对抗蒸馏算法训练学生模型;实现图像识别任务,解决网络模型参数量大,计算效率低的问题。
在现有的模型压缩方法中,技术方案1和技术方案2均为人为规定待压缩模型的压缩比。而不同模型的最优压缩比不尽相同,当压缩比过大时,将导致模型精度损失过多,将影响智能终端设备实体识别及故障识别的能力;而当压缩比较小时,将导致模型尺寸过大,不能直接部署在通信网现场维护下的智能终端设备中。技术方案3提出一种基于对抗蒸馏技术的图像识别模型压缩方法,但知识蒸馏的方法适用条件较为苛刻,且对参数较为敏感,稳定性不够,运行成本高,不能直接应用于通信网现场维护。另外,在通信网现场维护场景下,需要在保证模型精度的前提下,进一步提高模型的检测速度和压缩比例,可使智能终端设备部署多种类型的目标检测模型,提高通信网现场维护效率。而技术方案1、2、3均只采用了一种模型压缩方式,未能达到最好的压缩比例,且模型压缩过程仍需依赖于人工经验设置压缩阈值。因此,需要提出一种兼顾压缩比例和模型精度且适用于通信网现场维护的自动、高效的模型压缩方法。
发明内容
本发明针对上述技术问题,提供一种适用于通信网现场维护的模型压缩方法,结合了模型剪枝和模型量化两种模型压缩方法,并使用深度强化学习自动确定模型各层的剪枝比例,可以根据通信网现场维护场景下的要求以及不同智能终端的特征,设计不同的剪枝策略,达到最优的模型性能。
为了实现上述目的,本发明提供如下技术方案:
一种适用于通信网现场维护的模型压缩方法,使用基于深度强化学习的模型剪枝算法和自适应聚类的模型量化算法对模型进行压缩;其中,所述的基于深度强化学习的模型剪枝算法,以通信网现场维护模型性能作为需求约束,首先使用深度确定性策略梯度的深度强化学习算法对模型各层的压缩比进行控制,实现自动的通道剪枝,然后在此基础上进行层剪枝,从宽度和深度分别进行模型的压缩;所述的自适应聚类的模型量化算法,对剪枝后模型剩余的权重参数进行聚类,使得同一簇共用相同的权值,并使用改进的BIRCH算法自动获取聚类的个数,再通过K-meansII算法获取初始化质心,结合两种算法完成聚类。
进一步地,在通道剪枝的过程中,首先在训练时对待剪枝模型的BN层的尺度因子施加L1正则化,在训练网络的同时得到稀疏化的尺度因子,并裁掉低于指定阈值的通道。
进一步地,BN层的训练过程如下:
针对每个最小批次的输入数据学习到平均值μB和方差σB,令zin和zout作为一个BN层的输入和输出,B为当前最小批次,则经过BN层的输出如公式(1)所示:
其中,γ为尺度因子,β为平移因子,这两个参数都是训练网络模型时学到的参数;
在目标函数中加入一个正则项,训练目标如下所示:
L=∑(x,y)l(f(x,W),y)+λ∑γ∈R g(γ) (2)
式(2)中第一项为训练损失函数,第二项为约束γ的正则项,λ是调节两项的稀疏系数,x为输入,y为目标输出,W为权重参数。
进一步地,通道剪枝具体流程为:首先,使用公式(2)对模型进行稀疏训练,获取各个通道的尺度因子,并根据尺度因子大小进行排序,根据阈值或比例将尺度因子较小的通道进行裁剪,并进行微调,不断迭代直到达到剪枝要求。
进一步地,基于深度强化学习的模型通过模型的训练确定各层的剪枝率,具体过程为:
首先,对模型通道剪枝问题抽象出深度强化学习中的环境状态S、个体动作A和环境奖励R;
环境状态S:对每个卷积层,使用10个参数对状态进行描述:
St=(t,n,c,h,w,stride,k,params,params_reduce,at-1) (3)
t为卷积层层数,n表示输出通道数,c表示输入通道数,k表示卷积核的大小,卷积核的维度为n*c*k*k,h、w表示输入特征图的维度,stride表示卷积层的滑动步数,params表示第t层的参数量,reduce表示先前层减去的参数量,at-1表示先前层的剪枝率;
个体动作A:使用连续的动作空间作为剪枝率,at∈(0,1);
激励R:采用的奖励R的计算方式如公式(4)所示:
R=Accuracy*Complexity (4)
其中,第一项Accuracy代表模型的准确率,第二项Complexity代表模型复杂度;
第一项Accuracy的计算公式如(5)所示:
其中Δacc为初始模型和剪枝后模型的精度差值,b为一个超参数,用于保障模型的精度;
第二项Complexity的计算公式如(6)所示:
Complexity=-log(ηparams) (6)
其中ηparams为剪枝后与剪枝前的参数量比值,其范围在0到1之间;params代表模型的尺寸,表示模型的大小;
使用深度确定性策略梯度方法进行各层剪枝比例的确定,将DQN中的随机策略πθ(s,a)=P(a|s,θ)≈π(a|s)改写为公式(7):
πθ(s)=a (7)
和环境交互的动作A表达为:
A=πθ(s)+N (8)
评价者网络的损失函数采用均方差的形式。
参与者当前网络的损失函数为:
通过软更新的方式对目标网络进行参数更新,具体方式如下:
w′←τw+(1-τ)w′ (12)
θ′←τθ+(1-τ)θ′ (13)
最终,经过迭代得到最佳剪枝策略。
进一步地,层剪枝过程中通过3×3卷积核的尺度因子判断是否需要剪掉整个residual结构。
进一步地,使用改进的BIRCH自动获取聚类的个数的步骤如下:
步骤1:得到第一个数据点,创建一个新的叶子节点;
步骤2:得到一个新数据点,遍历CF树各叶子节点,计算新数据点与各叶子节点中CF节点的距离,选取与新数据点距离最近的CF节点,并计算新数据点加入该CF节点后的半径是否满足阈值T,若满足阈值,合并新数据点,转到步骤4;若不满足,找到除第一次合并外距离最近的CF节点进行合并,若满足阈值,合并新数据点,转到步骤4;否则,新数据点单独作为一个CF节点;
步骤3:在插入新CF节点后,如果CF树中有节点CF数大于L,则将当前节点进行分裂,创建一个新的节点作为当前叶子节点的兄弟节点,选择旧节点中距离最远的两个CF元组作为分裂后的两个新节点的初始CF节点,并根据距离远近将剩余CF元组分配到两个新的节点中,依次向上检查父节点是否需要分裂;
步骤4:更新路径上所有节点CF值,如果已遍历完所有数据,结束;否则,则转到步骤2。
进一步地,通过K-meansII方法获取初始化质心的步骤如下:
其中D(xi)为对象xi到聚类中心c0的最短欧式距离;
步骤3、分配聚类权重:对C中每一个成员分配聚类权重wc,这个权重值为距离成员对象ci最近的点的个数;
步骤4、根据权重选取k个聚类中心,重新聚类,得到k个簇。
与现有技术相比,本发明的有益效果为:
本发明提出的适用于通信网现场维护的模型压缩方法,创新性地使用基于深度强化学习的模型剪枝算法和自适应聚类的模型量化算法对模型进行压缩,在保证模型精度的前提下压缩模型体积以及提升模型检测速度。首先,本发明设计了一种基于深度强化学习的模型剪枝算法,以通信网现场维护模型性能作为需求约束,使用深度确定性策略梯度的深度强化学习算法对模型各层的压缩比进行控制,实现自动的通道剪枝,并在此基础上进行层剪枝,在保证模型精度的前提下,使模型在宽度和深度上得到了有效压缩。其次,本发明提出一种自适应的模型量化方法,设计了灵活的权重聚类的方法,首先改进BIRCH聚类的缺陷,将聚类簇个数进行优化,并将BIRCH聚类个数作为K-meansII的输入,使聚类个数的选取不再依赖先验知识,聚类中心位置的选取不再具有盲目性,进一步提升模型的压缩比,大大减少模型的存储体积。最后,本发明从通信网现场维护的实际需求出发,结合模型剪枝与模型量化,从网络结构和参数两方面对模型进行压缩,在保证准确率的条件下,在模型体积和运行速度方面都得到了很大的提升。
此外,本发明对适用于通信网现场维护的模型压缩方法进行仿真实验,以中国电力线路绝缘子数据集为例,分别对基础模型进行基于深度强化学习的通道剪枝、层剪枝与自适应聚类,并将压缩结果与其他压缩方法进行对比。通过仿真结果表明,本发明提出的算法可以达到的压缩比为24倍,平均检测速度达到52ms,准确率只减少了4.3%,比采用单一的模型压缩方法效果更为显著。因此,本发明设计的基于剪枝和量化的模型压缩算法,同时保障了通信网现场维护模型的性能与尺寸,更有效地降低了模型的冗余,节省存储空间,简化运算,更适用于通信网现场维护场景。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的适用于通信网现场维护的模型压缩方法流程图;
图2为本发明实施例提供的通道剪枝流程图;
图3为本发明实施例提供的基于DDPG的通道剪枝框架图;
图4为本发明实施例提供的层剪枝示意图;
图5为本发明实施例提供的自适应聚类流程图;
图6(a)为本发明实施例提供的通道剪枝前后骨干网络通道数对比;
图6(b)为本发明实施例提供的通道剪枝前后除骨干网络外通道数对比;
图7为本发明实施例提供的不同剪枝层数下层剪枝结果;
图8为本发明实施例提供的聚类后各卷积层比特位数。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合附图和实施例对本发明作进一步的详细介绍。
在通信网现场维护场景下,压缩目标模型的体积、提升模型检测速度使模型更适用于通信网现场维护的智能终端设备是本专利要解决的主要问题。
为了解决该问题,本发明建立了一个适用于通信网现场维护的模型压缩方法,流程如图1所示,结合了模型剪枝和模型量化两种模型压缩方法,并使用深度强化学习自动确定模型各层的剪枝比例,可以根据通信网现场维护场景下的要求以及不同智能终端的特征,设计不同的剪枝策略,达到最优的模型性能。模型压缩方法的步骤如下:
一、基于深度强化学习的通道剪枝
本发明提出的模型压缩方法首先使用通道剪枝的方法对模型的宽度进行压缩,在通道剪枝中通过深度强化学习模型的训练确定各层的剪枝率,从而避免资源的浪费以及人工先验知识的影响。
在通道剪枝的过程中,首先在训练时对待剪枝模型的BN层的尺度因子施加L1正则化,在训练网络的同时得到稀疏化的尺度因子,并裁掉低于指定阈值的通道,从而达到模型压缩的目的。
由于BN层可以防止梯度爆炸、提高模型泛化能力,BN层在目标检测模型中得到了广泛的应用。
首先,本发明将BN层引入,BN层的训练过程如下。
针对每个最小批次的输入数据可以学习到平均值μB和方差σB。令zin和zout作为一个BN层的输入和输出,B为当前最小批次,则经过BN层的输出如公式(1)所示。其中,γ为尺度因子,β为平移因子,这两个参数都是训练网络模型时学到的参数,引入尺度因子γ是为了还原网络原来的特征学习能力。
本发明使用上述尺度因子来衡量通道的重要性,尺度因子越大通道越重要,因此,在训练过程中需将尺度因子较小的通道进行裁剪。为实现在训练的同时进行剪枝,在目标函数中加入一个正则项,训练目标如下所示。
L=∑(x,y)l(f(x,W),y)+λ∑γ∈R g(γ) (2)
式(2)中第一项为训练损失函数,第二项为约束γ的正则项,λ是调节两项的稀疏系数,x为输入,y为目标输出,W为权重参数。
剪枝具体流程如图2所示,首先,使用公式(2)对模型进行稀疏训练,获取各个通道的尺度因子。并根据尺度因子大小进行排序,根据阈值或比例将尺度因子较小的通道进行裁剪,并进行微调,不断迭代直到达到剪枝要求。
在确定通道剪枝方法后,需确定模型的剪枝率。传统的通道剪枝均为人为规定模型的剪枝率或者使用网格搜索确定各层的剪枝率,强化学习模型则通过模型的训练确定各层的剪枝率,从而达到最优的压缩性能。在通信网现场维护场景下,模型可根据智能体选择的模型剪枝组合获得历史经验以及压缩性能,而智能体则根据历史经验以及压缩性能不断优化搜索策略,最终得到最优的压缩比。并且,基于强化学习的通道剪枝可以根据通信网现场维护场景下维护的要求以及不同智能终端的特征,设计不同的剪枝策略。
首先,本发明对模型通道剪枝问题抽象出深度强化学习中的环境状态S、个体动作A和环境奖励R。
环境状态S:对每个卷积层,本发明使用10个参数对状态进行描述:
St=(t,n,c,h,w,stride,k,params,params_reduce,at-1) (3)
t为卷积层层数,n表示输出通道数,c表示输入通道数,k表示卷积核的大小,卷积核的维度为n*c*k*k,h、w表示输入特征图的维度,stride表示卷积层的滑动步数,params表示第t层的参数量,reduce表示先前层减去的参数量,at-1表示先前层的剪枝率。通过以上信息帮助智能体识别卷积层的具体信息。
个体动作A:由于将个体动作直接设为剪掉的通道数,对不同卷积层来说需要剪掉的通道数不尽相同,可能会使搜索范围具有局限性。并且离散化的个体动作将不会受顺序影响。例如,当卷积层t剪掉10%的通道后剪枝效果最佳,与剪掉30%的通道相比剪掉20%的损失将会更小。因此,本发明使用连续的动作空间作为剪枝率,at∈(0,1)。
激励R:强化学习通过R来评价动作的优劣。在通信网现场维护中对模型精度要求较高,并且在本发明中通道剪枝为压缩第一步,后续压缩操作仍会导致模型精度下降,因此在剪枝过程中本发明将同时考虑精度和模型尺寸。本发明采用的奖励R的计算方式如公式(4)所示,其中第一部分代表模型的准确率,第二部分代表模型复杂度,在保障通信网维护模型精度的前提下让模型的体积达到更小。
R=Accuracy*Complexity (4)
第一项Accuracy的计算公式如(5)所示,它保证了模型精度损失不超过b。其中Δacc为初始模型和剪枝后模型的精度差值,b为一个超参数,用于保障模型的精度。当Δacc较小时,奖励则越大,然而当Δacc大于b时,最后Accuracy的贡献将为反比。通过这一项的约束,可以保障通信网现场维护下的模型的精度。
第二项Complexity的计算公式如(6)所示。其中ηparams为剪枝后与剪枝前的参数量比值,其范围在0到1之间。这里的params代表模型的尺寸,表示模型的大小。在Complexity的计算中,log(ηparams)为负数,因此对其取反,鼓励模型去除更多的通道降低模型的冗余,压缩模型的尺寸,使其更适用于通信网智能终端。
Complexity=-log(ηparams) (6)
基于以上,本发明使用深度确定性策略梯度(Deep Deterministic PolicyGradient,DDPG)方法进行各层剪枝比例的确定。在DDPG中,参与者负责输出动作,基于概率选择行为,评价者会基于参与者的行为评判行为的得分,参与者根据评价者的评分修改选行为的概率。在DDPG中引入DQN的设计思路,参与者和评价者都可分为两个网络,主网络和目标网络。主网络负责输出决策,目标网络负责训练目标值。目标网络的参数采用软更新,在每次更新时,只使用主网络参数更新一小部分参数,更易于训练的收敛。图3为基于DDPG的通道剪枝框架图。
DDPG为基于确定性策略,因此不用考虑转移概率P,DDPG将DQN中的随机策略πθ(s,a)=P(a|s,θ)≈π(a|s)改写为公式(7)。
πθ(s)=a (7)
同时,为增加一些随机性,DDPG会对动作增加一定的噪声,因此和环境交互的动作A可以表达为:
A=πθ(s)+N (8)
由于在DDPG中,参与者和评价者都包含主网络和目标网络,评价者网络的损失函数采用均方差的形式。
参与者当前网络的损失函数为:
由于参与者网络的损失函数非常复杂,因此将损失函数简化为:
在更新完现实网络参数后,DDPG将会通过软更新的方式对目标网络进行参数更新,具体方式如下:
w′←τW+(1-τ)w′ (12)
θ′←τθ+(1-τ)θ′ (13)
最终,经过迭代得到最佳剪枝策略。具体算法如算法1所示。
二、层剪枝
在经过通道剪枝后的模型已达到了较好的压缩效果,但是当冗余的参数主要分布在网络的深层时,通道剪枝效果不能达到最优。因此,在通道剪枝基础上,本发明对压缩后的模型进行了层剪枝,从宽度和深度分别进行模型的压缩。
YOLOv3模型的骨干网络中存在residual结构。如图4左侧所示,residual结构包含shortcut模块,每个shortcut模块包含一个1×1卷积核和一个3×3卷积核。但当剪掉shortcut中一个卷积层将会破坏residual结构,网络将无法正常运行。因此,本发明将residual结构视为一个整体,当需要层剪枝时,将整个结构剪掉。层剪枝过程如图4所示。另外,由于在residual结构中,1×1卷积可实现降维,从而减少参数量,但其特征提取的作用较小,因此在设计层剪枝策略时,本发明仅通过3×3卷积核的尺度因子判断是否需要剪掉整个结构。
三、自适应聚类的模型量化
剪枝后的模型中包含大量的零值和部分非零权值。但此时非零的权值均为浮点类型,比特位数仍然存在冗余,所以剪枝后的模型尺寸仍然较大,无法直接部署在通信网智能终端设备中。因此,本发明将继续对剪枝后模型剩余的权重参数进行聚类,使得同一簇共用相同的权值,从而减少存储权重所需空间。为优化聚类结果,本发明提出一种自适应聚类模型压缩算法,结合改进的BIRCH算法和K-meansII算法进行两阶段的聚类,解决了单阶段聚类需要先验知识以及聚类中心的选择问题,达到了节约存储空间的目的。
首先,用改进的BIRCH聚类快速自动获取聚类的个数,再通过K-meansII合理获取初始化质心,结合两种算法的优点完成聚类,具体流程如图5所示。
为寻找最佳聚类合并路径,有效减少聚类个数,提高聚类精度,本发明提出改进的BIRCH算法获取聚类个数,具体步骤如下:
步骤1:得到第一个数据点,创建一个新的叶子节点。
步骤2:得到一个新数据点,遍历CF树各叶子节点,计算新数据点与各叶子节点中CF节点的距离,选取与新数据点距离最近的CF节点,并计算新数据点加入该CF节点后的半径是否满足阈值T,若满足阈值,合并新数据点,转到步骤4;若不满足,找到除第一次合并外距离最近的CF节点进行合并,若满足阈值,合并新数据点,转到步骤4;否则,新数据点单独作为一个CF节点。
步骤3:在插入新CF节点后,如果CF树中有节点CF数大于L,则将当前节点进行分裂,创建一个新的节点作为当前叶子节点的兄弟节点,选择旧节点中距离最远的两个CF元组作为分裂后的两个新节点的初始CF节点,并根据距离远近将剩余CF元组分配到两个新的节点中。依次向上检查父节点是否需要分裂。
步骤4:更新路径上所有节点CF值,如果已遍历完所有数据,结束;否则,则转到步骤2。
在通过改进的BIRCH算法得到聚类个数k之后,要进行聚类中心的选取。为避免初始点随机选取的影响,本发明使用K-meansII方法,K-meansII具体的执行过程如下所示:
步骤3:分配聚类权重。对C中每一个成员分配聚类权重wc,这个权重值为距离成员对象ci最近的点的个数。
步骤4:根据权重选取k个聚类中心,重新聚类,得到k个簇。
为了评估本发明提出的通信网现场维护的模型压缩方法的性能,采用中国电力线路绝缘子数据集进行仿真实验。在模型训练过程中,使用的基础模型为Yolov3模型,模型的学习率为0.001,batch-size为32,共训练300轮。本发明采用平均精度均值(mean AveragePrecision,mAP)值来评价模型的准确率,采用模型存储所需空间评价模型尺寸,单位为MB,采用单张图片模型推理时间来评价模型的检测速度。最终,经过基础训练后,模型的平均精度均值为89.2%,模型尺寸为226.8MB。
本发明首先对基础模型进行通道剪枝。在基于深度强化学习的通道剪枝实验中,参与者网络和评价者网络隐藏层有64个神经元,目标网络参数更新幅度τ为0.01,在训练中学习率为0.001,每次采样的批量样本个数为64。本发明基于以上参数进行训练,图6(a)通道剪枝前后骨干网络通道数对比图,图6(b)通道剪枝前后除骨干网络外通道数对比图,可以看出在通道剪枝过程中,深层卷积层移除的通道数要大于浅层卷积层,在通信网现场维护场景下使用的模型浅层的特征比深层更加重要。因此,在通道剪枝之后,本发明需考虑对模型进一步进行层剪枝,对模型的深度进行进一步剪枝。
本发明将基于DDPG的通道剪枝结果与不使用深度强化学习的通道剪枝方法进行对比,结果如表1所示。由于在通信网现场维护场景下,需保证模型的识别率较高,因此本发明将精度损失值定为3%。在总剪枝率相同的情形下,本发明提出的基于DDPG的通道剪枝算法压缩效果更优。最终,基于DDPG的通道剪枝算法在保证模型精度只损失1.9%的情况下,模型尺寸可以达到61.2MB,且运行速度提升了将近两倍。在通道剪枝过程中,普通的通道剪枝算法根据所有通道尺度因子进行排序确定阈值,但该方法在全模型范围内进行排序剪枝。当所有层使用同一阈值时,冗余性较高的层经过剪枝后依旧存在冗余,而冗余性较低的层则会剪掉重要的通道。而本发明提出的算法使用DDPG方法对每一个卷积层设计剪枝率,以模型尺寸和模型精度作为奖励值不断迭代,最大限度降低了模型的冗余。
表1不同剪枝方法对比
模型 | mAP/% | 模型尺寸/MB | 平均检测速度/ms |
原始模型 | 89.2 | 226.8 | 147 |
基于DDPG的通道剪枝 | 87.3 | 61.2 | 76 |
通道剪枝 | 85.9 | 65.7 | 81 |
在结束了通道剪枝后,为了确定最优直连层的剪枝层数,本发明对不同剪枝层数下的模型性能进行研究,包括模型的精度和模型的尺寸。结果如图7所示,随着剪枝层数的增加,模型的精度和尺寸逐渐降低。当剪掉层数为1、2、3、4、5时,mAP值下降均在2%以内,综合考虑模型压缩比以及mAP值,最终选择裁剪掉5层直连层,即总共剪掉模型的10层卷积层。最终,准确率下降了1.9%,但模型存储空间减少了约30%。在确定了剪枝率以及剪枝层数之后,最终模型的准确率达到85.4%,体积达到44MB,平均检测速度达到52ms,后续将对模型进行量化,完成模型压缩。
最后,对于经过通道剪枝和层剪枝的模型进行层聚类,每层的聚类比特数如图8所示。将本发明的聚类结果与使用统一比特数的结果进行对比,聚类的结果如表2所示,对于这两种聚类方法而言,本发明提出的方法mAP值只是稍有下降,而使用统一比特数的方法mAP值下降9.2%,差距较大。由于通信网现场维护模型各层权重参数分布差距较大,使用统一比特数将导致模型精度下降较多。而如图8所示,本发明提出的自适应聚类的算法可以根据层内权重分布判断不同层使用的比特位数,将不同层的压缩效果最大化,且对模型精度影响较小。另外,本发明算法与其他算法相比,不需要进行多次迭代,时间耗费较少。因此,本发明提出的自适应聚类方法在只损失少量模型精度的前提下,有效降低了模型参数的表征冗余,将模型体积压缩了4.7倍,且有效节省了模型量化所需时间。
表2不同聚类方法对比
算法 | mAP/% | mAP差值/% | 平均比特数 | 压缩比 | 是否迭代 |
本发明算法 | 84.9 | -0.5 | 6.6 | 4.7 | 否 |
统一比特数 | 76.2 | -9.2 | 5 | 6.3 | 是 |
结合上述剪枝和聚类的结果,本发明提出的算法最终可以达到的压缩比为24倍,平均检测速度达到52ms,准确率只减少了4.3%,比采用单一的模型压缩方法效果更为显著。因此,本发明设计的基于剪枝和量化的模型压缩算法同时保障了通信网现场维护模型的性能与尺寸,更有效地降低了模型的冗余,节省了存储空间,更适用于通信网现场维护场景。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种适用于通信网现场维护的模型压缩方法,其特征在于,使用基于深度强化学习的模型剪枝算法和自适应聚类的模型量化算法对模型进行压缩;其中,所述的基于深度强化学习的模型剪枝算法,以通信网现场维护模型性能作为需求约束,首先使用深度确定性策略梯度的深度强化学习算法对模型各层的压缩比进行控制,实现自动的通道剪枝,然后在此基础上进行层剪枝,从宽度和深度分别进行模型的压缩;所述的自适应聚类的模型量化算法,对剪枝后模型剩余的权重参数进行聚类,使得同一簇共用相同的权值,并使用改进的BIRCH算法自动获取聚类的个数,再通过K-meansII算法获取初始化质心,结合两种算法完成聚类。
2.根据权利要求1所述的适用于通信网现场维护的模型压缩方法,其特征在于,在通道剪枝的过程中,首先在训练时对待剪枝模型的BN层的尺度因子施加L1正则化,在训练网络的同时得到稀疏化的尺度因子,并裁掉低于指定阈值的通道。
4.根据权利要求3所述的适用于通信网现场维护的模型压缩方法,其特征在于,通道剪枝具体流程为:首先,使用公式(2)对模型进行稀疏训练,获取各个通道的尺度因子,并根据尺度因子大小进行排序,根据阈值或比例将尺度因子较小的通道进行裁剪,并进行微调,不断迭代直到达到剪枝要求。
5.根据权利要求1所述的适用于通信网现场维护的模型压缩方法,其特征在于,基于深度强化学习的模型通过模型的训练确定各层的剪枝率,具体过程为:
首先,对模型通道剪枝问题抽象出深度强化学习中的环境状态S、个体动作A和环境奖励R;
环境状态S:对每个卷积层,使用10个参数对状态进行描述:
St=(t,n,c,w,strode,k,params,params_reduce,at-1) (3)
t为卷积层层数,n表示输出通道数,c表示输入通道数,k表示卷积核的大小,卷积核的维度为n*c*k*k,h、w表示输入特征图的维度,stride表示卷积层的滑动步数,params表示第t层的参数量,reduce表示先前层减去的参数量,at-1表示先前层的剪枝率;
个体动作A:使用连续的动作空间作为剪枝率,at∈(0,1);
激励R:采用的奖励R的计算方式如公式(4)所示:
R=Accuracy*Complexity (4)
其中,第一项Accuracy代表模型的准确率,第二项Complexity代表模型复杂度;
第一项Accuracy的计算公式如(5)所示:
其中Δacc为初始模型和剪枝后模型的精度差值,b为一个超参数,用于保障模型的精度;
第二项Complexity的计算公式如(6)所示:
Complexity=-log(ηparams) (6)
其中ηparams为剪枝后与剪枝前的参数量比值,其范围在0到1之间;params代表模型的尺寸,表示模型的大小;
使用深度确定性策略梯度方法进行各层剪枝比例的确定,将DQN中的随机策略πθ(s,a)=P(a|s,θ)≈π(a|s)改写为公式(7):
πθ(s)=a (7)
和环境交互的动作A表达为:
A=πθ(s)+N (8)
评价者网络的损失函数采用均方差的形式。
参与者当前网络的损失函数为:
通过软更新的方式对目标网络进行参数更新,具体方式如下:
w′←τw+(1-τ)w′ (12)
θ′←τθ+(1-τ)θ′ (13)
最终,经过迭代得到最佳剪枝策略。
6.根据权利要求1所述的适用于通信网现场维护的模型压缩方法,其特征在于,层剪枝过程中通过3×3卷积核的尺度因子判断是否需要剪掉整个residual结构。
7.根据权利要求1所述的适用于通信网现场维护的模型压缩方法,其特征在于,使用改进的BIRCH算法自动获取聚类的个数的步骤如下:
步骤1:得到第一个数据点,创建一个新的叶子节点;
步骤2:得到一个新数据点,遍历CF树各叶子节点,计算新数据点与各叶子节点中CF节点的距离,选取与新数据点距离最近的CF节点,并计算新数据点加入该CF节点后的半径是否满足阈值T,若满足阈值,合并新数据点,转到步骤4;若不满足,找到除第一次合并外距离最近的CF节点进行合并,若满足阈值,合并新数据点,转到步骤4;否则,新数据点单独作为一个CF节点;
步骤3:在插入新CF节点后,如果CF树中有节点CF数大于L,则将当前节点进行分裂,创建一个新的节点作为当前叶子节点的兄弟节点,选择旧节点中距离最远的两个CF元组作为分裂后的两个新节点的初始CF节点,并根据距离远近将剩余CF元组分配到两个新的节点中,依次向上检查父节点是否需要分裂;
步骤4:更新路径上所有节点CF值,如果已遍历完所有数据,结束;否则,则转到步骤2。
8.根据权利要求1所述的适用于通信网现场维护的模型压缩方法,其特征在于,通过K-meansII方法获取初始化质心的步骤如下:
其中D(xi)为对象xi到聚类中心c0的最短欧式距离;
步骤3、分配聚类权重:对C中每一个成员分配聚类权重wc,这个权重值为距离成员对象ci最近的点的个数;
步骤4、根据权重选取k个聚类中心,重新聚类,得到k个簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210414566.3A CN114819143A (zh) | 2022-04-15 | 2022-04-15 | 一种适用于通信网现场维护的模型压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210414566.3A CN114819143A (zh) | 2022-04-15 | 2022-04-15 | 一种适用于通信网现场维护的模型压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114819143A true CN114819143A (zh) | 2022-07-29 |
Family
ID=82505743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210414566.3A Pending CN114819143A (zh) | 2022-04-15 | 2022-04-15 | 一种适用于通信网现场维护的模型压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114819143A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115049058A (zh) * | 2022-08-17 | 2022-09-13 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN116476042A (zh) * | 2022-12-31 | 2023-07-25 | 中国科学院长春光学精密机械与物理研究所 | 基于深度强化学习的机械臂运动学逆解优化方法及装置 |
CN117456170A (zh) * | 2023-12-22 | 2024-01-26 | 苏州镁伽科技有限公司 | 目标检测方法和装置、电子设备以及存储介质 |
-
2022
- 2022-04-15 CN CN202210414566.3A patent/CN114819143A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115049058A (zh) * | 2022-08-17 | 2022-09-13 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN115049058B (zh) * | 2022-08-17 | 2023-01-20 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN116476042A (zh) * | 2022-12-31 | 2023-07-25 | 中国科学院长春光学精密机械与物理研究所 | 基于深度强化学习的机械臂运动学逆解优化方法及装置 |
CN116476042B (zh) * | 2022-12-31 | 2024-01-12 | 中国科学院长春光学精密机械与物理研究所 | 基于深度强化学习的机械臂运动学逆解优化方法及装置 |
CN117456170A (zh) * | 2023-12-22 | 2024-01-26 | 苏州镁伽科技有限公司 | 目标检测方法和装置、电子设备以及存储介质 |
CN117456170B (zh) * | 2023-12-22 | 2024-03-19 | 苏州镁伽科技有限公司 | 目标检测方法和装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10510003B1 (en) | Stochastic gradient boosting for deep neural networks | |
US10832123B2 (en) | Compression of deep neural networks with proper use of mask | |
US10762426B2 (en) | Multi-iteration compression for deep neural networks | |
CN114819143A (zh) | 一种适用于通信网现场维护的模型压缩方法 | |
CN113326731B (zh) | 一种基于动量网络指导的跨域行人重识别方法 | |
CN107729999A (zh) | 考虑矩阵相关性的深度神经网络压缩方法 | |
CN113486078B (zh) | 一种分布式配电网运行监控方法及系统 | |
CN114022693B (zh) | 一种基于双重自监督的单细胞RNA-seq数据聚类方法 | |
EP4350572A1 (en) | Method, apparatus and system for generating neural network model, devices, medium and program product | |
CN112183742B (zh) | 基于渐进式量化和Hessian信息的神经网络混合量化方法 | |
CN112766496B (zh) | 基于强化学习的深度学习模型安全性保障压缩方法与装置 | |
CN116523079A (zh) | 一种基于强化学习联邦学习优化方法及系统 | |
CN112686376A (zh) | 一种基于时序图神经网络的节点表示方法及增量学习方法 | |
CN113722980A (zh) | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 | |
CN113537365A (zh) | 一种基于信息熵动态赋权的多任务学习自适应平衡方法 | |
CN115862319A (zh) | 一种面向时空图自编码器的交通流量预测方法 | |
CN117056785A (zh) | 基于自适应模型扰动的联邦学习分类模型训练方法 | |
Kozat et al. | Universal switching linear least squares prediction | |
CN113505210B (zh) | 一种基于轻量化Actor-Critic生成式对抗网络的医疗问答生成系统 | |
CN117034060A (zh) | 基于ae-rcnn的洪水分级智能预报方法 | |
Peter et al. | Resource-efficient dnns for keyword spotting using neural architecture search and quantization | |
CN116486150A (zh) | 一种基于不确定性感知的图像分类模型回归误差消减方法 | |
CN115906959A (zh) | 基于de-bp算法的神经网络模型的参数训练方法 | |
CN115577797A (zh) | 一种基于本地噪声感知的联邦学习优化方法及系统 | |
CN115131605A (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 |