CN110119745A - 深度学习模型的压缩方法、装置、计算机设备及存储介质 - Google Patents
深度学习模型的压缩方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110119745A CN110119745A CN201910267617.2A CN201910267617A CN110119745A CN 110119745 A CN110119745 A CN 110119745A CN 201910267617 A CN201910267617 A CN 201910267617A CN 110119745 A CN110119745 A CN 110119745A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- learning model
- weight
- beta pruning
- quantization
- 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
- 238000013136 deep learning model Methods 0.000 title claims abstract description 255
- 238000007906 compression Methods 0.000 title claims abstract description 77
- 230000006835 compression Effects 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000013138 pruning Methods 0.000 claims abstract description 87
- 238000013139 quantization Methods 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 46
- 238000011002 quantification Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 57
- 210000002569 neuron Anatomy 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000008909 emotion recognition Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及深度学习技术领域。具体公开了一种深度学习模型的压缩方法、装置、计算机设备及存储介质,该方法包括:获取预先训练的深度学习模型;对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。该方法可以使得深度学习模型应用于计算能力以及存储能力均小于服务器的智能终端中。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种深度学习模型的压缩方法、装置、计算机设备及存储介质。
背景技术
目前,随着智能终端的普及以及人们对照片处理的相关应用具有相当高的热忱,许多图像分析算法被开发出来以满足人们的需求。为了保证用户隐私,智能终端深度学习模型的部署代替服务器对上传的图片进行图片分析成为了亟待解决的问题。然而,深度学习模型的参数通常在百万、千万甚至上亿数量级,目前智能终端无法满足深度学习模型对计算能力和存储能力的要求,这样就限制了深度学习模型在智能终端上的应用及发展。
因此,有必要提供一种深度学习模型的压缩方法,以便将深度学习模型安装在智能终端上。
发明内容
本申请提供了一种深度学习模型的压缩方法、装置、计算机设备及存储介质,以使得深度学习模型可以应用于智能终端中。
第一方面,本申请提供了一种深度学习模型的压缩方法,所述方法包括:
获取预先训练的深度学习模型;
对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;
对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;
对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
第二方面,本申请还提供了一种深度学习模型的压缩装置,所述装置包括:
模型获取单元,用于获取预先训练的深度学习模型;
剪枝训练单元,用于对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;
量化处理单元,用于对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;
编码压缩单元,用于对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的深度学习模型的压缩方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的深度学习模型的压缩方法。
本申请公开了一种深度学习模型的压缩方法、装置、设备及存储介质,该方法先对预先训练的深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型,再对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享,最后对量化后的深度学习模型进行编码处理,从而完成对深度学习模型的压缩,以使得压缩后的深度学习模型可以应用于计算能力和存储能力均小于服务器的智能终端中。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的实施例提供的一种深度学习模型的压缩方法的应用场景示意图;
图2是本申请的实施例提供的一种深度学习模型的压缩方法的示意流程图;
图3是图2中的深度学习模型的压缩方法的子步骤示意流程图;
图4是图2中的深度学习模型的压缩方法的子步骤示意流程图;
图5是本申请的实施例提供的另一种深度学习模型的压缩方法的示意流程图;
图6为本申请实施例提供的一种深度学习模型的压缩装置的示意性框图;
图7为本申请实施例提供的另一种深度学习模型的压缩装置的示意性框图;
图8为本申请一实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的实施例提供了一种深度学习模型的压缩方法、装置、计算机设备及存储介质。其中,该深度学习模型的压缩方法应用服务器中,实现对深度学习模型进行压缩,以减小深度学习模型的大小进而便于安装在终端。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1是是本申请的实施例提供的一种深度学习模型的压缩方法的应用场景示意图。该应用场景包括服务器和手机,其中,所述服务器用于执行本申请的实施例提供的任一种深度学习模型的压缩方法,实现将深度学习模型进行压缩以便保存在智能终端中。
例如,所述服务器用于执行:获取预先训练的深度学习模型;对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩,并将压缩后的深度学习模型保存在智能终端中。以便用户通过该智能终端使用所述深度学习模型。
如图1所示,深度学习模型具体为基于卷积神经网络训练的图像识别模型,服务器运行该深度学习模型的压缩方法将训练好的图像识别模型进行压缩,并发送至手机中进行保存,以便用户使用该手机通过压缩后的图像识别模型对拍摄的图像或手机中保存的图像进行识别,以得到识别结果。比如,识别拍摄的动物为猫(cat)、狗(dog)或其他等结果,其中,猫(cat)和狗(dog)对应的概率分别为82%和15%,由此可以识别出拍摄的动物为猫,当然在实际应用中可以进行更复杂的识别。进而使得用户通过手机即可使用图像识别模型,并且可以快速准确得到图像的识别结果,提高了用户的体验。
可以理解的是,图1中的示例并不构成对本申请提供的模型压缩方案的应用的限定,只是作为一个示例进行说明以便理解。深度学习模型也不局限于图像识别模型,比如还可以包括:用于根据用户的声音识别用户情感的情感识别模型,或者用于根据文章内容生成文章摘要的摘要生成模型等等。
需要说明的是,深度学习模型可以使用GoogLeNet进行模型训练以得到识别模型,比如图像识别模型,当然也可以采用其他网络,比如采用AlexNet或VGGNet等。
请参阅图2,图2是本申请的实施例提供的一种深度学习模型的压缩方法的示意流程图。该深度学习模型的压缩方法应用于服务器中,用于对训练好的深度学习模型进行压缩,以使得该深度学习模型可以安装在容量较小的智能终端中,进而方便用户通过智能终端就可以使用该深度学习模型。
如图2所示,该深度学习模型的压缩方法,包括步骤S101至步骤S104。
S101、获取预先训练的深度学习模型。
具体地,预先训练的深度学习模型是指已经训练好的并且可以在服务器进行使用的模型。比如,卷积神经网络模型,该卷积神经网络模型用于图像处理或图像识别等。当然也可以是其他模型,比如,用于语音识别的循环神经网络模型,或者用于文本识别的卷积神经网络模型。
S102、对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型。
具体地,剪枝训练处理包括剪枝处理和训练处理两个过程,比如先对所述深度学习模型进行剪枝处理,该剪枝处理是指剪掉训练好的深度学习模型的冗余权重,该冗余权重是指对模型影响不大的权重;再对剪枝后的深度学习模型进行模型训练以得到剪枝后的深度学习模型。
当然,可以采用多次重复剪枝训练处理过程以实现对所述深度学习模型多次处理以得到剪枝后的深度学习模型。剪枝训练处理不仅可以减小模型的大小,还可以确保模型的准确度。
在一个实施例中,还提供了对所述深度学习模型进行剪枝训练处理的步骤,如图3所示,即该步骤具体包括以下内容:
S102a、对所述深度学习模型进行冗余权重移除处理。
具体地,对所述深度学习模型进行冗余权重移除处理,包括:遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重;以及对所述冗余权重进行移除处理。
具体地,可以先设定预设阈值,该预设阈值可以为经验值,将小于所述预设阈值的权重均作为冗余权重,并将所述冗余权重移除,即删除所述冗余权重对应的权值。当然也可以按照从小到大梯度的方式设置多个预设阈值,并在每次剪枝训练处理过程中按照从小到大的顺序将小于该预设阈值的权重移除,即第一次剪枝处理用最小的预设阈值来判断哪些权值为冗余权值并进行模型训练,在第一剪枝训练处理完之后,第二次剪枝处理用次小的预设阈值来判断哪些权值为冗余权值,依次类推直至执行完为止。
S102b、将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型。
其中,将移除的冗余权重设置为预设权值后进行模型训练,比如将移除的权重均设置为零,并重新训练模型以得到新的深度学习模型,该模型训练采用和模型最初的训练方式进行训练。当然预设权值除了设置为零外,也可以采用其他值,比如采用每一层神经元的权重的均值作为预设权值。
S102c、将所述新的深度学习模型作为所述深度学习模型,并返回执行对所述深度学习模型进行冗余权重移除处理的步骤,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
具体地,将得到的新的深度学习模型作为步骤S102a中的深度学习模型,返回执行步骤S102a和S102b,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型为止,完成对所述深度学习模型的剪枝训练处理以得到剪枝后的深度学习模型。
S103、对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享。
具体地,对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值,根据每个聚类的中心值实现对剪枝后的深度学习模型进行量化处理以实现权重共享,进而进一步地减小了深度学习模型的大小。
在一个实施例中,还提供了一种量化处理的步骤,如图4所示,即步骤S103具体包括以下内容:
S103a、对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值;S103b、根据每个所述聚类的中心值生成码本;S103c、根据所述码本量化剪枝后的深度学习模型中的权重以使得量化后的深度学习模型实现权重共享。
为了能将深度学习模型保存在智能终端的磁盘中,需要记录深度学习模型中每个权重的权值。如果采用原始训练的后的参数进行保存的话,这就意味着要保存每个参数的浮点值,会大量占用磁盘空间。举个例子,一个浮点数占用4字节,即32bit。一个有着数亿参数的网络(比如GoogLeNet或VGG-16)轻松就能占据上百兆字节的空间,这是智能终端的磁盘空间所不可接受的。
具体地,对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值,该中心值可以为每个聚类中权重的平均值,具体的聚类方式可以采用K均值(K-Means)聚类。如表1所示,比如聚类结果包括四类结果,对应的聚类中心分别为:0.133、0.252、0.543和0.782,当然也可以包括更多的聚类结果,在此不限定。
具体地,根据每个所述聚类的中心值生成码本,比如生成的码本分别为A、B、C和D,当然也可以包括更多码本或者其他类型的码本,由此可以根据码本量化剪枝后的深度学习模型的权重。
假设剪枝后的深度学习模型的部分权重,如表2所示,即表2中的原始权重,根据码本量化剪枝后的深度学习模型的权重得到的结果,得到的结果为量化权重,如表3所示。由此通过用码本索引的方式代替原来的浮点型权重,即用表3的量化权重代替表2中的量化权重,由此可以大大减小深度学习模型的大小。
因此,通过此方式不仅可以降低深度学习模型的内存占用量,并通过量化权重来降低它们的精度,进一步地减小了深度学习模型的大小。
表1为量化权重
A | B | C | D |
0.133 | 0.252 | 0.543 | 0.782 |
表2为原始权重
0.13315 | 0.12530 | 0.11091 | 0.59026 |
0.25222 | 0.6067 | 0.25155 | 0.14132 |
0.25223 | 0.78321 | 0.13360 | 0.75092 |
0.13280 | 0.12912 | 0.25000 | 0.55023 |
表3为量化权重
A | A | A | C |
B | C | B | A |
B | D | A | D |
A | A | B | C |
S104、对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
具体地,对量化后的深度学习模型中的权重进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引。
其中,哈夫曼编码是用的是无损数据压缩的算法,按照出现次数存储离散值,每个值与公共符号相关联,字符的频率越高,位上的存储就越少。该压缩方法同时还使用稀疏矩阵索引显著降低了存储要求。根据实验结果表明,通过哈夫曼编码将深度学习模型大小减少了8倍到18倍,同时保持深度学习模型的性能不变。当然也可以采用其他算法进行编码压缩,比如采用二进制算法编码进行压缩。
此外,在对量化后的深度学习模型进行编码处理以完成对所述深度学习模型的压缩之后,还包括:将压缩后的深度学习模型保存在智能终端中。
具体地,将通过哈夫曼编码压缩后的深度学习模型保存在智能终端的磁盘中,该深度学习模型比如为用于图像处理的卷积神经网络,由此用户可以通过智能终端就使用卷积神经网络模型对新拍摄的图片进行处理,如图1所示,而无需通过网络将新拍摄的图片发送给相应的服务器,由该服务器使用卷积神经网络模型对该图片进行处理,并将处理后的图片反馈给智能终端,由此可见将压缩后的深度学习模型保存在智能终端中,不仅可以保护用户的隐私,提高了智能终端安全性,还可避免了相关隐私图片外泄。
上述实施例提供的压缩方法先对预先训练的深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型,再对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享,最后对量化后的深度学习模型进行编码处理,从而完成对深度学习模型的压缩,以使得压缩后的深度学习模型可以应用于计算能力和存储能力均小于服务器的智能终端中。
请参阅图5,图5是本申请的实施例提供的另一种深度学习模型的压缩方法的示意流程图。该深度学习模型的压缩方法应用于服务器中,用于对训练好的深度学习模型进行压缩,以使得该深度学习模型可以安装在容量较小的智能终端中,以便用户通过智能终端就可以使用该深度学习模型。
如图5所示,该深度学习模型的压缩方法,包括步骤S201至步骤S209。
S201、获取预先训练的深度学习模型。
具体地,预先训练的深度学习模型是指已经训练好的并且可以在服务器进行使用的模型,比如图像识别模型、摘要生成模型或情感识别模型。
S202、遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重。
具体地,可以先设定预设阈值,该预设阈值可以为经验值,将小于所述预设阈值的权重均作为冗余权重。
S203、根据相关性计算公式计算所述冗余权重对应的神经元与其具有连接关系的神经元之间的相关性。
具体地,所述相关性计算公式为:
在公式(1)中,αi表示所述深度学习模型中每层中的第i个神经元对应的权重;αj表示所述深度学习模型中位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的第j个神经元对应的权重;αia为所述第i个神经元所在层中所有神经元对应的权重的标准差;αjb为位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的所有神经元对应的权重的标准差;M为常数量。
因为,如果当前层中某个激活的神经元与上一层的某个激活的神经元有很强的相关性,那么这个神经元对于后面层中的神经元的激活具有很强的关联性。也就是说,如果前后两层中的某对神经元的激活具有较高的相关性,那么它们之间的连接的边上的权重是非常重要的,为了确保模型的精确到,因此该权重虽然小于预设阈值但也不能移除。
具体地,根据相关性计算公式计算所述冗余权重对应的神经元与其具有连接关系的神经元之间的相关性;判断计算得到的相关性是否小于预设相关值并生成判断结果;若所述相关性小于预设相关值,则执行步骤S204;若所述相关性不小于所述预设相关值,则执行步骤S205。由此提高了模型的预测精度。
S204、若相关性小于预设相关值,则对所述冗余权重进行移除处理。
具体地,若所述相关性小于预设相关值,对所述冗余权重进行移除处理,即删除所述冗余权重对应的权值,该删除所述冗余权重是指删除冗余权重的权值,比如权重αi=0.01,即删除权值0.01。
S205、若相关性不小于所述预设相关值,则保留所述冗余权重。
具体地,若所述相关性不小于所述预设相关值,保留所述冗余权重,即不删除所述冗余权重。
S206、将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型。
具体地,将移除的冗余权重设置为预设权值后进行模型训练,比如将移除的权重均设置为0,并重新训练模型以得到新的深度学习模型。
S207、将所述新的深度学习模型作为所述深度学习模型。
具体地,将所述新的深度学习模型作为所述深度学习模型,并返回执行所述遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重的步骤,即返回执行步骤S202至S206,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
S208、对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享。
具体地,对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值,根据每个聚类的中心值实现对剪枝后的深度学习模型进行量化处理以实现权重共享,进而进一步地减小了深度学习模型的大小。
S209、对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
具体地,对量化后的深度学习模型中的权重进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引。当然也可以采用其他算法进行编码压缩,比如采用二进制算法编码进行压缩。
上述实施例提供的压缩方法先对预先训练的深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型,再对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享,最后对量化后的深度学习模型进行编码处理,从而完成对深度学习模型的压缩。以使得压缩后的深度学习模型可以应用于计算能力和存储能力均小于服务器的智能终端中,同时又提高了模型的预测精度。
请参阅图6,图6是本申请的实施例提供的一种深度学习模型的压缩装置的示意性框图,该深度学习模型的压缩装置可以配置于服务器中,用于执行前述的深度学习模型的压缩方法。
如图6所示,该深度学习模型的压缩装置400,包括:模型获取单元401、剪枝训练单元402、量化处理单元403和编码压缩单元404。
模型获取单元401,用于获取预先训练的深度学习模型。
剪枝训练单元402,用于对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型。
在一个实施例中,剪枝训练单元402包括:权重移除单元4021、移除训练单元4022和返回处理单元4023。
权重移除单元4021,用于对所述深度学习模型进行冗余权重移除处理。其中,权重移除单元4021具体用于:遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重;以及对所述冗余权重进行移除处理。
移除训练单元4022,用于将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型。
返回处理单元4023,用于将所述新的深度学习模型作为所述深度学习模型,并返回执行对所述深度学习模型进行冗余权重移除处理的步骤,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
量化处理单元403,用于对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享。
在一个实施例中,量化处理单元403包括:聚类处理单元4031、码本生成单元4032和权重量化单元4033。
聚类处理单元4031,用于对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值;
码本生成单元4032,用于根据每个所述聚类的中心值生成码本;
权重量化单元4033,用于根据所述码本量化剪枝后的深度学习模型中的权重以使得量化后的深度学习模型实现权重共享。
编码压缩单元404,用于对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
其中,编码压缩单元404具体用于:对量化后的深度学习模型中的权重进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引。
请参阅图7,图7是本申请的实施例提供的另一种深度学习模型的压缩装置的示意性框图,该深度学习模型的压缩装置可以配置于服务器中,用于执行前述的深度学习模型的压缩方法。
如图7所示,深度学习模型的压缩装置500包括:模型获取单元501、权重设置单元502、相关性计算单元503、权重移除单元504、权重保留单元505、移除训练单元506、返回处理单元507、量化处理单元508和编码压缩单元509。
模型获取单元501,用于获取预先训练的深度学习模型。
权重设置单元502,用于遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重。
相关性计算单元503,用于根据相关性计算公式计算所述冗余权重对应的神经元与其具有连接关系的神经元之间的相关性。
权重移除单元504,用于若所述相关性小于预设相关值,对所述冗余权重进行移除处理。
权重保留单元505,用于若所述相关性不小于所述预设相关值,保留所述冗余权重。
移除训练单元506,用于将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型。
返回处理单元507,用于将所述新的深度学习模型作为所述深度学习模型。
具体地,返回处理单元507,用于返回调用权重设置单元502循环执行,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
量化处理单元508,用于对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享。
编码压缩单元509,用于对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
参阅图8,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种深度学习模型的压缩方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种深度学习模型的压缩方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取预先训练的深度学习模型;对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
在一个实施例中,所述处理器在实现所述对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型时,用于实现:
对所述深度学习模型进行冗余权重移除处理;将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型;将所述新的深度学习模型作为所述深度学习模型,并返回执行对所述深度学习模型进行冗余权重移除处理的步骤,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
在一个实施例中,所述处理器在实现所述对所述深度学习模型进行冗余权重移除处理时,用于实现:
遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重;对所述冗余权重进行移除处理。
在一个实施例中,所述处理器在实现所述对所述冗余权重进行移除处理之前,还用于实现:
根据相关性计算公式计算所述冗余权重对应的神经元与其具有连接关系的神经元之间的相关性;若所述相关性小于预设相关值,执行所述对所述冗余权重进行移除处理的步骤;若所述相关性不小于所述预设相关值,保留所述冗余权重。
在一个实施例中,所述相关性计算公式为:
其中,αi表示所述深度学习模型中每层中的第i个神经元对应的权重;αj表示所述深度学习模型中位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的第j个神经元对应的权重;αia为所述第i个神经元所在层中所有神经元对应的权重的标准差;αjb为位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的所有神经元对应的权重的标准差;M为常数量。
在一个实施例中,所述处理器在实现所述对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享时,用于实现:
对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值;根据每个所述聚类的中心值生成码本;根据所述码本量化剪枝后的深度学习模型中的权重以使得量化后的深度学习模型实现权重共享。
在一个实施例中,所述处理器在实现所述对量化后的深度学习模型进行编码处理时,用于实现:
对量化后的深度学习模型中的权重进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项深度学习模型的压缩方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种深度学习模型的压缩方法,其特征在于,包括:
获取预先训练的深度学习模型;
对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;
对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;
对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
2.根据权利要求1所述的压缩方法,其特征在于,所述对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型,包括:
对所述深度学习模型进行冗余权重移除处理;
将移除的冗余权重设为预设权值并对移除处理后的深度学习模型进行模型训练以得到新的深度学习模型;
将所述新的深度学习模型作为所述深度学习模型,并返回执行对所述深度学习模型进行冗余权重移除处理的步骤,直至所述新的深度学习模型中的权重均大于预设阈值时得到剪枝后的深度学习模型。
3.根据权利要求2所述的压缩方法,其特征在于,所述对所述深度学习模型进行冗余权重移除处理,包括:
遍历所述深度学习模型中每个神经元对应的权重并将小于所述预设阈值的权重作为冗余权重;
对所述冗余权重进行移除处理。
4.根据权利要求3所述的压缩方法,其特征在于,在所述对所述冗余权重进行移除处理之前,还包括:
根据相关性计算公式计算所述冗余权重对应的神经元与其具有连接关系的神经元之间的相关性;
若所述相关性小于预设相关值,执行所述对所述冗余权重进行移除处理的步骤;
若所述相关性不小于所述预设相关值,保留所述冗余权重。
5.根据权利要求4所述的压缩方法,其特征在于,所述相关性计算公式为:
其中,αi表示所述深度学习模型中每层中的第i个神经元对应的权重;αj表示所述深度学习模型中位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的第j个神经元对应的权重;αia为所述第i个神经元所在层中所有神经元对应的权重的标准差;αjb为位于所述第i个神经元所在层的上一层中,且与所述第i个神经元具有连接关系的所有神经元对应的权重的标准差;M为常数量。
6.根据权利要求1所述的压缩方法,其特征在于,所述对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享,包括:
对剪枝后的深度学习模型中的权重进行聚类处理以得到每个聚类的中心值;
根据每个所述聚类的中心值生成码本;
根据所述码本量化剪枝后的深度学习模型中的权重以使得量化后的深度学习模型实现权重共享。
7.根据权利要求1所述的压缩方法,其特征在于,所述对量化后的深度学习模型进行编码处理,包括:
对量化后的深度学习模型中的权重进行哈夫曼编码压缩处理,并根据压缩后的权重生成以稀疏矩阵形式保存的码本索引。
8.一种深度学习模型的压缩装置,其特征在于,包括:
模型获取单元,用于获取预先训练的深度学习模型;
剪枝训练单元,用于对所述深度学习模型进行剪枝训练处理以得到剪枝后的深度学习模型;
量化处理单元,用于对剪枝后的深度学习模型进行量化处理以使量化后的深度学习模型实现权重共享;
编码压缩单元,用于对量化后的深度学习模型进行编码处理,以完成对所述深度学习模型的压缩。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的压缩方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267617.2A CN110119745B (zh) | 2019-04-03 | 2019-04-03 | 深度学习模型的压缩方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267617.2A CN110119745B (zh) | 2019-04-03 | 2019-04-03 | 深度学习模型的压缩方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119745A true CN110119745A (zh) | 2019-08-13 |
CN110119745B CN110119745B (zh) | 2024-05-10 |
Family
ID=67520782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910267617.2A Active CN110119745B (zh) | 2019-04-03 | 2019-04-03 | 深度学习模型的压缩方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110119745B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111325354A (zh) * | 2020-03-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 机器学习模型压缩方法、装置、计算机设备和存储介质 |
CN111402327A (zh) * | 2020-03-17 | 2020-07-10 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
CN111667054A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 生成神经网络模型的方法、装置、电子设备以及存储介质 |
CN111859904A (zh) * | 2020-07-31 | 2020-10-30 | 南京三百云信息科技有限公司 | Nlp模型优化方法、装置以及计算机设备 |
CN112580773A (zh) * | 2019-09-27 | 2021-03-30 | 百度(美国)有限责任公司 | 用于压缩深度学习模型的方法和装置 |
CN112784625A (zh) * | 2019-11-04 | 2021-05-11 | 广东毓秀科技有限公司 | 一种行人重识别模型的加速与压缩的方法 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
CN113221981A (zh) * | 2021-04-28 | 2021-08-06 | 之江实验室 | 一种面向边缘深度学习的数据协同处理优化方法 |
WO2022205893A1 (zh) * | 2021-03-30 | 2022-10-06 | 中国电信股份有限公司 | 图像特征的传输方法、装置和系统 |
WO2023241225A1 (en) * | 2022-06-15 | 2023-12-21 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for machine learning model compression |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184369A (zh) * | 2015-09-08 | 2015-12-23 | 杭州朗和科技有限公司 | 用于深度学习模型的矩阵压缩方法和装置 |
US20160292589A1 (en) * | 2015-04-03 | 2016-10-06 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
CN107240136A (zh) * | 2017-05-25 | 2017-10-10 | 华北电力大学 | 一种基于深度学习模型的静态图像压缩方法 |
CN108416427A (zh) * | 2018-02-22 | 2018-08-17 | 重庆信络威科技有限公司 | 卷积核堆积数据流、压缩编码以及深度学习算法 |
US20180277068A1 (en) * | 2017-03-22 | 2018-09-27 | International Business Machines Corporation | Decision-based data compression by means of deep learning technologies |
CN108960333A (zh) * | 2018-07-12 | 2018-12-07 | 西安电子科技大学 | 基于深度学习的高光谱图像无损压缩方法 |
-
2019
- 2019-04-03 CN CN201910267617.2A patent/CN110119745B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160292589A1 (en) * | 2015-04-03 | 2016-10-06 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
CN105184369A (zh) * | 2015-09-08 | 2015-12-23 | 杭州朗和科技有限公司 | 用于深度学习模型的矩阵压缩方法和装置 |
US20180277068A1 (en) * | 2017-03-22 | 2018-09-27 | International Business Machines Corporation | Decision-based data compression by means of deep learning technologies |
CN107240136A (zh) * | 2017-05-25 | 2017-10-10 | 华北电力大学 | 一种基于深度学习模型的静态图像压缩方法 |
CN108416427A (zh) * | 2018-02-22 | 2018-08-17 | 重庆信络威科技有限公司 | 卷积核堆积数据流、压缩编码以及深度学习算法 |
CN108960333A (zh) * | 2018-07-12 | 2018-12-07 | 西安电子科技大学 | 基于深度学习的高光谱图像无损压缩方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580773A (zh) * | 2019-09-27 | 2021-03-30 | 百度(美国)有限责任公司 | 用于压缩深度学习模型的方法和装置 |
US11681920B2 (en) * | 2019-09-27 | 2023-06-20 | Baidu Usa Llc | Method and apparatus for compressing deep learning model |
CN112784625A (zh) * | 2019-11-04 | 2021-05-11 | 广东毓秀科技有限公司 | 一种行人重识别模型的加速与压缩的方法 |
WO2021143070A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京智芯微电子科技有限公司 | 深度神经网络模型的压缩方法、装置及存储介质 |
CN111325354B (zh) * | 2020-03-13 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 机器学习模型压缩方法、装置、计算机设备和存储介质 |
CN111325354A (zh) * | 2020-03-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 机器学习模型压缩方法、装置、计算机设备和存储介质 |
CN111402327A (zh) * | 2020-03-17 | 2020-07-10 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
CN111402327B (zh) * | 2020-03-17 | 2024-03-22 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
CN111667054A (zh) * | 2020-06-05 | 2020-09-15 | 北京百度网讯科技有限公司 | 生成神经网络模型的方法、装置、电子设备以及存储介质 |
CN111667054B (zh) * | 2020-06-05 | 2023-09-01 | 北京百度网讯科技有限公司 | 生成神经网络模型的方法、装置、电子设备以及存储介质 |
CN111859904A (zh) * | 2020-07-31 | 2020-10-30 | 南京三百云信息科技有限公司 | Nlp模型优化方法、装置以及计算机设备 |
WO2022205893A1 (zh) * | 2021-03-30 | 2022-10-06 | 中国电信股份有限公司 | 图像特征的传输方法、装置和系统 |
CN113221981A (zh) * | 2021-04-28 | 2021-08-06 | 之江实验室 | 一种面向边缘深度学习的数据协同处理优化方法 |
WO2023241225A1 (en) * | 2022-06-15 | 2023-12-21 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for machine learning model compression |
Also Published As
Publication number | Publication date |
---|---|
CN110119745B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119745A (zh) | 深度学习模型的压缩方法、装置、计算机设备及存储介质 | |
US10621509B2 (en) | Method, system and computer program product for learning classification model | |
US20190286989A1 (en) | Distributed neural network model utilization system | |
CN113821667B (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
CN110162634A (zh) | 一种基于机器学习的文本处理方法 | |
CN112733545A (zh) | 文本分块方法、装置、计算机设备和存储介质 | |
CN110149529A (zh) | 媒体信息的处理方法、服务器及存储介质 | |
CN111552767A (zh) | 搜索方法、搜索装置以及计算机设备 | |
CN113869420A (zh) | 基于对比学习的文本推荐方法及相关设备 | |
CN111582284B (zh) | 用于图像识别的隐私保护方法、装置和电子设备 | |
US20240005133A1 (en) | Hardware acceleration framework for graph neural network quantization | |
CN110457704A (zh) | 目标字段的确定方法、装置、存储介质及电子装置 | |
CN111368551A (zh) | 一种确定事件主体的方法和装置 | |
CN114529741A (zh) | 一种图片去重方法、装置及电子设备 | |
CN110442489A (zh) | 数据处理的方法和存储介质 | |
CN105164665B (zh) | 一种层级词典的创建方法及图像压缩系统 | |
CN113343020B (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
CN113743650B (zh) | 电力负荷预测方法、装置、设备与存储介质 | |
CN113160987B (zh) | 健康状态预测方法、装置、计算机设备及存储介质 | |
US20220383091A1 (en) | Vertical federated learning with compressed embeddings | |
CN108763260A (zh) | 一种试题搜索方法、系统及终端设备 | |
Kaur Chahal et al. | An efficient Hadoop‐based brain tumor detection framework using big data analytic | |
CN116257885A (zh) | 基于联邦学习的隐私数据通信方法、系统和计算机设备 | |
CN113947185B (zh) | 任务处理网络生成、任务处理方法、装置、电子设备及存储介质 | |
CN116955698A (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 |