图像识别网络模型剪枝方法、装置、设备及存储介质

文档序号:29701481发布日期:2022-04-16 14:35阅读:157来源:国知局
图像识别网络模型剪枝方法、装置、设备及存储介质

1.本技术实施例涉及图像处理技术领域,尤其涉及一种图像识别网络模型剪枝方法、装置、设备及存储介质。


背景技术:

2.近年来,随着计算机技术的发展和计算能力的不断提升及数据量的飞跃,人工智能(artificial intelligence,ai)已迅速渗入医疗领域,并在图像识别、大数据的挖掘分析等方面显示出极大优越性。医疗公司利用人工智能的特征提取能力和数据整合能力,开发出自动化的白细胞图像识别系统已经开始进入医疗检验室,缓解了检验人员的工作压力。卷积神经网络(convolutional neural network,cnn)等深度学习算法是最近几年新兴的一种图像识别算法,能够自动地从海量大数据中学习特征和整合特征,其检测图像目标的能力已经得到越来越深入的发展。在医疗领域图像识别中,可以利用卷积神经网络技术利用图像识别进行白血病细胞形态学研究,例如基于多张急性淋巴细胞白血病l1、l2、l3亚型骨髓图像和正常骨髓图像数据集,利用简单的阈值分割方法,使用卷积神经网络模型进行训练,实现对未成熟的淋巴细胞和正常细胞的识别。
3.卷积神经网络内部包括多个卷积核,以利用多个卷积核对输入数据进行特征提取,进而利用提取的特征获取结果,一般来讲,卷积核越多,提取的特征越多,最终所获得结果越精确。然而卷积核增多时,导致计算量较大,所消耗的计算资源也在增加,使得计算效率较低。同时由于庞大的计算量与参数量,在一定程度上限制了高精度的深度学习算法模型(如卷积神经网络模型)在资源受限设备上的部署,例如移动端/嵌入式设备等存储空间少、算力资源有限的边缘端平台,导致网络运行效率低,经济适用性差。


技术实现要素:

4.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本技术实施例提供一种图像识别网络模型剪枝方法、装置、设备及存储介质,能够降低图像识别网络模型的复杂度和参数量,减少运算资源的占用量并提升模型在资源受限设备上的运行速度,扩展图像识别网络模型的应用范围。
6.第一方面,本技术实施例提供一种图像识别网络模型剪枝方法,包括:
7.获取训练数据集和图像识别网络模型;
8.将所述训练数据集输入所述图像识别网络模型,得到所述图像识别网络模型中每个卷积核对应的输出特征图;
9.对所述输出特征图进行降维,得到每个卷积核对应的降维特征图;
10.对所述降维特征图进行聚类得到聚类信息;
11.根据所述降维特征图得到每个卷积核对应的剪枝指标;
12.根据所述剪枝指标和所述聚类信息对所述图像识别网络模型进行剪枝,得到轻量
化图像识别网络模型。
13.在一可选的实现方式中,所述训练数据集包括:训练图像样本和对应标签,所述将所述训练数据集输入所述图像识别网络模型,得到所述图像识别网络模型中每个卷积核对应的输出特征图,包括:
14.计算所述训练数据集中所述训练图像样本的图片平均值;
15.将所述图片平均值输入所述图像识别网络模型,得到所述图像识别网络模型中每个卷积核对应的输出特征图。
16.在一可选的实现方式中,所述输出特征图为输出矩阵,所述对所述输出特征图进行降维,得到每个卷积核对应的降维特征图,包括:
17.利用主成分分析法计算所述输出矩阵的特征值和对应的特征向量;
18.选取所述特征值最大的所述特征向量作为所述输出特征图对应的降维特征图。
19.在一可选的实现方式中,所述对所述降维特征图进行聚类得到聚类信息,包括:
20.获取每个所述降维特征图中点的密度值;
21.根据局部密度值、高局部密度点的距离以及对应的预设距离阈值,从所述密度值中选取得到至少一个聚类中心;
22.根据所述聚类中心的聚类条件对所述降维特征图中点进行聚类,得到至少一个聚类类别。
23.在一可选的实现方式中,所述根据所述降维特征图得到每个卷积核对应的剪枝指标,包括:
24.获取每个所述卷积核中每个通道对应的通道缩放因子;
25.利用每个所述卷积核的模型权重和所述通道缩放因子对所述图像识别网络模型进行训练,以调整所述通道缩放因子;
26.对调整后的所述通道缩放因子进行排序,得到每个卷积核对应的所述剪枝指标。
27.在一可选的实现方式中,所述根据所述剪枝指标和所述聚类信息对所述图像识别网络模型进行剪枝,得到轻量化图像识别网络模型,包括:
28.对同一聚类类别,仅保留所述聚类类别的所述聚类中心对应的所述卷积核的模型权重;
29.根据所述剪枝指标剪除所述卷积核中对应的通道,得到所述轻量化图像识别网络模型。
30.在一可选的实现方式中,所述对同一聚类类别,仅保留所述聚类类别的所述聚类中心对应的所述卷积核的模型权重,得到所述轻量化图像识别网络模型,还包括:
31.根据所述聚类中心对应的所述卷积核生成基础特征图;
32.根据所述基础特征图生成相似特征图;
33.利用所述基础特征图和所述相似特征图,调整所述轻量化图像识别网络模型。
34.在一可选的实现方式中,获取所述图像识别网络模型后,还包括:
35.对所述图像识别网络模型进行模型优化,所述模型优化包括:宽度优化、深度优化或分辨率优化中至少一种。
36.第二方面,本技术实施例提供一种深度学习模型剪枝装置,包括:
37.获取模块,用于获取训练数据集和图像识别网络模型;
38.输出特征图获取模块,用于将所述训练数据集输入所述图像识别网络模型,得到所述图像识别网络模型中每个卷积核对应的输出特征图;
39.降维特征图获取模块,用于对所述输出特征图进行降维,得到每个卷积核对应的降维特征图;
40.聚类模块,用于对所述降维特征图进行聚类得到聚类信息;
41.剪枝指标计算模块,用于根据所述降维特征图得到每个卷积核对应的剪枝指标;
42.剪枝模块,用于根据所述剪枝指标和所述聚类信息对所述图像识别网络模型进行剪枝,得到轻量化图像识别网络模型。
43.第三方面,一种计算机设备,包括处理器以及存储器;
44.所述存储器用于存储程序;
45.所述处理器用于根据所述程序执行如第一方面中任一项所述的图像识别网络模型剪枝方法。
46.第四方面,本技术实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面中任意一项所述的图像识别网络模型剪枝方法。
47.本技术实施例第一方面提供的一种图像识别网络模型剪枝方法,与相关技术相比,获取训练数据集和图像识别网络模型,将训练数据集输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图,对输出特征图进行降维,得到每个卷积核对应的降维特征图,对降维特征图进行聚类得到聚类信息,根据降维特征图得到每个卷积核对应的剪枝指标,根据剪枝指标和聚类信息对图像识别网络模型进行剪枝,得到轻量化图像识别网络模型。本实施例对特征图进行降维和聚类,根据聚类结果和剪枝指标对图像识别网络模型进行剪枝得到轻量化图像识别网络模型,在不降低准确率指标以及模型泛化能力的前提下,降低图像识别网络模型的复杂度和参数量,减少运算资源的占用量,提升模型在资源受限设备上的运行速度,扩展图像识别网络模型的应用范围。
48.可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术一个实施例提供的图像识别网络模型剪枝方法的流程图;
51.图2是本技术一个实施例提供的图像识别网络模型剪枝方法的又一流程图;
52.图3是本技术一个实施例提供的图像识别网络模型剪枝方法的又一流程图;
53.图4是本技术一个实施例提供的图像识别网络模型剪枝方法的又一流程图;
54.图5是本技术一个实施例提供的图像识别网络模型剪枝方法的又一流程图;
55.图6是本技术一个实施例提供的图像识别网络模型剪枝方法的流程示意图;
56.图7是本技术一个实施例提供的图像识别网络模型剪枝装置的结构示意图;
57.图8是本技术一个实施例提供的电子设备的硬件结构示意图。
具体实施方式
58.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术实施例的描述。
59.需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
60.还应当理解,在本技术实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
61.白血病是一种常见的血液系统恶性肿瘤,具有较高的发病率和死亡率。在我国白血病的发病率在所有肿瘤中居前位,同时,白血病也是儿童发病率和死亡率最高的肿瘤。快速、安全、准确的白血病诊断是降低发病率和死亡率的有效手段。恶性白细胞的形态学评估和可靠识别是诊断白血病的关键步骤,以前主要依靠专业检验人员通过人工镜检来判断外周血和骨髓血液样本血涂片中的细胞,最后得出分类结论。
62.近年来,随着计算机技术的发展和计算能力的不断提升及数据量的飞跃,人工智能(artificial intelligence,ai)已迅速渗入医疗领域,并在图像识别、大数据的挖掘分析等方面显示出极大优越性。医疗公司目前可以利用人工智能的特征提取能力和数据整合能力,开发出自动化的白细胞图像识别系统已经开始进入医疗检验室,缓解了检验人员的工作压力。卷积神经网络(convolutional neural network,cnn)等深度学习算法是最近几年新兴的一种图像识别算法,能够自动地从海量大数据中学习特征和整合特征,其检测图像目标的能力已经得到越来越深入的发展。在医疗领域图像识别中,可以利用卷积神经网络技术利用图像识别进行白血病细胞形态学研究,例如基于多张急性淋巴细胞白血病l1、l2、l3亚型骨髓图像和正常骨髓图像数据集,利用简单的阈值分割方法,使用卷积神经网络模型进行训练,实现对未成熟的淋巴细胞和正常细胞的识别。
63.卷积神经网络内部包括多个卷积核,以利用多个卷积核对输入数据进行特征提取,进而利用提取的特征获取结果,一般来讲,卷积核越多,提取的特征越多,最终所获得结果越精确。然而卷积核增多时,导致计算量较大,所消耗的计算资源也在增加,使得计算效率较低。随着时代发展,人们更加关注神经网络的实际应用性能,由于庞大的计算量与参数量,在一定程度上限制了高精度的深度学习算法模型(如卷积神经网络模型)在资源受限设备上的部署,例如移动端/嵌入式设备等存储空间少、算力资源有限的边缘端平台,导致网
络运行效率低,经济适用性差。因此需要研究基于深度学习模型的轻量化方法,相关技术中,很多研究的参数存在大量的冗余,特别是现有技术训练的数据集规模小,易造成过拟合,导致模型泛化能力不足,实际应用时精度低。另外,有些研究虽然在一定程度上减少了参数量,但所用模型本身的存储空间也很大。
64.相关技术中通道剪枝是实现模型轻量化的方法之一,如何衡量权重的重要程度是剪枝算法的核心问题。以往的剪枝方法往往通过涉及一种衡量权重本身重要性的方法来实现模型压缩,但无法衡量通道对结果的影响程度及难以确定剪枝率。
65.因此,本技术实施例提供的一种图像识别网络模型剪枝方法,与相关技术相比,获取训练数据集和图像识别网络模型,将训练数据集输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图,对输出特征图进行降维,得到每个卷积核对应的降维特征图,对降维特征图进行聚类得到聚类信息,根据降维特征图得到每个卷积核对应的剪枝指标,根据剪枝指标和聚类信息对图像识别网络模型进行剪枝,得到轻量化图像识别网络模型。本实施例对特征图进行降维和聚类,根据聚类结果和剪枝指标对图像识别网络模型进行剪枝得到轻量化图像识别网络模型,在不降低准确率指标以及模型泛化能力的前提下,降低图像识别网络模型的复杂度和参数量,减少运算资源的占用量,提升模型在资源受限设备上的运行速度,扩展图像识别网络模型的应用范围。
66.下面结合附图,对本技术实施例作进一步阐述。
67.本技术实施例提供的图像识别网络模型剪枝方法,涉及人工智能技术领域,尤其涉及数据挖掘技术领域。本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
68.本技术实施例提供的图像识别网络模型剪枝方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现图像识别网络模型剪枝方法的应用等,但并不局限于以上形式。
69.本技术实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计
算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
70.本技术实施例描述的应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
71.基于上述应用场景,提出本技术实施例的图像识别网络模型剪枝方法的各个实施例。
72.如图1所示,图1是本技术一个实施例提供的图像识别网络模型剪枝方法的流程图,包括但不限于有步骤s110和步骤s160。
73.步骤s110,获取训练数据集和图像识别网络模型。
74.在一实施例中,图像识别网络模型可以是用于进行白细胞分类识别的卷积神经网络模型,用于使用卷积神经网络模型进行训练,实现对未成熟的淋巴细胞和正常细胞的识别,以进行后续的白细胞形态学分析。
75.在一实施例中,图像识别网络模型可以是efficientnet网络结构模型,例如可以是efficientnet-b7模型,该图像识别网络模型的总层数为813层,每个层都由5个mbconv模块组合而成,mbconv模块是一种注意力机制模块,主要是用来让mbconv模块网络对重要的部分施加更多的关注,可以用于子块的起点。该图像识别网络模型中所有主要块的第一个子块的起点,除了第1个以外,其他所有子块之间跳跃连接(skip connection),将每个子块以跳跃连接的方式与其前一个子块相连合并,用于提升该模型的收敛速度。
76.该实施例中,mbconv模块首先对输入进行1*1的逐点卷积,以改变输出通道的维度,接着进行k*k(k可根据经验设定)的深度可分离卷积,然后再采用1*1的逐点卷积来恢复通道维度,并以跳跃连接的方式连接到之前的卷积层。同时,以相同尺寸特征图的计算阶段作为同一阶段,将每次下采样阶段作为下一个阶段,在同一阶段的首尾添加cross stage partial network组件,降低计算量的同时保持或提升精度,实现不同特征图之间的特征融合,进一步加强信息流通,提升网路性能。并且在每个阶段结尾部分添加通道注意力机制和空间注意力机制,帮助图像识别网络模型对输入的每个部分赋予不同的权重,从而抽取出更加关键的信息,进一步提升图像识别网络模型的鲁棒性。
77.在一实施例中,由于上述图像识别网络模型进是一个快速高精度模型,使用了深度(depth)、宽度(width)、分辨率(resolution)(即输入图片分辨率)共同调节技术,因此还包括对上述图像识别网络模型进行模型优化,其中,模型优化包括:宽度优化、深度优化或分辨率优化中至少一种。
78.该实施例中,模型优化是将上述图像识别网络模型作为基准模型,在其基础上进行深度调整,即调整图片的通道数量;或在基准模型的基础上进行深度调整,即调整网络的层数;或在基准模型的基础上对输入图片的大小进行调整(即调整分辨率);或在基准模型的基础上对图片的深度、宽度、大小都同时进行调整等。
79.在一实施例中,上述模型优化过程包括以下步骤:
80.1)引入网络参数φ,并设定初始值:φ=1,然后通过网格搜索找到满足下列公式的参数:
81.深度:d=α
φ
,;
82.宽度:ω=β
φ

83.分辨率:r=γ
φ

84.其中,α
·
β2·
γ2≈2,且α≥1,β≥1,γ≥1;
85.寻找最优α,β,γ,使得accuracy(n(d,ω,r))最大,accuracy表示该图像识别网络模型的分类正确率,即在参数(d,ω,r)条件下正确率最高的α,β,γ。
86.2)在上述求得的α,β,γ参数条件下,设定不同的网络参数φ,训练图像识别网络模型(如efficientnet-b7网络模型),使得参数量和计算量达到最小。
87.上述步骤2)中采用的训练策略可以是:
88.(1)多尺度训练策略:即预先定义几个固定的尺度,每个时期(epoch)随机选择一个尺度进行训练,来增强图像识别网络模型的鲁棒性;
89.(2)随机丢弃(dropout)训练策略:即在图像识别网络模型训练时随机让该模型网络中某些节点不工作(即将该节点的输出置0),其它过程不变,用以防止训练过拟合的问题;
90.(3)平衡不同细胞类别损失函数(classblanced loss)训练策略:即通过平衡训练数据集中不同细胞类别的权重,以防止小样本特征丢失。
91.(4)随机裁剪(crop augmentation)与旋转训练策略:即通过训练时随机从图片上剪裁出预定义大小的区域,并对该区域进行随机的角度旋转,用以提升网络对不同细胞大小和角度的鲁棒性。
92.通过上述训练和测试得到优化后的图像识别网络模型。
93.在一实施例中,例如以急性髓系白血病患者白细胞为识别对象,则数据集可以使用已正确分类并标记好的急性髓系白血病白细胞显微镜图片数据集,数据集可以是建立的全新白细胞图像库,也可以是已公开的白细胞图像库。其中,白细胞显微镜图片可以来自于外周血的血涂片的人工显微镜检查图,也可以来自于骨髓血涂片的人工显微镜检查图,也可以是来自于两者混合血涂片的人工显微镜检查图,另外,生成血涂片的血液样本包括正常血细胞样本和异常血细胞样本。
94.该实施例中,也可以利用图像预处理技术对训练数据集中图像尺寸进行调整,例如可以是通过翻转、旋转或色彩归一化等技术对初始数据集进行数据增强。另外还可以将处理后得到的白细胞显微镜图片数据集,随机地按8:2分成白细胞分类训练数据集和测试数据集,其中,训练数据集用于对图像识别网络模型(例如卷积神经网络模型)的参数训练过程,测试数据集用于检验图像识别网络模型的精度和参数权重的更新。
95.可以理解的是,上述也可以将白血病细胞替换为其它细胞,包括但不限于正常白细胞、异常淋巴细胞、中性粒细胞、病原体等,这些细胞可来自于外周血、骨髓、脑脊液、肺泡灌洗液、尿液等。进一步地,替换为其它血细胞可辅助诊断不同的血液疾病如:其它白血病及其亚型、淋巴瘤等;替换为来自于脑脊液、肺泡灌洗液、尿液的细胞可辅助诊断脑部、肺部、眼部等肿瘤或感染性疾病等。在此不对训练数据集做具体限定,本实施例的图像识别模型可以应用于各种涉及图像识别的领域。
96.步骤s120,将训练数据集输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图。
97.在一实施例中,训练数据集包括:训练图像样本和对应标签。该实施例中,计算训
练数据集中各训练图像样本的图片平均值,并将该图片平均值输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图,具体的,输出特征图为一个n行m列的输出矩阵。
98.步骤s130,对输出特征图进行降维,得到每个卷积核对应的降维特征图。
99.在一实施例中,步骤s130包括但不限于以下步骤:
100.步骤s131,利用主成分分析法计算输出矩阵的特征值和对应的特征向量。
101.步骤s132,选取特征值最大的特征向量作为输出特征图对应的降维特征图。
102.在一实施例中,为了分析网络中的卷积核分布,需要通过bn层的权值大小选定冗余较大的层作为需要剪枝的层。本实施例中对于每一个需要剪枝的卷积层,经正向推理得到该层的输出特征图,然后采用主成分分析(principal coponent analysis,pca)法,通过正交变换将数据由二维降至一维,得到该输出特征图的特征向量。
103.主成分分析法是一种多变量统计方法,是常用的降维方法之一,通过正交变换将一组可能存在相关性的变量数据转换为一组线性不相关的变量,转换后的变量被称为主成分。可以使用两种方法进行主成分分析,分别是特征分解或奇异值分解。
104.该实施例中,利用主成分分析法计算得到各输出矩阵的协方差矩阵,根据协方差矩阵得到对应的特征值以及特征向量。然后将最大特征值对应的特征向量作为该输出特征图对应的降维特征图。
105.步骤s140,对降维特征图进行聚类得到聚类信息。
106.在一实施例中,采用无监督聚类的方式。聚类是将数据对象的集合分成相似的对象类的过程。使得同一个簇(或类)中的对象之间具有较高的相似性,而不同簇中的对象具有较高的相异性。按照聚类的尺度,聚类方法可被分为以下三种:基于距离的聚类算法、基于密度的聚类方法、基于互连性的聚类算法。其中基于距离的聚类算法是用各式各样的距离来衡量数据对象之间的相似度。基于密度的聚类算法主要是依据合适的密度函数等。基于互连性的聚类算法通常基于图或超图模型,将高度连通的对象聚为一类。
107.本实施例中采用基于局部密度的聚类方法对上述得到的多个降维特征图进行聚类,基于局部密度的聚类方法可以对任意形状数据进行聚类,且避免了如k-means聚类方法需要预先指定类别、dbscan聚类方法需预先指定密度阈值的缺陷,从而可获得各个降维特征图的聚类结果。
108.在一实施例中,参照图2,基于密度的聚类方法对降维特征图进行聚类得到聚类信息包括但不限于以下步骤:
109.步骤s141,获取每个降维特征图中点的密度值。
110.在一实施例中,使用wasserstein距离作为降维特征图之间的距离度量,具体的聚类思想为:假设类簇的中心由一些局部密度比较低的点围绕,并且这些点距离其他有高局部密度的点的距离(即wasserstein距离)都比较大。
111.首先设定两个值:局部密度值ρi以及高局部密度点的距离δi。
112.上述两个值仅仅取决于两点i和j之间的距离d
ij
,且该距离满足三角不等式:
113.ρi=∑jχ(d
ij-dc)
114.其中,dc表示最佳截断距离,是一种超参数,可根据经验获得。所以ρi相当于距离点i的距离小于dc的点的个数,由于该算法只对ρi的相对值敏感,因此对dc的选择比较鲁棒。
115.δi用于描述点i到其他高局部密度点之间的最小距离,即所有比点i密度高的所有点的最近距离,表示为:
[0116][0117]
对于密度最大的点,设置δi=minj(d
ij
),只有那些密度是局部或者全局最大的点才会远大于正常的相邻点间距,因此聚类中心被视为是δi值异常最大的点。
[0118]
步骤s142,根据局部密度值ρi、高局部密度点的距离δi以及对应的预设距离阈值,从密度值中选取得到至少一个聚类中心。
[0119]
步骤s143,根据聚类中心的聚类条件对降维特征图中点进行聚类,得到至少一个聚类类别。
[0120]
在一实施例中,所有点的密度值按照由高到低排列,通过给定的预设距离阈值,即δ
min
和ρ
min
筛选出同时满足:1)ρi》ρ
min
;2)δi》δ
min
条件的点作为距离中心点,作为聚类中心。
[0121]
该实施例中,聚类过程可以描述为:有着比较大的局部密度值ρi和很大的δi的点被认为是类簇的中心,而局部密度ρi较小但是δi较大的点作为异常点。即可选取局部密度最大且高局部密度点的距离最大的点作为聚类中心,在确定聚类中心之后,剩下的点的类别标签指定按照当前点的类别标签等于高于当前点密度的最近的点的标签一致的原则对所有点的类别进行指定,确定聚类个数,所有其他点属于距离其最近的类簇中心所代表的类簇,剩余点被分配给与其具有较高密度的最近邻居相同的类簇。
[0122]
本实施例的聚类过程中,通常需要确定每个点划分给某个类簇的可靠性,因此本实施例中首先为每个类簇定义一个聚类边界,对于一个聚类中的所有点,计算与其他类别中所有点距离小于等于ρi的最大密度值,得到聚类边界。可以根据聚类边界选取划分给该类簇但是距离其他类簇的点的距离小于dc的点,然后为每个类簇找到其聚类边界的局部密度最大的点,令其局部密度为δ
min
,该类簇中所有局部密度大于δ
min
的点被认为是类簇核心的一部分,即将该点划分给该类簇的可靠性很大,其余的点被认为是该类簇的异常点或者说是噪音。本实施例通过将非聚类中心点的聚类过程分离成一个单独的进程,使得聚类中心的选择和非聚类点的归类分离开来,增大了聚类精度,适用于图片、非球形点集的聚类。
[0123]
步骤s150,根据降维特征图得到每个卷积核对应的剪枝指标。
[0124]
在一实施例中,参照图3,步骤s150包括但不限于以下步骤:
[0125]
步骤s151,获取每个卷积核中每个通道对应的通道缩放因子。
[0126]
在一实施例中,为卷积核中每个通道均引入一个通道缩放因子,用于与对应通道的输出相乘,该缩放因子可以根据经验值或者实际需求选择。
[0127]
步骤s152,利用每个卷积核的模型权重和通道缩放因子对图像识别网络模型进行训练,以调整通道缩放因子。
[0128]
在一实施例中,利用每个卷积核的模型权重和通道缩放因子对图像识别网络模型进行联合训练,训练过程中,对通道缩放因子进行调整。
[0129]
步骤s153,对调整后的通道缩放因子进行排序,得到每个卷积核对应的剪枝指标。
[0130]
在一实施例中,对调整后的通道缩放因子的绝对值进行从大到小或者从小到大排序,将较小的通道缩放因子对应的通道作为每个卷积核对应的剪枝指标,即根据剪枝指标能够选取可剪枝的通道。
[0131]
步骤s160,根据剪枝指标和聚类信息对图像识别网络模型进行剪枝,得到轻量化
图像识别网络模型。
[0132]
在一实施例中,参照图4,步骤s160包括但不限于以下步骤:
[0133]
步骤s161,对同一聚类类别,仅保留聚类类别的聚类中心对应的卷积核的模型权重。
[0134]
步骤s162,根据剪枝指标剪除卷积核中对应的通道,得到轻量化图像识别网络模型。
[0135]
在一实施例中,对于同一聚类类别,仅保留该聚类类别的聚类中心对应的卷积核的模型权重,剪除该聚类类别中生成其他降维特征图的卷积核的模型权重,即同一聚类类别仅保留聚类中心对应的卷积核的模型权重。
[0136]
另外剪除非聚类中心对应的通道,即按照剪枝指标,将较小通道缩放因子对应的通道剪枝,剪枝的通道个数根据系统轻量化需求选取,从而得到轻量化图像识别网络模型。
[0137]
对于上述得到的轻量化图像识别网络模型,为了避免剪枝过度,导致图像识别网络模型的推理能力下降,即检测精度下降,因此需要对轻量化图像识别网络模型进行调整。
[0138]
在一实施例中,参照图5,调整轻量化图像识别网络模型的步骤包括但不限于:
[0139]
步骤s510,根据聚类中心对应的卷积核生成基础特征图。
[0140]
步骤s520,根据基础特征图生成相似特征图。
[0141]
步骤s530,利用基础特征图和相似特征图,调整轻量化图像识别网络模型。
[0142]
在一实施例中,利用保留的聚类中心对应的卷积核生成各层的基础特征图,由于同一聚类类别的相关特征图的特征表示之间具有较大的相似性和冗余性,并且能够采用线性变换方法通过某一特征图得到与其它其相似的特征图,因此该实施例中采用线性运算和非线性运算代替卷积运算根据基础特征图生成相似特征图作为补充,相似特征图可以充分揭示基础特征图的潜在固有特征信息,因此可以在减少模型参数量的同时尽量保证模型的而推理能力。
[0143]
在一实施例中,采用参数量极少的两层1*1卷积串联来模拟上述线性运算和非线性运算,线性计算对基础特征图中各像素的灰度值进行简单处理(例如乘、除一个权值),最后进行求和;而非线性计算是对基础特征图中各像素周围一定范围内(例如3像素*3像素)求最大值、最小值、中值、均值等加权操作。
[0144]
具体的,例如在卷积核的第一个卷积层后连接relu()函数以达到非线性运算的目的,第二个卷积层则不连接relu()函数以达到线性运算目的,由于增加线性运算和非线性运算,因此该卷积核中两个卷积层的权重需通过训练调整,以达到轻量化图像识别网络模型精度恢复的目的。一实施例中,通过调整轻量化图像识别网络模型结构后重新训练,然后进行性能测试,该轻量化图像识别网络模型的识别准确率能达到99.27%,并且其所占存储空间仅为16m。
[0145]
本技术实施例的图像识别网络模型剪枝方法能够解决现有图像识别网络模型结构复杂、运算量大及参数大量冗余造成的网络运行效率低、经济适用性差的问题,实现准确率指标和现有分类网络相似的情况下大大减少模型参数量和计算量,能够保证轻量化之后的图像识别网络模型准确度高,所占存储空间少,运行速度快,有利于推动深度学习在医疗图像识别领域的落地化。
[0146]
在一实施例中,参照图6,为本技术一实施例中图像识别网络模型剪枝方法流程示
意图。
[0147]
图6中首先获取训练数据集,然后将训练样本输入到图像识别网络模型中,该图像识别网络模型包含多个卷积层(例如图示中的n个),每个卷积层包含多个卷积核,将训练数据集输入优化后的图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图,对输出特征图进行降维,得到每个卷积核对应的降维特征图,其中输出特征图表示为输出矩阵形式。然后对计算输出矩阵的特征值和对应的特征向量,并从中选取得到输出特征图对应的降维特征图。再对降维特征图进行聚类得到聚类信息,其中聚类信息包括:聚类类别、聚类中心(图中用斜线表示聚类中心)和聚类边界等。在剪除卷积核对应通道的基础上,对同一聚类类别,仅保留聚类中心对应的卷积核的模型权重,其他的卷积核进行剪除,从而得到轻量化图像识别网络模型。
[0148]
进一步地,参照图6,为了避免剪枝过度,导致图像识别网络模型的推理能力下降,通过线性变换和非线性变换对轻量化图像识别网络模型进行调整。根据聚类中心对应的卷积核生成基础特征图,根据基础特征图生成相似特征图,利用基础特征图和相似特征图,调整轻量化图像识别网络模型。
[0149]
本技术实施例提供的一种图像识别网络模型剪枝方法,与相关技术相比,获取训练数据集和图像识别网络模型,将训练数据集输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图,对输出特征图进行降维,得到每个卷积核对应的降维特征图,对降维特征图进行聚类得到聚类信息,根据降维特征图得到每个卷积核对应的剪枝指标,根据剪枝指标和聚类信息对图像识别网络模型进行剪枝,得到轻量化图像识别网络模型。本实施例对特征图进行降维和聚类,根据聚类结果和剪枝指标对图像识别网络模型进行剪枝得到轻量化图像识别网络模型,采用特征图像相似度和无监督聚类相结合的方法,实现自适应模型剪枝,对卷积核的权重重要度衡量以及各卷积层的剪枝指标的自动计算,避免了人为设定阈值带来的负面后果。能够在不降低准确率指标以及模型泛化能力的前提下,降低图像识别网络模型的复杂度和参数量,减少运算资源的占用量,提升模型在资源受限设备上的运行速度,扩展图像识别网络模型的应用范围。
[0150]
另外,本技术实施例的一个实施例还提供了一种深度学习模型剪枝装置,参照图7,装置包括:
[0151]
获取模块710,用于获取训练数据集和图像识别网络模型;
[0152]
输出特征图获取模块720,用于将训练数据集输入图像识别网络模型,得到图像识别网络模型中每个卷积核对应的输出特征图;
[0153]
降维特征图获取模块730,用于对输出特征图进行降维,得到每个卷积核对应的降维特征图;
[0154]
聚类模块740,用于对降维特征图进行聚类得到聚类信息;
[0155]
剪枝指标计算模块750,用于根据降维特征图得到每个卷积核对应的剪枝指标;
[0156]
剪枝模块760,用于根据剪枝指标和聚类信息对图像识别网络模型进行剪枝,得到轻量化图像识别网络模型。
[0157]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0158]
需要说明的是,本实施例中的深度学习模型剪枝装置,可以执行如图1所示实施例中的图像识别网络模型剪枝方法。即,本实施例中的深度学习模型剪枝装置和如图1所示实施例中的图像识别网络模型剪枝方法,均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
[0159]
另外,本技术实施例的一个实施例还提供了计算机设备,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
[0160]
处理器和存储器可以通过总线或者其他方式连接。
[0161]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0162]
实现上述实施例的图像识别网络模型剪枝方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的图像识别网络模型剪枝方法,例如,执行以上描述的图1中的方法步骤s110至s160、图2中的方法步骤s141至s143,图3中的方法步骤s151至s153等。
[0163]
参照图8,图8示意了本技术一实施例的电子设备的硬件结构,电子设备包括:
[0164]
处理器801,可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
[0165]
存储器802,可以采用rom(readonlymemory,只读存储器)、静态存储设备、动态存储设备或者ram(randomaccessmemory,随机存取存储器)等形式实现。存储器802可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器802中,并由处理器801来调用执行本公开实施例的血象信息预测方法;
[0166]
输入/输出接口803,用于实现信息输入及输出;
[0167]
通信接口804,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;和
[0168]
总线805,在设备的各个组件(例如处理器801、存储器802、输入/输出接口803和通信接口804)之间传输信息;
[0169]
其中处理器801、存储器802、输入/输出接口803和通信接口804通过总线805实现彼此之间在设备内部的通信连接。
[0170]
此外,本技术实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的图像识别网络模型剪枝方法,例如,执行以上描述的图1中的方法步骤s110至s160、图2中的方法步骤s141至s143,图3中的方法步骤s151至s153等。
[0171]
又如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上
述实施例中的图像识别网络模型剪枝方法,例如,执行以上描述的图1中的方法步骤s110至s160、图2中的方法步骤s141至s143,图3中的方法步骤s151至s153等。
[0172]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0173]
以上是对本技术实施例的较佳实施进行了具体说明,但本技术实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术实施例精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术实施例权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1