CN112508194A - 模型压缩方法、系统和计算设备 - Google Patents
模型压缩方法、系统和计算设备 Download PDFInfo
- Publication number
- CN112508194A CN112508194A CN202110142167.1A CN202110142167A CN112508194A CN 112508194 A CN112508194 A CN 112508194A CN 202110142167 A CN202110142167 A CN 202110142167A CN 112508194 A CN112508194 A CN 112508194A
- Authority
- CN
- China
- Prior art keywords
- model
- value
- training
- target model
- vectors
- 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
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了模型压缩方法、系统和计算设备。该方法包括:通过至少一个计算设备:加载目标模型,所述目标模型包括多个特征嵌入向量;用训练数据集中至少部分数据训练所述目标模型,直至所述目标模型的损失函数收敛到预设范围内;以及执行模型压缩操作,所述模型压缩操作包括:基于所述训练,自主确定所述多个特征嵌入向量中的至少K个候选特征嵌入向量,所述K为自然数;从所述目标模型中删除所述至少K个候选特征嵌入向量,获得更新后的目标模型;以及用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及模型压缩方法、系统和计算设备。
背景技术
现如今,机器学习已经广泛应用于各行各业中。不过,复杂的机器学习模型固然具有更好的性能,但是高额的存储空间、计算资源消耗是制约其应用效率的一大重要原因。降低机器学习模型的复杂度固然能够减少对存储空间和计算资源的需求,但模型准确度也不可避免地会受到一定影响。
因此,需要一种既能对机器学习模型进行压缩以降低对于计算空间和时间的消耗,又能基本保证模型准确度的方法。
发明内容
本公开一个或多个实施例通过提供模型压缩方法、系统和计算设备通过模型中向量的参数值和梯度值确定向量的重要性,并通过删除不重要的向量来降低模型的计算量,从而在压缩模型的同时保持较低的准确度损失。
本公开的一方面提供了一种模型压缩方法,其包括,通过至少一个计算设备:加载目标模型,所述目标模型包括多个向量;用训练数据集中至少部分数据训练所述目标模型,直至所述目标模型的损失函数收敛到预设范围内;以及执行模型压缩操作,所述模型压缩操作包括:基于所述训练,自主确定所述多个向量中的至少K个候选向量,所述K为自然数;从所述目标模型中删除所述至少K个候选向量,获得更新后的目标模型;以及用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内;然后以及
输出压缩了的目标模型。其中,所述目标模型用来学习目标系统的输出同输入的对应关系,所述训练数据是所述目标系统的目标指标数据。
在一些示例性实施例中,所述基于所述训练,自主确定所述多个向量中的至少K个候选向量包括:基于所述训练过程,自主确定所述多个向量中的每个向量的重要性值;以及将所述多个向量中重要性值最低的K个向量设为所述至少K个候选向量。
在一些示例性实施例中,所述多个向量中的每个向量都包括至少一个参数;以及所述自主确定所述多个向量中的每个向量的重要性值包括:获取所述每个向量中所有参数的数值及其在所述训练中的梯度值,以及基于每个参数的数值及其梯度值,确定相应的向量的重要性值。
在一些示例性实施例中,所述向量的重要性值包括所述向量中的每个参数的重要性值之和。
在一些示例性实施例中,所述每个参数的重要性值为同所述数值的数值及其梯度值正相关的非负数。
在一些示例性实施例中,所述每个参数的重要性值为(w j ∙ g j )2,其中w j 为所述参数的数值,g j 为所述参数的梯度值。
在一些示例性实施例中,所述每个参数的重要性值为|w j ∙ g j |,其中w j 为所述参数的数值,g j 为所述参数的梯度值。
在一些示例性实施例中,所述训练所述更新后的目标模型包括通过预设的学习率训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内。
在一些示例性实施例中,所方法还包括:反复迭代执行所述模型压缩操作,直至所述目标模型达到预设的压缩比。
在一些示例性实施例中,所述方法还包括:反复迭代执行所述模型压缩操作,直至迭代次数达到预设的迭代次数。
在一些示例性实施例中,所述目标模型包括卷积神经元网络模型、递归神经元网络模型、循环神经元网络模型中的一个或者多个。
本公开的另一方面提供了一种模型压缩系统,其包括:模型加载模块,被配置为加载目标模型,所述目标模型包括多个向量;模型训练模块,被配置为用训练数据集中至少部分数据训练所述目标模型,直至所述目标模型的损失函数收敛到预设范围内;以及模型压缩模块,被配置为执行模型压缩操作,所述模型压缩操作包括:基于所述训练,自主确定所述多个向量中的至少K个候选向量,所述K为自然数;从所述目标模型中删除所述至少K个候选向量,获得更新后的目标模型;以及用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内。
在一些示例性实施例中,所述基于所述训练,自主确定所述多个向量中的至少K个候选向量包括:基于所述训练过程,自主确定所述多个向量中的每个向量的重要性值;以及将所述多个向量中重要性值最低的K个向量设为所述至少K个候选向量。
在一些示例性实施例中,所述多个向量中的每个向量都包括至少一个参数;以及所述自主确定所述多个向量中的每个向量的重要性值包括:获取所述每个向量中所有参数的数值及其在所述训练中的梯度值,以及基于每个参数的数值及其梯度值,确定相应的向量的重要性值。
在一些示例性实施例中,所述向量的重要性值包括所述向量中的每个参数的重要性值之和。
在一些示例性实施例中,所述每个参数的重要性值为同所述数值的数值及其梯度值正相关的非负数。
本公开的又一方面提供了一种计算设备,其包括:至少一个存储介质,存储有至少一组指令集;以及至少一个处理器,同所述至少一个存储介质通讯连接,其中,当所述至少一个处理器运行所述至少一组指令集时,所述至少一个处理器执行前述方法。
本公开一个或多个实施例提供的方法、系统和计算设备通过训练过程中参数的权值和梯度值来准确定位出模型中相对不重要的特征,没有添加其他任何辅助参数,减少了参数剪枝的时间。
本公开一个或多个实施例提供的方法、系统和计算设备采用迭代多次小幅度剪枝方式,避免了剪枝后模型准确度的大幅度下降。
本公开一个或多个实施例提供的方法、系统和计算设备利用数据驱动,完全抛弃了专家经验,使得模型剪枝更加自动化和智能化。
本公开一个或多个实施例提供的方法、系统和计算设备在对特征权重进行排序时,可以知晓哪些特征是重要的,对模型的结果有一定的解释作用。
本公开中披露的方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例的内容将对那些本领域的普通技术人员显而易见。本应用的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了根据本公开一个或多个实施例的模型压缩方法的流程图;
图2示意性地示出了根据本公开一个或多个实施例的模型压缩操作的流程图;
图3示意性地示出了根据本公开一个或多个实施例的确定候选向量的流程图;
图4示意性地示出了根据本公开一个或多个实施例的确定向量的重要性值的流程图;
图5示意性地示出了根据本公开一个或多个实施例的模型压缩系统的示意图;以及
图6示意性地示出了根据本公开一个或多个实施例的计算设备的示意图。
具体实施方式
以下描述提供了本公开的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本公开中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本公开不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”、“该”和“所述”也可以包括复数形式。当在本公开中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本公开的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本公开的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本公开的范围。还应理解,附图未按比例绘制。
此外,本公开中的某些术语已被用于描述本公开的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本公开的至少一个实施例中。因此,可以强调并且应当理解,在本公开的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本公开的一个或多个实施例中适当地组合。
在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本公开意图囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本公开提出,并且在本公开的示例性实施例的精神和范围内。
应当理解,在本公开的实施例的前述描述中,为了帮助理解一个特征,出于简化本公开的目的,本公开将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本公开的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本公开中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
在很多深度神经网络模型中,仅仅使用很少一部分(例如,5%)权值就足以预测剩余的权值,这意味着神经网络模型存在着显著的冗余。也就是说,仅仅训练一小部分原来的权值参数就有可能达到和原来神经网络模型相近甚至超过原来神经网络模型的性能。
采用模型压缩方法可以在不显著损失模型预测准确度的前提下减小模型复杂度,进而减少模型存储需要的空间,同时加速模型的训练和预测,使得模型的各项性能得到提高。
在许多推荐、营销等场景下,对深度神经网络(Deep Neural Network)模型的大小、预测延时的要求越来越高。因此,对深度神经网络模型的压缩需求也越来越多。
深度神经网络模型的大小主要来自于模型中各个层的节点对应的向量数目,比如其离散特征嵌入向量的数目。比如,对于一个深度神经网络模型,如果其离散特征的维度为d的话,其模型参数=n*d + L*h。其中n为离散特征的数目,L为深度神经网络的层数, h为每层的神经单元数。一般L和h的大小都比较小。但是离散特征的数目通常会随着模型的复杂程度而增加。比如对水果的描述可以通过9个离散特征得到,也就是通过9维空间表达,分别是{形状,颜色,气味,大小,表面特征,产出季节,味道,甜度,重量}。则苹果可以表示为苹果={0.1, 0.5, 0.2, 0.4, 0.8, 0.3, 0.6, 0.2, 0.3},梨子可以表示为梨子={0.2, 0.3,0.4, 0.1, 0.7, 0.2, 0.5, 0.3, 0.1}等等。但是对于一些复杂的系统,比如网络营销模型,离散特征的数目可能就会变得非常大。比如所述营销模型中对一个人的描述可以包括{性别,年龄,身高,体重,职业,收入,住址,婚姻状况,运动习惯,饮食习惯,网上历史,消费历史,消费习惯 ……}。对于一个用来计算复杂系统的深度神经网络模型,比如使用了VGG-16算法的计算机视觉模型,其参数数量大概有1亿3千多万,占用500MB空间,需要进行300多亿次浮点运算才能完成一次图像识别任务。因此但是当n的数目较大时,会导致深度神经网络模型的整体参数过大。这会导致该模型对设备的计算能力有很高的要求,在一些计算能力有限的设备中,比如手机,IOT设备等,应用起来会收到很大限制。因此深度神经网络模型的压缩主要是减少n的数量。
可通过专家经验来决策压缩方法来进行压缩,例如凭借专家经验认为哪些特征是不重要的,从而通过减少这些特征的输入,降低整个模型的参数量。但是,这种人工压缩方法的人为主观因素较大。例如,当模型参数量过多时,人工压缩的整体速度较慢,且还不十分准确。另外,针对不同的数据,其最优的压缩策略往往是不同的,尤其是针对大量复杂繁多的应用场景,这种人工压缩方法的应用起来有许多的困难。
为了解决这一问题,本公开一个或多个实施例仅以网络营销模型和/或基于VGG-16网络模型的计算机视觉模型中嵌入层(embedding layer)的特征嵌入向量(embedding)为例,提供了一种自主识别不重要特征,从而自主地完成模型压缩方法。然而本领域技术人员可以理解的是,特征嵌入向量仅仅是模型众多层中一部分层中的节点,对于模型压缩这个技术问题来说,任何层中的任何节点都可以用同样的技术方案进行压缩处理。即,本公开中披露的技术方案可以对任何神经网络和深度学习网络模型中任何节点对应的向量进行自主判断其重要程度,从而自主地决定该节点是否可以在模型中除去,从而完成对该模型的压缩。
图1示意性地示出了根据本公开一个或多个实施例的模型压缩方法的流程图。
如图1所示,模型压缩方法100可包括步骤S2、步骤S4和步骤S6。步骤S2、步骤S4和步骤S6可通过至少一个计算设备(将在下文详细描述)执行。
步骤S2:加载目标模型,所述目标模型可包括多个特征嵌入向量(Embedding)。
所述目标模型用来学习目标系统的输出同输入的对应关系。所述目标模型包括卷积神经网络(Convolutional Neural Network)模型、递归神经网络(Recursive NeuralNetwork)模型、循环神经网络(Recurrent Neural Network)模型、深度神经网络(DNN)中的一个或者多个。比如前述的网络营销模型可以用来学习如何根据输入的用户画像信息得出相应的网络营销策略;前述的基于VGG-16网络模型的计算机视觉模型可以用来学习如何从输入图像中识别图像中物体是什么。相应地,所述多个特征嵌入向量可以包括所述网络营销模型或者计算机视觉模型中特征嵌入向量层(embedding layer)中各个节点对应的向量。
所述特征嵌入向量指的是将特征从一个数学结构映射到另一个结构中,即找到一个映射或者函数,生成特征在一个新的空间上的表达。特征嵌入向量可用于减少离散变量的空间维数。
例如,对于一个包含 2000 个单词的字典,在使用独热(One-Hot)编码时,每个单词由一个含有 2000 个整数的向量来表示,并且其中的 1999 个整数都是 0。在大数据集下这种方法的计算效率是很低的。如果使用特征嵌入向量就可以大幅降低维度,因为对于每个要嵌入向量的特征,都存在一个特征嵌入向量矩阵,这个矩阵的行很大(例如,2000行),对应特征的数目,但是这个矩阵列可以设置的比较小(例如,20列),由此可将特征向量的维度从2000降低至20。
步骤S4:用训练数据集中至少部分数据训练所述目标模型,直至所述目标模型达到预设准确度。
所述数据集可以包括用来训练(train)和验证(validation)所述目标模型的数据集合。比如在所述计算机视觉模型中,所述数据集可以包括多张含有目标图像的照片;在所述网络营销模型中,所述数据集可以包括多个用户的画像(Profile)数据,等等。这些数据都包含所述目标系统的目标指标数据。比如所述图像照片包含目标物,所述用户画像数据包含模型需要的量化的用户信息等等。
可以将数据集中的一部分(例如,80%)作为训练数据集,所述数据集中的余下部分可以作为验证或测试数据集。所述预测准确度也可以被称为预测准确度,是指目标模型同被预测事物之间的差异有多大。比如,所述预测准确度可以用损失函数(loss function)来估量模型的预测值f(x)与真实值Y的不一致程度。在训练目标模型的时候,随着模型参数的调整,损失函数的值会逐渐收敛到一个区间。收敛后的损失函数值越小,一般就代表模型的鲁棒性越好,预测结果越准确。因此,当所述目标模型的损失函数收敛到预设范围内的时候,所述目标模型便达到了预设的准确度。
步骤S6:执行模型压缩操作。
步骤S7:输出压缩了的目标模型。
所述模型压缩操作可以是网络剪枝(Network Pruning)。网络剪枝的主要思想就是去除权重矩阵中相对“不重要”的权值,然后再重新小幅调整网络模型,最终达到和之前网络模型的准确率相近。网络剪枝可应用于卷积神经网络模型的卷积层和全连接层,并且对不同的设置具有鲁棒性。在一些实施例中,所述模型压缩操作也可以与低秩近似(Low-Rank Approximation)、网络量化(Network Quantization)、知识蒸馏(KnowledgeDistillation)和紧凑网络设计(Compact Network Design)中的一种或多种结合使用。
图2示意性地示出了根据本公开一个或多个实施例的模型压缩操作的流程图。
如图2所示,步骤S6可包括子步骤S62、子步骤S64和子步骤S66。
子步骤S62:基于所述训练,自主或自动确定所述多个特征嵌入向量中的至少K个候选特征嵌入向量,所述K为自然数。
图3示意性地示出了根据本公开一个或多个实施例的确定候选特征嵌入向量的流程图。
如图3所示,子步骤S62可包括子步骤S622和子步骤S624。
子步骤S622:基于所述训练过程,自主确定所述多个特征嵌入向量中的每个特征嵌入向量的重要性值。
所述多个特征嵌入向量中的每个特征嵌入向量都可包括至少一个参数。例如,一个4维特征嵌入向量(0.1,0.2,0.3,0.4)可包含4个参数:0.1,0.2,0.3和0.4。
图4示意性地示出了根据本公开一个或多个实施例的确定特征嵌入向量的重要性值的流程图。
如图4所示,子步骤S622可包括子步骤S6222和子步骤S6224。
子步骤S6222:获取所述每个特征嵌入向量中所有参数的数值及其在所述训练中的梯度值。
所述参数的数值可反映所述参数的权重。所述参数的梯度值可反映所述参数在训练过程中的变化率。所述参数的梯度值可通过对所述参数的变化函数求偏导而获得。
子步骤S6224:基于每个参数的数值及其梯度值,确定相应的特征嵌入向量的重要性值。
所述特征嵌入向量的重要性值可包括所述特征嵌入向量中的每个参数的重要性值之和。例如,可先求出每个参数自身的重要性值,然后将特征嵌入向量中的各参数的重要性值相加,即可获得所述特征嵌入向量的重要性值。
所述每个参数的重要性值可以为同所述数值的数值及其梯度值正相关的非负数。例如,所述每个参数的重要性值可以为(w j ∙ g j )2,其中w j 为所述参数的数值,g j 为所述参数的梯度值,j为参数序号。例如,所述每个参数的重要性值可以为|w j ∙ g j |,其中w j 为所述参数的数值,g j 为所述参数的梯度值,j为参数序号。所述目标模型中重要性值可以是全局的,可相互比较的。
子步骤S624:将所述多个特征嵌入向量中重要性值最低的K个特征嵌入向量设为所述至少K个候选特征嵌入向量。
例如,可以在获取所有特征嵌入向量的重要性值之后,按照重要性值对所有特征嵌入向量进行排序,然后选出K个最不重要的特征嵌入向量。所述K为用户输入的超参数,可针对不同的数据或者模型进行调参。
子步骤S64:从所述目标模型中删除所述至少K个候选特征嵌入向量,获得更新后的目标模型。
子步骤S66:用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型达到所述预设准确度。
所述训练所述更新后的目标模型可包括通过预设的学习率训练所述更新后的目标模型,直至所述更新后的目标模型达到所述预设准确度。
所述学习率决定了更新参数值的快慢。所述学习率应该尽可能高而不会花费太多时间达到收敛,也应该尽可能低从而能找到局部最优。当删除了K个特征嵌入向量之后,所述目标模型的准确度会受到一些损害。此时,需要对所述目标模型再次训练(例如,通过同一组训练数据集),以恢复之前的准确度。例如,所述学习率可以设置为2倍、3倍、4北、5倍、10倍等。可通过较小的学习率慢慢微调(fine-tune)以恢复模型的准确度。
在一些实施例中,所述模型压缩方法100还可包括:反复迭代执行所述模型压缩操作,直至所述目标模型达到预设的压缩比。例如,所述预设的压缩比可以为大于0且小于1的实数,例如,10%、20%、30%、40%、50%、60%、70%、80%、90%,等等。
在一些实施例中,所述模型压缩方法100还可包括:反复迭代执行所述模型压缩操作,直至迭代次数达到预设的迭代次数。例如,所述预设的迭代次数可以为10、100、1000、10000、100000,等等。
图5示意性地示出了根据本公开一个或多个实施例的模型压缩系统的示意图。
如图5所示,模型压缩系统300可包括模型加载模块302、模型训练模块304和模型压缩模块306。
模型加载模块302可被配置为加载目标模型,所述目标模型可包括多个特征嵌入向量。
模型训练模块304可被配置为用训练数据集中至少部分数据训练所述目标模型,直至所述目标模型达到预设准确度。
模型压缩模块306可被配置为执行模型压缩操作,所述模型压缩操作可包括:基于所述训练,自主确定所述多个特征嵌入向量中的至少K个候选特征嵌入向量,所述K为自然数;从所述目标模型中删除所述至少K个候选特征嵌入向量,获得更新后的目标模型;以及用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型达到所述预设准确度。
以上的内容以网络营销模型和计算机视觉模型为例对本公开的技术细节做了描述,然而本领域技术人员可以理解的是,本技术方案可以适用于任何神经网络和深度学习网络模型。
图6示意性地示出了根据本公开一个或多个实施例的计算设备的示意图。
如图6所示,计算设备200可包括至少一个存储介质和至少一个处理器220。
所述至少一个存储介质可存储有至少一组指令集。所述至少一个存储介质可以是不同形式的程序存储介质和数据存储介质,例如,磁盘270以及只读存储器(ROM)230或随机存取存储器(RAM)240等等,以用于存储要处理和/或传输的各种数据文件。所述至少一个存储介质可以是计算设备200本地的存储介质,也可以是计算设备200共享的存储介质。
至少一个处理器220可同所述至少一个存储介质通讯连接,其中,当所述至少一个处理器220运行所述至少一组指令集时,所述至少一个处理器220执行本公开中一个或多个实施例所描述的方法。所述至少一个处理器220可以是中央处理单元(CPU)、微处理单元(MPU)等。
计算设备200可应用在分布式计算系统上。比如,计算设备200可以是所述分布式计算系统上的单个或多个计算设备。计算设备200可以是通用计算机或专用计算机。比如,计算设备200可以是服务器、个人电脑、便携式电脑(比如笔记本计算机、平板电脑等),也可以是有其他计算能力的电子设备。
计算设备200可以包括COM端口250,COM端口250可以连接到网络或从其连接的网络中出来,以促进数据通信。
计算设备200还可以包括内部通信总线210。
计算设备200还可以包括I/O组件260来支持同所述分布式计算系统中其他计算设备之间的数据通信。计算设备200还可以经由网络通信来接收编程和数据。
仅出于说明的目的,在计算设备200中仅描述了一个处理器220。然而,本领域普通技术人员可以理解的是,本公开中的计算设备200还可以包括多个处理器。因此本公开中所述的由一个处理器执行的方法/步骤/操作也可以由多个处理器共同或分别执行。例如,如果在本公开中,计算设备200的处理器可以同时执行步骤A和步骤B。应当理解的是,步骤A和步骤B也可以由两个不同的处理器共同执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
上述对本公开特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
最后,应理解,本文公开的申请的实施方案是对本公开的实施方案的原理的说明。其他修改后的实施例也在本公开的范围内。因此,本公开披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本公开中的实施例采取替代配置来实现本公开中的申请。因此,本公开的实施例不限于申请中被精确地描述过的实施例。
Claims (17)
1.一种模型压缩方法,包括,通过至少一个计算设备:
用训练数据集中至少部分训练数据训练目标模型,直至所述目标模型的损失函数收敛到预设范围内,所述目标模型用来学习目标系统的输出同输入的对应关系;
执行模型压缩操作,包括:
基于所述训练,确定所述目标模型的多个节点对应的向量中的每个向量的重要性值;以及
从所述目标模型中删除所述多个向量中重要性值最低的K个向量,获得更新后的目标模型,所述K为自然数;以及
用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型损失函数收敛到所述预设范围内;以及
输出压缩了的目标模型。
2.根据权利要求1所述的方法,还包括:
基于所述训练,自主地确定所述多个向量中的每个向量的重要性值;以及
选择所述多个向量中重要性值最低的K个向量。
3.根据权利要求1所述的方法,其中,
所述确定所述多个向量中的每个向量的重要性值包括:
获取所述每个向量中所有参数的数值及其在所述训练中的梯度值,以及
基于每个参数的数值及其梯度值,确定相应的向量的重要性值。
4.根据权利要求3所述的方法,其中,所述向量的重要性值包括所述向量中的每个参数的重要性值之和。
5.根据权利要求4所述的方法,其中,所述每个参数的重要性值为同所述参数的数值及其梯度值正相关的非负数。
6.根据权利要求5所述的方法,其中,所述每个参数的重要性值为(w j ∙ g j )2,其中w j 为所述参数的数值,g j 为所述参数的梯度值。
7.根据权利要求5所述方法,其中,所述每个参数的重要性值为|w j ∙ g j |,其中w j 为所述参数的数值,g j 为所述参数的梯度值。
8.根据权利要求1所述的方法,其中,所述训练所述更新后的目标模型包括通过预设的学习率训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内。
9.根据权利要求1所述的方法,还包括:反复迭代执行所述模型压缩操作,直至所述目标模型达到预设的压缩比。
10.根据权利要求1所述的方法,还包括:反复迭代执行所述模型压缩操作,直至迭代次数达到预设的迭代次数。
11.根据权利要求1所述的方法,其中,所述目标模型包括卷积神经元网络模型、递归神经元网络模型、循环神经元网络模型中的一个或者多个。
12.一种模型压缩系统,包括:
模型训练模块,被配置为用训练数据集中至少部分数据训练目标模型,直至所述目标模型的损失函数收敛到预设范围内;以及
模型压缩模块,被配置为执行模型压缩操作,所述模型压缩操作包括:
基于所述训练,确定所述目标模型的多个向量中的每个向量的重要性值;以及
从所述目标模型中删除所述多个向量中重要性值最低的K个向量,获得更新后的目标模型,所述K为自然数;以及
用所述训练数据集中至少部分数据训练所述更新后的目标模型,直至所述更新后的目标模型的损失函数收敛到所述预设范围内。
13.根据权利要求12所述的系统,其中,模型压缩模块被配置为基于所述训练,自主地确定所述多个向量中的每个向量的重要性值;以及
选择所述多个向量中所述重要性值最低的K个向量。
14.根据权利要求12所述的系统,其中,所述确定所述多个向量中的每个向量的重要性值包括:
获取所述每个向量中所有参数的数值及其在所述训练中的梯度值,以及
基于每个参数的数值及其梯度值,确定相应的向量的重要性值。
15.根据权利要求14所述的系统,其中,所述向量的重要性值包括所述向量中的每个参数的重要性值之和。
16.根据权利要求15所述的系统,其中,所述每个参数的重要性值为同所述参数的数值及其梯度值正相关的非负数。
17.一种计算设备,包括:
至少一个存储介质,存储有至少一组指令集用于对模型进行压缩;以及
至少一个处理器,同所述至少一个存储介质通讯连接,
其中,当所述至少一个处理器运行所述至少一组指令集时,所述至少一个处理器执行权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142167.1A CN112508194B (zh) | 2021-02-02 | 2021-02-02 | 模型压缩方法、系统和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142167.1A CN112508194B (zh) | 2021-02-02 | 2021-02-02 | 模型压缩方法、系统和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112508194A true CN112508194A (zh) | 2021-03-16 |
CN112508194B CN112508194B (zh) | 2022-03-18 |
Family
ID=74952837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110142167.1A Active CN112508194B (zh) | 2021-02-02 | 2021-02-02 | 模型压缩方法、系统和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112508194B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190370658A1 (en) * | 2018-05-31 | 2019-12-05 | Kneron (Taiwan) Co., Ltd. | Self-Tuning Incremental Model Compression Solution in Deep Neural Network with Guaranteed Accuracy Performance |
CN111488985A (zh) * | 2020-04-08 | 2020-08-04 | 华南理工大学 | 深度神经网络模型压缩训练方法、装置、设备、介质 |
CN111598238A (zh) * | 2020-07-17 | 2020-08-28 | 支付宝(杭州)信息技术有限公司 | 深度学习模型的压缩方法及装置 |
CN112052938A (zh) * | 2020-08-14 | 2020-12-08 | 同盾控股有限公司 | 基于知识联邦的多端模型压缩方法、任务预测方法、装置及电子设备 |
CN112465141A (zh) * | 2020-12-18 | 2021-03-09 | 平安科技(深圳)有限公司 | 模型压缩方法、装置、电子设备及介质 |
-
2021
- 2021-02-02 CN CN202110142167.1A patent/CN112508194B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190370658A1 (en) * | 2018-05-31 | 2019-12-05 | Kneron (Taiwan) Co., Ltd. | Self-Tuning Incremental Model Compression Solution in Deep Neural Network with Guaranteed Accuracy Performance |
CN111488985A (zh) * | 2020-04-08 | 2020-08-04 | 华南理工大学 | 深度神经网络模型压缩训练方法、装置、设备、介质 |
CN111598238A (zh) * | 2020-07-17 | 2020-08-28 | 支付宝(杭州)信息技术有限公司 | 深度学习模型的压缩方法及装置 |
CN112052938A (zh) * | 2020-08-14 | 2020-12-08 | 同盾控股有限公司 | 基于知识联邦的多端模型压缩方法、任务预测方法、装置及电子设备 |
CN112465141A (zh) * | 2020-12-18 | 2021-03-09 | 平安科技(深圳)有限公司 | 模型压缩方法、装置、电子设备及介质 |
Non-Patent Citations (2)
Title |
---|
王忠锋等: "基于梯度的深度网络剪枝算法", 《计算机应用》 * |
韦越等: "《基于稀疏卷积神经网络的模型剪枝方法》", 《HTTPS://DOI.ORG/10.19678/J.ISSN.1000-3428.0059375》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112508194B (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239825B (zh) | 考虑负载均衡的深度神经网络压缩方法 | |
CN112101190A (zh) | 一种遥感图像分类方法、存储介质及计算设备 | |
CN108345939A (zh) | 基于定点运算的神经网络 | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
JP2023523029A (ja) | 画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体 | |
CN112287166B (zh) | 一种基于改进深度信念网络的电影推荐方法及系统 | |
CN111709493B (zh) | 对象分类方法、训练方法、装置、设备及存储介质 | |
US20210312261A1 (en) | Neural network search method and related apparatus | |
CN111723915A (zh) | 深度卷积神经网络的剪枝方法、计算机设备及应用方法 | |
CN110929798A (zh) | 基于结构优化稀疏卷积神经网络的图像分类方法及介质 | |
WO2019177731A1 (en) | Cluster compression for compressing weights in neural networks | |
CN113657421A (zh) | 卷积神经网络压缩方法和装置、图像分类方法和装置 | |
CN114358197A (zh) | 分类模型的训练方法及装置、电子设备、存储介质 | |
CN114329029A (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
US20190378013A1 (en) | Self-tuning model compression methodology for reconfiguring deep neural network and electronic device | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN115311506A (zh) | 基于阻变存储器的量化因子优化的图像分类方法及装置 | |
CN111325222A (zh) | 图像归一化处理方法及装置、存储介质 | |
US20220076121A1 (en) | Method and apparatus with neural architecture search based on hardware performance | |
CN113609337A (zh) | 图神经网络的预训练方法、训练方法、装置、设备及介质 | |
CN112508194B (zh) | 模型压缩方法、系统和计算设备 | |
CN110288002B (zh) | 一种基于稀疏正交神经网络的图像分类方法 | |
CN115392594B (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 |