深度卷积神经网络模型改进方法及系统及装置及介质与流程

文档序号:26921203发布日期:2021-10-09 16:41阅读:229来源:国知局
深度卷积神经网络模型改进方法及系统及装置及介质与流程

1.本发明涉及深度卷积神经网络模型领域,具体地,涉及深度卷积神经网络模型改进方法及系统及装置及介质。


背景技术:

2.近年来,随着深度学习技术的不断发展,在金融、医疗、教育、工业等领域已经出现了大量的成功案例。随着基于卷积神经网络的智能目标(包括图像目标、声音目标等)检测与识别模型研究不断深入,深度卷积网络模型层数变得越来越深、模型结构越来越复杂,深度卷积网络模型对目标的检测与识别效果也在不断提升,但是,相应的模型参数规模与训练优化所需计算和存储资源也大幅增加。
3.然而,最终应用这类模型的设备端(如智能手机应用、智能汽车、智能录音笔等等)通常都有严格的硬件功耗、空间尺寸等要求,这类约束导致具有较好效果的深度卷积网络模型很难实际在前端设备上发挥作用。这严重制约了目标检测与识别应用的智能化发展,导致目前大多智能化应用还处于实验室验证阶段,离成熟的终端应用还有一定距离。
4.申请人发现现有的深度卷积神经网络模型为了应用在终端设备上,会对深度卷积神经网络模型进行改进设计,如减少参数和计算量,一方面这种轻量化改进的效果一般,并且上述改进导致了深度卷积神经网络模型的精度降低,使得其在终端上的应用效果较差,而将高精度的深度卷积神经网络模型直接应用在终端设备上时,由于终端设备的约束条件导致其应用难度大。


技术实现要素:

5.为了满足深度卷积神经网络模型在终端设备上的应用约束以及应用精度需求,本发明提供了深度卷积神经网络模型改进方法及系统及装置及介质,通过本发明中的技术方案能够设计出即能够满足终端设备上的应用约束,又能够保障模型精度的深度卷积神经网络模型,并且本发明中的模型轻量化改进效果较佳。
6.为实现上述发明目的,本发明提供了深度卷积神经网络模型改进方法,包括步骤:
7.对第一深度卷积神经网络模型进行轻量化处理获得第二深度卷积神经网络模型;
8.对所述第二深度卷积神经网络模型进行剪枝处理,获得第三深度卷积神经网络模型;
9.将所述第三深度卷积神经网络模型作为第一学生模型以及将所述第二深度卷积神经网络模型作为第一教师模型,进行知识蒸馏,得到第四深度卷积神经网络模型;
10.将所述第四深度卷积神经网络模型的参数精度降低。
11.其中,本方法的原理为:本方法首先对对第一深度卷积神经网络模型进行轻量化处理获得第二深度卷积神经网络模型,即对原始模型进行轻量化处理,降低其数量、计算量和运行占用内存量,通过降低深度卷积神经网络模型的参数量、计算量和运行占用内存量后能够使得深度卷积神经网络模型能够满足终端设备的应用约束条件,然后对轻量化处理
后的模型进行剪枝处理,通过剪枝处理可以去掉对模型精度影响不大或冗余的参数,进一步减少模型参数量和计算量,通过上述方式使得模型的计算量和参数量得到了大幅减少,但是模型的精度也降低了,为了保障模型的精度,本方法使用知识蒸馏技术手段,对经过剪枝后的轻量化模型使用知识蒸馏,可以使得轻量化模型精度(相比于剪枝前模型)不损失或损失较少。通过上述轻量化处理和剪枝处理的结合能够提高模型模型轻量化改进效果,通过知识蒸馏能够保障模型的精度,通过本方法改进后的模型能够满足终端设备上的应用约束,又能够保障模型精度的深度卷积神经网络模型,且改进后的模型轻量化改进效果较佳。
12.通过本方法能够获得高效、高性能的轻量级智能目标检测识别卷积神经网络模型,本方法能够在保障识别效果前提下对现有模型进行轻量化改进,能够解决深度卷积神经网络模型在目标检测与识别领域实际落地应用问题。
13.面对结构越来越复杂、参数越来越庞大的深度卷积神经网络模型,如何将其应用到实际目标检测、识别的生产应用环境中,成为当下迫切需要解决的问题,也是智能化应用的关键技术之一。目前,各行各业都在致力于研究智能化目标检测与分类识别,提高复杂环境下终端应用的实际智能化效果。本发明从深度卷积神经网络模型的轻量化角度入手,提出具有领域普适性的深度卷积神经网络模型轻量化改进与压缩方法,解决在前端设备低资源配置、功耗约束严格等条件下,基于深度卷积神经网络的智能目标检测与识别模型能够同时保证检测识别的精确度与检测识别的速度,使得深度学习模型能够真正应用到实际业务中。本发明内容将有助于打通深度卷积神经网络模型实际应用于智能目标检测与识别的技术壁垒,推动智能化应用发展与落地。
14.优选的,本方法中所述轻量化处理包括:将所述第一深度卷积神经网络模型中的标准卷积操作更换为深度可分离卷积操作或混洗卷积操作。其中,深度可分离卷积(dsc)和混洗卷积等轻量化卷积操作与标准卷积操作相比,能够减少深度卷积神经网络模型的参数量和计算量。
15.优选的,本方法中所述轻量化处理包括:将所述第一深度卷积神经网络模型中的激活函数实现方式更换为就地操作。其中,就地操作可以在帮助减少内存使用,可以减小模型运行占用内存量。
16.优选的,本方法中所述轻量化处理包括:将所述第一深度卷积神经网络模型中的卷积操作方式更换为膨胀卷积操作方式;减少所述第一深度卷积神经网络模型的卷积层数目。其中,将模型原有的卷积操作改为膨胀卷积操作,通过扩大单个卷积操作的感受野,使得模型的整体感受野进一步扩大,然后在此基础上调整减少卷积层数,使得模型用更少的卷积层实现与深层网络相同的感受野。此外,对于某些本身存在大量冗余的原始深度网络,适当的减少层数也不会造成精度的较大损失。轻量化改造能够有效降低模型参数量与计算量,进而使得模型运行推理速度显著提升。
17.优选的,本方法中所述对所述第二深度卷积神经网络模型进行剪枝处理,具体包括:基于启发式规则,设置稀疏度对所述第二深度卷积神经网络模型进行剪枝处理。其中,对模型通道进行剪枝,去掉对模型精度影响不大或冗余的参数,达到减少模型参数量和计算量的效果。
18.优选的,本方法基于l1范数或基于l2范数或基于几何中位数,设置稀疏度对所述第二深度卷积神经网络模型进行剪枝处理。
19.优选的,本方法中所述方法包括:
20.对第一深度卷积神经网络模型进行轻量化处理后获得中间深度卷积神经网络模型;
21.将所述中间深度卷积神经网络模型作为第二学生模型以及将所述第一深度卷积神经网络模型作为第二教师模型,进行知识蒸馏,得到所述第二深度卷积神经网络模型。
22.其中,当轻量化处理后使得模型的精度损失较大无法满足使用需求时,则对通过知识蒸馏能够使得模型的精度提升,保障最终模型的精度。
23.优选的,本方法中在所述第一学生模型的训练过程中,基于所述第一学生模型对应训练数据集中的标注数据、所述第一教师模型的网络中间层输出和所述第一教师模型的网络最终层输出对所述第一学生模型的梯度进行下降和更新。
24.本方法中学生模型除了需要拟合训练数据集外,还需要拟合教师模型的输出,使得学生模型能够实现或超过教师模型的检测和识别精度。
25.优选的,本方法中在所述第一学生模型的训练过程中,基于所述第一学生模型对应训练数据集中的标注数据、所述第一教师模型的网络中间层输出和所述第一教师模型的网络最终层输出对所述第一学生模型的梯度进行下降和更新;
26.在所述第二学生模型的训练过程中,基于所述第二学生模型对应训练数据集中的标注数据、所述第二教师模型的网络中间层输出和所述第二教师模型的网络最终层输出对所述第二学生模型的梯度进行下降和更新。
27.本方法中学生模型除了需要拟合训练数据集外,还需要拟合教师模型的输出,使得学生模型能够实现或超过教师模型的检测和识别精度。
28.优选的,本方法中将所述第四深度卷积神经网络模型的参数精度从fp32降低为fp16,或从fp32降低为int8。
29.低精度的参数计算相比于高精度的参数计算速度更快,占用内存资源更少。特别是在具有针对性加速硬件单元的计算设备上,使用量化推理可以使得模型实际运行计算时间大幅提高,进一步提升模型的轻量化程度和运行速度。此外,低精度模型理论上将使用更少的磁盘空间进行固化存储,便于模型的保存、导出和部署应用。
30.优选的,本方法中所述第一深度卷积神经网络模型为densenet网络模型,剪枝操作的稀疏度为0.5;或所述第一深度卷积神经网络模型为yolo

v4网络模型,剪枝操作的稀疏度为 0.2。
31.申请人研究发现,当深度卷积神经网络模型为densenet网络模型时,在剪枝操作的稀疏度为0.5时,模型的推理速度和精度能够同时达到良好的效果;当所述深度卷积神经网络模型为yolo

v4网络模型,剪枝操作的稀疏度为0.2时,模型的推理速度和精度能够同时达到良好的效果。
32.本发明还提供了深度卷积神经网络模型改进系统,所述系统包括:
33.轻量化处理单元,用于对第一深度卷积神经网络模型进行轻量化处理获得第二深度卷积神经网络模型;
34.剪枝处理单元,用于对所述第二深度卷积神经网络模型进行剪枝处理,获得第三深度卷积神经网络模型;
35.知识蒸馏单元,用于将所述第三深度卷积神经网络模型作为第一学生模型以及将
所述第二深度卷积神经网络模型作为第一教师模型,进行知识蒸馏,得到第四深度卷积神经网络模型;
36.模型精度降低单元,用于将所述第四深度卷积神经网络模型的参数精度降低。
37.本发明还提供了一种深度卷积神经网络模型改进装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述深度卷积神经网络模型改进方法的步骤。
38.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述深度卷积神经网络模型改进方法的步骤。
39.本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
40.本发明将模型轻量化处理与剪枝处理进行结合,能够有效大幅降低模型的参数量、计算量和内存量,使得模型的改进效果较佳。
41.通过本发明设计的深度卷积神经网络模型能够达到模型轻量化(降低模型参数里、计算量、内存)和模型高精度的双重需求。
42.本发明整合了深度卷积神经网络轻量化的多种技术手段,包括减少模型参数量和计算量,提升、恢复轻量化模型精度,提高推理速度。本发明将上述技术手段进行有机的结合,形成了一条完整的深度卷积神经网络轻量化技术路径,能够最大程度对深度卷积神经网络进行轻量化改进与压缩。
43.通用性方面,本发明既能够适用于基于卷积的分类网络模型也能够适用于基于卷积的检测网络模型(有锚框、无锚框均可),具有一定的普适性和通用性。
附图说明
44.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;
45.图1是深度卷积神经网络模型改进方法示意图;
46.图2为深度卷积神经网络轻量化改进与压缩方法流程示意图;
47.图3为深度卷积神经网络轻量化改进与压缩方法框架示意图;
48.图4为深度卷积神经网络模型改进系统组成示意图。
具体实施方式
49.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
50.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
51.应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
52.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
53.本说明书使用流程图说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
54.实施例一
55.本实施例一提供了深度卷积神经网络模型改进方法,包括步骤:
56.对第一深度卷积神经网络模型进行轻量化处理获得第二深度卷积神经网络模型;
57.对所述第二深度卷积神经网络模型进行剪枝处理,获得第三深度卷积神经网络模型;
58.将所述第三深度卷积神经网络模型作为第一学生模型以及将所述第二深度卷积神经网络模型作为第一教师模型,进行知识蒸馏,得到第四深度卷积神经网络模型;
59.将所述第四深度卷积神经网络模型的参数精度降低。
60.本实施例一中的方法流程如图1所示,对基于卷积的深度神经网络模型进行轻量化改进与压缩。整体改进过程分为三个板块:设计改进、启发式模型压缩以及推理计算加速。深度卷积神经网络轻量化改进与压缩方法流程图如图2所示,具体的深度卷积神经网络轻量化改进与压缩方法框架如图3所示。
61.1.设计改进
62.设计改进是指利用针对轻量化网络设计的网络结构、卷积方式对原始深度卷积神经网络进行改进,进而达到减少模型参数量与计算量的效果。设计改进包括三个方面:

模型细节轻量化改造;

模型整体轻量化改造;

基于知识蒸馏的精度提升与保持,其中第3个方面可以根据实际需要决定是否采用。
63.①
模型细节轻量化改造:针对原始深度神经网络模型中的细节进行轻量化改进,例如使用深度可分离卷积(dsc)、混洗卷积等轻量化卷积操作替换原有的标准卷积操作,在激活函数实现时使用in

place操作(指改变一个张量的值时,不经过复制操作,而是直接在原来的内存上改变它的值,其中,in

place操作能够减少内存,in

palce为就地操作),in

place操作可以在处理高维数据时帮助减少内存使用),减少无用的结构和变量声明与初始化赋值等等。这些改进的操作能够在细节上减少模型的参数量、计算量以及运行内存。单独看某一种轻量化效果可能不明显,但总体结合起来能够实现比较可观的轻量化效果,本方法中将轻量化卷积操作改进、就地操作改进进行了结合,使得模型整体的轻量化改进效果较佳。
64.②
模型整体轻量化改造:针对原始深度神经网络模型中的整体深度进行调整,例如将原有的卷积操作改为膨胀卷积操作,通过扩大单个卷积操作的感受野,使得模型的整体感受野进一步扩大,然后在此基础上调整减少卷积层数,使得模型用更少的卷积层实现与深层网络相同的感受野。此外,对于某些本身存在大量冗余的原始深度网络,适当的减少层数也不会造成精度的较大损失。整体的轻量化改造能够有效降低模型参数量与计算量,进而使得模型运行推理速度显著提升。
65.其中,膨胀卷积操作是指将卷积核扩张到指定尺寸,并将原卷积核中没有占用的区域用零填充,膨胀卷积的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。
66.③
基于知识蒸馏的精度提升与保持:无论是细节轻量化改造还是整体轻量化改造,由于减小了参数空间,使得参数无法收敛到与原始深度网络模型相似的状态,进而带来模型检测和识别精度的下降。如果精度损失超过了可接受的范围,则需要采用知识蒸馏技术提升轻量化模型精度。具体来说,将通过微观和宏观改进后的轻量化模型作为学生模型,将原始的深度卷积神经网络模型作为教师模型,在学生模型的训练过程中,除了使用训练数据集中的标注数据作为梯度下降和更新的依据外,还将教师模型的网络中间层输出与最终层输出作为学生模型参数梯度下降与更新的重要依据。换言之,学生模型除了需要拟合训练数据集外,还需要尽可能拟合教师模型的输出,使得学生模型能够实现或超过教师模型的检测和识别精度。对经过微观和宏观改造的轻量化模型使用知识蒸馏,可以使得轻量化模型精度(相比于原始模型)不损失或损失较少。
67.其中,知识蒸馏是一种模型压缩方法,是一种基于“教师

学生网络思想”的训练方法,知识蒸馏是将已经训练好的模型包含的知识(”knowledge”),蒸馏("distill")提取到另一个模型里面去。知识蒸馏后的学生模型的精度一般是小于教师模型,但又大于蒸馏前的学生模型,知识蒸馏的目的是在不改变学生模型参数的情况下提高学生模型的精度。
68.2.启发式模型压缩
69.启发式模型压缩是指利用先验的启发式规则,设置稀疏度对模型通道进行剪枝,去掉对模型精度影响不大或冗余的参数,达到减少模型参数量和计算量的效果。启发式模型压缩主要包含两个步骤:

模型通道剪枝;

基于知识蒸馏的精度提升与保持。
70.①
模型通道剪枝:通过先验的启发式规则,按照设置的稀疏度对模型进行剪枝。常用的启发式规则如:l1范数、l2范数以及几何中位数等。具体来说,针对模型每一层中的每一个通道的参数,按照启发式规则计算该通道的权重。例如,对于l2规则来说,对每个通道计算l2范数,启发式规则认为,l2范数越小的通道对模型的重要性越低,因此应该最先被剪除,其余启发式规则类似。最后,按照对应启发式规则计算的重要性,对通道按照重要性从小到大进行剪枝,直到满足对应稀疏度设置。
71.②
基于知识蒸馏的精度提升与保持:
72.与设计改进相似,当稀疏度设置较大或模型本身冗余程度较低时,模型剪枝后会出现一定的精度损失,通常做法是在剪枝后进行微调训练,用于恢复模型精度,但仅仅基于训练数据集微调训练可能很难恢复到与剪枝前模型相当。因此,需要再次采用知识蒸馏技术手段,将剪枝后的模型作为学生模型,剪枝前的模型作为教师模型,在学生模型(剪枝后模型)的微调训练过程中,除了使用训练数据集中的标注数据作为梯度下降和更新的依据外,还将教师模型的网络中间层输出与最终层输出作为学生模型参数梯度下降与更新的重要依据。对经过剪枝后的轻量化模型使用知识蒸馏,可以使得轻量化模型精度(相比于剪枝前模型)不损失或损失较少。
73.3.推理计算加速
74.推理计算加速是指利用深度神经网络模型量化技术手段,将模型的参数精度从fp32(32 位浮点数)降低为fp16(16位浮点数)或int8(8位整型数),在模型推理计算时,低
精度的参数计算相比于高精度的参数计算速度更快,占用内存资源更少。特别是在具有针对性加速硬件单元的计算设备上(如具有fp16加速单元的gpu、具有int8加速单元的gpu等),使用量化推理可以使得模型实际运行计算时间大幅提高,进一步提升模型的轻量化程度和运行速度。此外,低精度模型理论上将使用更少的磁盘空间进行固化存储,便于模型的保存、导出和部署应用。
75.本实施例提出的深度卷积神经网络轻量化改进与压缩方法包含三个方面(设计改进、启发式模型压缩以及推理计算加速),每个方面都可以独立应用,例如,可以只用设计改进或者直接在原始网络上进行启发式模型压缩。也能够根据实际需求组合搭配使用,例如可以直接在原始网络上进行启发式模型压缩,然后对压缩后的模型实验推理计算加速。本发明提出的方法具有较为灵活的结构特点,能够根据实际需求组合搭配,对原始深度卷积神经网络模型进行轻量化改进与压缩。
76.实施例二
77.在实施例一的基础上,当深度卷积神经网络模型为densenet网络模型时,即深度卷积神经网络模型为用于目标分类识别任务的densenet网络模型,此时对densenet网络模型采用采用实施例一中的方法轻量化方法进行轻量化改进。在miniimagenet图像数据集(100类, 60000张彩色图片,大小224x224)上进行实验验证,实验结果如表1所示。
78.表1 densenet网络模型轻量化改进与压缩实施结果
[0079][0080][0081]
其中,表1中,model为模型,metric为度量类库,是一款监控指标的度量类库,表1 中涉及到3个进行比较的模型,包括densenet

baseline模型,即densenet参照模型,和 densenet

dila_dsc模型,即通过细节和整体改进后的模型,以及densenet

dila_dsc(kd) 模型,即经过知识蒸馏后的模型。其中,表1中比较的指标包括:top

1 accuracy即最大正确率,second/frame为处理一帧所要进行计算的次数,frame/second为计算一次处理的帧数, macs为矩阵乘加运算量,parameter size为模型参数量;其中,densenet

dila_dsc列和 densenet

dila_dsc(kd)列的左侧参数均为对应模型的参数,右侧参数为该列模型与 densenet

baseline模型的上述几个指标的比较结果。
[0082]
densenet

baseline为原始的densenet

121模型,其模型参数量(parameter size)约为 7.06m,矩阵乘加运算量(macs)约为2.86e+09次。通过微观和宏观方面的设计改进,可以得到densenet

dila_dsc模型,参数量降低到约1.52m,矩阵乘加运算量(macs)降低
accuracy行至param file size行)左侧数据为densenet

baseline模型对应的数据,右侧的数据为 densenet

baseline qua

batch32模型对应的数据;表3中densenet

dila_dsc (kd

pr0.5

kd

fp16)列(top

1 accuracy行至param file size行)左侧的数据为 densenet

dila_dsc(kd

pr0.5

kd

fp16)模型的数据,右侧数据为densenet

dila_dsc (kd

pr0.5

kd

fp16)模型数据与densenet

baseline qua

batch32模型数据的比较结果;表3 中densenet

dila_dsc(kd

pr0.5

kd

int8

rt)列(top

1 accuracy行至param file size行)的左侧数据为densenet

dila_dsc(kd

pr0.5

kd

int8

rt)模型的数据,右侧数据为 densenet

dila_dsc(kd

pr0.5

kd

int8

rt)模型数据与densenet

baseline qua

batch32模型数据的比较结果。
[0091]
表3中采用fp16和int8量化对剪枝稀疏度为0.5的模型进行量化推理计算,最终实现了推理速度的极大提升。最终,采用本发明提出的轻量化改进与压缩方法,将densenet模型压缩至参数量仅有约1.24m,矩阵乘加运算量仅有约5.05e+08次,相比于原始模型分别降低了82.44%和82.34%,在保持精度的情况下极大的减少了模型的参数与计算量,结合量化推理技术,能够在精度不损失情况下实现推理提速278.27%,在精度仅降低1.02%情况下速度提升382.47%。
[0092]
通过上述数据研究发现,当本方法中所述深度卷积神经网络模型为densenet网络模型时,剪枝操作的稀疏度为0.5时模型的表现结果较优。
[0093]
实施例三
[0094]
在实施例一的基础上,当深度卷积神经网络模型为yolo

v4网络模型时,对yolo

v4 网络采用本发明提出的轻量化方法进行轻量化改进。在pascal voc2007

2012图像目标检测数据集(20类,21503张彩色图片)上进行实验验证,实验结果如表4所示。
[0095]
表4
[0096][0097]
其中,top

1map为map参数指标,代表模型的精度,yolov4(bb

cspdarknet53)为原始的深度神经网络,yolov4

dsc(bb

cspdarknet53)为人工设计改进后的网络,其中, yolov4

dsc(bb

cspdarknet53)列的左列为yolov4

dsc(bb

cspdarknet53)模型的参数,右列为yolov4

dsc(bb

cspdarknet53)模型与yolov4(bb

cspdarknet53)模型的参数比较结果;从表4中可以看出将模型参数量从64.04m降低到了35.77m,计算量从2.99e+10降低到了2.04e+10。由于改进后精度没有损失,因此不需要再使用知识蒸馏技术进行精度恢复。
[0098]
表5为模型剪枝并进行知识蒸馏后的参数比较表。
size 行)左侧数据为yolov4模型对应的数据,右侧的数据为yolov4(bb

cspdarknet53) qua

batch32模型对应的数据;表3中yolov4

dsc

pr0.2

kd

fp16(bb

cspdarknet53)列(top

1map行至param file size行)左侧的数据为yolov4

dsc

pr0.2

kd

fp16(bb
‑ꢀ
cspdarknet53)模型的数据,右侧数据为yolov4

dsc

pr0.2

kd

fp16(bb

cspdarknet53) 模型数据与yolov4模型数据的比较结果;表3中yolov4

dsc

pr0.2

kd

int8

rt(bb
‑ꢀ
cspdarknet53)列(top

1map行至param file size行)的左侧数据为yolov4

dsc

pr0.2

kd
‑ꢀ
int8

rt(bb

cspdarknet53)模型的数据,右侧数据为yolov4

dsc

pr0.2

kd

int8

rt(bb
‑ꢀ
cspdarknet53)模型数据与yolov4模型数据的比较结果。
[0108]
表6中剪枝稀疏度为0.2情况下,可在精度不损失的情况下,模型参数量降低到26.11m,计算量降低到1.44e+10,相比于原始模型分别提升59.23%和51.84%。结合量化推理技术,可在精度不损失的情况下,实现推理速度提升155.25%。
[0109]
从上述实验结果可以看出,当深度卷积神经网络模型为yolo

v4网络模型,剪枝操作的稀疏度为0.2时模型的改进效果较佳。
[0110]
实施例四
[0111]
请参考图4,图4为深度卷积神经网络模型改进系统的组成示意图,本发明实施例四提供了本发明还提供了深度卷积神经网络模型改进系统,所述系统包括:
[0112]
轻量化处理单元,用于对第一深度卷积神经网络模型进行轻量化处理获得第二深度卷积神经网络模型;
[0113]
剪枝处理单元,用于对所述第二深度卷积神经网络模型进行剪枝处理,获得第三深度卷积神经网络模型;
[0114]
知识蒸馏单元,用于将所述第三深度卷积神经网络模型作为第一学生模型以及将所述第二深度卷积神经网络模型作为第一教师模型,进行知识蒸馏,得到第四深度卷积神经网络模型;
[0115]
模型精度降低单元,用于将所述第四深度卷积神经网络模型的参数精度降低。
[0116]
实施例五
[0117]
本发明实施例五提供了一种深度卷积神经网络模型改进装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述深度卷积神经网络模型改进方法的步骤。
[0118]
其中,所述处理器可以是中央处理器(cpu,central processing unit),还可以是其他通用处理器、数字信号处理器(digital signal processor)、专用集成电路(application specific integrated circuit)、现成可编程门阵列(fieldprogrammable gate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0119]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中深度卷积神经网络模型改进装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0120]
实施例六
[0121]
本发明实施例六提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述深度卷积神经网络模型改进方法的步骤。
[0122]
所述深度卷积神经网络模型改进装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0123]
本发明已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
[0124]
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0125]
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
[0126]
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
[0127]
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、 python等,常规程序化编程语言如c语言、visual basic、fortran 2003、perl、cobol 2002、 php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程
序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
[0128]
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
[0129]
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0130]
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/ 或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
[0131]
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
[0132]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0133]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1