CN116306808A - 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 - Google Patents
一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 Download PDFInfo
- Publication number
- CN116306808A CN116306808A CN202310147699.3A CN202310147699A CN116306808A CN 116306808 A CN116306808 A CN 116306808A CN 202310147699 A CN202310147699 A CN 202310147699A CN 116306808 A CN116306808 A CN 116306808A
- Authority
- CN
- China
- Prior art keywords
- convolution
- layer
- neural network
- model
- representing
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 91
- 238000013138 pruning Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000006835 compression Effects 0.000 title claims abstract description 27
- 238000007906 compression Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 66
- 239000011159 matrix material Substances 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000013139 quantization Methods 0.000 claims description 8
- 230000010354 integration Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013140 knowledge distillation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- 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
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置,所述方法包括:将训练样本集输入卷积神经网络得到卷积神经网络中各卷积层的输入特征和输出特征,计算每个卷积层各输入特征间的通道显著性相似度和各输出特征间的样本相似度并构建第一总损失函数,采用第一总损失函数对卷积神经网络迭代得到第一轻量化模型和多个第二轻量化模型,当第一轻量化模型的预测值未达到设定阈值,则将各第二轻量化模型的卷积层与第一轻量化模型卷积层的组合系数组合形成集成模型,并输出预测值。本发明能够根据不同的样本数据对模型进行自适应调整和剪枝,实现模型压缩,同时提高了模型效率。
Description
技术领域
本发明涉及卷积神经网络技术领域,尤其涉及一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置。
背景技术
模型压缩是卷积神经网络轻量化中最有价值和最有前途的研究方向之一,可以减少卷积神经网络模型的尺寸大小和模型推理时间,能够有效地解决卷积神经网络过度参数化的问题并且适用于不同的硬件设备。传统的模型压缩方法包括量化、剪枝和知识蒸馏等。现有的剪枝方法一部分得到的是一个适用于所有输入样本的静态网络,这种静态网络忽略了各种输入样本对模型大小的不同需求,不能自适应地减少冗余结构,另一部分得到的动态剪枝方法忽略了边缘集群场景中各种移动设备的协作作用以及不同输入样本之间的相似性。
发明内容
鉴于此,本发明实施例提供了一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置,以解决现有技术对模型剪枝时不能根据输入数据的多样性自适应调整和剪枝模型的冗余结构。
本发明的一个方面提供了一种联合动态剪枝和条件卷积的卷积神经网络压缩方法,该方法包括以下步骤:
获取多个相同的卷积神经网络;
获取训练样本集,所述训练样本集由多个带有标签的样本数据组成,将每个样本数据输入所述卷积神经网络得到所述卷积神经网络中各卷积层的输入特征,计算每个卷积层输入特征的通道显著性,将各输入特征中显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征以及各样本数据在所述卷积神经网络中的预测值;计算每个卷积层各输出特征间的样本相似度以及每个卷积层各输入特征的通道显著性间的通道显著性相似度,将各卷积层的所述样本相似度以及所述通道显著性相似度构建为相似性矩阵;将各样本数据的真实标签与各样本数据的预测值构建为第一交叉熵损失函数,联合所述第一交叉熵损失函数、所述相似性矩阵以及所述通道显著性相似度计算得到第一总损失函数;采用所述训练样本集依次对各卷积神经网络进行训练,并采用所述第一总损失函数对各卷积神经网络进行迭代得到一个第一轻量化模型和多个第二轻量化模型;各第二轻量化模型结构与所述第一轻量化模型结构相同;
将单个样本数据输入所述第一轻量化模型得到该样本数据的初始预测值和各卷积层的组合系数,若所述初始预测值达到设定阈值则输出为该样本数据的第一预测值,若所述初始预测值未达到设定阈值,则将所述第一轻量化模型中每个卷积层的组合系数与每个第二量化组员模型中相应卷积层的卷积核相乘并累加得到多个集成卷积层,各集成卷积层组合形成集成模型,所述集成模型输出所述样本数据的第二预测值;将所述第二预测值与所述样本数据的真实值构建为第二交叉熵损失函数,对各第二轻量化模型的参数进行L2正则化得到各第二轻量化模型的L2正则化函数,将所述第二交叉熵损失函数和各第二轻量化模型的L2正则化函数构建为第二总损失函数,采用所述第二总损失函数对所述集成模型更新迭代得到目标集成模型。
在一些实施例中,计算每个卷积层输入特征的通道显著性,包括,通道显著性的计算式为:
其中,πl(xi)表示第i个样本数据在第l层卷积层的输入特征通道显著性,表示将所有参数排列取其中的前ξl个参数的值,gl表示控制网络稀疏化的控制模块,Ol-1(xi)表示第i个样本数据在第l层卷积层的输入特征,xi表示第i个样本数据。
在一些实施例中,将显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征,包括,各卷积层输出特征的计算式为:
Ol(xi)=ReLU(Ol-1xi)⊙πl(xi)*Wl);
其中,xl(xi)表示第i个样本数据在第l层卷积层的输出特征,⊙表示将输入特征的每一个通道和通道显著性的每一个元素进行乘法操作,Wl表示第l层卷积层的权重,*表示卷积操作,ReLU(·)表示激活函数。
在一些实施例中,计算每个卷积层各输出特征间的样本相似度以及每个卷积层各输入特征的通道显著性间的通道显著性相似度,包括,所述样本相似度的计算式为:
所述通道显著性相似度的计算式为:
其中,表示所述样本相似度,/>表示所述通道显著性相似度,||·||2表示L2正则化函数,GAP(·)表示全局平均池化操作,Ol(xj)表第i个样本数据在第l层卷积层的输出特征,πl(xj)表示第i个样本数据在第l层卷积层的输入特征通道显著性,xi第i个样本数据,xj表示第j个样本数据。
在一些实施例中,将各卷积层的所述样本相似性以及所述通道显著性相似度构建为相似性矩阵,包括,相似性矩阵的计算式为:
其中,表示所述相似性矩阵,K表示有K个样本数据,||·||F表示费罗贝尼乌斯范数,θ代表所述卷积神经网络所有卷积层的权重参数,L表示所述卷积神经网络有L层卷积层,xi表示第i个样本数据,l表示第l层卷积层。
在一些实施例中,所述第一总损失函数的计算式为:
在一些实施例中,将所述第一轻量化模型中每个卷积层的组合系数与每个第二量化组员模型中相应卷积层的卷积核相乘并累加得到多个集成卷积层,包括,各集成卷积层的卷积核计算式为:
在一些实施例中,所述第二总损失函数计算式为:
另一方面,本发明还提供一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
本发明所述联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置,将训练样本集输入卷积神经网络得到卷积神经网络中各卷积层的输入特征和输出特征,计算每个卷积层各输入特征间的通道显著性相似度和各输出特征间的样本相似度并构建第一总损失函数,采用第一总损失函数对各卷积神经网络迭代得到的第一轻量化模型和多个第二轻量化模型,当第一轻量化模型的预测值未达到设定阈值,则将各第二轻量化模型的卷积层与第一轻量化模型卷积层的组合系数组合形成集成模型,并输出预测值。通过计算输入特征的通道显著性动态剪枝卷积神经网络,使得卷积神经网络可以根据不同的样本自适应地减少冗余结构,从而实现模型的压缩。
进一步地,将多个相同的卷积神经网络组合形成一个精度更高的集成模型,重新对预测值未达到阈值的样本进行预测并输出,提高了集成模型的预测精度。
进一步地,通过计算样本相似度和通道显著性相似度来构建相似性矩阵,样本相似度用来进一步衡量输入特征的通道显著性,避免了样本相似度过高造成的模型结构冗余问题,从而在不影响模型性能的前提下最大程度地精简模型结构。
进一步地,对各卷积神经网络进行动态剪枝,降低了第一轻量化模型、第二轻量化模型以及集成模型在训练以及应用时的计算时间和计算成本,提高了各模型的工作效率。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述联合动态剪枝和条件卷积的卷积神经网络压缩方法流程图。
图2为本发明一实施例所述联合动态剪枝和条件卷积的卷积神经网络压缩方法。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
卷积神经网络的快速发展为分布式机器学习提供了机会,使得人工智能在各种移动应用中发挥了关键作用,包括实时视频分析、实时语音翻译和目标检测等。然而,卷积神经网络通常是密集和过度参数化的,这就限制了卷积神经网络在资源有限的移动设备上的应用,因为卷积神经网络在训练期间需要较大的内存和较大的计算成本。因此,为移动设备设计高精度和轻量级的卷积神经网络尤为重要。
模型压缩是卷积神经网络轻量化中最重要的方式之一,可以减少卷积神经网络模型的尺寸大小和模型推理时间,能够有效地解决卷积神经网络占用内存大以及计算成本大的问题,并且适用于不用的硬件设备。传统的模型压缩方法包括量化、剪枝和知识蒸馏等。
剪枝是一种移除网络中性能良好但需要大量资源的多余部分的方法。已知的大部分卷积神经网络的参数以及结构是严重冗余的,剪枝方法通过删除一些贡献较小的神经元链接实现模型参数的化简,从而达到降低存储和加速计算的目的。根据剪除部分的不同,现有的剪枝方法可以划分为结构化剪枝和非结构化剪枝。非结构剪枝是对权重参数的剪枝,直接将大量权重参数置零从而获得稀疏化程度较高的模型,但是大多数框架和硬件无法加速这种稀疏矩阵计算,一旦没有硬件库或者计算库的支持,非结构化剪枝将无法体现出其价值;结构化剪枝则是一种粗粒度的剪枝方法,通过对卷积核或者通道进行剪枝而不是逐个对权重进行修剪,从整体结构上更利于数据的读取和运算。
然而现有的这些剪枝方法大部分得到的是一个适用于所有输入样本的静态网络,这种静态网络忽略了各种输入样本对模型大小的不同需求,不能自适应地减少冗余结构。为此,现有技术还提出了一种动态剪枝方法。但是现有的动态剪枝方法忽略了边缘集群场景中各种移动设备的协作推理以及不同输入样本之间的相似性,从而导致模型还是存在冗余结构,并且模型精度较低。其中边缘集群是指靠近边缘网络位置的,在物理上处于同一局域网下的多个设备所构成的设备群。因此,本发明提供一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置,以解决现有技术中模型压缩不能根据不同的样本自适应调整剪枝模型的冗余结构的问题。
本发明的一个方面提供了一种联合动态剪枝和条件卷积的卷积神经网络压缩方法,如图2所示,该方法包括步骤S101~S103:
S101:获取多个相同的卷积神经网络。
S102:获取训练样本集,训练样本集由多个带有标签的样本数据组成,将每个样本数据输入卷积神经网络得到卷积神经网络中各卷积层的输入特征,计算每个卷积层输入特征的通道显著性,将各输入特征中显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征以及各样本数据在卷积神经网络中的预测值;计算每个卷积层各输出特征间的样本相似度以及每个卷积层各输入特征的通道显著性间的通道显著性相似度,将各卷积层的样本相似度以及通道显著性相似度构建为相似性矩阵;将各样本数据的真实标签与各样本数据的预测值构建为第一交叉熵损失函数,联合第一交叉熵损失函数、相似性矩阵以及通道显著性相似度计算得到第一总损失函数,采用训练样本集依次对各卷积神经网络进行训练,并采用第一总损失函数对各卷积神经网络进行迭代得到一个第一轻量化模型和多个第二轻量化模型;各第二轻量化模型结构与第一轻量化模型结构相同。
S103:将单个样本数据输入第一轻量化模型得到该样本数据的初始预测值和各卷积层的组合系数,若初始预测值达到设定阈值则输出为该样本数据的第一预测值,若初始预测值未达到设定阈值,则将第一轻量化模型中每个卷积层的组合系数与每个第二量化组员模型中相应卷积层的卷积核相乘并累加得到多个集成卷积层,各集成卷积层组合形成集成模型,集成模型输出样本数据的第二预测值;将第二预测值与样本数据的真实值构建为第二交叉熵损失函数,对各第二轻量化模型的参数进行L2正则化得到各第二轻量化模型的L2正则化函数,将第二交叉熵损失函数和各第二轻量化模型的L2正则化函数构建为第二总损失函数,采用第二总损失函数对集成模型更新迭代得到目标集成模型。
在步骤S101中,采用pytorch或者tensorflow作为卷积神经网络进行训练得到第一轻量化模型、第二轻量化模型,各卷积神经网络结构相同,但结构的权重参数存在不同。各卷积神经网络都是集成在边缘集群场景中的设备上,如Raspberry Pi 3b上进行训练推理的,边缘集群是指靠近边缘网络位置的,在物理上处于同一局域网下的多个设备所构成的设备群。
在步骤S102中,将样本数据输入卷积神经网络,卷积神经网络的每一个卷积层都会生成一个对应的输入特征和一个输出特征。计算输入通道的显著性是为了衡量输入特征的每个组成部分的重要性,将重要性小于设定值的部分对应的通道置零,即将重要性小于设定值的通道剪枝掉。卷积神经网络中对通道进行剪枝即为对卷积层中的卷积核参数进行移除,所以对通道进行剪枝也是对模型进行剪枝。计算样本相似度以及通道显著性相似度是为了避免不同的样本数据相似度过高导致的不能最大化剪除卷积神经网络冗余结构的问题,从而不能更好地精简卷积神经网络。计算样本相似度可以更进一步地衡量每个通道的显著性,使得更精确地剪枝冗余结构。其中,计算样本相似度是计算卷积神经网络中同一卷积层的任意两个输出特征间样本相似度,通道显著性相似度是计算卷积神经网络中同一卷积层的任意两个输入特征通道显著性间的通道显著性相似度。最后通过总损失函数对各卷积神经网络迭代更新得到第一轻量化模型和多个第二轻量化模型。
在一些实施例中,对卷积神经网络剪枝前,将样本数据输入卷积神经网络得到各卷积层的输出特征,包括,输出特征的计算式为:
在一些实施例中,设计一个控制模块gl来控制卷积神经网络的稀疏化,并根据上一卷积层的输出特征来决定神经网络通道的显著性,将显著性较小的通道将作为冗余参数被剪除,计算每个卷积层输入特征的通道显著性,包括,通道显著性的计算式为:
其中,πl(xi)表示第i个样本数据在第l层卷积层的输入特征通道显著性,表示将所有参数排列取其中的前ξl个参数的值,gl表示控制网络稀疏化的控制模块,Ol-1(xi)表示第i个样本数据在第l层卷积层的输入特征,xi表示第i个样本数据。
在本实施例中,将输入特征通道显著性小于设定值的通道置0,即将相应通道剪除,相当于减少了输入特征中的参数,输入特征减少了那么输入特征输入卷积层后卷积层中的参与特征提取的卷积核参数就相应减少,因此对输入特征通道剪枝相当于对卷积核参数移除,从而实现卷积神经网络结构的精简。
在一些实施例中,将显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征,包括,各卷积层输出特征的计算式为:
Ol(xi)=ReLU(Ol-1(xi)⊙πl(xi)*Wl);
其中,Ol(xi)表示第i个样本数据在第l层卷积层的输出特征,⊙表示将输入特征的每一个通道和通道显著性的每一个元素进行乘法操作,Wl表示第l层卷积层的权重,*表示卷积操作,ReLU(·)表示激活函数。
在一些实施例中,计算每个卷积层各输出特征间的样本相似度以及每个卷积层各输入特征的通道显著性间的通道显著性相似度,包括,样本相似度的计算式为:
通道显著性相似度的计算式为:
其中,表示样本相似度,/>表示通道显著性相似度,||·||2表示L2正则化函数,GAP(·)表示全局平均池化操作,Ol(xj)表第i个样本数据在第l层卷积层的输出特征,πl(xj)表示第i个样本数据在第l层卷积层的输入特征通道显著性,xi第i个样本数据,xj表示第j个样本数据。
在另一些实施例中,为了挖掘不同样本数据间的相似性,将中间特征作为样本数据的有效代表,从而计算同一卷积层任意两个输出特征间的样本相似度。中间特征指卷积神经网络任一卷积层的输出特征。
在一些实施例中,将各卷积层的样本相似性以及通道显著性相似度构建为相似性矩阵,包括,相似性矩阵的计算式为:
在一些实施例中,第一总损失函数的计算式为:
采用第一总损失函数对预设卷积神经网络迭代更新得到第一轻量化模型,将训练样本集输入第一轻量化模型后得到各样本数据的预测值以及与样本数据对应的各卷积层的组合系数,每输入一个样本数据就会得到一个预测值以及每个卷积层的组合系数。
进一步地,各卷积层组合系数的计算式为:
αl=φ(FC(GAP(Ol-1(xi))));
其中,αl表示组合系数,FC(·)表示全连接层操作,GAP(·)表示全局平均池化操作,Ol-1(xi)表示第i个样本数据在第l层卷积层的输入特征,φ(·)表示激活公式。
在步骤S103中,考虑到边缘集群设备间的协同作用,同时为了提高模型的精度,当第一轻量化模型的初始预测值不符合阈值时,将其余设备卷积神经网络训练得到的第二轻量化模型组合成集成模型,以对初始预测值不满足阈值的数据进行处理,使得输出预测精度更高的预测值。由于各第二轻量化模型和第一轻量化模型结构相同,因此将第一轻量化模型各卷积层的组合系数与各第二轻量化模型相应卷积层的卷积核相乘累加得到集成模型中各集成卷积层的卷积核。
在一些实施例中,将第一轻量化模型中每个卷积层的组合系数与每个第二量化组员模型中相应卷积层的卷积核相乘并累加得到多个集成卷积层,包括,各集成卷积层的卷积核计算式为:
其中,表示第l个集成卷积层的卷积核,/>代表第n个第二轻量化模型的第l层卷积层的组合系数,N表示一共N个第二轻量化模型。采用条件卷积技术,将第二轻量化模型的卷积核参数化后结合,以建立一个低延迟、高容量的集成模型。
在一些实施例中,第二总损失函数计算式为:
其中,表示第二总损失,/>表示第二交叉熵损失函数,/>表示第二轻量化模型,/>表示第n个第二轻量化模型的第l层卷积层的卷积核,/>表示所述集成模型的所有权重参数。采用L2正则器对所有第二轻量化模型中的向量参数进行L2正则化,以避免对第二轻量化模型训练时的过拟合问题。目标集成模型输出的样本预测值具有更高的精度。
进一步地,边缘集群中的任一设备的卷积神经网络经过训练可以作为第一轻量化模型,其余设备的卷积神经网络集成形成目标集成模型。
下面结合一具体实施例进行说明:
本发明提供一种联合动态剪枝和条件卷积的卷积神经网络压缩方法,如图1所示,包括:
(1)生成轻量化模型
在生成轻量化模型的过程中,本发明根据输入样本对卷积神经网络进行动态修剪,目的是大大降低复杂模型的计算成本,使其轻量化。给定一组包含K个输入样本的输入数据集:
其中,xi是第i个输入样本,yi是该样本对应的标签。假设搭载在设备上的神经网络模型有L层,那么第l层的输出特征可以表示为:
Ol(xi)=φ(Ol-1(xi)*Wl);
其中,Ol-1(xi)表示为第l层的输入特征,即上一层的输出特征,Wl是第l层的权重,*表示卷积操作,φ(·)表示激活公式。
本发明设计一个控制模块gl来控制网络的稀疏化,并根据上一层的特征来决定神经网络通道的显著性,显著性较小的通道将作为冗余参数被剪除,通道显著性的公式表示为:
其中,是一个“赢家通吃”函数,意味着将所有参数排列取其中的前ξl个参数的值。这代表着πl(xi)只对最重要的(显著性最突出的)前ξl个通道进行修剪。利用这种修剪方法,神经网络第l层的输出特征可以进一步表示为:
Ol(xi)=ReLU(Ol-1(xi)⊙πl(xi))*Wl);
其中,⊙表示神经网络输入特征的每一个通道和显著性函数的每一个元素进行乘法操作。
进一步地,为了挖掘不同输入样本之间的相似性,本发明令神经网络的中间特征Ol(xi)作为输入样本的有效代表,通过中间特征和通道显著性两个因素来构建相似性矩阵,从而描述不同样本之间的相似性。样本相似性可以表示为:
其中,||·||2表示l2正则化函数。GAP(·)表示全局平均池化操作,通过全局平均池化来将中间特征扁平化为一个向量。
对于通道显著性的相似度,我们表示为:
最终构建的相似性矩阵为:
其中,γ是相似性矩阵的权重系数,控制着相似性对于整体模型的影响,是分类任务的交叉熵损失。系数λ控制网络的稀疏程度,数值越大,神经网络越密集。本发明所提的参数γ和λ,以及预测阈值都是通过实验手动设置的。利用损失函数可以经训练得到一个轻量化模型/>该模型输入一个样本xi得到的初始预测结果为:
αl=φ(FC(GAP(Ol-1(xi))));
其中,FC(·)表示全连接层操作。
(2)模型集成
本发明所提边缘集群场景中的所有设备都配备了相同结构的模型,但模型参数不同。通过结合具有不同权重的卷积核,可以合成一个集成模型。受条件卷积技术的启发,我们将模型的卷积核参数化为不同特殊知识的线性混合,以建立一个低延迟、高容量的模型。
综上所述,本发明的生成集合模型的损失函数为:
那么,输入一个数据样本xi所得到的最终预测结果为:
综上所述,本发明所述联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置,将训练样本集输入卷积神经网络得到卷积神经网络中各卷积层的输入特征和输出特征,计算每个卷积层各输入特征间的通道显著性相似度和各输出特征间的样本相似度并构建第一总损失函数,采用第一总损失函数对各卷积神经网络迭代得到的第一轻量化模型和多个第二轻量化模型,当第一轻量化模型的预测值未达到设定阈值,则将各第二轻量化模型的卷积层与第一轻量化模型卷积层的组合系数组合形成集成模型,并输出预测值。通过计算输入特征的通道显著性动态剪枝卷积神经网络,使得卷积神经网络可以根据不同的样本自适应地减少冗余结构,从而实现模型的压缩。
进一步地,将多个相同的卷积神经网络组合形成一个精度更高的集成模型,重新对预测值未达到阈值的样本进行预测并输出,提高了集成模型的预测精度。
进一步地,通过计算样本相似度和通道显著性相似度来构建相似性矩阵,样本相似度用来进一步衡量输入特征的通道显著性,避免了样本相似度过高造成的模型结构冗余问题,从而在不影响模型性能的前提下最大程度地精简模型结构。
进一步地,对各卷积神经网络进行动态剪枝,降低了第一轻量化模型、第二轻量化模型以及集成模型在训练以及应用时的计算时间和计算成本,提高了各模型的工作效率。
与上述方法相应地,本发明还提供了一种装置,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种联合动态剪枝和条件卷积的卷积神经网络压缩方法,其特征在于,该方法包括以下步骤:
获取多个相同的卷积神经网络;
获取训练样本集,所述训练样本集由多个带有标签的样本数据组成,将每个样本数据输入所述卷积神经网络得到所述卷积神经网络中各卷积层的输入特征,计算每个卷积层输入特征的通道显著性,将各输入特征中显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征以及各样本数据在所述卷积神经网络中的预测值;计算每个卷积层各输出特征间的样本相似度以及每个卷积层各输入特征的通道显著性间的通道显著性相似度,将各卷积层的所述样本相似度以及所述通道显著性相似度构建为相似性矩阵;将各样本数据的真实标签与各样本数据的预测值构建为第一交叉熵损失函数,联合所述第一交叉熵损失函数、所述相似性矩阵以及所述通道显著性相似度计算得到第一总损失函数,采用所述训练样本集依次对各卷积神经网络进行训练,并采用所述第一总损失函数对各卷积神经网络进行迭代得到一个第一轻量化模型和多个第二轻量化模型;各第二轻量化模型结构与所述第一轻量化模型结构相同;
将单个样本数据输入所述第一轻量化模型得到该样本数据的初始预测值和各卷积层的组合系数,若所述初始预测值达到设定阈值则输出为该样本数据的第一预测值,若所述初始预测值未达到设定阈值,则将所述第一轻量化模型中每个卷积层的组合系数与每个第二量化组员模型中相应卷积层的卷积核相乘并累加得到多个集成卷积层,各集成卷积层组合形成集成模型,所述集成模型输出所述样本数据的第二预测值;将所述第二预测值与所述样本数据的真实值构建为第二交叉熵损失函数,对各第二轻量化模型的参数进行L2正则化得到各第二轻量化模型的L2正则化函数,将所述第二交叉熵损失函数和各第二轻量化模型的L2正则化函数构建为第二总损失函数,采用所述第二总损失函数对所述集成模型更新迭代得到目标集成模型。
3.根据权利要求2所述的联合动态剪枝和条件卷积的卷积神经网络压缩方法,其特征在于,将显著性小于设定值的通道剪除后输入相应的卷积层,得到各卷积层的输出特征,包括,各卷积层输出特征的计算式为:
Ol(xi)=ReLU(Ol-1(xi)⊙πl(xi))*Wl);
其中,Ol(xi)表示第i个样本数据在第l层卷积层的输出特征,⊙表示将输入特征的每一个通道和通道显著性的每一个元素进行乘法操作,Wl表示第l层卷积层的权重,*表示卷积操作,ReLU(·)表示激活函数。
9.一种联合动态剪枝和条件卷积的卷积神经网络压缩装置,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310147699.3A CN116306808A (zh) | 2023-02-20 | 2023-02-20 | 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310147699.3A CN116306808A (zh) | 2023-02-20 | 2023-02-20 | 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116306808A true CN116306808A (zh) | 2023-06-23 |
Family
ID=86812417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310147699.3A Pending CN116306808A (zh) | 2023-02-20 | 2023-02-20 | 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306808A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502698A (zh) * | 2023-06-29 | 2023-07-28 | 中国人民解放军国防科技大学 | 网络通道剪枝率自适应调整方法、装置、设备和存储介质 |
-
2023
- 2023-02-20 CN CN202310147699.3A patent/CN116306808A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502698A (zh) * | 2023-06-29 | 2023-07-28 | 中国人民解放军国防科技大学 | 网络通道剪枝率自适应调整方法、装置、设备和存储介质 |
CN116502698B (zh) * | 2023-06-29 | 2023-08-29 | 中国人民解放军国防科技大学 | 网络通道剪枝率自适应调整方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Compressing neural networks using the variational information bottleneck | |
Xu et al. | Ternary compression for communication-efficient federated learning | |
Habib et al. | Optimization and acceleration of convolutional neural networks: A survey | |
KR20200060301A (ko) | 처리방법 및 장치 | |
Zhou et al. | Efficient neural network training via forward and backward propagation sparsification | |
CN112529165B (zh) | 深度神经网络剪枝方法、装置、终端及存储介质 | |
CN113657421B (zh) | 卷积神经网络压缩方法和装置、图像分类方法和装置 | |
CN113255910A (zh) | 卷积神经网络的剪枝方法、装置、电子设备和存储介质 | |
CN111507985A (zh) | 图像实例分割优化处理方法、装置和计算机设备 | |
Xie et al. | Energy efficiency enhancement for cnn-based deep mobile sensing | |
CN116306808A (zh) | 一种联合动态剪枝和条件卷积的卷积神经网络压缩方法及装置 | |
Pietron et al. | Retrain or not retrain?-efficient pruning methods of deep cnn networks | |
CN110874627A (zh) | 数据处理方法、数据处理装置及计算机可读介质 | |
CN116401552A (zh) | 一种分类模型的训练方法及相关装置 | |
Joseph et al. | A programmable approach to model compression | |
Li et al. | Filter pruning via probabilistic model-based optimization for accelerating deep convolutional neural networks | |
WO2022227024A1 (zh) | 神经网络模型的运算方法、训练方法及装置 | |
Li et al. | An accelerating convolutional neural networks via a 2D entropy based-adaptive filter search method for image recognition | |
CN114360520A (zh) | 语音分类模型的训练方法、装置、设备及存储介质 | |
CN112734025B (zh) | 基于固定基正则化的神经网络参数稀疏化方法 | |
Guo et al. | Dynamic neural network structure: A review for its theories and applications | |
Kokhazadeh et al. | A Design space exploration methodology for enabling tensor train decomposition in edge devices | |
Sakr et al. | Memory-efficient CMSIS-NN with replacement strategy | |
CN114638823B (zh) | 基于注意力机制序列模型的全切片图像分类方法及装置 | |
CN116301914A (zh) | 基于gap8微处理器的卷积神经网络部署方法 |
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 |