CN114282666A - 基于局部稀疏约束的结构化剪枝方法和装置 - Google Patents
基于局部稀疏约束的结构化剪枝方法和装置 Download PDFInfo
- Publication number
- CN114282666A CN114282666A CN202111475019.8A CN202111475019A CN114282666A CN 114282666 A CN114282666 A CN 114282666A CN 202111475019 A CN202111475019 A CN 202111475019A CN 114282666 A CN114282666 A CN 114282666A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- sparse
- pruning
- 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.)
- 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
-
- 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)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于局部稀疏约束的结构化剪枝方法和装置。其中方法包括:基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。本发明可以保证结构化剪枝得到的神经网络模型相比于现有剪枝方法得到的神经网络模型拥有更好的表现。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于局部稀疏约束的结构化剪枝方法和装置。
背景技术
随着计算机技术的发展,各类深度学习技术在计算机视觉以及自然语言处理等领域被广泛应用。虽然深度神经网络模型在任务处理上具有优越的表现,但是因其参数量大、算力与存储成本需求较高等特点,使得很难被部署到终端设备上。模型剪枝技术的出现为解决这一问题提供了有效的方法。所谓模型剪枝,一般是使用一个较大的神经网络模型对大量数据进行拟合训练,训练完毕后通过去掉不重要的权重或者通道,使神经网络模型在保留优越表现的同时,降低神经网络模型的参数量,加速神经网络模型的前向传播。而模型剪枝中的结构化剪枝,以卷积核为粒度进行裁剪,剪枝后的神经网络模型保持了常规的卷积网络结构,不需要特定推理库和硬件支持就可以进行部署和前向推理。
目前常用的结构化剪枝方法,是在剪枝前先对神经网络模型进行L1正则化稀疏化训练,再将被稀疏掉的通道对应的参数和网络连接从神经网络模型中去掉,最后微调剪枝后的神经网络模型来恢复精度。这种方法通过L1正则化稀疏化训练将神经网络模型约束到稀疏状态,可以减小剪枝操作对神经网络模型表现的影响。
然而,这种常用的结构化剪枝方法在实际使用中仍然存在以下问题:L1正则化使神经网络模型变得稀疏,但也会对被保留的通道产生约束,常用的结构化剪枝方法的稀疏化训练会限制被保留的通道的表达能力,从而影响剪枝后神经网络模型的收敛,进而影响剪枝后神经网络模型的精度。
发明内容
本发明提供一种基于局部稀疏约束的结构化剪枝方法和装置,用以解决现有技术稀疏化训练会限制被保留的通道的表达能力,从而影响剪枝后神经网络模型的收敛的缺陷,通过对稀疏化训练的作用范围进行限制,可以保证结构化剪枝得到的神经网络模型的收敛性。
第一方面,本发明提供一种基于局部稀疏约束的结构化剪枝方法,包括:
基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
根据本发明提供的基于局部稀疏约束的结构化剪枝方法,所述基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型,包括:
获取所述预先设置的掩码;其中,所述掩码是基于所述剪枝率和所述神经网络模型的层数以及每层的输出通道数预先设置;
基于所获取的掩码,对所述稀疏化训练的目标函数中的L1正则化项进行修改;
基于修改后的目标函数,通过所述样本数据集对所述神经网络模型进行稀疏化训练,得到所述权值稀疏的神经网络模型。
根据本发明提供的基于局部稀疏约束的结构化剪枝方法,所述掩码为由0和1组成一组向量,每个所述向量与所述神经网络模型的一层对应,每个所述向量包含的元素数量为所述神经网络模型对应层的输出通道数,每个所述向量包含的0和1的数量由所述剪枝率和所述神经网络模型对应层的输出通道数确定。
根据本发明提供的基于局部稀疏约束的结构化剪枝方法,若以1表示输出通道受到L1正则化项的约束,每个所述向量中1的数量根据所述剪枝率与所述神经网络模型对应层的输出通道数的乘积确定;若以0表示输出通道不受到L1正则化项的约束,每个所述向量中0的数量根据所述神经网络模型对应层的输出通道数与所述向量中1的数量的差值确定;
所述基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理,包括:
对所述权值稀疏的神经网络模型每层的每个输出通道,判断在所述掩码中对应所述输出通道的取值是否为1;
若在所述掩码中对应所述输出通道的取值为1,将所述输出通道对应的参数和网络连接从所述权值稀疏的神经网络模型中移除。
根据本发明提供的基于局部稀疏约束的结构化剪枝方法,所述稀疏化训练的目标函数还包括预训练目标函数项,所述神经网络模型是通过所述预训练得到。
根据本发明提供的基于局部稀疏约束的结构化剪枝方法,所述基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型之前,包括:
通过所述样本数据集对初始化神经网络模型进行所述预训练,得到所述神经网络模型。
第二方面,本发明还提供一种基于局部稀疏约束的结构化剪枝装置,包括:
稀疏化训练模块,用于基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
剪枝处理模块,用于基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
微调训练模块,用于通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于局部稀疏约束的结构化剪枝方法的步骤。
第四方面,发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于局部稀疏约束的结构化剪枝方法的步骤。
第五方面,发明还提供一种计算机程序产品,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于局部稀疏约束的结构化剪枝方法的步骤。
本发明提供的基于局部稀疏约束的结构化剪枝方法和装置,通过掩码的设置,在对神经网络模型进行结构化剪枝时,可以使稀疏化训练只对剪枝处理需要移除的通道进行,不对剪枝处理不需要移除的通道不进行稀疏化训练,对稀疏化训练的作用范围进行限制,可以使稀疏化训练不会对剪枝处理保留的通道的表达能力进行限制,从而使结构化剪枝不会对神经网络模型的收敛造成影响,可以保证结构化剪枝得到的神经网络模型的收敛性,进而保证结构化剪枝得到的神经网络模型的精度,使结构化剪枝得到的神经网络模型相比于现有剪枝方法得到的神经网络模型拥有更好的表现。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于局部稀疏约束的结构化剪枝方法的流程示意图;
图2是本发明提供的对神经网络模型进行限制作用范围的稀疏化训练的流程示意图;
图3是本发明提供的对权值稀疏的神经网络模型进行剪枝处理的流程示意图;
图4是本发明提供的另一基于局部稀疏约束的结构化剪枝方法的流程示意图;
图5是本发明提供的基于局部稀疏约束的结构化剪枝方法的一应用场景的示意图;
图6是本发明提供的基于局部稀疏约束的结构化剪枝装置的组成结构示意图;
图7是本发明提供的电子设备的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图5描述本发明的基于局部稀疏约束的结构化剪枝方法。
请参阅图1,图1是本发明提供的基于局部稀疏约束的结构化剪枝方法的流程示意图,图1所示的基于局部稀疏约束的结构化剪枝方法可以由基于局部稀疏约束的结构化剪枝装置执行,基于局部稀疏约束的结构化剪枝装置可以设置于客户端或者服务器,例如,客户端可以为智能手机、笔记型计算机、车载计算机、机器人、可穿戴设备等,服务器可以为包含独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,本发明实施例对此不作限定。如图1所示,该基于局部稀疏约束的结构化剪枝方法至少包括:
101,基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,掩码是基于剪枝率预先设置,用于指定神经网络模型中进行稀疏化训练的通道。
在本发明实施例中,进行局部稀疏约束的结构化剪枝的神经网络模型可以为用于进行计算机视觉处理的神经网络模型,或者也可以为用于进行自然语言处理的神经网络模型,等,明实施例对进行局部稀疏约束的结构化剪枝的神经网络模型的应用领域不作限定。进行局部稀疏约束的结构化剪枝的神经网络模型可以为对神经网络模型进行常规训练后得到的神经网络模型,例如,神经网络模型可以为卷积神经网络(Convolutional NeuralNetworks,简称CNN)、深度神经网络(Deep Neural Networks,简称DNN)、循环神经网络(Recurrent Neural Network,简称RNN)等,本发明实施例对进行局部稀疏约束的结构化剪枝的神经网络模型的类型不作限定。样本数据集根据神经网络模型的应用场景可以为图像数据集,或者也可以为文本数据集,或者还可以为语音数据集,等,本发明实施例对样本数据集的类型不作限定。样本数据集可以采用现有的数据集,或者也可以通过对样本数据的收集获得,本发明实施对样本数据集的获取方式不作限定。
在本发明实施例中,在对神经网络模型进行局部稀疏约束的结构化剪枝之前,可以根据对神经网络模型的剪枝率预先设置掩码,通过掩码来指定神经网络模型中进行稀疏化训练的通道或者卷积核,在根据掩码对神经网络模型进行稀疏化训练时,可以使稀疏化训练只对神经网络模型中掩码所指定的通道或者卷积核进行,而对神经网络模型中掩码未指定的通道或者卷积核不进行稀疏化训练。
在本发明实施例中,剪枝率可以是全局剪枝率,或者也可以是针对神经网络模型的每一层分别设置的剪枝率,本发明实施例对此不作限定。掩码可以是由0和1组成的一串二进制代码,对于神经网络模型中的每一层可以分别设置一串二进制代码,二进制代码中的每一位分别对应于神经网络模型中的一个卷积核或者输出通道,可以通过掩码与神经网络模型中的卷积核进行运算,实现对神经网络模型中输出通道的选择。通过样本数据集对神经网络模型进行稀疏化训练的方法,可以采用现有的稀疏化训练方法来实现,例如有监督的L1正则化的稀疏化训练方法,本发明实施例对此不作限定。
102,基于预先设置的掩码,对权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理。
在本发明实施例中,在通过稀疏化训练得到权值稀疏的神经网络模型之后,可以根据预先设置的掩码,对权值稀疏的神经网络模型进行剪枝处理,将神经网络模型中掩码所指定的通道或者卷积核对应的参数从权值稀疏的神经网络模型中移除,同时将该通道的网络连接,即该通道对应的神经网络模型中下一层的输入通道的参数,从权值稀疏的神经网络模型中移除;将神经网络模型中掩码未指定的通道或者卷积核对应的参数,保留于权值稀疏的神经网络模型中。
103,通过样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
在本发明实施例中,在对权值稀疏的神经网络模型进行剪枝处理之后,通过样本数据集对剪枝处理得到的神经网络模型进行微调训练,恢复剪枝处理得到的神经网络模型的精度,得到轻量化的、规模较小的目标神将网络模型。其中,通过样本数据集对剪枝处理得到的神经网络模型进行微调训练的方法,可以采用现有的微调训练方法来实现,例如有监督的微调训练方法,本发明实施例对此不作限定。
本发明实施例提供的基于局部稀疏约束的结构化剪枝方法,通过掩码的设置,在对神经网络模型进行结构化剪枝时,可以使稀疏化训练只对剪枝处理需要移除的通道进行,不对剪枝处理不需要移除的通道不进行稀疏化训练,对稀疏化训练的作用范围进行限制,可以使稀疏化训练不会对剪枝处理保留的通道的表达能力进行限制,从而使结构化剪枝不会对神经网络模型的收敛造成影响,可以保证结构化剪枝得到的神经网络模型的收敛性,进而保证结构化剪枝得到的神经网络模型的精度,使结构化剪枝得到的神经网络模型相比于现有剪枝方法得到的神经网络模型拥有更好的表现。
请参阅图2,图2是本发明提供的对神经网络模型进行限制作用范围的稀疏化训练的流程示意图,如图2所示,基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型至少包括:
201,获取预先设置的掩码;其中,掩码是基于剪枝率和神经网络模型的层数以及每层的输出通道数预先设置。
在本发明实施例中,可以根据神经网络模型的剪枝率、需要进行结构化剪枝的神经网络模型的层数和每层的输出通道数,预先设置神经网络模型的掩码。可选地,掩码可以为由0和1组成一组向量,每个向量与神经网络模型的一层对应,每个向量包含的元素数量为神经网络模型对应层的输出通道数,每个向量包含的0和1的数量可以由剪枝率和神经网络模型对应层的输出通道数确定。本发明实施例对掩码的实现形式不作限定。
例如,如果给定的神经网络模型的剪枝率为α%,需要进行结构化剪枝的神经网络模型的卷积核参数集W为W={W1,W2,…,WL},其中,L为正整数,为深神经网络模型的层数,Wl为第l层的卷积核参数,l为正整数、l=1,2,…,L;ol为第l层的输入通道数,nl为第l层的输出通道数,kl为卷积核的大小,则掩码M对应于神经网络模型第l层的向量为Ml,其长度为nl;Ml可以是由个1与个0组成,即Ml={1,1..,0,..0}。
202,基于所获取的掩码,对稀疏化训练的目标函数中的L1正则化项进行修改。
在本发明实施例中,采用L1正则化的稀疏化训练方法对神经网络模型进行稀疏化训练,在获取预先设置的掩码之后,可以利用所获取的掩码对稀疏化训练的目标函数中的L1正则化项进行修改。
在一些可选的例子中,若以1表示输出通道受到L1正则化项的约束,每个向量中1的数量根据剪枝率与神经网络模型对应层的输出通道数的乘积确定;若以0表示输出通道不受到L1正则化项的约束,每个向量中0的数量根据神经网络模型对应层的输出通道数与该向量中1的数量的差值确定。
在另一些可选的例子中,若以0表示输出通道受到L1正则化项的约束,每个向量中0的数量根据剪枝率与神经网络模型对应层的输出通道数的乘积确定;若以1表示输出通道不受到L1正则化项的约束,每个向量中1的数量根据神经网络模型对应层的输出通道数与该向量中0的数量的差值确定。
例如,修改后的稀疏化训练的目标函数为Loss=losspretrain+Lasso(W)’,其中,losspretrain为预训练目标函数项,通过在对神经网络模型进行结构化剪枝之前,对神经网络模型进行预训练得到;Lasso(W)’为修改后的L1正则化项,即限制作用范围的Lasso约束函数,λ为稀疏因子,掩码的取值为0或者1,当取值为0时表示第l层的第i个输出通道不会受到Lasso约束,当取值为1时表示第l层的第i个输出通道会受到Lasso约束。
203,基于修改后的目标函数,通过样本数据集对神经网络模型进行稀疏化训练,得到权值稀疏的神经网络模型。
在本发明实施例中,在通过掩码对稀疏化训练的目标函数中的L1正则化项进行修改之后,可以根据修改后的目标函数,通过样本数据集对神经网络模型中的卷积核进行输出通道维度的L1稀疏化训练,利用掩码来限制L1稀疏化训练的作用范围,使L1稀疏化训练只针对神经网络模型中需要移除的通道进行,对于神经网络模型中不需要移除的通道不进行L1稀疏化训练。例如,修改后的目标函数既包括L1正则化项也包括预训练目标函数项,在通过修改后的目标函数对神经网络模型进行训练时,对于神经网络模型中需要移除通道,L1正则化项和预训练目标函数项同时起作用,对于神经网络模型中不需要移除的通道,只有预训练目标函数项起作用。
请参阅图3,图3是本发明提供的对权值稀疏的神经网络模型进行剪枝处理的流程示意图,如图3所示,基于预先设置的掩码,对权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理至少包括:
301,对权值稀疏的神经网络模型每层的每个输出通道,判断在掩码中对应输出通道的取值是否为1。
若在掩码中对应输出通道的取值为1,则执行302;若在掩码中对应输出通道的取值为0,则不对权值稀疏的神经网络模型中输出通道对应的参数和网络连接进行操作。
302,将输出通道对应的参数和网络连接从权值稀疏的神经网络模型中移除。
在本发明实施例中,由于权值稀疏的神经网络模型是根据掩码对神经网络模型进行限制作用范围的稀疏化训练得到,因此,在对权值稀疏的神经网络模型进行剪枝处理时,可以根据权值稀疏的神经网络模型中每层的每个输出通道在掩码中的取值,确定从权值稀疏的神经网络模型中移除的输出通道的参数和网络连接。
在一些可选的例子中,对于权值稀疏的神经网络模型每层的每个输出通道,可以通过判断当前输出通道在掩码中对应的取值是否为1;若当前输出通道在掩码中对应的取值为1,则将当前输出通道对应的参数和网络连接从权值稀疏的神经网络模型中移除;若当前输出通道在掩码中对应的取值为0,则不对权值稀疏的神经网络模型中当前输出通道对应的参数和网络连接进行操作。
在另一些可选的例子中,对于权值稀疏的神经网络模型每层的每个输出通道,可以通过判断当前输出通道在掩码中对应的取值是否为0;若当前输出通道在掩码中对应的取值为0,则将当前输出通道对应的参数和网络连接从权值稀疏的神经网络模型中移除;若当前输出通道在掩码中对应的取值为1,则不对权值稀疏的神经网络模型中当前输出通道对应的参数和网络连接进行操作。
请参阅图4,图4是本发明提供的另一基于局部稀疏约束的结构化剪枝方法的流程示意图,如图4所示,该基于局部稀疏约束的结构化剪枝方法至少包括:
401,通过样本数据集对初始化神经网络模型进行预训练,得到神经网络模型。
在本发明实施例中,在对神经网络模型进行限制作用范围的稀疏化训练之前,还可以通过样本数据集对初始化神经网络模型进行预训练,以预训练得到的神经网络模型进行限制作用范围的稀疏化训练。其中,初始化神经网络模型为神经网络模型构建好后,设置了初始参数的神经网络模型。对初始化神经网络模型进行的预训练可以为常规的神经网络模型训练,例如有监督的训练,经过预训练得到的神经网络模型为一个收敛的神经网络模型。通过输入初始化神经网络模型,经过预训练、限制作用范围的稀疏化训练、剪枝处理和微调训练,可以输出一个轻量化的、规模较小的收敛到较好结果的神经网络模型。
402,基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,掩码是基于剪枝率预先设置,用于指定神经网络模型中进行稀疏化训练的通道。
在本发明实施例中,关于操作402的说明可以参见图1中关于操作101的说明,故此处不再复述。
403,基于预先设置的掩码,对权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理。
在本发明实施例中,关于操作403的说明可以参见图1中关于操作102的说明,故此处不再复述。
404,通过样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
在本发明实施例中,关于操作404的说明可以参见图1中关于操作103的说明,故此处不再复述。
请参阅图5,图5是本发明提供的基于局部稀疏约束的结构化剪枝方法的一应用场景的示意图,如图5所示,对于输入的深度神经网络模型,经过步骤1预训练、步骤2限制作用范围的稀疏化训练、步骤3剪枝处理和步骤4微调训练,可以输出轻量化的、规模较小的神经网络模型。下面对步骤1、步骤2、步骤3和步骤4进行具体说明。
步骤1:对于一个初始化的深度神经网络模型,通过图像数据集对初始化的深度神经网络模型进行预训练,得到一个收敛的深度神经网络模型。
步骤2:获取根据全局剪枝率针对深度神经网络模型中每层的每个输出通道设置的掩码M,修改稀疏化训练目标函数,根据修改后的目标函数,通过图像数据集对深度神经网络模型进行限制作用范围的L1正则化的稀疏化训练。在训练过程中,所有超参数与步骤1中完全一致,稀疏因子用于控制Lasso约束的强弱,一般调整为训练过程中权重参数的梯度数量级大小即可。
步骤3:使用掩码M对步骤2得到的权值稀疏的深度神经网络模型进行剪枝处理。当在掩码M中输出通道对应的取值为1时,将该输出通道对应的参数和网络连接全部从权值稀疏的深度神经网络模型中移除;当在掩码M中输出通道对应的取值为0时,不对该输出通道的参数和网络连接做任何操作。
步骤4:在获得剪枝后的神经网络模型后,通过图像数据集对所获得的神经网络模型进行微调训练。在训练过程中,除了将学习率需要调整为原来的百分之一以外,所有超参数与步骤1中完全一致。
分别采用本发明实施例提供的方法与目前最常用的直接剪枝方法L1-Norm和全局稀疏剪枝方法NetworkSlimming在公开的数据集ImageNet上,对ResNet-50神经网络模型进行剪枝,所得到的剪枝后神经网络模型的准确率和计算复杂度如表1所示,其中,准确率采用ACC计算(越高越好),计算复杂度采用FLOPS计算。
表1
从表1中可以看出,在FLOPS下降一致的情况下,采用本发明实施例提供的方法可以显著提升剪枝后模型的准确率。
下面对本发明提供的基于可形变划块的局部自注意力的图像处理装置进行描述,下文描述的基于可形变划块的局部自注意力的图像处理装置与上文描述的基于可形变划块的局部自注意力的图像处理方法可相互对应参照。
请参阅图6,图6是本发明提供的基于局部稀疏约束的结构化剪枝装置的组成结构示意图,图6所示的基于局部稀疏约束的结构化剪枝装置可用来执行图1的基于局部稀疏约束的结构化剪枝方法,如图6所示,该基于局部稀疏约束的结构化剪枝装置至少包括:
稀疏化训练模块610,用于基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,掩码是基于剪枝率预先设置,用于指定神经网络模型中进行稀疏化训练的通道。
剪枝处理模块620,用于基于预先设置的掩码,对权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理。
微调训练模块630,用于通过样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
可选地,稀疏化训练模块610,包括:
掩码获取单元,用于获取预先设置的掩码;其中,掩码是基于剪枝率和神经网络模型的层数以及每层的输出通道数预先设置。
目标函数修改单元,用于基于所获取的掩码,对稀疏化训练的目标函数中的L1正则化项进行修改。
稀疏化训练单元,用于基于修改后的目标函数,通过样本数据集对神经网络模型进行稀疏化训练,得到权值稀疏的神经网络模型。
可选地,掩码为由0和1组成一组向量,每个向量与神经网络模型的一层对应,每个向量包含的元素数量为神经网络模型对应层的输出通道数,每个向量包含的0和1的数量由剪枝率和神经网络模型对应层的输出通道数确定。
可选地,若以1表示输出通道受到L1正则化项的约束,每个向量中1的数量根据剪枝率与神经网络模型对应层的输出通道数的乘积确定;若以0表示输出通道不受到L1正则化项的约束,每个向量中0的数量根据神经网络模型对应层的输出通道数与向量中1的数量的差值确定;
剪枝处理模块620,包括:
掩码判断单元,用于对权值稀疏的神经网络模型每层的每个输出通道,判断在掩码中对应输出通道的取值是否为1;
剪枝处理单元,根据判断单元的判断结果,若在掩码中对应输出通道的取值为1,将输出通道对应的参数和网络连接从权值稀疏的神经网络模型中移除。
可选地,稀疏化训练的目标函数还包括预训练目标函数项,神经网络模型是通过预训练得到。
可选地,稀疏化训练模块610之前,包括:
预训练模块,用于通过样本数据集对初始化神经网络模型进行预训练,得到神经网络模型。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(CommunicationsInterface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于局部稀疏约束的结构化剪枝方法,该方法包括:
基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例提供的基于局部稀疏约束的结构化剪枝方法,该方法包括:
基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法实施例提供的基于局部稀疏约束的结构化剪枝方法,该方法包括:
基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于局部稀疏约束的结构化剪枝方法,其特征在于,包括:
基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
2.根据权利要求1所述的基于局部稀疏约束的结构化剪枝方法,其特征在于,所述基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型,包括:
获取所述预先设置的掩码;其中,所述掩码是基于所述剪枝率和所述神经网络模型的层数以及每层的输出通道数预先设置;
基于所获取的掩码,对所述稀疏化训练的目标函数中的L1正则化项进行修改;
基于修改后的目标函数,通过所述样本数据集对所述神经网络模型进行稀疏化训练,得到所述权值稀疏的神经网络模型。
3.根据权利要求2所述的基于局部稀疏约束的结构化剪枝方法,其特征在于,所述掩码为由0和1组成一组向量,每个所述向量与所述神经网络模型的一层对应,每个所述向量包含的元素数量为所述神经网络模型对应层的输出通道数,每个所述向量包含的0和1的数量由所述剪枝率和所述神经网络模型对应层的输出通道数确定。
4.根据权利要求3所述的基于局部稀疏约束的结构化剪枝方法,其特征在于,若以1表示输出通道受到L1正则化项的约束,每个所述向量中1的数量根据所述剪枝率与所述神经网络模型对应层的输出通道数的乘积确定;若以0表示输出通道不受到L1正则化项的约束,每个所述向量中0的数量根据所述神经网络模型对应层的输出通道数与所述向量中1的数量的差值确定;
所述基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理,包括:
对所述权值稀疏的神经网络模型每层的每个输出通道,判断在所述掩码中对应所述输出通道的取值是否为1;
若在所述掩码中对应所述输出通道的取值为1,将所述输出通道对应的参数和网络连接从所述权值稀疏的神经网络模型中移除。
5.根据权利要求1至4任一项所述的基于局部稀疏约束的结构化剪枝方法,其特征在于,所述稀疏化训练的目标函数还包括预训练目标函数项,所述神经网络模型是通过所述预训练得到。
6.根据权利要求5所述的基于局部稀疏约束的结构化剪枝方法,其特征在于,所述基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型之前,包括:
通过所述样本数据集对初始化神经网络模型进行所述预训练,得到所述神经网络模型。
7.一种基于局部稀疏约束的结构化剪枝装置,其特征在于,包括:
稀疏化训练模块,用于基于预先设置的掩码,通过样本数据集对神经网络模型进行限制作用范围的稀疏化训练,得到权值稀疏的神经网络模型;其中,所述掩码是基于剪枝率预先设置,用于指定所述神经网络模型中进行所述稀疏化训练的通道;
剪枝处理模块,用于基于所述预先设置的掩码,对所述权值稀疏的神经网络模型中输出通道的参数和网络连接进行剪枝处理;
微调训练模块,用于通过所述样本数据集对剪枝处理得到的神经网络模型进行微调训练,得到目标神将网络模型。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于局部稀疏约束的结构化剪枝方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于局部稀疏约束的结构化剪枝方法的步骤。
10.一种计算机程序产品,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于局部稀疏约束的结构化剪枝方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111475019.8A CN114282666A (zh) | 2021-12-03 | 2021-12-03 | 基于局部稀疏约束的结构化剪枝方法和装置 |
PCT/CN2022/133849 WO2023098544A1 (zh) | 2021-12-03 | 2022-11-24 | 基于局部稀疏约束的结构化剪枝方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111475019.8A CN114282666A (zh) | 2021-12-03 | 2021-12-03 | 基于局部稀疏约束的结构化剪枝方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282666A true CN114282666A (zh) | 2022-04-05 |
Family
ID=80870874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111475019.8A Pending CN114282666A (zh) | 2021-12-03 | 2021-12-03 | 基于局部稀疏约束的结构化剪枝方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114282666A (zh) |
WO (1) | WO2023098544A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829024A (zh) * | 2023-02-14 | 2023-03-21 | 山东浪潮科学研究院有限公司 | 一种模型训练方法、装置、设备及存储介质 |
WO2023098544A1 (zh) * | 2021-12-03 | 2023-06-08 | 中科视语(北京)科技有限公司 | 基于局部稀疏约束的结构化剪枝方法和装置 |
JP7546630B2 (ja) | 2022-04-27 | 2024-09-06 | 緯創資通股▲ふん▼有限公司 | ニューラルネットワークの最適化方法及びコンピュータシステム、並びにコンピュータ可読記憶媒体 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912637B (zh) * | 2023-09-13 | 2023-12-22 | 国网山东省电力公司济南供电公司 | 输变电缺陷识别的方法、装置、计算机设备和存储介质 |
CN116992945B (zh) * | 2023-09-27 | 2024-02-13 | 之江实验室 | 一种基于贪心策略反向通道剪枝的图像处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667068A (zh) * | 2020-06-02 | 2020-09-15 | 清华大学 | 一种基于掩码的深度图卷积神经网络模型剪枝方法与系统 |
CN111738435B (zh) * | 2020-06-22 | 2024-03-29 | 上海交通大学 | 一种基于移动设备的在线稀疏训练方法及系统 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN114282666A (zh) * | 2021-12-03 | 2022-04-05 | 中科视语(北京)科技有限公司 | 基于局部稀疏约束的结构化剪枝方法和装置 |
-
2021
- 2021-12-03 CN CN202111475019.8A patent/CN114282666A/zh active Pending
-
2022
- 2022-11-24 WO PCT/CN2022/133849 patent/WO2023098544A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023098544A1 (zh) * | 2021-12-03 | 2023-06-08 | 中科视语(北京)科技有限公司 | 基于局部稀疏约束的结构化剪枝方法和装置 |
JP7546630B2 (ja) | 2022-04-27 | 2024-09-06 | 緯創資通股▲ふん▼有限公司 | ニューラルネットワークの最適化方法及びコンピュータシステム、並びにコンピュータ可読記憶媒体 |
CN115829024A (zh) * | 2023-02-14 | 2023-03-21 | 山东浪潮科学研究院有限公司 | 一种模型训练方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023098544A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114282666A (zh) | 基于局部稀疏约束的结构化剪枝方法和装置 | |
US12020134B2 (en) | Debugging correctness issues in training machine learning models | |
US11568258B2 (en) | Operation method | |
US10521729B2 (en) | Neural architecture search for convolutional neural networks | |
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
US20180260709A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
CN108229679A (zh) | 卷积神经网络去冗余方法及装置、电子设备和存储介质 | |
WO2019232772A1 (en) | Systems and methods for content identification | |
CN111079899A (zh) | 神经网络模型压缩方法、系统、设备及介质 | |
US11775832B2 (en) | Device and method for artificial neural network operation | |
CN113222123B (zh) | 模型训练方法、装置、设备及计算机存储介质 | |
CN111178520A (zh) | 一种低计算能力处理设备的数据处理方法及装置 | |
JP6950756B2 (ja) | ニューラルネットワークのランク最適化装置および最適化方法 | |
JP2016218513A (ja) | ニューラルネットワーク及びそのためのコンピュータプログラム | |
CN110020718A (zh) | 基于变分推断的逐层神经网络剪枝方法和系统 | |
KR102505946B1 (ko) | 인공신경망 모델 학습 방법 및 시스템 | |
CN112101547A (zh) | 一种对网络模型的剪枝方法、装置、电子设备及存储介质 | |
CN116580223A (zh) | 数据处理及模型微调方法、装置、电子设备及存储介质 | |
CN113128664A (zh) | 神经网络压缩方法、装置、电子设备及存储介质 | |
CN117351299A (zh) | 图像生成及模型训练方法、装置、设备和存储介质 | |
CN113313246A (zh) | 用于确定模型压缩率的方法、设备和程序产品 | |
CN116128044A (zh) | 一种模型剪枝方法、图像处理方法及相关装置 | |
US20230326028A1 (en) | Utilizing machine learning models to generate refined depth maps with segmentation mask guidance | |
WO2022134946A1 (zh) | 模型训练方法、装置、存储介质及设备 | |
CN113298248B (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 |