CN115797726A - 模型获得方法、装置、电子设备及存储介质 - Google Patents
模型获得方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115797726A CN115797726A CN202211667921.4A CN202211667921A CN115797726A CN 115797726 A CN115797726 A CN 115797726A CN 202211667921 A CN202211667921 A CN 202211667921A CN 115797726 A CN115797726 A CN 115797726A
- Authority
- CN
- China
- Prior art keywords
- network
- loss value
- model
- initial
- adjusted
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种模型获得方法、装置、电子设备及存储介质。方法包括:通过初始结构参数对超级网络进行采样,得到待调整子网络;通过待调整子网络确定针对训练样本的第一损失值;通过初始结构参数,确定第二损失值;根据第一损失值以及第二损失值,对初始结构参数进行调整,得到调整后的结构参数;根据调整后的结构参数,对超级网络进行采样,得到目标模型。第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差,使得根据第一损失值以及第二损失值确定的调整后的结构参数可以更加准确的表征超级网络中重要的通道,从而使得根据调整后的结构参数确定的目标模型中各个通道的重要性均较高,构建的目标模型的识别效果较好。
Description
技术领域
本申请涉及人工智能技术领域,更具体地,涉及一种模型获得方法、装置、电子设备及存储介质。
背景技术
为了减少训练后的模型的体积,可以对训练后的模型进行精简,得到精简后的模型。
目前,可以对训练后的模型中每个通道的FLOPs(每秒浮点运算次数)进行统计,根据统计的每个通道的FLOPs,确定训练后的模型的中需要被删除的通道,并将需要被删除的通道删除,得到删除部分通道的精简模型。
但是,FLOPs难以准确的表征通道的重要性,使得难以通过FLOPs准确的确定的需要被删除的通道,导致构建的精简模型的模型识别能力较差,致使通过精简模型得到的识别结果的准确率较低。
发明内容
有鉴于此,本申请实施例提出了一种模型获得方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种模型获得方法,方法包括:通过初始结构参数对超级网络进行采样,得到待调整子网络,初始结构参数表征超级网络下的每个卷积网络层中各通道的采样情况;通过待调整子网络确定针对训练样本的第一损失值,第一损失值表征待调整子网络的针对训练样本的预测结果的准确率;通过初始结构参数,确定第二损失值,第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差;根据第一损失值以及第二损失值,对初始结构参数进行调整,得到调整后的结构参数;根据调整后的结构参数,对超级网络进行采样,得到目标模型。
第二方面,本申请实施例提供了一种模型获得装置,装置包括:第一采样模块,用于通过初始结构参数对超级网络进行采样,得到待调整子网络,初始结构参数表征超级网络下的每个卷积网络层中各通道的采样情况;第一确定模块,用于通过待调整子网络确定针对训练样本的第一损失值,第一损失值表征待调整子网络的针对训练样本的预测结果的准确率;第二确定模块,用于通过初始结构参数,确定第二损失值,第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差;调整模块,用于根据第一损失值以及第二损失值,对初始结构参数进行调整,得到调整后的结构参数;第二采样模块,用于根据调整后的结构参数,对超级网络进行采样,得到目标模型。
可选地,第二确定模块,还用于将初始结构参数输入耗时预测网络,得到耗时预测网络预测的模型耗时,耗时预测模型用于预测待调整子网络的模型耗时;根据耗时预测网络预测的模型耗时以及预置模型耗时,确定损失值,作为第二损失值。
可选地,第二确定模块,还用于计算耗时预测网络预测的模型耗时以及预置模型耗时的差的绝对值,作为第一结果;对第一结果进行对数运算,得到第二损失值。
可选地,调整模块,还用于获取对应第二损失值的预置系数;计算第二损失值与预置系数的积,作为第二结果;计算第二结果与第一损失值的和,作为最终损失值;根据最终损失值,对初始结构参数进行调整,得到调整后的结构参数。
可选地,调整模块,还用于根据第一损失值以及第二损失值,确定最终损失值;根据最终损失值,确定调整梯度;根据调整梯度,通过梯度下降法对初始结构参数进行调整,得到调整后的结构参数。
可选地,装置还包括网络获取模块,用于获取针对初始模型的多个样本结构参数,每个样本结构参数表征初始模型的每个卷积网络层中各通道的采样情况;从多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数;根据选定样本结构参数对初始模型进行采样,得到初始子网络;根据初始训练样本,对初始子网络进行训练,得到训练后的初始子网络;根据训练后的初始网络对初始模型的网络参数进行调整,得到新的初始模型;返回执行从多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数的步骤,直到遍历多个样本结构参数;获取最后一次训练过程获得的新的初始模型,作为超级网络。
可选地,第一确定模块,还用于将训练样本中的样本图像输入待调整子网络,得到待调整子网络预测的样本图像的预测分类结果;根据训练样本中对应样本图像的样本分类结果以及预测分类结果,确定损失值,作为第一损失值。
第三方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在存储器中并被配置为由处理器执行以实现上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,其中,在程序代码被处理器运行时执行上述的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法。
本申请实施例提供的一种模型获得方法、装置、电子设备及存储介质,在本申请中,通过第一损失值表征所述待调整子网络的针对所述训练样本的预测结果的准确率,通过第二损失值表征所述待调整子网络的模型耗时与预置模型耗时之间的偏差,使得根据第一损失值以及第二损失值确定的调整后的结构参数可以更加准确的表征超级网络中重要的通道,从而使得根据调整后的结构参数确定的目标模型中各个通道的重要性均较高,构建的目标模型的识别效果较好,进而可以提高目标模型的识别结果的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的一种模型获得方法的流程图;
图2示出了本申请又一个实施例提供的一种模型获得方法的流程图;
图3示出了本申请实施例中最终损失值的一种获取方法的流程图;
图4示出了本申请再一个实施例提供的一种模型获得方法的流程图;
图5示出了本申请实施例中一种初始子网络的结构示意图;
图6示出了本申请一个实施例提出的一种模型获得装置的框图;
图7示出了本申请实施例提供的一种电子设备的结构框图;
图8示出了本申请实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为了减少训练后的模型的体积,可以对训练后的模型进行精简,得到精简后的模型。
目前,可以对训练后的模型中每个通道的FLOPs(每秒浮点运算次数)进行统计,根据统计的每个通道的FLOPs,确定训练后的模型的中需要被删除的通道,并将需要被删除的通道删除,得到删除部分通道的精简模型。
但是,FLOPs难以准确的表征通道的重要性,使得难以通过FLOPs准确的确定的需要被删除的通道,导致构建的精简模型的模型识别能力较差,致使通过精简模型得到的识别结果的准确率较低。
另外,还可以为卷积网络层的每个通道构建一个参数用于表示其被保留的概率(假设通道从左到右排列,概率是指每次保留最左边的概率)。则右数第k个通道保留的概率取决于第k-1个通道的保留概率,该方法还在在损失值(Loss)上加入正则化项(指为解决适定性问题或过拟合而加入额外信息,Regularization),该正则项包含模型的目标FLOPs,因此可以将模型的FLOPs大小约束到目标FLOPs。
但是,采用该方法,通常是用户基于经验,确定每个通道的概率,存在人工设计痕迹,其主观性比较强,缺少客观的理论依据,导致确定的精简后的模型的识别效果较差,通过精简模型得到的识别结果的准确率较低。
基于此,发明人提出了本申请实施例的模型获得方法、装置、电子设备及存储介质,能够提高目标模型的识别效果较好,达到提高目标模型的识别结果的准确率的效果。
请参阅图1,图1示出了本申请一个实施例提供的一种模型获得方法的流程图,方法可以用于电子设备,方法包括:
S110、通过初始结构参数对超级网络进行采样,得到待调整子网络,初始结构参数表征超级网络下的每个卷积网络层中各通道的采样情况。
在本实施例中,可以获取用于构建超级网络(Super Network,简称SPN)的识别模型,作为预置模型,预置模型包括至少一个卷积网络层(Graph Convolution Networ,简称GCN),每个卷积网络层包括多个通道。
可以在预置模型的每一个卷积网络层的每个通道后面,加入一个结构参数,得到超级网络,加入的结构参数可以是1或0;若一个通道的结构参数为1,表征该通道被采样(该通道需要保留,不能删除);若一个通道的结构参数为0,表征该通道不被采样(该通道需要删除,不能保留)。
初始结构参数可以是指用户基于需求和实际情况确定的,初始结构参数包括超级网络下的每个卷积网络层中每个通道的结构参数。
例如,超级网络包括三个卷积网络层:卷积网络层a1、卷积网络层a2以及卷积网络层a3,卷积网络层a1包括10个通道,卷积网络层a2包括8个通道,卷积网络层a3包括8个通道,则初始结构参数包括三个卷积网络层各自对应的结构参数,卷积网络层a1对应的结构参数包括10个结构参数,卷积网络层a2对应的结构参数包括8个结构参数,卷积网络层a3对应的结构参数包括8个结构参数。
确定初始结构参数之后,通过初始结构参数对超级网络进行采样,采样结构参数为1的通道,删除结构参数为0的通道,得到待调整子网络。通过初始结构参数中每个卷积网络层对应的结构参数,对每个卷积网络层进行采样,得到每个卷积网络层的采样结果,再将超级网络对应的各个卷积网络层的采样结果汇总,得到新的模型,作为待调整子网络。
例如,初始结构参数中针对超级网络的卷积网络层a4的结构参数为1、1、1、1、0、0、0以及0,则从卷积网络层a4中采样第一个通道、第二个通道、第三个通道以及第四个通道,得到卷积网络层a4的采样结果,遍历超级网络的每个卷积网络层,得到最终的待调整子网络。
在本实施例中,为了便于采样,初始结构参数中每一个卷积网络层对应的结构参数可以为一个整数,将该整数作为该卷积网络层中采样的通道数,此时,通过该卷积网络层对应的结构参数对该卷积网络层采样可以是指选取该卷积网络层最左侧的(或最右侧的)结构参数个通道作为采样的采样结果。
例如,初始结构参数中针对超级网络的卷积网络层a5的结构参数为8,则从卷积网络层a5中采样最左侧或者最右侧8个通道,作为卷积网络层a5的采样结果,得到卷积网络层a5的采样结果,遍历超级网络的每个卷积网络层,得到最终的待调整子网络。
需要说明的是,超级网络可以用于识别图像中是否包括某个类别的对象的网络,例如,超级网络可以是用于识别图像是否包括人,又如,超级网络可以是用于识别图像是否包括某种动物,再如,超级网络可以是用于识别图像是否包括某种物品。
用于构建超级网络的预置模型可以是已经训练好的网络,也就是说预置模型具有较好的识别能力。预置模型的训练过程本申请不做限定。
S120、通过待调整子网络确定针对训练样本的第一损失值,第一损失值表征待调整子网络的针对训练样本的预测结果的准确率。
训练样本可以包括超级网络针对的类别下的样本图像,例如,超级网络针对的类别为人,则训练样本可以是包括人的图像,又如,超级网络是针对的类别为服装,训练样本可以是包括服装的图像。
可以将训练样本中的样本图像输入待调整子网络,得到待调整子网络输出的预测概率,该预测概率用于表征样本图像包括超级网络针对的类别下的对象的概率。例如,将包括狗的样本图像输入待调整子网络(该网络根据针对狗的超级网络获得),得到待调整子网络输出的样本图像包括狗的概率。
得到待调整子网络输出的预测概率之后,可以获取样本图像对应的标签(标签为1表征样本图像包括超级网络针对的类别下的对象,标签为0表征样本图像不包括超级网络针对的类别下的对象),根据待调整子网络输出的预测概率以及样本图像对应的标签,确定损失值,作为第一损失值。其中,可以是根据待调整子网络输出的预测概率以及样本图像对应的标签,计算交叉熵损失值,作为第一损失值。
作为一种实施方式,S120可以包括:将训练样本中的样本图像输入待调整子网络,得到待调整子网络预测的样本图像的预测分类结果;根据训练样本中对应样本图像的样本分类结果以及预测分类结果,确定损失值,作为第一损失值。
其中,预测分类结果可以是指待调整子网络预测的样本图像的预测概率(参照上文描述),样本图像的样本分类结果可以是指对样本图像添加的标签(参照上文描述)。
可以根据训练样本中对应样本图像的样本分类结果以及预测分类结果,计算交叉熵损失值,作为第一损失值。
S130、通过初始结构参数,确定第二损失值,第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差。
模型耗时是指模型对图像进行识别,得到识别结果所需要的时长。预置模型耗时可以是指用户根据需求或电子设备的硬件结构设定的,精简后的目标模型所要达到的一个目标;待调整子网络的模型耗时是指根据初始结构参数确定的待调整子网络对图像进行识别时,得到识别结果所需要的时长。
例如,用户设置预置模型耗时为100ms,则精简后的目标模型的模型耗时需要尽可能的靠近100ms。
可以根据待调整子网络的初始结构参数,估计待调整子网络的模型耗时,并计算待调整子网络的模型耗时与预置模型耗时之间的差值,根据该差值计算第二损失值。
S140、根据第一损失值以及第二损失值,对初始结构参数进行调整,得到调整后的结构参数。
得到第一损失值以及第二损失值之后,可以对第一损失值以及第二损失值进行加权求和,得到最终损失值,根据最终损失值,对初始结构参数进行调整,得到调整后的结构参数。其中,第一损失值以及第二损失值各自的权重本申请不做限定。
通过最终损失值对初始结构参数进行调整,得到调整后的中间结构参数,并通过每次调整后的中间结构参数对超级网络进行采样,得到新的待调整子网络,其中,新的待调整子网络对应的中间结构参数作为新的待调整子网络的初始结构参数。然后按照上述S110-S140的过程对新的待调整子网络的初始结构参数进行调整,如此循环,直到待调整子网络的模型耗时与预置模型耗时的差距小于预设差距,停止调整过程,将最后一次调整过程对应的中间结构参数,作为调整后的结构参数。其中,预设差距可以是5ms或0。
S150、根据调整后的结构参数,对超级网络进行采样,得到目标模型。
得到调整后的结构参数之后,按照S110中初始结构参数的采样方法,根据调整后的结构参数对超级网络进行采样,得到目标模型。
需要说明的是,调整后的结构参数中每个卷积网络层对应的结构参数可能不是整数,可以对每个卷积网络层的结构参数取整,得到取整结果,再从该卷积网络层中确定最左侧(或者最右侧,若待检测模型选的为最左侧的通道,此处也选最左侧的通道,若待检测模型选的为最右侧的通道,此处也选最右侧的通道)的取整结果个通道作为该卷积网络层的采样结果。
在本实施例中,通过第一损失值表征待调整子网络的针对训练样本的预测结果的准确率,通过第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差,通过第二损失值实现了基于模型耗时约束的通道搜索,使得根据第一损失值以及第二损失值确定的调整后的结构参数可以更加准确的表征超级网络中重要的通道,从而使得根据调整后的结构参数确定的目标模型中各个通道的重要性均较高,构建的目标模型的识别效果较好,进而可以提高目标模型的识别结果的准确率。
同时,确定的目标模型是精简后的模型,目标模型在预测误差更小的前提下,实现了占用资源较少,搜索效率高的效果。
请参阅图2,图2示出了本申请又一个实施例提供的一种模型获得方法的流程图,方法可以用于电子设备,方法包括:
S210、通过初始结构参数对超级网络进行采样,得到待调整子网络;通过待调整子网络确定针对训练样本的第一损失值。
其中,S210的描述参照上文S110-S120的描述,此处不再赘述。
S220、将初始结构参数输入耗时预测网络,得到耗时预测网络预测的模型耗时,耗时预测模型用于预测待调整子网络的模型耗时。
得到耗时预测网络之后,将初始结构参数输入耗时预测网络,得到耗时预测网络预测的模型耗时,作为待调整子网络的模型耗时。
作为一种实施方式,也可以通过预置函数对初始结构参数进行处理,得到函数结果,再将函数结果输入耗时预测网络预测,得到耗时预测网络预测的模型耗时。其中,预置函数可以是指计算各个通道的结构参数的期望,作为函数结果。
耗时预测网络可以是根据耗时训练样本对初始耗时网络进行训练获得,训练过程如下:可以通过预置函数对耗时训练样本中的耗时样本结构参数处理,得到样本函数结果,再将样本函数结果输入初始耗时网络,得到初始耗时网络预测的预测样本耗时,根据耗时样本结构参数对应的样本耗时以及预测样本耗时,确定耗时损失值,通过耗时损失值对初始耗时网络进行训练,得到耗时预测网络。
S230、根据耗时预测网络预测的模型耗时以及预置模型耗时,确定损失值,作为第二损失值。
得到耗时预测网络预测的模型耗时之后,可以计算耗时预测网络预测的模型耗时以及预置模型耗时的差的绝对值,作为第一结果,并对第一结果进行对数运算,得到第二损失值。
上述计算第二损失值的过程可以表述为公式一,公式一如下:
Lossreg=log(|lat-lattarget|)
其中,Lossreg为第二损失值,lat为耗时预测网络预测的模型耗时,lattarget为预置模型耗时。
S240、获取对应第二损失值的预置系数;计算第二损失值与预置系数的积,作为第二结果;计算第二结果与第一损失值的和,作为最终损失值。
其中,预置系数可以是基于需求设定的,本申请不做限定,预置系数用于表征第一损失值以及第二损失值之间的权重关系,此时,S240的计算过程可以表述为公式二,公式二如下:
Lossarch=Losscls+λregLossreg
其中,Lossarch为最终损失值,Losscls为第一损失值,λreg为预置系数。
在本实施例中,最终损失值的获取过程如图3所示。图3中,待检测子网络包括n个卷积网络层以及全连接网络层,每个卷积网络层对应一个结构参数,各个卷积网络层对应的结构参数成了待检测子网络的初始结构参数。
将训练样本中的样本图像输入待检测子网络,得到待检测子网络的全连接网络层输出的预测概率,根据全连接网络层输出的预测概率确定第一损失值;并获取初始结构参数,根据预置函数对初始结构参数运算,得到函数结果,再将函数结果输入耗时预测网络,得到耗时预测网络输出的模型耗时,通过模型耗时以及预置模型耗时,按照公式一确定第二损失值,再通过公式二、第一损失值以及第二损失值,计算最终损失值。
S250、根据最终损失值,对初始结构参数进行调整,得到调整后的结构参数;根据调整后的结构参数,对超级网络进行采样,得到目标模型。
其中,S250的描述参照上文S130-S140的描述,此处不再赘述。
在本实施例中,通过耗时预测网络对待调整子网络的模型耗时进行预测,得到的耗时预测网络预测的模型耗时更加准确,使得确定的第二损失值更加准确,并通过预置系数对第一损失值以及第二损失值进行求和,得到最终损失值,使得最终损失值更加能表征初始结构参数所采样的通道的重要性,从而使得根据最终损失值得到的调整后的结构参数更加准确,提高了目标模型的识别效果。
在本实施例中,引入第二损失值,考虑硬件特性进行剪枝,使得搜索出的模型通道结构可以满足具体硬件对应的预置模型耗时约束,模型对于硬件友好。
请参阅图4,图4示出了本申请再一个实施例提供的一种模型获得方法的流程图,方法可以用于电子设备,方法包括:
S310、获取针对初始模型的多个样本结构参数,每个样本结构参数表征初始模型的每个卷积网络层中各通道的采样情况。
其中,样本结构参数的描述参照上文初始结构参数的描述,不再赘述,区别在于,样本结构参数针对于初始模型。初始模型包括多个卷积网络层,每个卷积网络层包括多个通道。初始模型可以是针对某个类别的训练后的模型,其可以用于识别图像是否包括该类别下的对象,例如,初始模型针对建筑物,初始模型可以用于识别图像中是否包括建筑物。
S320、从多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数。
可以从多个样本结构参数中随机确定一个样本结构参数,作为选定样本结构参数。
S330、根据选定样本结构参数对初始模型进行采样,得到初始子网络;根据初始训练样本,对初始子网络进行训练,得到训练后的初始子网络。
其中,根据选定样本结构参数对初始模型进行采样,得到初始子网络的过程参照确定待调整子网络的过程,不再赘述。
初始训练样本可以是指包括初始模型针对的类别下的对象的样本图像,例如,初始模型针对类别为狗,初始训练样本包括的样本图像为包括狗的图像。
将初始训练样本中的样本图像输入初始子网络,得到初始子网络输出的预测结果,根据初始子网络输出的预测结果以及初始训练样本中的样本图像对应的标签(标签参照上文描述),确定损失值,并根据该损失值对初始子网络进行训练,得到训练后的初始子网络。
S340、根据训练后的初始网络对初始模型的网络参数进行调整,得到新的初始模型。
可以获取训练后的初始网络的网络参数,并根据训练后的初始网络的网络参数,对初始模型的网络参数进行调整,得到新的初始模型。
其中,对初始模型的网络参数进行调整是指,根据训练后的初始网络中各个通道的网络参数,对初始模型中与训练后的初始网络中各个通道对应的通道进行参数调整。
例如,初始模型的卷积网络层b1包括10个通道,根据初始模型得到初始子网络,该初始子网络中与卷积网络层b1对应的卷积网络层为b11(卷积网络层b11是通过选定样本结构参数对卷积网络层b1采样得到),卷积网络层b11包括了卷积网络层b1中的前5个通道。此时,则根据训练后的初始网络对初始模型的网络参数进行调整是指:根据训练后的初始子网络中训练后的卷积网络层b11中5个通道的参数,对初始模型的b1的前5个通道进行网络参数配置,初始模型的b1的后5个通道的网络参数不变。
S350、判断是否遍历多个样本结构参数。
得到新的初始模型之后,判断是否遍历多个样本结构参数,若否,返回执行S320,若是,执行S350。
S360、获取最后一次训练过程获得的新的初始模型,作为超级网络。
完成多个样本结构参数的遍历之后,得到多次训练后的网络,作为超级网络。该超级网络的训练过程充分,基于超级网络进行采样的任意子网络直接测试都能得到较高性能,由于他们共共享了权值。
在本实施例中,初始模型的每个样本结构参数可以是整数(如上述初始结构参数的描述),样本结构参数中每一个卷积网络层的结构参数表征该卷积网络层最左侧(或最右侧,上述训练超级网络的过程,多次采样均是选最左侧的通道或者均是选最右侧的通道,同理,得到超级网络后,若训练过程采样的通道为最左侧,则采样待检测子网络以及目标模型时,也是选最左侧的通道,若训练过程采样的通道为最右侧,则采样待检测子网络以及目标模型时,也是选最右侧的通道)的结构参数个通道被采样,区别在于,不同样本结构参数针对初始模型中同一个卷积网络层采样的通道数不同。
如图5所示,多个样本结构参数包括四个样本结构参数,初始模型包括三个卷积网络层:卷积网络层c1、卷积网络层c2以及卷积网络层c3,图5中从左至右的第一个初始子网络的三个卷积网络层分别保留最左侧的一个通道(黑色表示被采样),图5中从左至右的第二个初始子网络的三个卷积网络层分别保留左侧的多个通道(黑色表示被采样),图5中从左至右的第三个初始子网络的三个卷积网络层分别保留左侧的多个通道(黑色表示被采样),第三个初始子网络相较于第二个初始子网络,保留的通道数更多,图5中从左至右的第四个初始子网络的三个卷积网络层均保留全部的通道(黑色表示被采样)。
如此进行采样,有助于后续训练超级网络时,使得最左侧(或最右侧)的通道训练充分,进而使得确定的待检测子网络以及目标模型保留的通道也是左侧通道(或右侧通道),待检测子网络以及目标模型的识别能力较高。
S370、通过初始结构参数对超级网络进行采样,得到待调整子网络;通过待调整子网络确定针对训练样本的第一损失值;通过初始结构参数,确定第二损失值;根据第一损失值以及第二损失值,确定最终损失值。
其中,S370的描述参照上文S210-S240的描述,此处不再赘述。
S380、根据最终损失值,确定调整梯度;根据调整梯度,通过梯度下降法对初始结构参数进行调整,得到调整后的结构参数。
其中,i为初始子网络的第i个卷积网络层的层索引,j为初始子网络的卷积网络层的通道索引,α为结构参数,即αi,j为初始子网络的第i个卷积网络层第j个通道的结构参数。
得到调整梯度之后,通过梯度下降法对初始结构参数进行调整,得到调整后的结构参数,使得根据得到的调整后的结构参数确定的目标模型满足预置模型耗时的前提下,具有较高的性能,提高了目标模型的识别效果。
S390、根据调整后的结构参数,对超级网络进行采样,得到目标模型。
其中,S390的描述参照上文S140的描述,此处不再赘述。
在本实施例中,对初始模型多次构建初始子网络,并进行多次训练过程,得到超级网络,训练过程充分,使得超级网络每个通道均具有较好的识别效果,从而使得确定的目标模型的识别效果较高。同时,通过梯度下降法对初始结构参数进行调整,使得根据得到的调整后的结构参数确定的目标模型满足预置模型耗时的前提下,具有较高的性能,进一步提高了目标模型的识别效果。
请参阅图6,图6示出了本申请一个实施例提出的一种模型获得装置的框图,装置600包括:
第一采样模块610,用于通过初始结构参数对超级网络进行采样,得到待调整子网络,初始结构参数表征超级网络下的每个卷积网络层中各通道的采样情况;
第一确定模块620,用于通过待调整子网络确定针对训练样本的第一损失值,第一损失值表征待调整子网络的针对训练样本的预测结果的准确率;
第二确定模块630,用于通过初始结构参数,确定第二损失值,第二损失值表征待调整子网络的模型耗时与预置模型耗时之间的偏差;
调整模块640,用于根据第一损失值以及第二损失值,对初始结构参数进行调整,得到调整后的结构参数;
第二采样模块650,用于根据调整后的结构参数,对超级网络进行采样,得到目标模型。
可选地,第二确定模块630,还用于将初始结构参数输入耗时预测网络,得到耗时预测网络预测的模型耗时,耗时预测模型用于预测待调整子网络的模型耗时;根据耗时预测网络预测的模型耗时以及预置模型耗时,确定损失值,作为第二损失值。
可选地,第二确定模块630,还用于计算耗时预测网络预测的模型耗时以及预置模型耗时的差的绝对值,作为第一结果;对第一结果进行对数运算,得到第二损失值。
可选地,调整模块640,还用于获取对应第二损失值的预置系数;计算第二损失值与预置系数的积,作为第二结果;计算第二结果与第一损失值的和,作为最终损失值;根据最终损失值,对初始结构参数进行调整,得到调整后的结构参数。
可选地,调整模块640,还用于根据第一损失值以及第二损失值,确定最终损失值;根据最终损失值,确定调整梯度;根据调整梯度,通过梯度下降法对初始结构参数进行调整,得到调整后的结构参数。
可选地,装置还包括网络获取模块,用于获取针对初始模型的多个样本结构参数,每个样本结构参数表征初始模型的每个卷积网络层中各通道的采样情况;从多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数;根据选定样本结构参数对初始模型进行采样,得到初始子网络;根据初始训练样本,对初始子网络进行训练,得到训练后的初始子网络;根据训练后的初始网络对初始模型的网络参数进行调整,得到新的初始模型;返回执行从多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数的步骤,直到遍历多个样本结构参数;获取最后一次训练过程获得的新的初始模型,作为超级网络。
可选地,第一确定模块620,还用于将训练样本中的样本图像输入待调整子网络,得到待调整子网络预测的样本图像的预测分类结果;根据训练样本中对应样本图像的样本分类结果以及预测分类结果,确定损失值,作为第一损失值。
需要说明的是,本申请中的装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
请参阅图7,其示出了本申请实施例提供的一种电子设备700的结构框图。该电子设备700可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备700可以包括一个或多个如下部件:处理器710、存储器720以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器720中并被配置为由一个或多个处理器710执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器710可以包括一个或者多个处理核。处理器710利用各种接口和线路连接整个电子设备700内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行电子设备700的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块通信芯片进行实现。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备700在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图8,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种模型获得方法,其特征在于,所述方法包括:
通过初始结构参数对超级网络进行采样,得到待调整子网络,所述初始结构参数表征所述超级网络下的每个卷积网络层中各通道的采样情况;
通过所述待调整子网络确定针对训练样本的第一损失值,所述第一损失值表征所述待调整子网络的针对所述训练样本的预测结果的准确率;
通过所述初始结构参数,确定第二损失值,所述第二损失值表征所述待调整子网络的模型耗时与预置模型耗时之间的偏差;
根据所述第一损失值以及所述第二损失值,对所述初始结构参数进行调整,得到调整后的结构参数;
根据所述调整后的结构参数,对所述超级网络进行采样,得到目标模型。
2.根据权利要求1所述的方法,其特征在于,所述通过所述初始结构参数,确定第二损失值,包括:
将所述初始结构参数输入耗时预测网络,得到所述耗时预测网络预测的模型耗时,所述耗时预测模型用于预测所述待调整子网络的模型耗时;
根据所述耗时预测网络预测的模型耗时以及所述预置模型耗时,确定损失值,作为所述第二损失值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述耗时预测网络预测的模型耗时以及所述预置模型耗时,确定损失值,作为所述第二损失值,包括:
计算所述耗时预测网络预测的模型耗时以及所述预置模型耗时的差的绝对值,作为第一结果;
对所述第一结果进行对数运算,得到所述第二损失值。
4.根据权利要求1所述的方法,其特征在于,所述计算所述耗时预测网络预测的模型耗时以及所述预置模型耗时的差的绝对值,作为第一结果,包括:
获取对应所述第二损失值的预置系数;
计算所述第二损失值与所述预置系数的积,作为第二结果;
计算所述第二结果与所述第一损失值的和,作为最终损失值;
根据所述最终损失值,对所述初始结构参数进行调整,得到调整后的结构参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一损失值以及所述第二损失值,对所述初始结构参数进行调整,得到调整后的结构参数,包括:
根据所述第一损失值以及所述第二损失值,确定最终损失值;
根据所述最终损失值,确定调整梯度;
根据所述调整梯度,通过梯度下降法对所述初始结构参数进行调整,得到调整后的结构参数。
6.根据权利要求1所述的方法,其特征在于,所述超级网络的获取方法包括:
获取针对初始模型的多个样本结构参数,每个所述样本结构参数表征所述初始模型的每个卷积网络层中各通道的采样情况;
从所述多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数;
根据所述选定样本结构参数对所述初始模型进行采样,得到初始子网络;
根据初始训练样本,对所述初始子网络进行训练,得到训练后的初始子网络;
根据所述训练后的初始网络对所述初始模型的网络参数进行调整,得到新的初始模型;
返回执行所述从所述多个样本结构参数中确定一个样本结构参数,作为选定样本结构参数的步骤,直到遍历所述多个样本结构参数;
获取最后一次训练过程获得的新的初始模型,作为所述超级网络。
7.根据权利要求1所述的方法,其特征在于,所述通过所述待调整子网络确定针对训练样本的第一损失值,包括:
将所述训练样本中的样本图像输入所述待调整子网络,得到所述待调整子网络预测的所述样本图像的预测分类结果;
根据所述训练样本中对应所述样本图像的样本分类结果以及所述预测分类结果,确定损失值,作为所述第一损失值。
8.一种模型获得装置,其特征在于,所述装置包括:
第一采样模块,用于通过初始结构参数对超级网络进行采样,得到待调整子网络,所述初始结构参数表征所述超级网络下的每个卷积网络层中各通道的采样情况;
第一确定模块,用于通过所述待调整子网络确定针对训练样本的第一损失值,所述第一损失值表征所述待调整子网络的针对所述训练样本的预测结果的准确率;
第二确定模块,用于通过所述初始结构参数,确定第二损失值,所述第二损失值表征所述待调整子网络的模型耗时与预置模型耗时之间的偏差;
调整模块,用于根据所述第一损失值以及所述第二损失值,对所述初始结构参数进行调整,得到调整后的结构参数;
第二采样模块,用于根据所述调整后的结构参数,对所述超级网络进行采样,得到目标模型。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211667921.4A CN115797726A (zh) | 2022-12-23 | 2022-12-23 | 模型获得方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211667921.4A CN115797726A (zh) | 2022-12-23 | 2022-12-23 | 模型获得方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115797726A true CN115797726A (zh) | 2023-03-14 |
Family
ID=85427838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211667921.4A Pending CN115797726A (zh) | 2022-12-23 | 2022-12-23 | 模型获得方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115797726A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692341A (zh) * | 2023-07-28 | 2024-03-12 | 荣耀终端有限公司 | 一种网络的获取方法及装置 |
-
2022
- 2022-12-23 CN CN202211667921.4A patent/CN115797726A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692341A (zh) * | 2023-07-28 | 2024-03-12 | 荣耀终端有限公司 | 一种网络的获取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701250B (zh) | 数据定点化方法和装置 | |
CN110070117B (zh) | 一种数据处理方法及装置 | |
WO2020143321A1 (zh) | 一种基于变分自编码器的训练样本数据扩充方法、存储介质及计算机设备 | |
CN110210558B (zh) | 评估神经网络性能的方法及装置 | |
CN116596095B (zh) | 基于机器学习的碳排放量预测模型的训练方法及装置 | |
CN112819157B (zh) | 神经网络训练的方法及装置、智能行驶控制的方法及装置 | |
CN112560985A (zh) | 神经网络的搜索方法、装置及电子设备 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN115797726A (zh) | 模型获得方法、装置、电子设备及存储介质 | |
CN112668688A (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
CN111310918B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN115391561A (zh) | 图网络数据集的处理方法、装置、电子设备、程序及介质 | |
CN116090536A (zh) | 神经网络的优化方法、装置、计算机设备及存储介质 | |
US10769517B2 (en) | Neural network analysis | |
CN113869526A (zh) | 数据处理模型性能提高方法及装置、存储介质和电子设备 | |
CN111429414B (zh) | 基于人工智能的病灶影像样本确定方法和相关装置 | |
CN110705889A (zh) | 一种企业筛选方法、装置、设备及存储介质 | |
CN116366603A (zh) | 一种活跃IPv6地址的确定方法及装置 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
US20220130065A1 (en) | Method for analyzing thickness of cortical region | |
CN114782780A (zh) | 数据集构建方法、装置以及电子设备 | |
US11676050B2 (en) | Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes | |
CN114822562A (zh) | 声纹识别模型的训练方法、声纹识别方法及相关设备 | |
CN115759192A (zh) | 一种神经网络加速方法、装置、设备、芯片及存储介质 | |
CN115983367A (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 |