一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种模型优化方法、装置、设备及可读存储介质与流程

2022-03-13 17:37:38 来源:中国专利 TAG:


1.本发明涉及深度学习技术领域,尤其涉及一种模型优化方法、装置、设备及可读存储介质。


背景技术:

2.随着网络技术的飞速发展,深度学习网络模型的应用越来越广泛,深度学习网络模型也越来越复杂。过于复杂的网络模型在应用中,需要的训练数据、计算资源和存储资源较多,还容易发生过拟合的问题。目前,多采用在迁移学习的基础上进行网络剪枝来进行模型优化,网络剪枝是从网络的宽度上进行压缩而达到模型优化的目的,这样,首先就从网络的宽度上进行优化,深度学习网络模型的优化程度较弱,不能有效降低深度学习网络模型的复杂度。


技术实现要素:

3.本发明实施例提供一种模型优化方法、装置、设备及可读存储介质,以解决现有的深度学习网络模型的优化程度较弱,不能有效降低深度学习网络模型的复杂度的问题。
4.为解决上述技术问题,本发明是这样实现的:
5.第一方面,本发明实施例提供了一种模型优化方法,包括:
6.确定m个网络模型;
7.基于待分析数据集确定所述m个网络模型的描述长度;
8.从所述m个网络模型中确定描述长度最小的目标网络模型作为优化的网络模型;
9.基于所述优化的网络模型进行数据处理。
10.第二方面,本发明实施例提供了一种模型优化装置,包括:
11.第一确定模块,用于确定m个网络模型;
12.第二确定模块,用于基于待分析数据集确定所述m个网络模型的描述长度;
13.优化模块,用于从所述m个网络模型中确定描述长度最小的目标网络模型作为优化的网络模型;
14.处理模块,用于基于所述优化的网络模型进行数据处理。
15.第三方面,本发明实施例提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的模型优化方法的步骤。
16.第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的模型优化方法的步骤。
17.本发明实施例中,确定了m个网络模型,并确定描述长度最小的目标网络模型作为优化的网络模型,并进一步基于优化的网络模型进行数据处理,这样,可以平衡网络模型的精度和复杂度,提高网络模型的优化程度,能在保证网络模型的计算精度的情况下有效降低深度学习网络模型的复杂度,提高数据处理的精度。
附图说明
18.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明实施例提供的模型优化方法的流程图;
20.图2是本发明实施例提供的待分析图片示意图;
21.图3是本发明实施例提供的优化卷积层时的似然度和复杂度的计算结果示意图;
22.图4是本发明实施例提供的优化全连接层时的似然度和复杂度的计算结果示意图;
23.图5是本发明实施例提供的模型优化方法的第二种流程示意图;
24.图6是本发明实施例提供的模型优化装置的模块图;
25.图7是本发明实施例提供的一种电子设备的模块结构示意图;
26.图8是本发明实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.为了获取在特定数据集上的最优精度,在设计网络结构的时候,不断添加卷积和池化层,以构建更深的网络结构。但是,随着网络的加深,精度的涨幅会减弱,逐渐达到饱和,甚至可能会因为过拟合等问题导致精度下降。在这个过程中,网络的复杂度也会增加,计算量增加,执行效率降低。本技术针对于该种不能针对于待分析的数据集的大小分别选择合适的网络模型的情况,提供一种模型优化方法、装置、设备及可读存储介质,其具体实施方式如下。
29.本技术的模型优化方法应用在一个或多个计算机装置中,该计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
30.计算机装置可以是,但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,平板电脑、智能手机、个人数字助理(personaldigital assistant,pda)、智能穿戴式设备等。
31.参见图1,图1是本发明实施例提供的一种模型优化方法的流程图,如图1所示,所述方法包括以下步骤:
32.步骤101、确定m个网络模型;
33.在该实施方式中,网络模型指适用于机器学习的网络模型,该种网络模型可以应用于各种数据处理中,例如,图像处理,在该实施方式中,以经典的卷积神经网络vgg为网络
模型对图像进行处理为例进行示例说明,该网络模型包括卷积层、下采样层和全连接层。
34.其中,卷积层的处理步骤如下。
35.首先,在图像的某个位置上覆盖滤波器;然后将滤波器中的值与图像中的对应像素的值相乘;再把上面的乘积加起来,得到的和是输出图像中目标像素的值;并对图像的所有位置重复此操作。
36.下采样层的处理步骤如下。
37.下采样层又称池化层,其具体操作与卷积层的操作基本相同,此处,不做赘述,其区别在于下采样的卷积核为只取对应位置的最大值(最大池化)、平均值(平均池化)等,并且不经过反向传播修改权值。
38.全连接层的处理步骤如下。
39.全连接层在整个卷积神经网络中起到类似于“分类器”的作用。例如,如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为h
×
k的全局卷积,h和k分别为前层卷积结果的高和宽。全连接层参数冗余,仅全连接层参数就可占整个网络参数80%左右。需要说明的是,此处仅作说明,不做示例,可变换地,在其他可行的实施例中,还可以采用其他类型的网络模型。
40.步骤102、基于待分析数据集确定m个网络模型的描述长度。
41.在执行图像分类任务的情况下,首先相应的图像作为待分析的数据,计算待分析的图像在每一个网络模型下的描述长度。
42.具体而言,该实施方式中,使用cifar10数据作为待分析数据来介绍处理流程。其中,cifar10由60000张32x32像素的彩色图片组成,分为10类,如图2所示,分别为第一类图片、第二类图片

第十类图片,其中每类含6000张图片。例如,这10类图片可以是飞机、车、鸟、猫、鹿、狗、青蛙、马、船和卡车。
43.步骤103、从m个网络模型中确定描述长度最小的目标网络模型作为优化的网络模型。
44.步骤104、基于所述优化的网络模型进行数据处理。
45.其中,该模型优化方法适用于多种数据处理,例如,对图像数据进行处理,具体例如,在农业养殖中,利用图像分析的技术,在设备上部署基于深度学习的病虫检测、植物成长状态观察、意外情况报警等应用;又例如,在安防领域,在摄像头上安装的安防功能,实现人脸识别,行人检测等功能。在许多场景下,将优化的网络模型存放于云端,设备采集的数据上传到云顿,在云端进行分析后再返回结果。
46.上述步骤,确定了m个网络模型,并确定描述长度最小的目标网络模型作为优化的网络模型,并进一步基于优化的网络模型进行数据处理,这样,可以平衡网络模型的精度和复杂度,提高网络模型的优化程度,能在保证网络模型的计算精度的情况下有效降低深度学习网络模型的复杂度,提高数据处理的精度。
47.可选地,确定m个网络模型包括:
48.在m为第一数量的情况下,确定第一数量的网络模型,网络模型包括卷积层;
49.确定与每一个网络模型对应的卷积层的数量,基于卷积层的数量设置相应层数的
卷积层以生成m个网络模型。
50.在该实施方式中,确定网络模型数量为7个进行示例说明,此处仅作示例,不做限定,可变换地,在其他可行的实施例中,还可以在一定范围内调整网络模型的数量。
51.首先,对于上述获取的cifar10数据进行预处理,包括筛选出清晰度不符合要求的数据,对图片像素进行相应的调整。例如,可以将32x32的图片放大至64x64,然后去除清晰度不够的部分,将图片剪切至24x24的像素大小的图片以便后续处理。并为每一张图片分配一个唯一对应的标签。
52.然后,确定网络模型的数量为7个,其中,每一个网络模型的卷积层的数量为m,在该实施方式中,m的取值分别为m=2,3,4,

8。即,该7个网络模型的卷积层的数量情况可以是:第一个网络模型的卷积层的数量为2层,第二个网络模型的卷积层的数量为3层

第7个网络模型的卷积层的数量为8层。此处,仅作示例不做限定限定,可变换地,在其他可行的实施例中,还可以确定其他数量的网络模型,或者,每一个网络模型的卷积层数量还可以取值为其他的数量,但不论其作何变换,都在本实施例保护的范围之内。
53.进一步地,为每一个网络模型添加若干个下采样层、激活层和全连接层,该各层的数量预先设定,例如,可以设定为与对应的网络模型中的卷积层的数量一致。在各网络模型的最后一层设定loss函数作为交叉熵函数,以组成7个网络模型。
54.可选地,基于待分析数据集确定m个网络模型的描述长度包括:
55.分别计算待分析数据集在m个网络模型下的似然度和复杂度;
56.基于似然度和复杂度计算m个网络的描述长度。
57.然后,为上述7个网络模型设定一个学习率的变化策略,本实施方式中的学习率的变化策略可以是初始值为0.01,每迭代100次降低1/10,共迭代1000次。将上述的cifar10数据分别输入上述的7个网络模型进行迭代训练,获得上述的cifar10数据分别在7个网络模型下的似然度和复杂度。
58.具体而言,在该实施方式中,使用每一个网络模型的loss函数的loss值作为似然度,该实施方式中,分别计算7个网络模型的似然度的值如表1第二行所示,其中,表1的图示如图3所示。
59.表1
[0060][0061]
在该实施方式中,复杂度p的计算满足如下公式。
[0062]
p=a*m*log(n);
[0063]
式中,m为上述卷积层的个数,n为训练集图片的个数(本实施方式中,n=6000),a为一个自由参数,例如a=0.1,需要说明的是,该自由参数用于调整p与m在同一个数量级
别,例如,可能存在m为百位数,p为个位数的情况,这样,将a设为0.01,以使得p与m在同一个数量级别,这样,可以避免在训练过程中,出现计算结果误差大的情况,提升结果的准确性。
[0064]
这样,计算的各个模型复杂度如表1的第三行所示。
[0065]
可选地,基于似然度和复杂度计算m个网络模型的描述长度包括:
[0066]
计算似然度和复杂度的加权和作为描述长度。
[0067]
具体而言,计算每一个网络模型的似然度与复杂度的加权和作为描述长度dl。并选择其中最小的描述长度mdl,在该实施方式中,上述7个网络模型的最小描述长度为2.53,相对应的层数m为6,因此,在本实施方式中,确定卷积层数为6的网络模型为优化的网络模型。
[0068]
需要说明的是,在大多数情况下,网络模型包括卷积层和全连接层,在优化时,可以单独对卷积层进行优化从而达到优化网络模型的目的,还可以对全连接层进行优化达到优化网络模型的目的。
[0069]
其中,对全连接层进行优化的步骤如下。
[0070]
可选地,确定m个网络模型包括:
[0071]
在m为第二数量的情况下,确定第二数量的网络模型,网络模型包括全连接层;
[0072]
确定与每一个网络模型对应的全连接层的维度数,基于全连接层的维度数生成相应维度的全连接层以生成m个网络模型。
[0073]
基于与上述同样的方式对于上述获取的cifar10数据进行预处理,此处,不做赘述。
[0074]
然后,确定网络模型的数量为5个,其中,每一个网络模型的全连接层的纬度的数量为w,在该实施方式中,w的取值分别为16,32,64,128,256。即,该5个网络模型的全连接的数量情况可以是:第一个网络模型的全连接层的维度的数量为16

第五个网络模型的全连接层的维度的数量为256。此处,仅作示例不做限定限定,可变换地,在其他可行的实施例中,还可以确定其他数量的网络模型,或者,每一个网络模型的全连接层的维度数量还可以取值为其他的数量,但不论其作何变换,都在本实施例保护的范围之内。
[0075]
进一步地,为每一个网络模型添加若干个卷积层、下采样层和激活层,该各层的数量预先设定,例如,可以设定为与对应的网络模型中的全连接层的数量一致。在各网络模型的最后一层设定loss函数作为交叉熵函数,以组成5个网络模型。
[0076]
然后,为上述5个网络模型设定一个学习率的变化策略,本实施方式中的学习率的变化策略可以是初始值为0.01,每迭代100次降低1/10,共迭代1000次。将上述的cifar10数据分别输入上述的5个网络模型进行迭代训练,获得上述的cifar10数据分别在5个网络模型下的似然度和复杂度。
[0077]
在该实施方式中,计算似然度、复杂度和描述长度的方式与上述步骤一致,此处,不做赘述。
[0078]
具体而言,在该实施方式中,上述数据在5个网络模型下的似然度、复杂度和描述长度如表2所示,其对应的图示如4所示。
[0079]
表2
[0080][0081]
根据表2可知,上述5个网络模型的最小描述长度为0.446。其对应的全连接层的维度数量为64,因此,在本实施方式中,确定全连接层的数量为64对应的网络模型为优化的网络模型。
[0082]
可选地,确定m个网络模型包括:
[0083]
在m为第三数量的情况下,确定第三数量的网络模型,网络模型包括卷积层和全连接层;
[0084]
确定与每一个网络模型对应的卷积层的数量以及全连接层的维度数量,基于卷积层的数量生成相应层数的卷积层,并基于全连接层的维度数量生成相应层数的全连接层以生成m个网络模型。
[0085]
可变换地,在其他可行的实施例中,还可以同时分别对同一个网络的卷积层和全连接层进行优化从而达到优化网络模型的目的。其具体优化步骤与上述优化步骤一样,区别只在于同时对同一个网络模型的卷积层和全连接层进行优化,此处,不做赘述。如图5所示,该实施方式中,首先定义m个网络模型,然后训练网络模型,计算待分析数据在m个网络模型下的似然度,并计算m个网络模型的复杂度,计算各描述长度,并确定最小描述长度对应的网络模型作为优化的网络模型,这样,可以平衡网络模型的精度和复杂度,提高网络模型的优化程度,能在保证网络模型的计算精度的情况下有效降低深度学习网络模型的复杂度。
[0086]
参见图6。图6是本实施例提供的一种模型优化装置600,包括:
[0087]
第一确定模块601,用于确定m个网络模型;
[0088]
第二确定模块602,用于基于待分析数据集确定所述m个网络模型的描述长度;
[0089]
优化模块603,用于从所述m个网络模型中确定描述长度最小的目标网络模型作为优化的网络模型;
[0090]
处理模块604,用于基于所述优化的网络模型进行数据处理。
[0091]
可选地,所述第一确定模块601具体用于:
[0092]
在m为第一数量的情况下,确定所述第一数量的网络模型,所述网络模型包括卷积层;
[0093]
确定与每一个网络模型对应的卷积层的数量,基于所述卷积层的数量设置相应层数的卷积层以生成所述m个网络模型。
[0094]
可选地,所述第一确定模块601具体用于:
[0095]
在m为第二数量的情况下,确定第二数量的网络模型,所述网络模型包括全连接层;
[0096]
确定与每一个网络模型对应的全连接层的维度数,基于所述全连接层的维度数生成相应维度的全连接层以生成所述m个网络模型。
[0097]
可选地,所述第一确定模块601具体用于:
[0098]
在m为第三数量的情况下,确定第三数量的网络模型,所述网络模型包括卷积层和全连接层;
[0099]
确定与每一个网络模型对应的卷积层的数量以及全连接层的维度数量,基于所述卷积层的数量生成相应层数的卷积层,并基于所述全连接层的维度数量生成相应层数的全连接层以生成所述m个网络模型。
[0100]
可选地,所述第二确定模块602具体用于:
[0101]
分别计算所述待分析数据集在所述m个网络模型下的似然度和复杂度;
[0102]
基于所述似然度和所述复杂度计算所述m个网络的所述描述长度。
[0103]
可选地,所述第二确定模块602具体用于:
[0104]
计算所述似然度和所述复杂度的加权和作为所述描述长度。
[0105]
本技术实施例中的模型优化装置600可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0106]
本技术实施例中的模型优化装置600可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0107]
本技术实施例提供的模型优化装置600能够实现图1至图5的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0108]
可选的,如图7所示,本技术实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0109]
需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0110]
图8为实现本技术实施例的一种电子设备的硬件结构示意图。
[0111]
该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
[0112]
本领域技术人员可以理解,电子设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布
置,在此不再赘述。
[0113]
其中,处理器810用于:确定m个网络模型;
[0114]
基于待分析数据集确定所述m个网络模型的描述长度;
[0115]
从所述m个网络模型中确定描述长度最小的目标网络模型作为优化的网络模型;
[0116]
基于所述优化的网络模型进行数据处理。
[0117]
可选地,处理器810还用于:
[0118]
在m为第一数量的情况下,确定所述第一数量的网络模型,所述网络模型包括卷积层;
[0119]
确定与每一个网络模型对应的卷积层的数量,基于所述卷积层的数量设置相应层数的卷积层以生成所述m个网络模型。
[0120]
可选地,处理器810还用于:
[0121]
在m为第二数量的情况下,确定第二数量的网络模型,所述网络模型包括全连接层;
[0122]
确定与每一个网络模型对应的全连接层的维度数,基于所述全连接层的维度数生成相应维度的全连接层以生成所述m个网络模型。
[0123]
可选地,处理器810还用于:
[0124]
在m为第三数量的情况下,确定第三数量的网络模型,所述网络模型包括卷积层和全连接层;
[0125]
确定与每一个网络模型对应的卷积层的数量以及全连接层的维度数量,基于所述卷积层的数量生成相应层数的卷积层,并基于所述全连接层的维度数量生成相应层数的全连接层以生成所述m个网络模型。
[0126]
可选地,处理器810还用于:
[0127]
分别计算所述待分析数据集在所述m个网络模型下的似然度和复杂度;
[0128]
基于所述似然度和所述复杂度计算所述m个网络的所述描述长度。
[0129]
可选地,处理器810还用于:
[0130]
计算所述似然度和所述复杂度的加权和作为所述描述长度。
[0131]
在本技术实施例中,电子设备800,确定了m个网络模型,并确定描述长度最小的目标网络模型作为优化的网络模型,并进一步基于优化的网络模型进行数据处理,这样,可以平衡网络模型的精度和复杂度,提高网络模型的优化程度,能在保证网络模型的计算精度的情况下有效降低深度学习网络模型的复杂度,提高数据处理的精度。
[0132]
应理解的是,本技术实施例中,输入单元804可以包括图形处理器(graphics processing unit,gpu)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器809可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理
操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
[0133]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图1至图5的模型优化方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0134]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0135]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献