CN113537483A - 一种域适配方法、装置及电子设备 - Google Patents
一种域适配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113537483A CN113537483A CN202010290532.9A CN202010290532A CN113537483A CN 113537483 A CN113537483 A CN 113537483A CN 202010290532 A CN202010290532 A CN 202010290532A CN 113537483 A CN113537483 A CN 113537483A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- output
- task
- preset
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种域适配方法、装置及电子设备。其中,所述方法包括:利用第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;将所述第一神经网络模型执行所述预设任务时的输入对象输入第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;利用所述第三神经网络模型继续执行所述预设任务。可以提高训练得到的第三神经网络模型执行预设任务时输出的结果的准确性。
Description
技术领域
本申请涉及机器视觉技术领域,特别是涉及一种域适配方法、装置及电子设备。
背景技术
基于深度学习得到的神经网络模型可以用于执行多种不同的任务,例如物体分类任务、目标检测任务、语义分割任务、行为识别任务等。相关技术中,可以针对所需要执行的任务构建包括多个样本的训练集,并利用训练集中的样本训练得到神经网络模型,并利用该神经网络模型执行该任务。
但是,训练集中所包括的样本是有限的,因此样本的分布(下文称域)难以覆盖在执行任务时输入对象的所有可能的域,示例性的,以人脸识别任务为例,训练集中的样本可能均为中国人的人脸图像,而在执行任务时输入对象可能是外国人的人脸图像。该情况下神经网络模型的输出的可信度取决于神经网络模型的泛化能力。而用于执行任务的神经网络模型受限制于功耗、实时性等要求,模型复杂度往往不会太大,因此泛化能力较差。受限制于神经网络模型的泛化能力,神经网络模型输出的结果的准确性较低。
发明内容
本申请实施例的目的在于提供一种域适配方法、装置及电子设备,以实现提高神经网络模型输出的结果的准确性。具体技术方案如下:
在本申请实施例的第一方面,提供了一种域适配方法,所述方法包括:
利用第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
将所述第一神经网络模型执行所述预设任务时的输入对象输入第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
利用所述第三神经网络模型继续执行所述预设任务。
在一种可能的实施例中,在所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出之前,所述方法还包括:
确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,包括:
如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
在一种可能的实施例中,所述方法还包括:
如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
在一种可能的实施例中,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在一种可能的实施例中,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在本申请实施例的第二方面,提供了一种域配置装置,所述装置包括:
任务执行模块,用于利用所述第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
自动标定模块,用于将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
知识蒸馏模块,用于以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
所述任务执行模块,还用于利用所述第三神经网络模型继续执行所述预设任务。
在一种可能的实施例中,所述装置还包括反馈模块,用于确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述自动标定模块,具体用于如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
在一种可能的实施例中,所述任务执行模块,还用于如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
在一种可能的实施例中,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述知识蒸馏模块,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在一种可能的实施例中,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述知识蒸馏模块,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在本申请实施例的第三方面,提供了一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法步骤。
在本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
本申请实施例提供的域适配方法、装置及电子设备,可以利用泛化能力更强的第二神经网络模型对输入对象进行自动标注,并基于标注的输入对象对第一神经网络模型进行训练,以提高训练得到的第三神经网络模型对所执行的任务中输入对象的域的适配性,因此第三神经网络模型输出的结果可信度较高。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的域适配方法的一种流程示意图;
图2为本申请实施例提供的域适配方法的另一种流程示意图;
图3a为本申请实施例提供的域适配装置的一种结构示意图;
图3b为本申请实施例提供的域适配装置的另一种结构示意图;
图4为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为更清楚的对本申请实施例提供的域适配方法进行说明,下面将对本申请实施例所提供的域适配方法的一种可能的应用场景进行示例性说明,可以理解下述应用场景仅是本申请实施例提供的域适配方法的一种可能的应用场景,在其他可能的实施例中,本申请实施例提供的域适配方法也可以应用于其他应用场景,以下示例对此不做限制。
用户出于实际需求,可能需要设计一个用于人脸识别的神经网络模型。相关技术中,开发人员可以在服务端构建由多个样本图像(也可以是样本图像序列)构成的训练集,并基于该训练集训练得到一个用于人脸识别的神经网络模型,并将该神经网络模型下发至用户端。用户端在接收到该神经网络模型后,在用户端部署该神经网络模型,并利用所部署的神经网络模型对输入的图像(也可以是图像序列)进行人脸识别。
但是开发人员可能难以预先预料用户端实际使用神经网络模型的场景,并且训练集中所包括的样本图像往往有限,因此训练集的域难以覆盖实际使用过程中输入图像的域。而受限制于用户端的计算能力和/或执行效率的需求,该神经网络模型的模型复杂度往往较低,因此泛化能力有限,对于不属于训练集的域的输入图像,该神经网络模型输出的结果准确性较低。
基于此,本申请实施例提供了一种域适配方法,可以应用于任一具有域适配功能的电子设备,例如可以应用于上述应用场景中用户端,方法可以如图1所示,包括:
S101,利用第一神经网络模型执行预设任务。
S102,将第一神经网络模型执行预设任务时的输入对象输入第二神经网络模型,得到第二神经网络模型的输出。
S103,以该输出作为输入对象的真值,对第一神经网络模型进行训练,得到第三神经网络模型。
S104,利用第三神经网络模型继续执行预设任务。
选用该实施例,可以利用泛化能力更强的第二神经网络模型对输入对象进行自动标注,并基于标注的输入对象对第一神经网络模型进行训练,以提高训练得到的第三神经网络模型对所执行的任务中输入对象的域的适配性,因此第三神经网络模型输出的结果可信度较高。
在S101中,第一神经网络模型为基于预设训练集训练得到的,并且模型复杂度低于预设复杂度阈值,模型复杂度可以是由神经网络模型的深度和/或所使用的算子决定的。预设复杂度阈值可以是根据实际应用场景确定的,以上述应用场景为例,预设复杂度阈值可以是根据用户端的性能,和/或用户对任务执行效率的要求确定的,用户端的性能越高,则该预设复杂度阈值可以定的越高,用户对任务执行效率的要求越高,则该预设复杂度阈值需要设定的越低。
预设任务的类型根据应用场景的不同可以不同,示例性的,预设任务可以是物体分类任务,也可以是目标检测任务,还可以是语义分割任务,也可以是行为识别任务。在一些可能的应用场景中,预设任务也可以是多个任务组合得到的,例如预设任务可以包括目标检测任务和行为识别任务,本实施例对此不做限制。
如前述分析,由于第一神经网络模型的模型复杂度低于预设复杂度阈值,因此可以认为第一神经网络模型可以用于正常执行预设任务。而第二神经网络模型可能由于模型复杂度过高,因此如果利用第二神经网络模型执行预设任务,可能导致受限制于所属电子设备的性能执行效率过低,而任务的执行往往对时效性具有一定的要求,因此第二神经网络模型可能无法用于正常执行预设任务。
在S102中,第二神经网络模型为基于预设训练集训练得到的,并且模型复杂度高于第一神经网络模型的模型复杂度,可以理解的是,模型复杂度越高的神经网络模型由于可以实现更加复杂的映射关系,因此具有更强的泛化能力,而复杂度越低的神经网络模型运行速率往往越快。
输入对象为第一神经网络模型执行预设任务过程中曾经被输入的对象。这些对象根据应用场景的不同可以是图像和/或图像序列,这些输入对象可以在一定程度上反映出执行预设任务时实际应用场景的域。而如前述分析,虽然第二神经网络模型的模型复杂度较高,无法正常执行预设任务,但是在不考虑时效性的情况下,理论上第二神经网络能够正常输出结果。并且由于第二神经网络模型的模型复杂度较高,因此泛化能力相比于第一神经网络模型更强,对于不属于训练集的域的输入对象,第二神经网络模型输出的结果的可信度也相对较高。
在S104中,神经网络模型可以视为一个由输入对象到输出的映射,以第二神经网络模型的输出作为输入对象的真值,对第一神经网络模型进行训练,理论上可以使得训练得到的第三神经网络模型所表示的映射,与第二神经网络模型所表示的映射更加接近,而如前述分析,理论上第二神经网络模型的泛化能力比第一神经网络模型的泛化能力更强,因此第二神经网络模型所表示的映射相比于第一神经网络模型所表示的映射更加接近输入对象与输出之间真实的映射,因此训练得到的第三神经网络模型在执行预设任务时输出的结果的可信度相比于第一神经网络模型更高。并且,第三神经网络模型是在第一神经网络模型的基础上训练得到的,理论上具有与第一神经网络模型相同(或相近)的模型复杂度,因此可以利用第三神经网络模型正常执行预设任务。
下面将结合前述示例的应用场景,对本申请实施例提供的域适配方法进行说明,可以参见图2,图2所示为本申请实施例提供的域适配方法的一种流程示意图,包括训练阶段和主动域适配阶段两个阶段。其中,第一阶段可以是在服务端实现的,第二阶段可以是在用户端实现的。
在第一阶段中,服务端利用服务端本地的预设训练集训练得到第一神经网络模型和第二神经网络模型,预设训练集中包括多个人工标定的样本图像或样本图像序列。
服务端将第一神经网络模型和第二神经网络模型下发至用户端,用户端在用户端部署第一神经网络模型,用于执行预设任务,为描述方便,下文将用户端利用第一神经网络模型执行任务时的输入对象的域称为新场景数据,新场景数据与训练集往往存在一定的区别(对于训练集完全覆盖新场景数据的应用场景,不存在本申请实施例所需要解决的技术问题,在此不再讨论)。
在执行任务时,新场景数据中的输入对象会被输入至第一神经网络模型中,并且在本实施例中,也会被输入至第二神经网络模型中,在一种可能的实施例中,可以是将输入对象同步输入至第二神经网络模型中,在另一种可能的实施例中,也可以是确定第一神经网络模型执行预设任务的性能是否达到预设性能阈值,如果第一神经网络模型执行预设任务时的性能未达到预设性能阈值,则将当前时间窗口内的输入对象输入至第二神经网络模型中,如果第一神经网络模型执行预设任务时的性能达到预设性能阈值,则继续使用第一神经网络模型执行预设任务。
第一神经网络模型执行预设任务时的性能是否达到预设性能阈值,可以是根据用户反馈的反馈信息确定得到的,示例性的,用户在使用过程中可以根据自身的体验向用户端输入用于表示第一神经网络模型执行预设任务时的性能是否达到预设性能阈值的反馈信息。可以理解的是,如果第一神经网络执行预设任务时的性能未达到预设性能阈值,则可以认为第一神经网络无法按照用户的需求执行预设任务,因此需要对第一神经网络模型进行优化。如果第一神经网络模型执行预设任务时的性能已经达到预设性能阈值,则可以认为第一神经网络模型已经能够按照用户的需求执行预设任务,因此无需对第一神经网络模型进行优化,在其他可能的实施例中,该情况下也可以对第一神经网络模型进行优化,本实施例对此不做限制。
由于输入对象被输入至第一神经网络模型和第二神经网络模型,因此可以得到第一神经网络模型和第二神经网络模型各自的输出,可以基于这两个输出的差异构建损失函数,并基于所构建的损失函数对第一神经网络的网络参数进行调整,得到第三神经网络模型,并利用第三神经网络模型继续对新场景数据进行处理。在得到第三神经网络模型后,可以同理对第三神经网络进行域适配,以继续对第三神经网络模型进行优化,关于第三神经网络的域适配流程,可以是与第一神经网络的域适配流程是一致的,因此在此不再赘述。
选用该实施例,用户端在部署第一神经网络模型后,可以通过本地的第二神经网络模型对第一神经网络模型进行域适配,以对第一神经网络模型进行优化,无需将新场景数据上传至服务端再由服务端对第一神经网络模型进行优化。可以有效降低用户端与服务端之间的带宽压力,并且提高用户端数据的隐私性。
下面将对损失函数的构建进行说明,这里分为两种情况进行说明。
情况一,预设任务中包括识别任务,识别任务可以是指确定目标所属的类别的任务,目标根据应用场景的不同可以不同,例如可以是人脸、车辆等。例如,识别任务可以是确定图像中的物体为何种物体(即物体分类任务),也可以是确定图像序列中人员的行为(即行为识别任务),还可以是确定图像中各像素点所属语义类别(即语义分割任务)。
对于分类任务,第二神经网络模型的输出可以是输入对象中目标所属的类别,也可以是输入图像中目标为各类别的置信度。例如,输入对象中包括目标A,类别一共被划分为5种,分别记为类别1-5,则第二神经网络模型的输出可以是目标A为类别1的置信度、目标A为类别2的置信度、目标A为类别3的置信度、目标A为类别4的置信度,以及目标A为类别5的置信度。获取该输入对象输入第一神经网络模型后,第一神经网络模型输出的各类别的置信度,并计算第一神经网络模型输出的置信度,与第二神经网络模型输出的置信度的交叉熵,得到损失函数,计算公式可以如下所示:
其中,Loss(x)为损失函数,x是输入对象,tc(x)为第二神经网络模型输出的输入对象中的目标为第c个类别的置信度,pc(x)为第一神经网络模型输出的输入对象中的目标为第c个类别的置信度,K为类别的总数。
情况二,预设任务中包括检测任务,检测任务可以是指在输入对象中确定目标的位置,例如车辆检测任务、人脸检测任务。对于检测任务,第二神经网络模型的输出可以包括输入对象中被检测到存在目标的位置,位置的表示方式根据应用场景的不同可以不同,示例性的,可以是以包括该目标在内的最小矩形的四个顶点的像素坐标表示该目标的位置。
可以是获取输入对象输入第一神经网络后,第一神经网络模型输出的输入对象中被检测到存在目标的位置,并计算第一神经网络模型输出的位置,与第二神经网络模型输出的位置的均方误差,得到损失函数,计算公式可以如下所示:
其中,tj(x)为第二神经网络模型输出的第j个目标的位置,pj(x)为第一神经网络模型输出的第j个目标的位置,D为目标的总数。
参见图3a,图3a所示为本申请实施例提供的域配置装置的一种结构示意图,可以包括:
任务执行模块301,用于利用所述第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
自动标定模块302,用于将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
知识蒸馏模块303,用于以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
所述任务执行模块301,还用于利用所述第三神经网络模型继续执行所述预设任务。
在一种可能的实施例中,如图3b所示,所述装置还包括反馈模块304,用于确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述自动标定模块302,具体用于如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
在一种可能的实施例中,所述任务执行模块301,还用于如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
在一种可能的实施例中,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述知识蒸馏模块303,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在一种可能的实施例中,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述知识蒸馏模块303,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
本申请实施例还提供了一种电子设备,如图4所示,包括:
存储器401,用于存放计算机程序;
处理器402,用于执行存储器401上所存放的程序时,实现如下步骤:
利用第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
将所述第一神经网络模型执行所述预设任务时的输入对象输入第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
利用所述第三神经网络模型继续执行所述预设任务。
在一种可能的实施例中,在所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出之前,所述方法还包括:
确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,包括:
如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
在一种可能的实施例中,所述方法还包括:
如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
在一种可能的实施例中,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
在一种可能的实施例中,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一域适配方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一域适配方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种域适配方法,其特征在于,所述方法包括:
利用第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
将所述第一神经网络模型执行所述预设任务时的输入对象输入第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
利用所述第三神经网络模型继续执行所述预设任务。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出之前,所述方法还包括:
确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,包括:
如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
4.根据权利要求1所述的方法,其特征在于,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
5.根据权利要求1所述的方法,其特征在于,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型,包括:
获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中被检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
6.一种域配置装置,其特征在于,所述装置包括:
任务执行模块,用于利用所述第一神经网络模型执行预设任务,所述第一神经网络模型为基于预设样本集训练得到的,并且模型复杂度低于预设复杂度阈值;
自动标定模块,用于将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出,所述第二神经网络模型为基于所述预设样本集训练得到的,并且模型复杂度高于所述第一神经网络模型;
知识蒸馏模块,用于以该输出作为所述输入对象的真值,对所述第一神经网络模型进行训练,得到第三神经网络模型;
所述任务执行模块,还用于利用所述第三神经网络模型继续执行所述预设任务。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括反馈模块,用于确定所述第一神经网络模型执行所述预设任务的性能是否达到预设性能阈值;
所述自动标定模块,具体用于如果所述第一神经网络模型执行所述预设任务的性能未达到所述预设性能阈值,将所述第一神经网络模型执行所述预设任务时的输入对象输入所述第二神经网络模型,得到所述第二神经网络模型的输出。
8.根据权利要求7所述的装置,其特征在于,所述任务执行模块,还用于如果所述第一神经网络模型执行所述预设任务的性能达到所述预设性能阈值,继续利用所述第一神经网络模型执行预设任务。
9.根据权利要求6所述的装置,其特征在于,所述预设任务包括识别任务,所述第二神经网络模型的输出包括所述输入对象为各类别的置信度;
所述知识蒸馏模块,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象为各类别的置信度;
计算所述第一神经网络模型输出的置信度,与所述第二神经网络模型输出的置信度的交叉熵,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
10.根据权利要求6所述的装置,其特征在于,所述预设任务包括检测任务,所述第二神经网络模型的输出包括所述输入对象中被检测到存在目标的位置;
所述知识蒸馏模块,具体用于获取所述输入对象输入所述第一神经网络模型后,所述第一神经网络模型输出的所述输入对象中检测到存在目标的位置;
计算所述第一神经网络模型输出的位置,与所述第二神经网络模型输出的位置的均方误差,得到损失函数;
基于所述损失函数,调整所述第一神经网络模型的模型参数,得到第三神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290532.9A CN113537483A (zh) | 2020-04-14 | 2020-04-14 | 一种域适配方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290532.9A CN113537483A (zh) | 2020-04-14 | 2020-04-14 | 一种域适配方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113537483A true CN113537483A (zh) | 2021-10-22 |
Family
ID=78119932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290532.9A Pending CN113537483A (zh) | 2020-04-14 | 2020-04-14 | 一种域适配方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113537483A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
US20180268292A1 (en) * | 2017-03-17 | 2018-09-20 | Nec Laboratories America, Inc. | Learning efficient object detection models with knowledge distillation |
CN109087303A (zh) * | 2018-08-15 | 2018-12-25 | 中山大学 | 基于迁移学习提升语义分割模型效果的框架 |
CN109754089A (zh) * | 2018-12-04 | 2019-05-14 | 浙江大华技术股份有限公司 | 一种模型训练系统及方法 |
CN110059740A (zh) * | 2019-04-12 | 2019-07-26 | 杭州电子科技大学 | 一种针对嵌入式移动端的深度学习语义分割模型压缩方法 |
CN110084281A (zh) * | 2019-03-31 | 2019-08-02 | 华为技术有限公司 | 图像生成方法、神经网络的压缩方法及相关装置、设备 |
CN110163344A (zh) * | 2019-04-26 | 2019-08-23 | 北京迈格威科技有限公司 | 神经网络训练方法、装置、设备和存储介质 |
CN110472681A (zh) * | 2019-08-09 | 2019-11-19 | 北京市商汤科技开发有限公司 | 基于知识蒸馏的神经网络训练方案和图像处理方案 |
CN110598840A (zh) * | 2018-06-13 | 2019-12-20 | 富士通株式会社 | 知识迁移方法、信息处理设备以及存储介质 |
CN110837846A (zh) * | 2019-10-12 | 2020-02-25 | 深圳力维智联技术有限公司 | 一种图像识别模型的构建方法、图像识别方法及装置 |
-
2020
- 2020-04-14 CN CN202010290532.9A patent/CN113537483A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180268292A1 (en) * | 2017-03-17 | 2018-09-20 | Nec Laboratories America, Inc. | Learning efficient object detection models with knowledge distillation |
CN107247989A (zh) * | 2017-06-15 | 2017-10-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及装置 |
CN110598840A (zh) * | 2018-06-13 | 2019-12-20 | 富士通株式会社 | 知识迁移方法、信息处理设备以及存储介质 |
CN109087303A (zh) * | 2018-08-15 | 2018-12-25 | 中山大学 | 基于迁移学习提升语义分割模型效果的框架 |
CN109754089A (zh) * | 2018-12-04 | 2019-05-14 | 浙江大华技术股份有限公司 | 一种模型训练系统及方法 |
CN110084281A (zh) * | 2019-03-31 | 2019-08-02 | 华为技术有限公司 | 图像生成方法、神经网络的压缩方法及相关装置、设备 |
CN110059740A (zh) * | 2019-04-12 | 2019-07-26 | 杭州电子科技大学 | 一种针对嵌入式移动端的深度学习语义分割模型压缩方法 |
CN110163344A (zh) * | 2019-04-26 | 2019-08-23 | 北京迈格威科技有限公司 | 神经网络训练方法、装置、设备和存储介质 |
CN110472681A (zh) * | 2019-08-09 | 2019-11-19 | 北京市商汤科技开发有限公司 | 基于知识蒸馏的神经网络训练方案和图像处理方案 |
CN110837846A (zh) * | 2019-10-12 | 2020-02-25 | 深圳力维智联技术有限公司 | 一种图像识别模型的构建方法、图像识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
凌弘毅;: "基于知识蒸馏方法的行人属性识别研究", 计算机应用与软件, no. 10, pages 187 - 190 * |
蒋霆: "基于卷积神经网络的模型压缩与加速方法研究", 《中国硕士优秀论文电子期刊》, pages 38 - 51 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111144937B (zh) | 广告素材确定方法、装置、设备及存储介质 | |
CN108280477B (zh) | 用于聚类图像的方法和装置 | |
CN108520470B (zh) | 用于生成用户属性信息的方法和装置 | |
CN111931859B (zh) | 一种多标签图像识别方法和装置 | |
CN109690571B (zh) | 基于学习的组标记系统和方法 | |
CN111783810B (zh) | 用于确定用户的属性信息的方法和装置 | |
CN112215248A (zh) | 深度学习模型训练方法、装置、电子设备及存储介质 | |
CN112231592A (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
CN112329762A (zh) | 图像处理方法、模型训练方法、装置、计算机设备和介质 | |
US20210037031A1 (en) | Contextual anomaly detection across assets | |
CN111667024B (zh) | 内容推送方法、装置、计算机设备和存储介质 | |
US20170364740A1 (en) | Signal processing | |
CN109800784B (zh) | 基于神经网络的合同核对方法及装置 | |
CN111275071A (zh) | 预测模型训练、预测方法、装置及电子设备 | |
CN116258873A (zh) | 一种位置信息确定方法、对象识别模型的训练方法及装置 | |
CN114241411B (zh) | 基于目标检测的计数模型处理方法、装置及计算机设备 | |
CN113260044B (zh) | 基于双层字典学习的csi指纹定位方法、装置及设备 | |
CN113537483A (zh) | 一种域适配方法、装置及电子设备 | |
CN112784691B (zh) | 一种目标检测模型训练方法、目标检测方法和装置 | |
CN114065858A (zh) | 一种模型训练方法、装置、电子设备及存储介质 | |
KR102029860B1 (ko) | 실시간 다중 객체 추적 방법과 이를 수행하기 위한 장치 | |
CN117099102A (zh) | 学习利用可变分布保留来变换敏感数据 | |
CN115470356A (zh) | 一种知识图谱构建方法、装置及电子设备 | |
CN111640076A (zh) | 一种图像补全方法、装置及电子设备 | |
Wang et al. | Data-driven determination of the number of jumps in regression curves |
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 |