CN113657421B - 卷积神经网络压缩方法和装置、图像分类方法和装置 - Google Patents

卷积神经网络压缩方法和装置、图像分类方法和装置 Download PDF

Info

Publication number
CN113657421B
CN113657421B CN202110671327.1A CN202110671327A CN113657421B CN 113657421 B CN113657421 B CN 113657421B CN 202110671327 A CN202110671327 A CN 202110671327A CN 113657421 B CN113657421 B CN 113657421B
Authority
CN
China
Prior art keywords
convolution
neural network
pruning
operation layer
kernel
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.)
Active
Application number
CN202110671327.1A
Other languages
English (en)
Other versions
CN113657421A (zh
Inventor
王培松
程健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN202110671327.1A priority Critical patent/CN113657421B/zh
Publication of CN113657421A publication Critical patent/CN113657421A/zh
Application granted granted Critical
Publication of CN113657421B publication Critical patent/CN113657421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种卷积神经网络压缩方法和装置、图像分类方法和装置,其中卷积神经网络压缩方法包括:对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。本发明实现了高效的卷积核剪枝,同时,上述方式不再受卷积核分布导致的剪枝敏感度不同的限制,从而极大的节省了卷积核剪枝的计算资源和时间资源的消耗。

Description

卷积神经网络压缩方法和装置、图像分类方法和装置
技术领域
本发明涉及深度学习技术领域,尤其涉及一种卷积神经网络压缩方法和装置、图像分类方法和装置。
背景技术
近年来,深度神经网络,特别是深度卷积神经网络在计算机视觉、自然语言处理、语音识别等领域取得了巨大的突破。随着深度卷积神经网络性能的提升,模型的参数量以及计算复杂度也大幅增长。其中,参数量的提升需要存储模型的设备具有较大的硬盘存储空间。而计算复杂度的提升令设备会消耗更大的电量。这使得深度卷积网络大多只能部署在高性能的计算机集群之上。
同时,随着近些年移动互联网的发展,将深度模型部署在诸如智能手机或者智能手表等嵌入式的设备上的需求越来越大。但是嵌入式设备的存储容量以及电池容量十分有限,因此导致庞大的深度模型难以在嵌入式设备上对特定任务进行推理预测。因此,如何降低深度卷积神经网络的模型参数量以及计算复杂度,成为了将其部署在嵌入式的移动端上的关键。
针对卷积神经网络的参数多、计算量大的问题,已有一些模型的加速压缩方法被提出。其中就包括卷积核剪枝方法。卷积核剪枝方法可以通过将卷积神经网络中卷积层的卷积核剪掉的方式,很大程度的减少模型的参数量以及浮点预算量。同时可以保留模型的原有结构,从而无需在特定的硬件上进行加速。
然而,当前已经提出的卷积核剪枝算法主要基于“范数越小越不重要”的原则,将范数较小的卷积核剪掉。也有工作通过计算卷积层的几何中心,并将距离几何中心较近的卷积核剪掉。然而,上述两种主流方法对于卷积核分布较为敏感。因此,需要对卷积核的分布进行敏感度分析来决定各层的剪枝比例,使得剪枝过程十分耗时。
另外一些方法通过复杂的搜索算法来搜索最优的子模型结构来达到卷积核剪枝的目的。但是搜索算法本身也同样十分消耗计算和时间资源。因此,如何高效的进行深度卷积神经网络的卷积核剪枝仍有待研究。
发明内容
本发明提供一种卷积神经网络压缩方法和装置、图像分类方法和装置,用以解决现有技术中对于卷积核分布较为敏感的缺陷。
本发明提供一种卷积神经网络压缩方法,包括:
对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
根据本发明提供一种的卷积神经网络压缩方法,所述对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,具体包括:
基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0。
根据本发明提供的一种卷积神经网络压缩方法,所述基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0,之后还包括:
统计所述任一卷积操作层对应的真实剪枝数量;
对所述任一卷积操作层中未剪枝的卷积核进行补充剪枝;所述补充剪枝的卷积核数量为理论剪枝数量与所述真实剪枝数量之间的差值;所述理论剪枝数量是基于所述预设剪枝比例和所述任一卷积操作层中的卷积核数量确定的。
根据本发明提供的一种卷积神经网络压缩方法,所述对所述任一卷积操作层中未剪枝的卷积核进行补充剪枝,具体包括:
对所述任一卷积操作层中未剪枝的卷积核根据一范数进行排序;
将范数最小的若干个卷积核的参数置为0。
根据本发明提供的一种卷积神经网络压缩方法,所述对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类。
根据本发明提供的一种卷积神经网络压缩方法,所述基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
以卷积核为单位,将各个卷积操作层的参数由四维张量重构为二维矩阵;
确定各卷积操作层对应的卷积核聚类的聚类数目;
基于各卷积操作层对应的聚类数目,对各个卷积操作层的卷积核分别进行K均值聚类。
根据本发明提供的一种卷积神经网络压缩方法,所述确定各卷积操作层对应的卷积核聚类的聚类数目,具体包括:
基于所述预训练的卷积神经网络的网络结构,人工设定各卷积操作层对应的聚类数目;
或,基于不同的可选聚类数目对各个卷积操作层进行卷积核聚类,并计算对应的轮廓系数,将轮廓系数最大时所对应的可选聚类数目作为各卷积操作层对应的聚类数目。
本发明还提供一种图像分类方法,包括:
确定待分类图像;
将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果;
其中,所述图像分类网络是利用如上述任一种所述卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
本发明还提供一种卷积神经网络压缩装置,包括:
卷积核聚类单元,用于对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
卷积核剪枝单元,用于对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
网络重训练单元,用于对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
本发明还提供一种图像分类装置,包括:
待分类图像确定单元,用于确定待分类图像;
图像分类单元,用于将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果;
其中,所述图像分类网络是利用如上述任一种所述卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
本发明提供的卷积神经网络压缩方法和装置、图像分类方法和装置,通过对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,再对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络,实现了高效的卷积核剪枝,同时,上述方式不再受卷积核分布导致的剪枝敏感度不同的限制,从而极大的节省了卷积核剪枝的计算资源和时间资源的消耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的卷积神经网络压缩方法的流程示意图之一;
图2为本发明提供的卷积神经网络压缩方法的流程示意图之二;
图3为本发明提供的单层卷积核剪枝方法的示意图;
图4为本发明提供的图像分类方法的流程示意图;
图5为本发明提供的将卷积神经网络用于图像分类的示意图;
图6为本发明提供的基于K均值聚类的卷积核剪枝方法与基于几何中心相似性的卷积核剪枝方法的对比图;
图7为本发明提供的卷积神经网络压缩装置的结构示意图;
图8为本发明提供的图像分类装置的结构示意图;
图9为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的卷积核剪枝方法通常为基于范数、几何中心相似性或结构搜索的剪枝方案。在基于范数的方法中,需要根据各卷积层的分布来设定不同的剪枝比例,从而避免不同层对于剪枝的敏感度不同所导致的精度下降,不当的剪枝比例设定也是导致原有剪枝准则精度下降的原因;在基于几何中心相似性的剪枝方法中,对于服从多中心分布的卷积层,该方法难以有效的进行剪枝;对于结构搜索的方法,其搜索方法虽然可以达到相对较好的模型精度,但需要耗费极大的计算和训练资源,难以在实际中部署。
对此,本发明实施例提供了一种对于卷积核分布不敏感的卷积核剪枝方法。图1为本发明实施例提供的卷积神经网络压缩方法的流程示意图之一,如图1所示,该方法包括:
步骤110,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
步骤120,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
步骤130,对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
具体地,针对特定任务构建卷积神经网络后,对卷积神经网络进行预训练,例如,可以针对图像分类任务,构建用于图像分类的卷积神经网络,或针对语音识别任务,构建用于语音识别的卷积神经网络。其中,卷积神经网络的训练目标可以根据实际任务目标设定。预训练完成后,针对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇。其中,卷积操作层包括卷积层和全连接层。对于任一卷积操作层,利用聚类算法对该层中的卷积核进行聚类,得到多个卷积核类簇。聚类完成后,每个卷积操作层均对应有多个卷积核类簇。此处,各个卷积操作层对应的卷积核类簇个数可以相同,也可以不同,本发明实施例对此不作具体限定。
针对任一卷积操作层,其对应的任一卷积核类簇中包含的卷积核之间是相似的,因此可以对该卷积核类簇进行卷积核剪枝,将其中相似度较高的卷积核删减,实现模型参数量的压缩。对每个卷积操作层对应的每个卷积核类簇均进行上述卷积核剪枝操作,可以大幅减少卷积神经网络的参数量和计算复杂度。
随后,对卷积核剪枝后的卷积神经网络进行重训练,训练方式与传统训练方式相同,但将学习率设定为较小值来恢复卷积核剪枝带来的模型精度损失,并得到压缩后的卷积神经网络。此时,得到的压缩后的卷积神经网络较之上述预训练的卷积神经网络,参数量和计算复杂度大大减少,但通过重训练,尽量避免了模型压缩带来的模型精度损失。
通过卷积核聚类的方式,将相似卷积核聚在一起,并利用相似性剪枝的方式删减其中相似度较大、重复率较高的卷积核,实现了高效的卷积核剪枝。同时,上述方式不再受卷积核分布导致的剪枝敏感度不同的限制,避免了对于卷积核分布的额外分析以及复杂的结构搜索,从而极大的节省了卷积核剪枝的计算资源和时间资源的消耗。
本发明实施例提供的方法,通过对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,再对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络,实现了高效的卷积核剪枝,同时,上述方式不再受卷积核分布导致的剪枝敏感度不同的限制,从而极大的节省了卷积核剪枝的计算资源和时间资源的消耗。
基于上述实施例,步骤120具体包括:
基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0。
具体地,经过聚类后,对于任一卷积操作层的卷积核类簇n,根据“越相似越不重要”的准则,将距离聚类中心最近的卷积核参数置为0,即:
使得j′∈[1,mn],n∈[1,ki];
其中,i表示第i个卷积操作层,ki表示该层的卷积核类簇数量,为该层第n个卷积核类簇的聚类中心,/>为该卷积核类簇中的任一卷积核,/>为距离聚类中心最近的卷积核,mn为该卷积核类簇中卷积核的个数。
通过以上运算,可将该卷积核类簇中与聚类中心最相似的卷积核置为0。之后,可以重复上式若干次,从而在预设剪枝比例P下,从该卷积核类簇中剪掉P×mn个卷积核。此处,不同卷积操作层,对应的预设剪枝比例可以相同,也可以不同,本发明实施例对此不作具体限定。上述剪枝过程可称为相似性剪枝。
基于上述任一实施例,基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0,之后还包括:
统计该卷积操作层对应的真实剪枝数量;
对该卷积操作层中未剪枝的卷积核进行补充剪枝;补充剪枝的卷积核数量为理论剪枝数量与真实剪枝数量之间的差值;理论剪枝数量是基于预设剪枝比例和该卷积操作层中的卷积核数量确定的。
具体地,随着聚类个数ki的上升,在某些卷积核类簇中的卷积核个数会很少,甚至为1。因此,很难通过基于相似性的剪枝方法来剪掉这类卷积核。因此,为了保证剪枝的比例,首先需要统计该卷积操作层对应的真实剪枝数量和理论剪枝数量,并计算理论剪枝数量与真实剪枝数量之间的差值。其中,理论剪枝数量与真实剪枝数量之间的差值为:
其中,为真实剪枝数量,/>表示地板函数,/>为理论剪枝数量,P为预设剪枝比例,/>为该卷积操作层中的卷积核数量。
对于不足部分,需要对该卷积操作层中剩余的未剪枝卷积核进行补充剪枝。其中,补充剪枝的卷积核数量为理论剪枝数量与真实剪枝数量之间的差值,以保证最后的剪枝数量达到预设剪枝比例。
基于上述任一实施例,对该卷积操作层中未剪枝的卷积核进行补充剪枝,具体包括:
对该卷积操作层中未剪枝的卷积核根据一范数进行排序;
将范数最小的若干个卷积核的参数置为0。
具体地,对该卷积操作层中未被相似性剪枝剪掉的卷积核根据一范数进行排序,并将范数最小的d个卷积核的参数置为0,从而剪掉相应的卷积核。其中,d为理论剪枝数量与真实剪枝数量之间的差值。
通过以上的操作,相似的卷积核以及范数小的卷积核会被同时剪掉,从而同时保留了基于范数和基于相似性剪枝方法的优点。
根据以上分析,可以发现,随着聚类个数ki的上升,更多的卷积核将被基于范数的剪枝方法剪掉;相反,更多的卷积核会被基于相似性的剪枝方法剪掉。特别的,当时,所有的卷积核都会被基于范数的剪枝方法剪掉;当ki=1时,距离该层几何中心最近的卷积核将会被剪掉。
基于上述任一实施例,步骤110具体包括:
基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类。
具体地,聚类问题可以建模为最优化问题使得
其中Wi为二维参数矩阵,Di包含了ki个聚类中心,Bi的每一列为一个独热向量,表示对应的卷积核属于的类别位置。以上最优化问题可以通过K均值算法进行求解,实现各个卷积操作层的卷积核聚类。
基于上述任一实施例,基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
以卷积核为单位,将各个卷积操作层的参数由四维张量重构为二维矩阵;
确定各卷积操作层对应的卷积核聚类的聚类数目;
基于各卷积操作层对应的聚类数目,对各个卷积操作层的卷积核分别进行K均值聚类。
具体地,设原有预训练的卷积神经网络中任一卷积操作层的参数维度为其中K为卷积核的大小,特别地,对于全连接层K=1。以卷积核为单位,将各个卷积操作层的参数由四维张量重构为二维矩阵,即/>需要说明的是,此时将卷积核维度重构为二维矩阵,在卷积核剪枝过程结束后,可以将卷积核的维度恢复为原始的四维。
随后,确定各卷积操作层对应的卷积核聚类的聚类数目。基于各卷积操作层对应的聚类数目,对各个卷积操作层的卷积核分别进行K均值聚类。
基于上述任一实施例,确定各卷积操作层对应的卷积核聚类的聚类数目,具体包括:
基于预训练的卷积神经网络的网络结构,人工设定各卷积操作层对应的聚类数目;
或,基于不同的可选聚类数目对各个卷积操作层进行卷积核聚类,并计算对应的轮廓系数,将轮廓系数最大时所对应的可选聚类数目作为各卷积操作层对应的聚类数目。
具体地,可以通过人为规定或者轮廓系数的方式,确定各卷积操作层对应的卷积核聚类的聚类数目。其中,可以基于预训练的卷积神经网络的网络结构,人工设定各卷积操作层对应的聚类数目。例如,对于较浅的模型,如ResNet-18,可简单的将各层聚类数目设定为适当的相同数目,如4或8;对于深层模型,如ResNet-50,可将聚类数目设定为卷积核数目除以定值4或8。
或者,还可以基于不同的可选聚类数目对各个卷积操作层进行卷积核聚类,并计算对应的轮廓系数,将轮廓系数最大时所对应的可选聚类数目作为各卷积操作层对应的聚类数目。
对于上述两种方式,通过实验发现,轮廓系数的方式虽然可以得到较为稳定的剪枝结果,但与人为设定相比提升并不明显。因此,在实际部署时可以直接使用人为设定的方式来节省计算资源和时间资源的浪费。
基于上述任一实施例,图2为本发明实施例提供的卷积神经网络压缩方法的流程示意图之二,如图2所示,该方法包括:
将原预训练的卷积神经网络各卷积操作层,以卷积核为单位,通过将四维的卷积层参数重构为二维矩阵;
通过人为规定或者轮廓系数的方式,确定各卷积层卷积核聚类的聚类数目;
基于确定的聚类数目对各层卷积核进行k均值聚类;
基于卷积核聚类结果,使用相同的剪枝比例,将各卷积层各类中距离聚类中心最近的卷积核参数置为0;
计算真实剪枝率以及理论剪枝率差,并通过基于范数的剪枝方法保证预先设定的剪枝比例,并恢复卷积核原有维度;
对剪枝后的模型进行重训练,以恢复剪枝带来的模型精度损失,并得到最终的加速压缩后的模型。
其中,图3为本发明实施例提供的单层卷积核剪枝方法的示意图,如图3所示,对卷积神经网络中的任一卷积层,首先对重构后的卷积层参数进行k均值聚类,而后进行卷积核剪枝并恢复原有维度的过程。为了展示方便,图中仅展示了对于聚类数目为2的聚类过程。
基于上述任一实施例,图4为本发明实施例提供的图像分类方法的流程示意图,如图4所示,该方法包括:
步骤410,确定待分类图像;
步骤420,将待分类图像输入至图像分类网络,得到图像分类网络输出的分类结果;
其中,图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
具体地,图5为本发明实施例提供的将卷积神经网络用于图像分类的示意图,如图5所示,卷积神经网络包含多个卷积层和多个全连接层。输入的待分类图像经过卷积层和全连接层的处理后得到分类结果。其中,图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
以常用的ResNet50为例,获取图像分类应用的ResNet50深度卷积神经网络。利用上述任一实施例提供的卷积神经网络压缩方法对预训练的ResNet50深度卷积神经网络,从第一层卷积层开始,分别进行卷积核聚类以及卷积核剪枝。剪枝完成后,对剪枝后的模型进行重训练,从而得到最终的图像分类模型。
通过测试,剪枝后的ResNet50深度卷积神经网络计算量较原模型降低53.5%,在大规模图像分类任务ImageNet上的测试精度达到75.50%,为目前已知的预定义剪枝率的卷积核剪枝方法中的最高精度。
图6为本发明实施例提供的基于K均值聚类的卷积核剪枝方法与基于几何中心相似性的卷积核剪枝方法的对比图,如图6所示,本发明实施例提供的基于K均值聚类的卷积核剪枝方法具备更好的剪枝效果。
基于上述任一实施例,图7为本发明实施例提供的卷积神经网络压缩装置的结构示意图,如图7所示,该装置包括:卷积核聚类单元710、卷积核剪枝单元720和网络重训练单元730。
其中,卷积核聚类单元710用于对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
卷积核剪枝单元720用于对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
网络重训练单元730用于对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
本发明实施例提供的装置,通过对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,再对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络,实现了高效的卷积核剪枝,同时,上述方式不再受卷积核分布导致的剪枝敏感度不同的限制,从而极大的节省了卷积核剪枝的计算资源和时间资源的消耗。
基于上述实施例,卷积核剪枝单元720具体用于:
基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0。
基于上述任一实施例,卷积核剪枝单元720在基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0之后,还用于:
统计该卷积操作层对应的真实剪枝数量;
对该卷积操作层中未剪枝的卷积核进行补充剪枝;补充剪枝的卷积核数量为理论剪枝数量与真实剪枝数量之间的差值;理论剪枝数量是基于预设剪枝比例和该卷积操作层中的卷积核数量确定的。
基于上述任一实施例,对该卷积操作层中未剪枝的卷积核进行补充剪枝,具体包括:
对该卷积操作层中未剪枝的卷积核根据一范数进行排序;
将范数最小的若干个卷积核的参数置为0。
基于上述任一实施例,卷积核聚类单元710具体用于:
基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类。
基于上述任一实施例,基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
以卷积核为单位,将各个卷积操作层的参数由四维张量重构为二维矩阵;
确定各卷积操作层对应的卷积核聚类的聚类数目;
基于各卷积操作层对应的聚类数目,对各个卷积操作层的卷积核分别进行K均值聚类。
基于上述任一实施例,确定各卷积操作层对应的卷积核聚类的聚类数目,具体包括:
基于预训练的卷积神经网络的网络结构,人工设定各卷积操作层对应的聚类数目;
或,基于不同的可选聚类数目对各个卷积操作层进行卷积核聚类,并计算对应的轮廓系数,将轮廓系数最大时所对应的可选聚类数目作为各卷积操作层对应的聚类数目。
基于上述任一实施例,图8为本发明实施例提供的图像分类装置的结构示意图,如图8所示,该装置包括:待分类图像确定单元810和图像分类单元820。
其中,待分类图像确定单元810用于确定待分类图像;
图像分类单元820用于将待分类图像输入至图像分类网络,得到图像分类网络输出的分类结果;
其中,图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行卷积神经网络压缩方法,该方法包括:对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
处理器910还可以调用存储器930中的逻辑指令,以执行图像分类方法,该方法包括:确定待分类图像;将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果;其中,所述图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的卷积神经网络压缩方法,该方法包括:对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
当所述程序指令被计算机执行时,计算机还能够执行上述各方法所提供的图像分类方法,该方法包括:确定待分类图像;将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果;其中,所述图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的卷积神经网络压缩方法,该方法包括:对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络。
该计算机程序被处理器执行时还可以实现以执行图像分类方法,该方法包括:确定待分类图像;将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果;其中,所述图像分类网络是利用如上述任一实施例提供的卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种基于卷积神经网络的图像分类方法,其特征在于,包括:
确定待分类图像;
将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果,所述图像分类网络是利用卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的;
其中,所述卷积神经网络压缩方法,包括:
对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
基于欧式距离相似性剪枝方式,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络;
所述基于欧式距离相似性剪枝方式,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,具体包括:
基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0。
2.根据权利要求1所述的基于卷积神经网络的图像分类方法,其特征在于,所述基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0,之后还包括:
统计所述任一卷积操作层对应的真实剪枝数量;
对所述任一卷积操作层中未剪枝的卷积核进行补充剪枝;所述补充剪枝的卷积核数量为理论剪枝数量与所述真实剪枝数量之间的差值;所述理论剪枝数量是基于所述预设剪枝比例和所述任一卷积操作层中的卷积核数量确定的。
3.根据权利要求2所述的基于卷积神经网络的图像分类方法,其特征在于,所述对所述任一卷积操作层中未剪枝的卷积核进行补充剪枝,具体包括:
对所述任一卷积操作层中未剪枝的卷积核根据一范数进行排序;
将范数最小的若干个卷积核的参数置为0。
4.根据权利要求1至3任一项所述的基于卷积神经网络的图像分类方法,其特征在于,所述对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类。
5.根据权利要求4所述的基于卷积神经网络的图像分类方法,其特征在于,所述基于K均值算法,对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,具体包括:
以卷积核为单位,将各个卷积操作层的参数由四维张量重构为二维矩阵;
确定各卷积操作层对应的卷积核聚类的聚类数目;
基于各卷积操作层对应的聚类数目,对各个卷积操作层的卷积核分别进行K均值聚类。
6.根据权利要求5所述的基于卷积神经网络的图像分类方法,其特征在于,所述确定各卷积操作层对应的卷积核聚类的聚类数目,具体包括:
基于所述预训练的卷积神经网络的网络结构,人工设定各卷积操作层对应的聚类数目;
或,基于不同的可选聚类数目对各个卷积操作层进行卷积核聚类,并计算对应的轮廓系数,将轮廓系数最大时所对应的可选聚类数目作为各卷积操作层对应的聚类数目。
7.一种基于卷积神经网络的图像分类装置,其特征在于,包括:
待分类图像确定单元,用于确定待分类图像;
图像分类单元,用于将所述待分类图像输入至图像分类网络,得到所述图像分类网络输出的分类结果,所述图像分类网络是利用卷积神经网络压缩方法,对初始卷积神经网络进行压缩后得到的;
其中,所述卷积神经网络压缩方法,包括:
对预训练的卷积神经网络中的各个卷积操作层分别进行卷积核聚类,得到各个卷积操作层对应的卷积核类簇;
基于欧式距离相似性剪枝方式,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝;
对卷积核剪枝后的卷积神经网络进行重训练,得到压缩后的卷积神经网络;
所述欧式距离基于相似性剪枝方式,对各个卷积操作层对应的每一卷积核类簇进行卷积核剪枝,具体包括:
基于预设剪枝比例,将任一卷积操作层对应的各个卷积核类簇中距离聚类中心最近的若干个卷积核参数置为0。
CN202110671327.1A 2021-06-17 2021-06-17 卷积神经网络压缩方法和装置、图像分类方法和装置 Active CN113657421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110671327.1A CN113657421B (zh) 2021-06-17 2021-06-17 卷积神经网络压缩方法和装置、图像分类方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110671327.1A CN113657421B (zh) 2021-06-17 2021-06-17 卷积神经网络压缩方法和装置、图像分类方法和装置

Publications (2)

Publication Number Publication Date
CN113657421A CN113657421A (zh) 2021-11-16
CN113657421B true CN113657421B (zh) 2024-05-28

Family

ID=78488991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110671327.1A Active CN113657421B (zh) 2021-06-17 2021-06-17 卷积神经网络压缩方法和装置、图像分类方法和装置

Country Status (1)

Country Link
CN (1) CN113657421B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114677545B (zh) * 2022-03-29 2023-05-23 电子科技大学 一种基于相似性剪枝和高效模块的轻量化图像分类方法
CN116402116B (zh) * 2023-06-05 2023-09-05 山东云海国创云计算装备产业创新中心有限公司 神经网络的剪枝方法、系统、设备、介质及图像处理方法
CN116402117B (zh) * 2023-06-07 2023-08-18 中诚华隆计算机技术有限公司 图像分类卷积神经网络剪枝方法及芯粒器件数据分配方法
CN117649568B (zh) * 2024-01-30 2024-05-03 之江实验室 一种用于图像分类卷积神经网络的网络压缩方法及装置

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018120740A1 (zh) * 2016-12-29 2018-07-05 深圳光启合众科技有限公司 图片分类方法和装置、机器人
CN109389043A (zh) * 2018-09-10 2019-02-26 中国人民解放军陆军工程大学 一种无人机航拍图片的人群密度估计方法
CN109670178A (zh) * 2018-12-20 2019-04-23 龙马智芯(珠海横琴)科技有限公司 句子级双语对齐方法及装置、计算机可读存储介质
WO2019107900A1 (ko) * 2017-11-28 2019-06-06 주식회사 날비컴퍼니 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
CN110298446A (zh) * 2019-06-28 2019-10-01 济南大学 面向嵌入式系统的深度神经网络压缩和加速方法及系统
CN110598731A (zh) * 2019-07-31 2019-12-20 浙江大学 一种基于结构化剪枝的高效图像分类方法
CN110782019A (zh) * 2019-10-28 2020-02-11 中国科学院自动化研究所 基于分解和剪枝的卷积神经网络压缩方法、系统、装置
CN111242287A (zh) * 2020-01-15 2020-06-05 东南大学 一种基于通道l1范数剪枝的神经网络压缩方法
CN111612144A (zh) * 2020-05-22 2020-09-01 深圳金三立视频科技股份有限公司 一种应用于目标检测的剪枝方法及终端
CN111723915A (zh) * 2020-08-24 2020-09-29 国网浙江省电力有限公司 深度卷积神经网络的剪枝方法、计算机设备及应用方法
CN112149716A (zh) * 2020-09-02 2020-12-29 广州探迹科技有限公司 基于fpgm的模型压缩方法及系统
CN112270405A (zh) * 2020-11-26 2021-01-26 湖南大学 基于范数的卷积神经网络模型的滤波器剪枝方法和系统
CN112819252A (zh) * 2021-03-01 2021-05-18 云南电网有限责任公司电力科学研究院 一种卷积神经网络模型构建方法
CN112906889A (zh) * 2021-03-03 2021-06-04 中国科学院计算技术研究所 一种用于压缩深度神经网络模型的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11423311B2 (en) * 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018120740A1 (zh) * 2016-12-29 2018-07-05 深圳光启合众科技有限公司 图片分类方法和装置、机器人
WO2019107900A1 (ko) * 2017-11-28 2019-06-06 주식회사 날비컴퍼니 컨볼루션 신경망 내 필터 프루닝 장치 및 방법
CN109389043A (zh) * 2018-09-10 2019-02-26 中国人民解放军陆军工程大学 一种无人机航拍图片的人群密度估计方法
CN109670178A (zh) * 2018-12-20 2019-04-23 龙马智芯(珠海横琴)科技有限公司 句子级双语对齐方法及装置、计算机可读存储介质
CN110298446A (zh) * 2019-06-28 2019-10-01 济南大学 面向嵌入式系统的深度神经网络压缩和加速方法及系统
CN110598731A (zh) * 2019-07-31 2019-12-20 浙江大学 一种基于结构化剪枝的高效图像分类方法
CN110782019A (zh) * 2019-10-28 2020-02-11 中国科学院自动化研究所 基于分解和剪枝的卷积神经网络压缩方法、系统、装置
CN111242287A (zh) * 2020-01-15 2020-06-05 东南大学 一种基于通道l1范数剪枝的神经网络压缩方法
CN111612144A (zh) * 2020-05-22 2020-09-01 深圳金三立视频科技股份有限公司 一种应用于目标检测的剪枝方法及终端
CN111723915A (zh) * 2020-08-24 2020-09-29 国网浙江省电力有限公司 深度卷积神经网络的剪枝方法、计算机设备及应用方法
CN112149716A (zh) * 2020-09-02 2020-12-29 广州探迹科技有限公司 基于fpgm的模型压缩方法及系统
CN112270405A (zh) * 2020-11-26 2021-01-26 湖南大学 基于范数的卷积神经网络模型的滤波器剪枝方法和系统
CN112819252A (zh) * 2021-03-01 2021-05-18 云南电网有限责任公司电力科学研究院 一种卷积神经网络模型构建方法
CN112906889A (zh) * 2021-03-03 2021-06-04 中国科学院计算技术研究所 一种用于压缩深度神经网络模型的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于卷积核剪枝的深度神经网络模型压缩算法研究;殷俊杰;中国优秀硕士学位论文全文数据库-信息科技辑;全文 *
深度卷积神经网络模型低位宽量化方法研究;范浩鑫;中国优秀硕士学位论文全文数据库-信息科技辑;全文 *
深度神经网络性能和规模的量化分析;温伟健;中国优秀硕士学位论文全文数据库-信息科技辑;全文 *

Also Published As

Publication number Publication date
CN113657421A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN113657421B (zh) 卷积神经网络压缩方法和装置、图像分类方法和装置
CN108764471B (zh) 基于特征冗余分析的神经网络跨层剪枝方法
CN111461322B (zh) 一种深度神经网络模型压缩方法
CN111723915B (zh) 一种基于深度卷积神经网络的目标检测方法
WO2022042123A1 (zh) 图像识别模型生成方法、装置、计算机设备和存储介质
CN113011570B (zh) 一种采用神经网络压缩系统的人脸表情识别方法
CN113241064B (zh) 语音识别、模型训练方法、装置、电子设备和存储介质
CN113554084A (zh) 基于剪枝和轻量卷积的车辆再辨识模型压缩方法及系统
Liu et al. Compressing cnns using multilevel filter pruning for the edge nodes of multimedia internet of things
Zhang et al. A channel pruning algorithm based on depth-wise separable convolution unit
CN113807568A (zh) 一种电力负荷预测方法、装置及终端设备
Wang et al. Efficient deep convolutional model compression with an active stepwise pruning approach
CN112445914A (zh) 文本分类方法、装置、计算机设备和介质
WO2024011859A1 (zh) 一种基于神经网络的人脸检测方法和装置
CN111783688A (zh) 一种基于卷积神经网络的遥感图像场景分类方法
US11875263B2 (en) Method and apparatus for energy-aware deep neural network compression
Li et al. A spectral clustering based filter-level pruning method for convolutional neural networks
CN116245162A (zh) 基于改进自适应遗传算法的神经网络剪枝方法及系统
CN113378866B (zh) 图像分类方法、系统、存储介质及电子设备
CN111602145A (zh) 卷积神经网络的优化方法及相关产品
CN114723043A (zh) 基于超图模型谱聚类的卷积神经网络卷积核剪枝方法
CN114118411A (zh) 图像识别网络的训练方法、图像识别方法及装置
CN113762505A (zh) 一种卷积神经网络的按通道l2范数聚类剪枝方法
CN113743593A (zh) 神经网络量化方法、系统、存储介质及终端
CN113505804A (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