CN112396181A - 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 - Google Patents
一种卷积神经网络通用压缩架构的自动剪枝方法及平台 Download PDFInfo
- Publication number
- CN112396181A CN112396181A CN202011633174.3A CN202011633174A CN112396181A CN 112396181 A CN112396181 A CN 112396181A CN 202011633174 A CN202011633174 A CN 202011633174A CN 112396181 A CN112396181 A CN 112396181A
- Authority
- CN
- China
- Prior art keywords
- pruning
- network
- channel
- model
- cell
- 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/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
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种卷积神经网络通用压缩架构的自动剪枝方法及平台。该方法首先随机对输入模型的卷积模块进行通道宽度采样,生成通道剪枝编码向量;然后设计剪枝细胞网络,将通道剪枝编码向量输入该细胞网络,输出用于构建剪枝网络模型的权重矩阵,并生成对应的剪枝结构模型,联合训练剪枝细胞网络和生成的剪枝网络模型,更新该剪枝细胞网络;最后利用训练过的剪枝网络生成的权重搜索性能最优的剪枝网络,而且搜索时不需要任何微调。用户通过训练目标网络的单个剪枝网络,可以在几乎不需要人工参与的情况下搜索不同约束条件下的各种剪枝网络,加快搜索高性能神经网络结构的速度。
Description
技术领域
本发明属于神经网络模型压缩领域,尤其涉及一种卷积神经网络通用压缩架构的自动剪枝方法及平台。
背景技术
大规模深度卷积神经网络模型在图像识别、目标检测等任务上都取得了优异的性能,然而,将具有海量参数的预训练模型部署到内存有限的设备中仍然面临巨大挑战。在模型压缩领域,已有的神经网络量化压缩方法将浮点型权重量化为低比特权重(例如,8位或1位)来减小模型大小。但是由于量化误差的引入,使得神经网络的训练非常困难。相比之下,通道剪枝方法通过直接移除冗余通道来减小模型大小并加速推理,使得快速推理几乎不需要额外的工作。而且通道剪枝之后,量化起来也更加容易,模型会更加紧凑。
已有的通道剪枝方法主要是数据驱动的稀疏约束或人工设计的剪枝策略;考虑到通常一个卷积神经网络具有非常多的卷积单元模块,每个模块的通道宽度通常随着网络的加深逐层增大,所以,卷积通道可能的裁剪方式有上亿种情况,由于受计算资源等限制,人工设计所有可能的剪枝结构并且寻找最优结构几乎不可能。
发明内容
本发明的目的在于针对现有技术的不足,提供一种卷积神经网络通用压缩架构的自动剪枝方法及平台。
本发明的目的是通过以下技术方案实现的:一种卷积神经网络通用压缩架构的自动剪枝方法,包括以下步骤:
步骤1:构建通道剪枝编码向量:采用随机结构抽样方法对用户输入的卷积神经网络模型的所有卷积网络模块进行通道宽度采样,生成通道剪枝编码向量;
步骤2:训练元学习的通道剪枝网络:设计剪枝细胞网络,将步骤1生成的通道剪枝编码向量输入剪枝细胞网络,剪枝细胞网络的输出用于构建剪枝网络模型的权重矩阵,并生成对应的剪枝网络模型;利用训练数据联合训练剪枝细胞网络和对应的剪枝网络模型,同时更新剪枝细胞网络;
步骤3:基于进化算法的搜索最优剪枝网络模型:将多个满足特定约束的通道剪枝编码向量输入步骤2更新后的剪枝细胞网络,输出权重矩阵,生成多个对应的剪枝网络模型;评估每个剪枝网络模型的精度;采用进化算法搜索其中满足特定约束且精度最高的剪枝网络模型,得到卷积神经网络的通用压缩架构。
进一步地,所述通道剪枝编码向量具体为:通道剪枝编码向量中每个元素对应一个卷积网络模块的通道宽度,对每个卷积网络模块的通道宽度进行随机采样,生成通道剪枝编码向量,通过通道剪枝编码向量将用户输入的卷积神经网络模型和剪枝模型建立一对一的映射关系,通道剪枝编码向量用于生成对应的剪枝网络模型。
进一步地,在训练阶段,通过在每次迭代中随机选择每层通道的通道宽度来生成通道剪枝编码向量;通过输入不同的通道剪枝编码向量,生成对应的权值矩阵,并构造不同的剪枝网络模型;通过随机生成不同的编码向量,剪枝细胞网络学习预测不同剪枝网络模型的权值。
进一步地,所述剪枝细胞网络具体为:剪枝细胞网络由两个全连接层组成,输入为通道剪枝编码向量,输出为用于生成剪枝网络模型的权重矩阵。
进一步地,所述步骤2中,包括以下子步骤:
步骤(2.1):将通道剪枝编码向量输入剪枝细胞网络并输出权重矩阵;
步骤(2.2):基于剪枝细胞网络输出的权重矩阵构建剪枝网络模型;
步骤(2.3):联合训练剪枝细胞网络和剪枝网络模型:将训练数据输入步骤(2.2)生成的剪枝网络模型进行模型训练,同时更新剪枝细胞网络。
进一步地,所述步骤(2.3)具体为:前向传播阶段,将通道剪枝编码向量输入剪枝细胞网络,生成权值矩阵;与此同时,利用剪枝细胞网络生成的权值矩阵构建与当前输入的通道剪枝编码向量对应的剪枝网络模型;调整剪枝细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝网络模型的输入的形状一致。
进一步地,所述步骤(2.3)具体为:反向传播阶段,不是更新剪枝网络模型的权重矩阵,而是计算剪枝细胞网络中权重的梯度;由于剪枝细胞网络的输出和剪枝网络模型的输出之间的reshape操作和卷积运算都是可微的,因此采用链式法则计算剪枝网络模型中权重的梯度,从而端到端训练剪枝细胞网络。
进一步地,所述步骤3包括以下子步骤:
步骤(3.1):将通道剪枝编码向量定义为剪枝网络模型的基因,随机选取满足特定约束的一系列基因作为初始种群;
步骤(3.2):评估现有种群中各个基因对应的剪枝网络模型的精度,选取精度较高的前k个基因;
步骤(3.3):利用步骤(3.2)选取的精度较高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中;
步骤(3.4):重复迭代的步骤(3.2)~(3.3),选择现有种群中前k个精度较高的基因并生成新基因,迭代次数达到设定轮次后,最终获得满足特定约束并且精度最高的剪枝网络模型。
进一步地,所述步骤(3.3)中,基因变异是指通过随机改变基因里一部分元素值;基因重组是指随机地将两个父辈的基因的元素进行重组;剔除不满足特定约束的新基因。
一种基于上述卷积神经网络通用压缩架构的自动剪枝方法的平台,包括以下组件:
数据加载组件:用于获取卷积神经网络的训练数据,所述训练数据是满足监督学习任务的有标签的样本;
自动压缩组件:用于将卷积神经网络模型自动压缩,包括剪枝向量编码模块、剪枝网络生成模块、剪枝细胞网络和剪枝网络联合训练模块、剪枝网络搜索模块和特定任务微调模块;
剪枝向量编码模块是采用随机结构抽样方法对用户输入的神经网络模型的所有卷积网络模块进行通道宽度采样,生成通道剪枝编码向量;前向传播过程中,将通道剪枝编码向量输入剪枝细胞网络,生成对应结构的剪枝网络和剪枝细胞网络的权重矩阵;
剪枝网络生成模块是基于剪枝细胞网络构建与当前输入的通道剪枝编码向量对应的剪枝网络,调整剪枝细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝结构的输入输出的编码器单元数目一致;
剪枝细胞网络和剪枝网络联合训练模块是端到端地训练剪枝细胞网络,具体地,将简单随机采样的通道剪枝编码向量和一个小批次的训练数据输入剪枝网络;更新剪枝结构的权重和剪枝细胞网络的权重矩阵;
剪枝网络搜索模块是为了搜索出满足特定约束条件的最高精度的剪枝网络,提出采用进化算法搜索满足特定约束条件的最高精度的剪枝网络;将通道剪枝编码向量输入训练好的剪枝细胞网络,生成对应剪枝网络的权重,在验证集上对剪枝网络进行评估,获得对应剪枝网络的精度;在元学习剪枝网络中采用的进化搜索算法中,每个剪枝网络的结构是由简单随机采样的通道剪枝编码向量生成的,所以将通道剪枝编码向量定义为剪枝网络的基因;在满足特定约束条件下,首先选取一系列通道剪枝编码向量作为剪枝网络的基因,通过在验证集上评估获得对应剪枝网络的精度;然后,选取精度较高的前k个基因,采用基因重组和变异生成新的基因;通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因;
特定任务微调模块是在所述自动压缩组件生成的剪枝网络上针对特定任务进行微调网络,利用剪枝网络的特征层和输出层对特定任务场景进行微调,输出最终微调好的压缩模型,即登陆用户需求的卷积神经网络模型的压缩模型;将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型性能对比信息;
推理组件:登陆用户从所述平台获取卷积神经网络的压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的特定任务的新数据进行推理;并在所述平台的压缩模型推理页面呈现压缩前后推理模型性能对比信息。
本发明的有益效果是:首先,本发明研究基于元学习的通道剪枝生成多种卷积神经网络的通用压缩架构;其次,在已训练好的元学习网络基础上,通过进化算法搜索最优压缩结构,由此得到与任务无关的预训练卷积神经网络模型的最优通用压缩架构。利用本发明所述的面向多任务的预训练卷积神经网络模型自动压缩平台,可以压缩生成面向多任务的预训练卷积神经网络模型的通用架构,充分利用已压缩好的模型架构提高特定任务的压缩效率,并且可将大规模图像处理模型部署在内存小、资源受限等端侧设备,推动了通用深度卷积神经网络模型在工业界的落地进程。
附图说明
图1是本发明压缩方法结合特定任务的整体架构图;
图2是元学习的剪枝网络的训练流程图;
图3是剪枝细胞网络和剪枝网络联合训练过程图;
图4是基于进化算法的剪枝网络搜索架构图。
具体实施方式
受神经网络架构搜索的启发,尤其是在少样本的情况下,自动机器学习能够基于一个反馈回路以迭代方式进行自动模型压缩。本发明研究基于元学习的通道剪枝生成多种预训练卷积神经网络模型的通用压缩架构。具体地,本发明首先构建一种基于简单随机采样生成的通道剪枝编码向量,在不同卷积通道上剪枝大模型的网络结构。设计一种剪枝细胞网络的元网络,利用该剪枝细胞网络生成与当前输入的编码向量对应的剪枝网络模型。每轮迭代时,利用简单随机采样产生各层卷积模块的通道宽度,组成对应的编码向量。通过改变输入剪枝细胞网络的编码向量和小批次的训练数据,联合训练剪枝细胞网络和对应的剪枝结构,可以学得能够为不同剪枝结构生成权重的剪枝细胞网络。同时,在已训练好的元学习网络基础上,通过进化算法搜索最优压缩结构,由此得到与任务无关的预训练卷积神经网络模型的最优通用压缩架构。本发明解决少样本数据下卷积神经网络模型压缩过程中过拟合学习和压缩模型泛化能力低的问题,深入地探索大规模深度神经网络模型在少样本条件下的图像处理的可行性和关键技术,提高压缩模型面向多种特定任务使用过程中的灵活性和有效性。与已有的剪枝方法相比,元学习的通道剪枝能够把人力彻底从繁琐的超参数调优中解放出来,同时允许利用多种目标度量方法直接优化压缩模型。与其它自动机器学习方法相比,元学习的通道剪枝能够很容易地在搜索所需压缩结构时实施条件约束,无需像强化学习一样需要手动调整网络的超参数。本发明压缩方法的应用技术路线如图1所示,基于图像处理的数据集,研究基于元学习的通道剪枝以及基于进化算法的剪枝网络自动搜索,通过元学习的通道剪枝将面向多任务的大规模预训练卷积神经网络模型自动压缩生成满足不同硬约束条件(如浮点数运算次数)且与任务无关的通用架构;使用该通用架构时,在元学习的剪枝网络的基础上微调特定任务网络,输入特定任务的数据集,仅微调特定任务,节省计算成本,提高效率。
本发明一种卷积神经网络通用压缩架构的自动剪枝方法,整个过程分为三个步骤:第一步是构建基于简单随机采样的通道剪枝编码向量;第二步是训练元学习的剪枝网络;第三步是基于进化算法搜索最优压缩结构;具体为:
第一步:构建基于简单随机采样的通道剪枝编码向量。采用简单随机采样方法对卷积神经网络模型的所有卷积网络的单元模块进行通道采样,生成一个通道采样向量,即通道剪枝编码向量。
具体地,通道剪枝编码向量中每个元素对应一个卷积网络模块的通道宽度,对每个卷积网络模块的通道进行随机采样,生成通道剪枝编码向量,通过通道剪枝编码向量将用户输入的卷积神经网络模型和剪枝模型建立一对一的映射关系,根据通道剪枝编码向量生成对应的剪枝网络结构。
在训练阶段,通过在每次迭代中随机选择每层通道的通道宽度来生成通道剪枝编码向量。通过输入不同的网络编码向量,构造不同的剪枝网络结构,并生成对应的权值。通过随机生成不同的编码向量,剪枝细胞网络学习预测不同剪枝网络的权值。
第二步:训练元学习的剪枝网络,如图2所示。定义剪枝细胞网络,将通道剪枝编码向量作为输入,输出用于构建剪枝网络的权重矩阵,并生成对应的剪枝网络模型;采用批数据集训练生成的剪枝结构并更新剪枝结构从而更新细胞网络;最终输出迭代更新后剪枝细胞网络输出的权重。
定义剪枝细胞网络:剪枝细胞网络是一个元网络,由两个全连接层组成;输入为第一阶段构建的通道剪枝编码向量,输出为用于生成剪枝网络模型的权重矩阵。
训练剪枝细胞网络:包括以下子步骤:
步骤一:前向传播过程中,将通道剪枝编码向量输入剪枝细胞网络并输出权重矩阵。
步骤二:如图3所示,基于剪枝细胞网络构建剪枝网络模型的过程为:
根据第一阶段构建的通道剪枝编码向量,其中每一个元素c i 对应第i层卷积单元模块的卷积通道宽度,对用户输入的原网络的每个卷积层进行通道采样,生成通道剪枝编码向量,即每个通道采样为c i 的元素经过剪枝细胞网络生成压缩模型对应的第i层卷积单元模块以及其权重;通过通道剪枝编码向量将原模型和压缩模型建立一对一的映射关系,根据通道剪枝编码向量生成对应的剪枝网络结构。
步骤三:如图3所示,联合训练剪枝细胞网络和剪枝网络模型的过程为:
将一个小批次的训练数据输入步骤二生成的剪枝网络模型进行模型训练,剪枝网络模型更新参数(权重矩阵)后,细胞网络根据剪枝网络更新后的参数也进行参数更新;即反向传播的过程中,剪枝网络模型和细胞网络一起更新;细胞网络输出的权重可以使用链式法则计算,因此,可以端到端的训练细胞网络。
利用简单随机采样方法对各层卷积单元模块进行通道采样,构建不同的通道剪枝编码向量,用同一个训练数据集进行多次迭代训练,每轮迭代时基于一个通道剪枝编码向量同时训练细胞网络和剪枝网络模型,通过改变输入的通道剪枝编码向量,学得能够为不同剪枝网络模型生成权重矩阵的细胞网络。
而且需要调整细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝网络的输入输出的编码器单元数目一致。通过通道采样的编码向量保持一致的,具体地,根据编码向量中元素c i 对应第i层卷积单元模块的卷积通道宽度和位置来调整细胞网络输出的权重矩阵的形状。
第三步:如图4所示为基于进化算法的剪枝网络搜索的过程:
在第二步训练好的元学习的剪枝网络基础上,将多个满足特定约束条件的通道剪枝编码向量输入剪枝细胞网络,生成对应的权重矩阵,得到多个剪枝网络模型;在验证集上对每个剪枝网络模型进行评估,获得对应的精度;采用进化算法搜索其中满足特定约束条件(如浮点数运算次数)的精度最高的剪枝网络模型,由此得到与任务无关的预训练卷积神经网络模型的通用压缩架构,如图4中方框标记的Network2所示。进化搜索算法的具体步骤如下:
步骤一、每个剪枝网络模型是由简单随机采样各层卷积单元模块的卷积通道所得的剪枝编码向量生成的,所以将通道剪枝编码向量定义为剪枝网络模型的基因G,随机选取满足约束条件C的一系列基因作为初始种群。
步骤二、评估现有种群中各个基因G i 对应的剪枝网络模型在验证集上的推理精度,选取精度最高的前k个基因。
步骤三、利用步骤二选取的精度最高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中。基因变异是指通过随机改变基因里一部分元素值来进行变异;基因重组是指随机地将两个父辈的基因进行重组产生后代;而且可以很容易地通过消除不合格的基因来加强约束C。
步骤四、重复迭代N轮步骤二和步骤三,选择现有种群中前k个精度最高的基因并生成新基因,直到获得满足约束条件C并且精度最高的基因。
本发明一种基于上述卷积神经网络通用压缩架构的自动剪枝方法的平台,包括以下组件:
数据加载组件:用于获取卷积神经网络的训练样本,所述训练样本是满足监督学习任务的有标签的样本。
自动压缩组件:用于将卷积神经网络模型自动压缩,包括剪枝向量编码模块、剪枝网络生成模块、剪枝细胞网络和剪枝网络联合训练模块、剪枝网络搜索模块和特定任务微调模块。
剪枝向量编码模块是采用随机结构抽样方法对用户输入的神经网络模型的所有卷积网络模块进行通道宽度采样,生成通道剪枝编码向量;前向传播过程中,将通道剪枝编码向量输入剪枝细胞网络,生成对应结构的剪枝网络和剪枝细胞网络的权重矩阵。
剪枝网络生成模块是基于剪枝细胞网络构建与当前输入的通道剪枝编码向量对应的剪枝网络,调整剪枝细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝结构的输入输出的编码器单元数目一致。
剪枝细胞网络和剪枝网络联合训练模块是端到端地训练剪枝细胞网络,具体地,将简单随机采样的通道剪枝编码向量和一个小批次的训练数据输入剪枝网络;更新剪枝结构的权重和剪枝细胞网络的权重矩阵。
剪枝网络搜索模块是为了搜索出满足特定约束条件的最高精度的剪枝网络,提出采用进化算法搜索满足特定约束条件的最高精度的剪枝网络;将通道剪枝编码向量输入训练好的剪枝细胞网络,生成对应剪枝网络的权重,在验证集上对剪枝网络进行评估,获得对应剪枝网络的精度;在元学习剪枝网络中采用的进化搜索算法中,每个剪枝网络的结构是由简单随机采样的通道剪枝编码向量生成的,所以将通道剪枝编码向量定义为剪枝网络的基因;在满足特定约束条件下,首先选取一系列通道剪枝编码向量作为剪枝网络的基因,通过在验证集上评估获得对应剪枝网络的精度;然后,选取精度较高的前k个基因,采用基因重组和变异生成新的基因;通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因。
特定任务微调模块是在所述自动压缩组件生成的剪枝网络上针对特定任务进行微调网络,利用剪枝网络的特征层和输出层对特定任务场景进行微调,输出最终微调好的压缩模型,即登陆用户需求的卷积神经网络模型的压缩模型;将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型模型性能对比信息。
推理组件:登陆用户从所述平台获取卷积神经网络的压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的特定任务的新数据进行推理;并在所述平台的压缩模型推理页面呈现压缩前后推理模型性能对比信息。
下面将在ImageNet2012分类数据集上进行卷积神经网络模型的自动压缩实验。根据该图像分类任务对本发明的技术方案做进一步的详细描述。
通过所述平台的数据加载组件获取登陆用户上传的ImageNet2012分类数据集,在训练时,将原始训练图像分割成子验证数据集,子验证数据集包含50000张图像,是从1000个类的每个类中随机选取50张训练图像,其他剩余样本构成子训练数据集。本发明在子训练数据集上训练细胞网络,搜索阶段在子验证数据集上评估剪枝网络的性能。
通过所述平台的自动压缩组件,生成预训练卷积神经网络压缩模型。
通过所述平台加载自动压缩组件生成的预训练压缩模型,在所述生成的预训练模型上微调该分类任务的模型。
基于所述自动压缩组件的特定任务微调模块所得的压缩模型进行微调,利用自动压缩组件生成的预训练模型的特征层和输出层对图像分类任务场景进行微调,最终,平台输出登陆用户需求的图像分类任务的卷积神经网络模型的压缩模型。
将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型性能对比信息,表格1比较了原MobileNet V2网络模型与元学习通道剪枝网络在top-1上的精度。原MobileNet V2网络模型运行313M浮点数运算所得top-1的精度为72.0%,而元学习通道剪枝网络仅运行219M浮点数运算就达到72.7%的top-1精度。
表1:图像分类任务MobileNet V2模型压缩前后对比信息
ImageNet2012(包含1000类图像) | 压缩前 | 压缩后 |
Top1-Acc | 72.0% | 72.7% |
浮点数运算次数 | 313M | 291M |
通过所述平台的推理组件,利用所述平台输出的压缩模型对登陆用户上传的ImageNet2012测试集数据进行推理,在8张Nvidia 1080Ti GPU显卡上推理压缩模型并在所述平台的压缩模型推理页面呈现压缩前后的性能信息。
Claims (10)
1.一种卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,包括以下步骤:
步骤1:构建通道剪枝编码向量:采用随机结构抽样方法对用户输入的卷积神经网络模型的所有卷积网络模块进行通道宽度采样,生成通道剪枝编码向量;
步骤2:训练元学习的通道剪枝网络:设计剪枝细胞网络,将步骤1生成的通道剪枝编码向量输入剪枝细胞网络,剪枝细胞网络的输出用于构建剪枝网络模型的权重矩阵,并生成对应的剪枝网络模型;利用训练数据联合训练剪枝细胞网络和对应的剪枝网络模型,同时更新剪枝细胞网络;
步骤3:基于进化算法的搜索最优剪枝网络模型:将多个满足特定约束的通道剪枝编码向量输入步骤2更新后的剪枝细胞网络,输出权重矩阵,生成多个对应的剪枝网络模型;评估每个剪枝网络模型的精度;采用进化算法搜索其中满足特定约束且精度最高的剪枝网络模型,得到卷积神经网络的通用压缩架构。
2.如权利要求1所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述通道剪枝编码向量具体为:通道剪枝编码向量中每个元素对应一个卷积网络模块的通道宽度,对每个卷积网络模块的通道宽度进行随机采样,生成通道剪枝编码向量,通过通道剪枝编码向量将用户输入的卷积神经网络模型和剪枝模型建立一对一的映射关系,通道剪枝编码向量用于生成对应的剪枝网络模型。
3.如权利要求2所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,在训练阶段,通过在每次迭代中随机选择每层通道的通道宽度来生成通道剪枝编码向量;通过输入不同的通道剪枝编码向量,生成对应的权值矩阵,并构造不同的剪枝网络模型;通过随机生成不同的编码向量,剪枝细胞网络学习预测不同剪枝网络模型的权值。
4.如权利要求3所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述剪枝细胞网络具体为:剪枝细胞网络由两个全连接层组成,输入为通道剪枝编码向量,输出为用于生成剪枝网络模型的权重矩阵。
5.如权利要求4所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述步骤2中,包括以下子步骤:
步骤(2.1):将通道剪枝编码向量输入剪枝细胞网络并输出权重矩阵;
步骤(2.2):基于剪枝细胞网络输出的权重矩阵构建剪枝网络模型;
步骤(2.3):联合训练剪枝细胞网络和剪枝网络模型:将训练数据输入步骤(2.2)生成的剪枝网络模型进行模型训练,同时更新剪枝细胞网络。
6.如权利要求5所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述步骤(2.3)具体为:前向传播阶段,将通道剪枝编码向量输入剪枝细胞网络,生成权值矩阵;与此同时,利用剪枝细胞网络生成的权值矩阵构建与当前输入的通道剪枝编码向量对应的剪枝网络模型;调整剪枝细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝网络模型的输入的形状一致。
7.如权利要求6所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述步骤(2.3)具体为:在反向传播阶段,计算剪枝细胞网络中权重的梯度,并采用链式法则,根据剪枝细胞网络中权重的梯度计算剪枝网络模型中权重的梯度,从而端到端训练剪枝细胞网络。
8.如权利要求7所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述步骤3包括以下子步骤:
步骤(3.1):将通道剪枝编码向量定义为剪枝网络模型的基因,随机选取满足特定约束的一系列基因作为初始种群;
步骤(3.2):评估现有种群中各个基因对应的剪枝网络模型的精度,选取精度较高的前k个基因;
步骤(3.3):利用步骤(3.2)选取的精度较高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中;
步骤(3.4):重复迭代的步骤(3.2)~(3.3),选择现有种群中前k个精度较高的基因并生成新基因,迭代次数达到设定轮次后,最终获得满足特定约束并且精度最高的剪枝网络模型。
9.如权利要求8所述卷积神经网络通用压缩架构的自动剪枝方法,其特征在于,所述步骤(3.3)中,基因变异是指通过随机改变通道剪枝编码向量里一部分元素值生成新的通道剪枝编码向量;基因重组是指随机地将两个通道剪枝编码向量中的元素进行重新排列组合生成两个新的通道剪枝编码向量;剔除不满足特定约束的新的通道剪枝编码向量。
10.一种基于权利要求1-9任一项所述卷积神经网络通用压缩架构的自动剪枝方法的平台,其特征在于,包括以下组件:
数据加载组件:用于获取卷积神经网络的训练数据,所述训练数据是满足监督学习任务的有标签的样本;
自动压缩组件:用于将卷积神经网络模型自动压缩,包括剪枝向量编码模块、剪枝网络生成模块、剪枝细胞网络和剪枝网络联合训练模块、剪枝网络搜索模块和特定任务微调模块;
剪枝向量编码模块是采用随机结构抽样方法对用户输入的神经网络模型的所有卷积网络模块进行通道宽度采样,生成通道剪枝编码向量;前向传播过程中,将通道剪枝编码向量输入剪枝细胞网络,生成对应结构的剪枝网络和剪枝细胞网络的权重矩阵;
剪枝网络生成模块是基于剪枝细胞网络构建与当前输入的通道剪枝编码向量对应的剪枝网络,调整剪枝细胞网络输出的权重矩阵的形状,使其与通道剪枝编码向量对应的剪枝结构的输入输出的编码器单元数目一致;
剪枝细胞网络和剪枝网络联合训练模块是端到端地训练剪枝细胞网络,具体地,将简单随机采样的通道剪枝编码向量和一个小批次的训练数据输入剪枝网络;更新剪枝结构的权重和剪枝细胞网络的权重矩阵;
剪枝网络搜索模块用于搜索出满足特定约束条件的最高精度的剪枝网络,提出采用进化算法搜索满足特定约束条件的最高精度的剪枝网络;将通道剪枝编码向量输入训练好的剪枝细胞网络,生成对应剪枝网络的权重,在验证集上对剪枝网络进行评估,获得对应剪枝网络的精度;在元学习剪枝网络中采用的进化搜索算法中,每个剪枝网络的结构是由简单随机采样的通道剪枝编码向量生成的,将通道剪枝编码向量定义为剪枝网络的基因;在满足特定约束条件下,首先选取一系列通道剪枝编码向量作为剪枝网络的基因,通过在验证集上评估获得对应剪枝网络的精度;然后,选取精度较高的前k个基因,采用基因重组和变异生成新的基因;通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因;
特定任务微调模块是在所述自动压缩组件生成的剪枝网络上针对特定任务进行微调网络,利用剪枝网络的特征层和输出层对特定任务场景进行微调,输出最终微调好的压缩模型;将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型性能对比信息;
推理组件:登陆用户从所述平台获取卷积神经网络的压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的特定任务的新数据进行推理;并在所述平台的压缩模型推理页面呈现压缩前后推理模型性能对比信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633174.3A CN112396181A (zh) | 2020-12-31 | 2020-12-31 | 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 |
PCT/CN2021/075807 WO2022141754A1 (zh) | 2020-12-31 | 2021-02-07 | 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633174.3A CN112396181A (zh) | 2020-12-31 | 2020-12-31 | 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112396181A true CN112396181A (zh) | 2021-02-23 |
Family
ID=74625110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633174.3A Pending CN112396181A (zh) | 2020-12-31 | 2020-12-31 | 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112396181A (zh) |
WO (1) | WO2022141754A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561040A (zh) * | 2021-02-25 | 2021-03-26 | 之江实验室 | 面向神经网络模型的滤波器分布感知训练加速方法及平台 |
CN113037482A (zh) * | 2021-04-13 | 2021-06-25 | 山东新一代信息产业技术研究院有限公司 | 一种基于rnn的模型压缩加密方法 |
CN113076544A (zh) * | 2021-04-02 | 2021-07-06 | 湖南大学 | 基于深度学习模型压缩的漏洞检测方法、系统及移动设备 |
CN113159293A (zh) * | 2021-04-27 | 2021-07-23 | 清华大学 | 一种用于存算融合架构的神经网络剪枝装置及方法 |
CN113361707A (zh) * | 2021-05-25 | 2021-09-07 | 同济大学 | 一种模型压缩方法、系统及计算机可读介质 |
CN113642730A (zh) * | 2021-08-30 | 2021-11-12 | Oppo广东移动通信有限公司 | 卷积网络剪枝方法和装置、电子设备 |
CN113743591A (zh) * | 2021-09-14 | 2021-12-03 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
CN114120154A (zh) * | 2021-11-23 | 2022-03-01 | 宁波大学 | 一种高层建筑玻璃幕墙破损的自动检测方法 |
CN115273129A (zh) * | 2022-02-22 | 2022-11-01 | 珠海数字动力科技股份有限公司 | 基于神经架构搜索的轻量级人体姿态估计方法及装置 |
CN117058525A (zh) * | 2023-10-08 | 2023-11-14 | 之江实验室 | 一种模型的训练方法、装置、存储介质及电子设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115186937B (zh) * | 2022-09-09 | 2022-11-22 | 闪捷信息科技有限公司 | 基于多方数据协同的预测模型训练、数据预测方法和装置 |
CN115374935B (zh) * | 2022-09-15 | 2023-08-11 | 重庆大学 | 一种神经网络的剪枝方法 |
CN115496210B (zh) * | 2022-11-21 | 2023-12-08 | 深圳开鸿数字产业发展有限公司 | 网络模型的滤波剪枝方法、系统、电子设备及存储介质 |
CN115797477B (zh) * | 2023-01-30 | 2023-05-16 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 用于轻量化部署的剪枝式图像压缩感知方法及系统 |
CN116994309B (zh) * | 2023-05-06 | 2024-04-09 | 浙江大学 | 一种公平性感知的人脸识别模型剪枝方法 |
CN116402117B (zh) * | 2023-06-07 | 2023-08-18 | 中诚华隆计算机技术有限公司 | 图像分类卷积神经网络剪枝方法及芯粒器件数据分配方法 |
CN116698410B (zh) * | 2023-06-29 | 2024-03-12 | 重庆邮电大学空间通信研究院 | 一种基于卷积神经网络的滚动轴承多传感器数据监控方法 |
CN116992945B (zh) * | 2023-09-27 | 2024-02-13 | 之江实验室 | 一种基于贪心策略反向通道剪枝的图像处理方法及装置 |
CN117131920B (zh) * | 2023-10-26 | 2024-01-30 | 北京市智慧水务发展研究院 | 一种基于网络结构搜索的模型剪枝方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079899A (zh) * | 2019-12-05 | 2020-04-28 | 中国电子科技集团公司信息科学研究院 | 神经网络模型压缩方法、系统、设备及介质 |
CN111967594A (zh) * | 2020-08-06 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种神经网络压缩方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779086A (zh) * | 2016-11-28 | 2017-05-31 | 北京大学 | 一种基于主动学习和模型剪枝的集成学习方法及装置 |
US11093832B2 (en) * | 2017-10-19 | 2021-08-17 | International Business Machines Corporation | Pruning redundant neurons and kernels of deep convolutional neural networks |
-
2020
- 2020-12-31 CN CN202011633174.3A patent/CN112396181A/zh active Pending
-
2021
- 2021-02-07 WO PCT/CN2021/075807 patent/WO2022141754A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079899A (zh) * | 2019-12-05 | 2020-04-28 | 中国电子科技集团公司信息科学研究院 | 神经网络模型压缩方法、系统、设备及介质 |
CN111967594A (zh) * | 2020-08-06 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种神经网络压缩方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
ZECHUN LIU等: "MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning", 《ARXIV.ORG》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561040A (zh) * | 2021-02-25 | 2021-03-26 | 之江实验室 | 面向神经网络模型的滤波器分布感知训练加速方法及平台 |
CN113076544A (zh) * | 2021-04-02 | 2021-07-06 | 湖南大学 | 基于深度学习模型压缩的漏洞检测方法、系统及移动设备 |
CN113037482A (zh) * | 2021-04-13 | 2021-06-25 | 山东新一代信息产业技术研究院有限公司 | 一种基于rnn的模型压缩加密方法 |
CN113159293B (zh) * | 2021-04-27 | 2022-05-06 | 清华大学 | 一种用于存算融合架构的神经网络剪枝装置及方法 |
CN113159293A (zh) * | 2021-04-27 | 2021-07-23 | 清华大学 | 一种用于存算融合架构的神经网络剪枝装置及方法 |
CN113361707A (zh) * | 2021-05-25 | 2021-09-07 | 同济大学 | 一种模型压缩方法、系统及计算机可读介质 |
CN113642730A (zh) * | 2021-08-30 | 2021-11-12 | Oppo广东移动通信有限公司 | 卷积网络剪枝方法和装置、电子设备 |
CN113743591A (zh) * | 2021-09-14 | 2021-12-03 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
CN113743591B (zh) * | 2021-09-14 | 2023-12-26 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
CN114120154A (zh) * | 2021-11-23 | 2022-03-01 | 宁波大学 | 一种高层建筑玻璃幕墙破损的自动检测方法 |
CN114120154B (zh) * | 2021-11-23 | 2022-10-28 | 宁波大学 | 一种高层建筑玻璃幕墙破损的自动检测方法 |
CN115273129A (zh) * | 2022-02-22 | 2022-11-01 | 珠海数字动力科技股份有限公司 | 基于神经架构搜索的轻量级人体姿态估计方法及装置 |
CN115273129B (zh) * | 2022-02-22 | 2023-05-05 | 珠海数字动力科技股份有限公司 | 基于神经架构搜索的轻量级人体姿态估计方法及装置 |
CN117058525A (zh) * | 2023-10-08 | 2023-11-14 | 之江实验室 | 一种模型的训练方法、装置、存储介质及电子设备 |
CN117058525B (zh) * | 2023-10-08 | 2024-02-06 | 之江实验室 | 一种模型的训练方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022141754A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112396181A (zh) | 一种卷积神经网络通用压缩架构的自动剪枝方法及平台 | |
CN112241455B (zh) | 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台 | |
CN112232511B (zh) | 面向多任务的预训练语言模型自动压缩方法及平台 | |
KR20210040248A (ko) | 물질의 생성 구조-특성 역 계산 공동 설계 | |
WO2021175058A1 (zh) | 一种神经网络架构搜索方法、装置、设备及介质 | |
US20220188658A1 (en) | Method for automatically compressing multitask-oriented pre-trained language model and platform thereof | |
US11501171B2 (en) | Method and platform for pre-trained language model automatic compression based on multilevel knowledge distillation | |
CN109388779A (zh) | 一种神经网络权重量化方法和神经网络权重量化装置 | |
CN109361404A (zh) | 一种基于半监督深度学习网络的ldpc译码系统及译码方法 | |
CN113033786B (zh) | 基于时间卷积网络的故障诊断模型构建方法及装置 | |
CN112560966B (zh) | 基于散射图卷积网络的极化sar图像分类方法、介质及设备 | |
CN112215353A (zh) | 一种基于变分结构优化网络的通道剪枝方法 | |
CN116362325A (zh) | 一种基于模型压缩的电力图像识别模型轻量化应用方法 | |
Marchisio et al. | Q-capsnets: A specialized framework for quantizing capsule networks | |
CN114792126A (zh) | 一种基于遗传算法的卷积神经网络设计方法 | |
CN116822593A (zh) | 一种基于硬件感知的大规模预训练语言模型压缩方法 | |
CN115063374A (zh) | 模型训练、人脸图像质量评分方法、电子设备及存储介质 | |
CN114091668A (zh) | 基于可微决策器和知识蒸馏的神经网络剪枝方法及系统 | |
CN114582518A (zh) | 医疗数据集优化方法及设备 | |
WO2023082045A1 (zh) | 一种神经网络架构搜索的方法和装置 | |
CN115577618B (zh) | 高压换流阀厅环境因子预测模型构建方法与预测方法 | |
KR102430484B1 (ko) | 인공지능 기반의 반도체 설계 방법 | |
Kim et al. | GA-based filter selection for representation in convolutional neural networks | |
CN116977854A (zh) | 一种基于代理辅助进化神经网络架构搜索的极化sar图像分类方法、系统、设备及介质 | |
Wang et al. | Learning Accurate Performance Predictors for Ultrafast Automated Model Compression |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |
|
RJ01 | Rejection of invention patent application after publication |