深度学习模型的训练方法、装置、可读介质和电子设备与流程
未命名
08-15
阅读:85
评论:0
1.本技术涉及人工智能领域,特别涉及一种深度学习模型的训练方法、装置、可读介质和电子设备。
背景技术:
2.随着人工智能技术的发展,深度学习模型的应用越来越广泛,例如可以应用到图像、视频、音频、文字等的识别和分类等场景中。深度学习模型通常基于有标签的样本数据,例如有标签的图像,训练得到。在完成模型训练后,当将待处理的输入数据输入到该模型时,该模型可以输出该输入数据对应的推理结果(例如输入数据的标签)。但是,在将无标签数据输入到上述深度学习模型中时,若深度学习模型中并没有和输入的无标签数据相对应的标签,深度学习模型仍然会为该无标签的数据中确定一个标签,造成误判,影响深度学习模型确定输入数据的推理结果的精度。例如图1a中的有标签的样本图像包括:苹果的图像(标签为“苹果”)、梨的图像(标签为梨),而图1c中的无标签图像包括西瓜的图像,在将西瓜的图像输入到由图1a中的有标签的样本图像训练得到的深度学习模型时,该深度学习模型对西瓜的图像的推理结果会是“苹果”或“梨”,造成误判。此外,由于无标签数据中的各数据的特征和有标签的样本数据中的各数据的特征有差异,例如图1c中的梨的图像中梨形状与图1a中的梨的图像中的梨的形状不同,也可能导致深度学习模型为无标签的数据确定错误的标签,例如将对图1c中的梨的图像的推理结果确定为苹果,造成误判。
技术实现要素:
3.有鉴于此,本技术实施例提供了一种深度学习模型的训练方法、装置、可读介质和电子设备。
4.第一方面,本技术实施例提供了一种深度学习模型的训练方法,应用于电子设备,该方法包括:获取第一数据集和第二数据集,其中,第一数据集中的样本数据的标签构成第一标签集,第二数据集的样本数据不具有标签;利用第一模型确定第一数据集和第二数据集中的各样本数据的数据特征和第一参数,其中,第一样本数据的第一参数用于指示第一样本数据被确定为第一标签集中的第一标签的概率;第一样本数据为第一数据集或第二数据集中的任意一个样本数据;基于第一数据集和第二数据集中的各样本数据的第一参数以及第一数据集和第二数据集中的各样本数据的数据特征确定第一模型的损失函数,第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,其中,第一子损失函数用于指示利用第一模型确定第一数据集中的样本数据的标签的不确定度,第二子损失函数用于指示利用第一模型确定各样本数据的标签的不确定度的修正参数,第三子损失函数用于指示属于同一标签的样本数据的数据特征的离散程度之和;在第一模型的损失函数不满足预设条件的情况下,调整第一模型的参数,得到第二模型,其中,第二模型的损失函数满足预设条件。
5.也即是说,电子设备是以有标签的第一数据集(例如下文的源域数据)和无标签的
第二数据集(例如下文的目标域数据)为输入数据来训练第一模型(例如下文源域模型),在训练过程中,基于利用第一模型确定的第一数据集和第二数据集中的样本数据的第一参数和数据特征计算第一模型的损失函数,并判断第一模型的损失函数是否满足预设条件(例如下文中的终止条件),若第一模型的损失函数不满足预设条件,则调整第一模型的参数,进行迭代训练,直到得到使第一模型的损失函数满足预设条件的第二模型(例如下文的目标域模型)。由于损失函数中的第一子损失函数指示了第一模型确定各样本数据的标签的不确定度的修正参数、第三子损失函数指示了属于同一标签的样本数据的数据特征的离散程度之和,从而损失函数满足预设条件的第二模型确定出各样本数据的标签的不确定度低、属于同一标签的样本数据的数据特征的离散程度低,进而提高了第二模型为输入数据确定的推理结果的精度,例如提高第二模型确定输入数据的标签(即,推理结果)的准确率。
6.可以理解,样本数据的数据特征,即是第一模型在对样本数据进行推理过程中,为样本数据提高的特征,例如在样本数据为图像、音频、视频、文字的情况下,样本数据的数据特征可以是样本数据的特征向量。
7.在上述第一方面的一种可能实现中,上述方法还包括:基于利用第二模型得到的第一数据集中的各样本数据的第二参数,确定第一标签集中的各标签的置信度阈值;置信度阈值被第二模型用于确定输入到第二模型中的输入数据的推理结果。
8.在本技术实施例中,电子设备为第二模型中,第一标签集中的各标签都确定了一个置信度阈值,并将各标签的置信度阈值配置在第二模型中。从而第二模型可以根据各标签的置信度阈值在确定输入到第二模型的输入数据的推理结果。假设第二模型对输入数据的推理结果为输入数据的标签,第二模型在推理出输入数据的标签为上述第一标签集中的各标签的概率中的最大概率对应的标签为第一标签的情况下,确定第二模型确定该推理结果的置信度,并在该置信度对数大于或等于第一标签的置信度阈值的情况下,确定输入数据的推理结果为第一标签,否则确定输入数据的推理结果为未知类。
9.例如,电子设备可以基于以下公式确定利用第二模型得到第一数据集中的各样本数据确定标签的置信度:
[0010][0011]
其中,为利用第二模型为第一数据集中的第i个样本确定标签的置信度,为利用第二模型确定出的第一数据集中的第i个样本数据为第一标签集中的第k个标签的概率,ls为第一标签集中的标签的数量;
[0012]
基于利用第二模型为第一数据集中的各样本数据确定标签的置信度,确定出第一数据集中具有相同标签的各样本数据的置信度的对数的均值和方差;
[0013]
基于第一数据集中具有相同标签的各样本数据的置信度的对数的均值和方差,通过以下公式,确定第一标签集中各标签的置信度阈值:
[0014][0015]
其中,为第一标签集中第j个标签的置信度阈值;为第一数据集中标签为第一标签集中的第j个标签的样本数据的置信度的对数的均值;为第一数据集中标签为第一
标签集中的第j个标签的样本数据的置信度的对数的方差。
[0016]
可以理解,第二模型确定的输入数据的推理结果,可以根据第二模型的功能不同而不同,例如,在第二模型的功能为用分类的模型时(即为输入数据确定一个标签),第二模型对输入数据的推理结果可以是该输入数据的类别(标签)。
[0017]
如此,可以为第一标签集中的每一个标签都确定一个置信度阈值,而不是为第一标签集中的标签设置相同的置信度阈值,增加了置信度阈值的合理性,从而可以降低为各标签确定相同的置信度阈值的情况下,第二模型将部分属于第一标签集的样本数据的标签确定为“未知”的可能性、提高为属于第一标签集的样本数据确定正确的标签的精度、减小将属于已知类数据的样本数据的标签确定为“未知类”的概率,也即是提高了第二模型确定出的输入数据的推理结果的精度。
[0018]
在上述第一方面的一种可能实现中,上述第一子损失函数基于第一数据集中的各样本数据的第一参数确定。
[0019]
例如,在一些实施例中,上述第一子损失函数可以基于以下公式确定:
[0020][0021]
其中,为第一子损失函数;ns为第一数据集中的样本数据的数量;ls为第一标签集中的标签的数量;为0-1变量,并且在第一数据集中的第i个样本数据的标签为第一标签集中的第j个标签的情况下,否则,为第一数据集中的第i个样本数据的第一参数,表示第一数据集中的第i个数据的标签被确定为第一标签集中的第k个标签的概率;表示利用第一模型为第一数据集中的第i个样本数据确定标签的置信度。
[0022]
在上述第一方面的一种可能实现中,上述第二子损失函数用于降低采用第一模型确定第一数据集中的各样本数据的标签的不确定度。
[0023]
由于第一子损失函数指示的是利用第一模型确定第一数据集中的样本数据的标签的不确定度,在训练过程中可能会增加利用第一模型确定属于第一数据集中的各样本数据的标签的不确定度,出现过拟合的情况,导致降低得到的第二模型为输入数据确定的推理结果的精度。在本技术实施例中,通过第二子损失函数来修正利用第一模型确定属于第一数据集中的各样本数据的标签的不确定度,可以避免在训练过程中将增加第一数据集中的各样本数据的不确定度,进一步提高训练后得到的第二模型为输入数据确定的推理结果的精度。
[0024]
例如,在一些实施例中,上述第二子损失函数可以基于以下公式确定:
[0025][0026]
其中,为第二子损失函数;ns为第一数据集中样本数据的数量;n
t
为第二数据集中样本数据的数量;为第一模型为第一数据集中的第i个样本数据确定标签的不确定度;为第一模型为第二数据集中的第j个样本数据确定标签的不确定度;为第二数据集中
的第j个数据的预测置信度;为第二数据集中第j个输入数据确定标签的不确定度。
[0027]
在上述第一方面的一种可能实现中,上述预设条件,包括以下条件中的至少一个:损失函数收敛、损失函数的值小于预设值、达到预设的迭代次数。
[0028]
在上述第一方面的一种可能实现中,上述第一模型包括resnet网络。
[0029]
在上述第一方面的一种可能实现中,上述第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,包括:第一模型的损失函数基于以下公式确定:
[0030][0031]
其中,λ为常数;为第一子损失函数;为第二子损失函数;为第三子损失函数。
[0032]
在本技术实施例中,第一模型的损失函数是第一子损失函数、第二子损失函数和第三子损失函数加权和,在训练过程中可以通过改变各个子损失函数的权重,例如通过调整λ来调整第三损失函数的权重,以根据实际的应用场景来调整训练得到的第二模型为输入数据推理过程中,为属于同一标签的输入数据确定出的数据特征的离散程度,从而提高第二模型对应用场景的适应性,进而提高第二模型为输入数据确定的推理结果的精度。
[0033]
在一些实施例中,上述第三子损失函数可以通过以下公式确定:
[0034][0035]
其中,为第二子损失函数,表示第一数据集中或第二数据集中的样本数据q,在第一数据集和第二数据集中的相互最近邻集中的各样本数据的特征的离散程度;并且通过以下公式确定:
[0036][0037]
其中,为样本数据q在第一数据集的样本数据中的相互最近邻集;为样本数据q在第二数据集的样本数据中的相互最近邻集;exp()为自然常数e的指数函数;τ为超参数;为样本数据q为第一数据集中的样本数据时,样本数据q的数据特征;为样本数据q为第二数据集中的样本数据时,样本数据q的数据特征;为中的样本数据j的数据特征;为中的样本数据l的数据特征;为第一数据集中的第m个样本数据的数据特征;为第二数据集中的第n个样本数据的数据特征。
[0038]
第二方面,本技术实施例提供了一种深度学习模型的训练装置,该装置包括:获取模块,用于获取第一数据集和第二数据集,其中,第一数据集中的样本数据的标签构成第一标签集,第二数据集的样本数据不具有标签;训练模块,用于利用第一模型确定第一数据集
和第二数据集中的各样本数据的数据特征和第一参数,其中,第一样本数据的第一参数用于指示第一样本数据被确定为第一标签集中的第一标签的概率;第一样本数据为第一数据集或第二数据集中的任意一个样本数据;损失函数计算模块,用于基于第一数据集和第二数据集中的各样本数据的第一参数以及第一数据集和第二数据集中的各样本数据的数据特征确定第一模型的损失函数,第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,其中,第一子损失函数用于指示利用第一模型确定第一数据集中的样本数据的标签的不确定度,第二子损失函数用于指示利用第一模型确定各样本数据的标签的不确定度的修正参数,第三子损失函数用于指示属于同一标签的样本数据的数据特征的离散程度之和;评价模块,用于确定第一模型的损失函数是否满足预设条件;更新模块,用于在第一模型的损失函数满足预设条件的情况下,调整第一模型的参数,得到第二模型,其中,第二模型的损失函数满足预设条件。
[0039]
在上述第二方面的一种可能实现中,上述装置还包括:
[0040]
配置模块,用于基于利用第二模型得到的第一数据集中的各样本数据的第二参数,确定第一标签集中的各标签的置信度阈值;置信度阈值被第二模型用于确定输入到第二模型中的输入数据的推理结果。
[0041]
在上述第二方面的一种可能实现中,上述损失函数计算模块基于第一数据集中的各样本数据的第一参数确定,第一子损失函数。
[0042]
在上述第二方面的一种可能实现中,上述损失函数计算模块基于第二子损失函数降低采用第一模型确定第一数据集中的各样本数据的标签的不确定度。
[0043]
在上述第二方面的一种可能实现中,上述预设条件,包括以下条件中的至少一个:损失函数收敛、损失函数的值小于预设值、达到预设的迭代次数。
[0044]
在上述第二方面的一种可能实现中,上述第一模型包括resnet网络。
[0045]
在上述第二方面的一种可能实现中,上述损失函数计算模块基于以下公式确定第一模型的损失函数:
[0046][0047]
其中,λ为常数;为第一子损失函数;为第二子损失函数;为第三子损失函数。
[0048]
第三方面,本技术实施例提供了一种可读介质,该可读介质上存储有指令,指令在电子设备上执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种的深度学习模型的训练方法。
[0049]
第四方面,本技术实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于运行指令以使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种深度学习模型的训练方法。
[0050]
可以理解,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
[0051]
图1a根据本技术的一些实施例,示出了一种源域数据01的示意图;
[0052]
图1b根据本技术的一些实施例,示出了一种由源域数据01训练得到的源域模型的功能示意图;
[0053]
图1c根据本技术的一些实施例,示出了一种目标域数据02的示意图;
[0054]
图2根据本技术的一些实施例,示出了一种深度学习模型训练的场景示意图;
[0055]
图3根据本技术的一些实施例,示出了一种深度学习模型的训练过程示意图;
[0056]
图4根据本技术的一些实施例,示出了一种深度学习模型训练方法的流程示意图;
[0057]
图5根据本技术的一些实施例,示出了一种标签的各样本数据的置信度的对数的集合的分布示意图
[0058]
图6根据本技术的一些实施例,示出了一种通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,在相同条件下与其他方法的效果对比示意图;
[0059]
图7根据本技术的一些实施例,示出了又一种通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,在相同条件下与其他方法的效果对比示意图;
[0060]
图8根据本技术的一些实施例,示出了通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,基于domainnet数据集在相同条件下与其他方法的效果对比示意图;
[0061]
图9根据本技术的一些实施例,示出了通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,基于exdark数据集在相同条件下与其他方法的效果对比示意图;
[0062]
图10根据本技术的一些实施例,示出了一种深度学习模型训练装置的结构示意图;
[0063]
图11根据本技术的一些实施例,示出了一种电子设备的结构示意图。
具体实施方式
[0064]
本技术的说明性实施例包括但不限于深度学习模型的训练方法、可读介质和电子设备。
[0065]
为便于理解本技术的技术方案,首先对本技术实施例涉及的术语进行解释。
[0066]
(1)通用域适应(universal domain adaptation,uda)
[0067]
通用域适应主要是将知识从一个有标记的源域空间转移到另一个无标记的域空间,并且源域空间和目标域空间之间没有任何标签上的约束,是面向开放场景的模型适应方法。具体地,通用域适应的输入包括带标签的数据(源域数据)、不带标签的数据(目标域数据)、以及由源域数据训练得到的源域深度学习模型(以下简称源域模型),通过源域数据和目标域数据对源域模型进行调整,输出目标域深度学习模型(以下简称目标域模型),使得目标域模型能够对目标域数据(包括但不限于用于训练的目标域数据)中的各样本数据进行分类,即识别出目标域数据中属于源域数据标签空间的样本数据(例如图1c中的图像021、图像022,以下简称已知类数据),并确定该类样本数据的标签,以及将目标域数据中不属于源域数据标签空间的数据(例如图1c中的图像023,以下简称未知类数据)的标签确定为“未知类”。
[0068]
参考图1a,源域数据01中包括图像011和图像012,图像011的标签011s为“梨”,图像012的标签012s为“苹果”,即是源域数据01的标签空间为{“梨”,“苹果”}。参考图1b,源域
模型1由源域数据训练得到,在源域模型1的输入为图像011时,输出的标签为“梨”;源域模型1的输入为图像012时,输出的标签为“苹果”。参考图1c,目标域数据02包括图像021、图像022和图像023,uda即是以源域数据01和目标域数据02为样本数据,基于源域数据01和目标域数据02对源域模型1进行训练,调整源域模型1的参数,得到目标域模型1
′
,使得目标域模型1
′
可以在输入数据为图像021的情况下,输出标签“梨”;在输入数据为图像022的情况下,输出标签“苹果”;在输入数据为图像023的情况下,输出标签“未知类”。
[0069]
由于目标域图像中属于已知类数据的图像的特征和源域图像中属于已知类数据的图像的特征可能不同,例如图像011和图像021都属于“梨”类,但图像021和图像011中梨的形状、比例等不同,如果直接使用源域模型对图像021进行特征提取,并确定图像021的标签,可能会为图像021确定出错误的标签,因此,uda的一个亟待解决的问题是如何调整源域模型,以降低目标域模型提取到目标域数据和源域数据中属于同一类的样本数据的特征的离散程度,例如提高目标域模型提取的图像021和图像011的特征的相似性,以降低图像021和图像011的特征的离散程度。此外,在目标域数据中可能包括未知类数据,例如图像023的类别应当为西瓜,而源域数据01的标签空间中没有“西瓜”,源域模型可能会将图像023的标签确定为“梨”或“苹果”,造成误判,故而uda的另一个亟待解决的问题即是如何调整源域模型,使得到的目标域模型可以将未知类数据的标签确定为“未知类”,避免误判,以提高目标域模型为输入数据确定的推理结果的精度,例如提高目标域模型为输入数据确定出标签的准确率。
[0070]
可以理解,用于训练过程的目标域数据中的样本数据可以是将源域数据迁移到的应用场景中的至少部分无标签数据,基于源域数据和该部分无标签数据得到的目标域模型可以用于对该场景中的其他数据进行推理,得到其他数据的推理结果,例如其他数据的标签。
[0071]
(2)损失函数
[0072]
在深度学习模型的训练过程中,因为目标是使深度学习模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度学习模型中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量以降低预测值,不断的调整,直到深度学习模型能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度学习模型的训练就变成了尽可能缩小这个loss的过程。因此,损失函数的设置是否合理,直接影响深度学习模型训练方法的优劣。
[0073]
(3)超参数
[0074]
超参数是在深度学习模型训练前设置一个常数值的参数,而不是通过训练得到的参数,用于调整深度学习模型训练的过程。例如,损失函数中的部分变量可以为超参数,深度学习模型的开发人员可以在将该部分参数预置在深度学习模型训练的相关指令中,并且该部分参数不随深度学习模型的训练而改变。
[0075]
下面结合附图进行说明本技术实施例的技术方案。
[0076]
图2根据本技术的一些实施例,示出了一种深度学习模型训练的场景示意图。如图2所示,源域模型1包括特征提取网络10和分类网络11,特征提取网络10的输入为图像,输出为图像的特征,例如特征向量,分类网络11的输入是图像的特征向量,输出为将输入图像确定为源域数据的标签空间中的各标签的概率。如前所述,uda的目标即是基于源域数据01和目标域数据对源域模型1的网络参数进行调整,例如调整特征提取网络10的网络参数得到特征提取网络10
′
,以降低特征提取网络10
′
对源域数据和目标域数据中,属于同一标签的图像,例如图像011和图像021,进行特征提取得到的特征的离散程度,以及调整分类网络11的网络参数,得到分类网络11
′
,使得分类网络11
′
可以将图像023的标签确定为“未知类”,将图像021的标签确定为“梨”,将图像022的标签确定为“苹果”,从而提高目标域模型1
′
将目标域数据中属于未知类数据的图像的标签确定为“未知类”的概率、提高目标域模型1
′
为目标域数据中属于已知类数据的图像确定出的标签精度,也即是提高了目标域模型为输入数据确定的推理结果的精度。
[0077]
可以理解,在一些实施例中,源域数据和目标域数据中的样本数据可以是图像、视频、音频、文本中的任意一种,在另一些实施例中,源域数据和目标域数据中的样本数据也可以是其他类型的数据,在此不做限定。为便于描述,以下以源域数据和目标域数据中的样本数据为图像为例进行介绍。
[0078]
可以理解,源域模型1可以是任意一种深度学习模型,在一些实施例中,源域模型1可以包括多类神经网络,例如,可以包括用于对样本数据进行特征提取的特征提取网络、用于根据提取的特征对样本数据进行分类的分类网络等,各网络可以有一个或多个类型的神经网络层组成,例如特征提取网络可以包括卷积层、池化层、激活层等,分类网络可以包括至少一个全连接层等,在此不做限定。在另一些实施中,源域模型1也可以是残差网络(residual network,resnet),例如resnet50网络。
[0079]
可以理解,上述网络参数可以包括源域模型1中各神经网络层的参数,例如卷积层的卷积核的取值、全连接层的权重等。
[0080]
为了实现上述目的,本技术实施例提供了一种深度学习模型的训练方法,该方法是基于一损失函数来实现,该损失函数的值随着源域模型为属于已知类数据的样本数据确定的标签的置信度的增加而减小、随着源域模型为样本数据确定的标签的不确定度的减小而减小,随着源域模型提取的源域数据中和目标域数据中属于同一标签的样本数据(例如前述标签为“梨”的图像011和图像021)的特征的离散程度的减小而减小。因此,在训练过程中,通过将训练目标确定为最小化上述损失函数来得到目标域模型,以增加得到目标域模型为属于已知类数据的样本数据确定标签的置信度、减小源域模型为样本数据确定的标签的不确定度,减小得到的目标域模型对目标域数据和源域数据中属于同一标签的样本数据进行特征提取得到的特征的离散程度,从而可以提高目标域模型为目标域数据中属于已知类数据的样本数据确定的标签的精度、提高将目标域数据中属于未知类数据的样本数据的标签确定为“未知类”的精度,也即是提高了目标域模型为输入数据确定的推理结果的精度。
[0081]
可以理解,源域模型为属于已知类数据的样本数据确定标签的置信度越高、源域模型为样本数据确定的标签的不确定度越小,说明源域模型为属于已知类数据的样本数据确定出正确的标签的概率越大,进而说明源域模型确定出的属于已知类数据的样本数据的
标签的精度越高。上述损失函数通过置信度和不确定度的对抗学习来提高属于已知类数据的样本数据的置信度、降低属于已知类数据的样本数据的不确定度,从而可以提高目标域模型确定出目标域图像中,属于已知类数据的图像的标签的精度。其中,置信度的计算方法将在下文进行具体描述,在此不做赘述。
[0082]
可以理解,上述损失函数通过在训练过程中增加源域数据中和目标域数据中属于同一标签的图像的互近邻(mutual nearest neighbor,mnn)约束,来降低源域模型提取源域和目标域数据中属于同一标签的图像得到的特征的相似度,上述损失函数值越低,说明基于源域模型的网络参数得到的目标域模型提取的源域数据和目标域数据中属于同一标签的样本数据得到的特征的离散程度越低。
[0083]
可以理解,由于属于不同标签的样本数据的特征不同,目标域模型确定出的具有不同标签的样本数据的置信度的取值范围也会不同,若为所有标签确定相同的置信度阈值可能会导致为样本数据确定错误的标签。因此,在本技术实施中,在基于最小化上述损失函数得到的目标域模型中,为各标签设置不同的置信度阈值,在为样本数据确定标签的置信度大于某一标签的置信度阈值情况下,才将该样本数据的标签确定为该标签。如此,可以提高目标域模型为输入数据确定的推理结果的精度,例如可以降低为各标签确定相同的置信度阈值的情况下、目标域模型将部分属于已知类数据的样本数据的标签确定为“未知类”的可能性、提高为属于已知类数据的样本数据确定正确的标签的精度、减小将属于已知类数据的样本数据的标签确定为“未知类”的概率。置信度阈值的确定方法将在下文进行描述,在此不做赘述。
[0084]
在一些实施例中,上述损失函数可以定义为如下公式(1)所示的损失函数
[0085][0086]
在公式(1)中,第一子损失函数表明源域模型为源域数据中的各样本数据确定的标签的不确定度的总和;第二子损失函数为源域模型为源域数据中的各样本数据确定的标签的不确定度的修正参数,用于降低源域模型为属于已知类数据的样本数据确定的标签的不确定度,的值越小,说明基于源域模型在当前网络参数下,为源域数据和目标域数据中属于已知类数据的样本数据确定的标签的不确定度越低;第三子损失函数用于表征源域模型在当前网络参数下,对属于相同标签的样本数据提取的特征的离散程度之和,的值越小,说明源域模型在当前网络参数下,对源域数据和目标域数据中属于同一标签的样本数据提取的特征的离散程度越小;λ为常数,表明源域模型对属于相同标签的样本数据提取的特征的离散程度,在深度学习模型训练过程中权重值,λ越大,说明权重值越高,训练得到的深度学习模型对源域数据和目标域数据中属于同一标签的样本数据提取的特征的离散程度越小,在一些实施例中,λ可以设置为0.1,在另一些实施例中,λ也可以设置为其他数值,在此不做限定。
[0087]
也即是说,本技术实施例提供的深度学习模型训练方法对源域模型进行训练的过程,即是基于公式(1)所示的损失函数,以目标域数据和源域数据为样本数据,对源域模型进行训练,得到使损失函数的值最小的源域模型,并基于该源域模型的网络参数,得到目标域模型。
[0088]
下面介绍损失函数的构建过程。
[0089]
假设源域数据01为有标签数据,表示为其中为源域数据中的第i个数据(例如第i张图像),为源域数据中的第i个数据的标签,ns为源域数据中数据的数量,并且以ls为源域数据中标签的类别数量,ps为源域数据的标签空间,即源域数据中的标签的集合,ps(j)(j=1,2,
…
,ls)表示第j个标签。例如,对于图2的所示的场景,ds={[图像011,图像012],[“梨”,“苹果”]},ps={“梨”,“苹果”}。
[0090]
目标域数据02为无标签数据,表示为其中,为目标中的第j个数据,n
t
为目标域数据中数据的数量,并且以p
t
为目标域数据中的标签,p
t
≠ps,例如,对于图2所示的场景,d
t
={[图像021,图像022,图像023]}。
[0091]
源域模型1
′
输出的的标签为ps中第k个标签ps(k)的概率为p
ik
,并且以pi表示的标签为ps中的各标签的的概率赋值密度。假设pi遵循公式(2)所示的具有参数的狄利克雷(dirichlet)分布:
[0092][0093]
公式(2)中,b(αi)表示参数为αi的多项式贝塔函数;α
ik
=p
ik
+1。
[0094]
从而第一子损失函数可以表示为公式(3):
[0095][0096]
公式(3)中,为第一子损失函数,表示源域模型为源域数据中的各样本数据确定的标签的不确定度的和;为参数为的多项式贝塔函数;为0-1变量,在第i个样本数据的标签为第k个标签的情况下,否则表示源域数据中第i个样本数据的置信度(即是源域模型为确定标签的置信度),是一个非负数。从而表示当前样本数据被确定为第k类(即当前样本数据的标签为第k个标签ps(k))的期望概率,样本数据的不确定度(即源域模型为样本数据确定的标签的不确定度)为此外,目标域模型可以基于各样本数据的置信度确定各样本数据是否为已知类数据,具体确定方式将在下文进行介绍,在此不做限定。
[0097]
从公式(3)可知,在进行深度学习模型训练的过程中,例如最小化第一子损失函数的过程中,可能会使得属于已知类数据的样本数据的置信度降低、不确定度u增加,造成模型过拟合,存在将属于已知类数据的样本数据的标签确定为“未知类”的风险。因此本技术例通过第二子损失函数(即置信度和不确定度的对抗学习对应的损失函数)来修正源域模型为属于已知类数据的样本数据确定的标签的不确定度,即是增加属于已知类数据的样
本数据的置信度(降低为属于已知类数据的样本数据确定的标签的不确定度),从而使得在深度学习模型的训练过程当中,属于已知类数据的样本数据的置信度增加、不确定度降低,而属于未知类数据的样本数据的置信度降低、不确定度增加。
[0098]
具体地,第二子损失函数可以表示为如下公式(4):
[0099][0100]
其中,为第二子损失函数;为源域数据中第i个样本数据的预测置信度、为目标域数据中第j个样本数据的预测置信度,为源域数据中第i个样本数据的不确定度、为目标域数据中第j个样本数据的不确定度,的计算方法可以参考前述的计算方法,在此不做赘述。从公式(3)可以看出,在深度学习模型训练的过程中,例如最小化第二子损失函数的过程中,源域数据的样本数据的置信度增加、不确定度降低(公式(4)中的第一项),而目标域数据中的样本数据的置信度降低、不确定度增加(公式(4)中的第二项)。
[0101]
在一些实施例中,可以基于以下公式(5)确定:
[0102][0103]
其中,为源域模型得到的源域数据中的第i个样本数据属于第k类的概率;表示源域数据的第i个样本数据的置信度,是将源域数据中的第i个样本数据确定为第k类的期望概率,也即是说表示源域数据中的第i个样本数据确定为ps中的各标签的期望概率中的最大期望概率。从而用于表示源域模型为源域数据中第i个样本数据确定的标签的不确定度。
[0104]
类似地,可以基于以下公式(6)确定:
[0105][0106]
其中,为源域模型得到的目标域数据中的第j个样本数据属于第n类的概率;表示目标域数据的第j个样本数据的置信度;是将目标域数据中的第j个样本数据确定为第n类的期望概率,也即是说表示目标域数据中的第j个样本数据确定为已知标签的期望概率中的最大期望概率。从而用于表示源域模型为目标域数据中第j个样本数据确定标签的不确定度。
[0107]
如上所述,通过最小化上述第一子损失函数和第二子损失函数来进行深度学习模型的训练,可以提高得到的目标域模型将目标域数据中属于未知类的样本数据的标签确定为“未知类”的概率。下面介绍通过mnn约束来降低目标域模型提取的源域数据和目标域数
据中属于同一标签的数据的特征的离散程度的损失函数。
[0108]
假设表示对源域数据和目标域数据进行特征提取后得到的已归一化的特征向量集,其中表示源域数据中样本数据i的特征向量,表示目标域数据中样本数据j的特征向量。并且,以表示源域数据中,特征向量与样本数据q的特征向量间的余弦距离最小的k个样本数据的集合,又称源域数据中样本数据q的k最近邻集;以表示目标域数据中,特征向量与样本数据q的特征向量间的余弦距离最小的k个样本数据的集合,又称目标域数据中样本数据q的k最近邻集。可以理解,k为常数,例如在一些实施例中,k=5,在另一些实施例中,k也可以取其他数值,在此不做限定。
[0109]
可以理解,样本数据q可以是目标域数据中的样本数据,也可以是源域数据中的样本数据。
[0110]
可以理解,在一些实施例中,向量间的余弦距离可以通过以下公式(7)计算得到:
[0111][0112]
公式(7)中,a、b为向量,a
·
b为向量a和b的点积,|a|为向量a的模,|b|为向量a的模,cos(θ)为向量a和b的余弦距离。电子设备可以基于公式(7)确定出源域数据中的各样本数据的特征向量与样本数据q的特征向量间的余弦距离,并将特征向量和样本数据q的特征向量间的余弦距离最小的k个特征向量对应的样本数据确定为源域数据中样本数据q的k最近邻集的确定方法类似,在此不做赘述。
[0113]
可以理解,在另一些实施例中,也可以基于其他距离确定样本数据的k最近邻集,例如欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马氏距离、汉明距离等,在此不做限定。
[0114]
从而,样本数据q在源域数据中的相互最近邻集可以通过以下公式(8)定义。
[0115][0116]
公式(8)中,{j∈ds:yq=yj},q∈ds表示在样本数据q是源域数据的情况下,样本数据q在源域数据中的相互最近邻集,可以包括源域数据中与样本数据q具有相同标签的样本数据;q∈d
t
表示在输入数q是目标域数据的情况下,样本数据q在源域数据中的相互最近邻集可以包括:源域数据中样本数据q的k最近邻集中的各样本数据中,在目标域的k最近邻集包括样本数据q的样本数据。
[0117]
样本数据q在目标域数据中的相互最近邻集可以通过以下公式(9)定义。
[0118]
[0119]
公式(9)中,l表示目标域数据中的样本数据l;q∈ds表示在样本数据q是源域数据的情况下,样本数据q在目标域数据中的相互最近邻集,可以包括目标域数据中样本数据q的k最近邻集中的各样本数据中,在源域的k最近邻集包括样本数据q的样本数据;q∈d
t
表示在样本数据q是目标域数据的情况下,样本数据q在目标域数据中的相互最近邻集,可以包括目标域数据中样本数据q的k最近邻集中的各样本数据中,在目标域的k最近邻集包括样本数据q的样本数据。
[0120]
可以理解,在一些实施例中,样本数据q在源域数据中的相互最近邻集和目标域数据中的相互最近邻集中的各样本数据的特征相似,会被源域模型确定为相同的标签。
[0121]
基于公式(8)和公式(9),可以定义如公式(10)所示的损失函数
[0122][0123]
公式(10)中,损失函数表示样本数据q在源域数据和目标域数据中的相互最近邻集中的各样本数据的特征的离散程度;样本数据j为样本数据q在源域数据中的相互最近邻集中的样本数据,表示样本数据j的特征向量;样本数据l为样本数据q在目标域数据中的相互最近邻集中的样本数据,表示样本数据l的特征向量;表示源域数据中样本数据m的特征向量;表示目标域数据中样本数据n的特征向量;表示样本数据q为源域数据的情况下,样本数据q的特征向量;表示样本数据q为目标域数据的情况下,样本数据q的特征向量;τ是超参数。
[0124]
从而第三子损失函数可以基于以下公式(11)确定:
[0125][0126]
其中,样本数据q在源域数据和目标域数据中的相互最近邻集中的各样本数据的特征的离散程度。
[0127]
可以理解,在另一些实施例中,也可以将源域数据和目标域数据分为不同的批的样本数据,每一批样本数据中至少包括一个源域数据中的样本数据和一个目标域数据中的样本数据,假设bs表示一批样本数据中属于源域数据的样本数据的集合,b
t
表示一批样本数据中属于目标域数据的样本数据的集合,则第三子损失函数可以通过如下公式(12)定义:
[0128][0129]
公式(12)中,表示在样本数据i为源域数据的情况下,样本数据i在bs和b
t
中的相互最近邻集中的各样本数据的特征的离散程度,具体计算方法可以参考公式(10);表示在样本数据j为目标域数据的情况下,样本数据j在bs和b
t
中的相互最近邻集中的各样本数据的特征的离散程度,具体计算方法可以参考公式(10)。
[0130]
从公式(10)至公式(12)可知,在深度学习模型的训练过程中,例如最小化第三子损失函数的过程中,可以使得源域数据和目标域数据中的相互最近邻集中的各样本数据的特征的离散程度变小,进而使源域数据和目标域数据中,属于同一标签的各样本数据的特征的离散程度降低。
[0131]
如前所述,前述置信度可以用于判断当前样本数据是否为已知类数据,并确定出当前样本数据为已知类数据的情况下确定当前样本数据的标签。下面介绍目标域模型根据各样本数据的置信度来确定各样本数据的标签的方法。
[0132]
在一些实施例中,可以为每一个标签设置一个置信度阈值,在当前样本数据的置信度的对数大于一个标签对应的置信度阈值的情况下,将当前样本数据的标签确定为该标签,否则将当前样本数据的标签确定为“未知类”,从而可以减小将属于未知类数据的样本数据的标签确定源域数据中的标签空间中的标签的概率。具体的,目标域模型可以通过如下公式(13)来确定目标域数据中的当前样本数据的标签。
[0133][0134]
公式(13)中,表示目标域数据中第i个样本数据的标签;表示目标域数据中第i个样本数据的置信度;表示第j个标签的置信度阈值;ps(j)表示第j个标签;表示j为在1≤k≤ls情况下,取最大值时k的值(也即p
ik
取最大值)。例如,假设则j=3,若则将的标签确定为ps(j);否则将则将的标签确定为“未知类”。
[0135]
在一些实施例中,上述可以基于源域数据中各样本数据的置信度来确定,从而避免了使用超参数来确定具体地,假设标签为ps(j)的各样本数据的置信度集合为可通过对ωj中的数据拟合高斯分布,得到的平均估计和标准差估计从而第j个标签ps(j)的置信度阈值可以基于以下公式(14)确定:
[0136][0137]
从公式(14)可以看出,对置信度阈值的确定遵循了三西格马定律(three-sigma rule of thumb),也即是说由公式(14)确定的可以为属于第j个标签的95%以上的样本
数据确定正确的标签。
[0138]
可以理解,在另一些实施例中,也可以通过其他方式确定例如可以确定例如可以确定等,在此不做限定。
[0139]
下面结合公式(2)至公式(14)介绍本技术实施提供的深度学习模型训练方法的训练过程。
[0140]
具体地,图3根据本技术的一些实施例,示出了一种深度学习模型的训练过程示意图。
[0141]
参考图3,电子设备在获取到源域数据ds、目标域数据d
t
和源域模型1后,基于特征提取网络10,对源域数据中的样本数据和目标域数据中的样本数据提取特征得到样本数据的特征向量和样本数据的特征向量并以为分类网络20输入,得到样本数据的标签为ps中的第k个标签的概率p
ik
、样本数据的标签为ps中的第k个标签的概率p
jk
;然后确定出源域数据中各样本数据相应的期望概率p
ik
、目标数据中各样本数据的期望概率p
jk
、样本数据的置信度样本数据的置信度并通过基于公式(1)得到源域模型1在当前参数下的损失函数的值;再调整源域模型1中各网络的参数,以调整后的网络参数进行下一轮迭代学习,直到得到满足终止条件的模型,例如损失函数值小于预设值或损失函数值收敛或达到预设迭代次数的模型,并以满足终止条件的模型对应的网络参数作为目标域模型1
′
的网络参数。
[0142]
继续参考图3,经过上述训练过程得到目标域模型1
′
中,特征提取网络10
′
可以基于目标域的样本数据得到特征向量分类网络20
′
可以基于特征向量得到样本数据的标签为ps中的第k个标签的概率p
jk
,再通过置信度计算得到样本数据的置信度并通过分别判断和的大小关系,基于前述公式(14)确定的样本数据标签。
[0143]
下面结合图3所示的深度学习模型训练过程,介绍本技术实施例的技术方案。
[0144]
图4根据本技术的一些实施例,示出了一种深度学习模型训练的流程示意图,该流程的执行主体为电子设备。如图4所示,该流程包括如下步骤:
[0145]
s401:获取源域数据、目标域数据和源域模型。
[0146]
在一些实施例中,电子设备获取的源域数据可以是有标签的样本数据目标域数据可以是无标签的样本数据源域模型可以是基于源域数据训练得到的源域模型1,其中源域模型1包括特征提取网络10和分类网络20。
[0147]
具体地,在一些实施例中,源域模型1可为resnet50网络,resnet50网络的结构如表1所示。
[0148]
表1 resnet50的网络结构
[0149][0150][0151]
参考表1,源域模型1包括特征提取网络10和分类网络11,有50个网络层。
[0152]
特征提取网络10包括49个卷积层(网络层1至网络层49),用于对样本数据进行特征提取,得到各样本数据的特征向量。其中:网络层1可以称为第一卷积网络,用于对样本数据进行特征提取,得到大小为112
×
112的第一特征数据;网络层2至网络层10可以称为第二卷积网络,用于对第一特征数据进行特征提取,得到大小为56
×
56的第二特征数据;网络层11到22为第三卷积网络,用于对第二特征数据进行特征提取,得到大小为28
×
28的第三特征数据;网络层23到40为第四卷积网络,用于对第三特征数据进行特征提取,得到大小为14
×
14的第四特征数据;网络层41到49为第五卷积网络,用于对第四特征数据进行特征提取,得到大小为7
×
7的第五特征数据,也即是样本数据的特征向量。可以理解,特征提取网络10的网络参数,即是网络层1至网络层49中,各网络层的卷积核的各元素的数值。
[0153]
分类网络11包括1个全连接层(网络层50),用于对特征提取网络10得到的各样本数据的特征向量进行至少一次加权计算,得到各样本数据的标签为源域数据的标签空间中的各标签概率。例如,在一些实施例中,在特征向量的大小为7
×
7的情况下,假设全连接层将各样本数据分为m类,全连接层可以通过7
×
7第m个权重向量和特征向量中位置相同的元素进行相乘,再将所有的乘积相加,得到将特征向量确定为第m类的概率,即是该全连接层的网络参数包括m个权重向量。
[0154]
可以理解,电子设备获取的源域模型中可以包括源域模型的网络参数,例如,前述
网络层1至网络层49中各卷积核,网络层50中的权重向量等,电子设备可以通过调整源域模型的网络参数,来得到不同的深度学习模型。
[0155]
可以理解,以resnet50网络为源域模型1只是种示例,在另一些实施例中,源域模型1也可以其他网络,在此不做限定。
[0156]
s402:基于源域模型当前的网络参数,对源域数据和目标域数据进行特征提取,并基于提取的特征,确定源域数据中的样本数据和目标域数据中的样本数据的标签为源域数据的标签空间中的各标签的概率。
[0157]
电子设备可以基于特征提取网络10当前的网络参数,对源域数据中的样本数据电子设备可以基于特征提取网络10当前的网络参数,对源域数据中的样本数据进行特征提取,得到样本数据对应的特征向量以及对目标域数据中的样本数据进行特征提取,得到样本数据对应的特征向量再以特征向量为分类网络20的输入,确定样本数据的标签为ps中的第k个标签概率p
ik
(k=1,2,
…
,ls),以特征向量为分类网络20的输入,确定样本数据的标签为ps中的第k个标签概率p
jk
(k=1,2,
…
,ls)。
[0158]
例如,对于前述resnet50网络,电子设备可以通过网络层1至网络层49各层的卷积核,对样本数据或样本数据依次进行卷积运算,得到对应的样本数据的特征向量对样本数据进行特征提取,得到各样本数据对应的大小为7
×
7特征向量或特征向量再由网络层50对上述特征向量或特征向量进行加权计算,得到样本数据的标签为ps中的第k个标签概率p
ik
或样本数据的标签为ps中的第k个标签概率p
jk
。
[0159]
s403:基于提取的特征、各样本数据的标签为源域数据的标签空间中的各标签的概率确定损失函数。
[0160]
电子设备可以根据步骤s402得到的,各样本数据的特征,例如特征向量,各样本数据的标签为源域数据的标签空间中的各标签的概率,确定损失函数。
[0161]
例如,在一些实施例中,电子设备可以根据步骤s402得到的样本数据的标签为ps中的第k个标签概率p
ik
或样本数据的标签为ps中的第k个标签概率p
jk
,确定样本数据的置信度样本数据的置信度并根据前述公式(3)得到第一子损失函数、根据前述公式(4)得到第二子损失函数;以及基于样本数据对应的特征向量样本数据对应的特征向量根据前述公式(11)或公式(12)得到第三子损失函数,再基于前述公式(1)得到损失函数。
[0162]
s404:判断是否满足终止条件。
[0163]
电子设备判断是否满足终止条件,如果满足,可以根据源域模型当前的网络参数得到目标域模型,转至步骤s406;否则,说明不能根据源域模型当前的网络参数得到目标域模型,转至步骤s405。
[0164]
可以理解,在一些实施例中,终止条件可以包括以下条件中的至少一个:
[0165]
损失函数取得最小值或损失函数与损失函数的最小值的差值小于预设差值;
[0166]
损失函数的值小于预设值;
[0167]
迭代次数大于预设次数;
[0168]
终止条件还可以包括损失函数收敛。例如,电子设备可以通过统计多次迭代得到的多个损失函数的变化幅值,在该幅值小于预设幅值阈值的情况下,确定损失函数收敛,进而判断满足终止条件。可以理解,在另一些实施例中,电子设备也可以通过其他方式确定损失函数是否收敛,并在损失函数收敛的情况下,确定满足终止条件。
[0169]
可以理解,在另一些实施例中,终止条件还可以包括其他条件,在此不做限定。
[0170]
s405:调整源域模型的网络参数,进行下一轮学习。
[0171]
电子设备在不满足终止条件的情况下,调整源域模型的网络参数,进行下一轮学习。
[0172]
例如,电子设备在步骤s404中判断出不满足终止条件的情况下,可以调整前述resnet50网络的网络层1至网络层49中各卷积核中元素的值、调整前述resnet50网络的网络层50中全连接层的各权重值,以得到新的网络参数,并将该新的网络参数更新到源域模型中,转至步骤s402进行下一轮学习。
[0173]
例如,对于前述resnet50网络,假设wi(i=1,2,
…
,49)为网络层i当前的卷积核,w
50
为网络层50的当前的权重向量,则电子设备在确定出不满足终止条件的情况下,根据以下公式(15)和公式(16)确定下一轮学习的网络参数。
[0174]
w'i=wi+t1·
wi(i=1,2,
…
,49)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0175]
在公式(15)中,w'i为网络层i的新卷积核,t1为常数。例如,在一些实施例中,t1可以取0.01,在另一些实施例中,t1也可以取其他值,在此不做限定。
[0176]
w'
50
=w
50
+t2·w50
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0177]
在公式(16)中,w'
50
为网络层50的新卷积核,t2为常数。例如,在一些实施例中,t2可以取0.005,在另一些实施例中,t2也可以取其他值,在此不做限定。
[0178]
可以理解,在另一些实施例中,也可以采用其他方式调整源域模型的网络参数,例如梯度下降法等,在此不做限定。
[0179]
s406:基于源域模型当前的网络参数,得到目标域模型。
[0180]
电子设备在确定满足终止条件的情况下,基于源域模型当前的网络参数,得到目标域模型1
′
。
[0181]
在一些实施例中,电子设备可以基于源域模型当前的网络参数,根据源域数据中的各样本数据的置信度,例如,样本数据的置信度得到各标签的置信度阈值,并将各标签的置信度阈值配置到目标域模型中,例如配置到目标域模型的指令中,以便于目标域模型可以根据各标签的置信度阈值确定目标域数据中的样本数据的标签。
[0182]
例如,在一些实施例中,假设源域数据中,标签为ps(j)(第j个标签,j=1,2,
…
,ls)的各样本数据的置信度的对数的集合为电子设备通过对集合ωj中的数据拟合高斯分布,得到的平均估计和标准差估计并根据公式(14)确定ps(j)对应的置信度阈值
[0183]
具体地,图5根据本技术的一些实施例,示出了一种标签的各样本数据的置信度的
对数的分布示意图。参考图5,横坐标表示各样本数据的置信度的对数假设的取值范围为[-1,0],以0.1为区间对集合ωj中的数据进行统计,即是取中的数据进行统计,即是取并以的各取值为中心值的宽度为0.1的区间内的的数量num为纵坐标。例如,满足的的数量为10个,则对应的纵坐标为10。
[0184]
再通过以下公式(17)对图5所示的标签为ps(j)的各样本数据的置信度的对数的集合的分布拟合高斯分布函数,例如通过最小二乘法对图5所示和num的对应关系拟合高斯分布函数。
[0185][0186]
可以理解,根据公式(17)对和num拟合高斯分布后,例如将图5所示的标签为ps(j)的各样本数据的置信度的对数的分布,拟合为图5所示的曲线50后,即可以得到标签为ps(j)的各样本数据的置信度的对数的平均估计和标准差估计从而可以根据根式(14)确定标签ps(j)的置信度阈值其他标签的置信度阈值的获取方法类似,在此不做赘述。
[0187]
可以理解,在另一些实施例中,也可以通过其他方式来拟合高斯分布,得到属于各标签各样本数据的置信度的对数的平均估计和标准差估计在此不做限定。
[0188]
基于上述各标签的置信度阈值,目标域模型1
′
中的特征提取网络10
′
在对目标域的样本数据进行特征提取,得到特征向量分类网络20
′
可以基于特征向量得到样本数据的标签为ps中的第k个标签的概率p
jk
,再通过置信度计算得到为样本数据确定标签的置信度并基于前述公式(13)判断和上述各标签的置信阈值的大小关系,确定样本数据的标签。
[0189]
可以理解,在一些实施例中,目标域模型为样本数据的确定标签的置信度可以通过如下公式(18)计算得到。
[0190][0191]
在公式(18)中,p
jk
表示由分类网络20
′
确定的样本数据的标签为ps中的第k个标签的概率。
[0192]
本技术实施例提供的方法通过深度置信学习(第一子损失函数和第二子损失函数)来提高目标域模型识别出目标域数据中属于未知类数据的样本数据的精度、通过为每一个标签设置不同的置信度阈值来提高为目标域数据中属于已知类数据的样本数据确定正确的标签的精度、通过互最近邻学习(第三子损失函数)来减小源域数据和目标域数据中属于同一标签的样本数据提取的特征的离散程度,从而提高了目标域模型为目标域数据中
属于已知类数据的样本数据确定正确的标签的精度、提高了将目标域数据中属于未知类数据的样本数据的标签确定为“未知类”的精度,进而可以提高目标域模型为输入数据确定的推理结果的精度,例如提高目标域模型为输入数据确定的标签的准确率。
[0193]
为了验证本技术实施例提供的深度学习模型的训练方法的有效性,基于多类公开数据集,以源域模型为resnet50网络进行了验证。所使用的数据集包括:office数据集,该数据集中包括3个域:a、b、c;officehome数据集,该数据集中包括4个域a、c、r、p;visda数据集,该数据集中包括2个域s、r;domainnet数据集,该数据集中包括3个域p、r、s;exdark数据集,该数据集中包括5个域b、c、i、p、e,在一些实施例中,exdark数据集为进行了零参考深度曲线估计(zero-reference deep curve estimation)的exdark数据集(exdark with zerodce)或未进行零参考深度曲线估计的exdark数据集(exdark without zerodce)。
[0194]
下面结合附图说明本技术实施例提供的深度学习模型的训练方法得到的目标域模型的效果。
[0195]
图6根据本技术的一些实施例,示出了一种通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,在相同条件下与其他方法的效果对比示意图。图6中的数值表示由各方法基于不同的数据集中得到的目标域模型,为对应的目标域数据中的各样本数据确定出的标签中,正确标签的百分比,例如方法rtn所在的行、数据集a2w所在列对应的数据50.2表示,由rtn方法以a域为源域、w域为目标域得到的目标域模型为w域中的各样本数据确定的标签中,正确标签的百分比为50.2%。可以理解,以下图7至图9中的数值具有类似的含义,此后不做赘述。
[0196]
参考图6,通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,除了在office数据集中以a域为源域d域为目标域,officehome数据集中以c域为源域a域为目标域、以p域为源域c域为目标域、以r域为源域a或c域为目标域的情况下低于dcc方法外,其他情况下都高于其他方法。并且通过本技术实施例提供的方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,在不同的源域数据和目标域数据的情况下的平均值高于图示其他方法。由此可见,本技术实施例提供的深度学习模型训练方法可以有效提高目标域模型为目标域数据中的样本数据确定出正确标签的精度。
[0197]
图7根据本技术的一些实施例,示出了又一种通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,在相同条件下与其他方法的效果对比示意图。可以理解,图7中的数值的含义可以参考图6的相关描述,在此不做赘述。
[0198]
参考图7,通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,除了在office数据集中以w域为源域d域为目标域时低于iwan方法、以a域为源域d域为目标域时低于osbp方法、以w域为源域a域为目标域时低于dcc方法,在officehome数据集中以a域为源域r域为目标域时低于osbp方法、以p域为源域a域或c域为目标域时低于dance方法、以r域为源域p域为目标域时低于osbp方法外,其他情况下都高于其他方法。并且通过本技术实施例提供的方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,在不同的源域数据和目标域数据的情况下的平均值高于图示其他方法。由此可见,本技术实施例提供的深度学习模型训练方法可以有效提高目标域模型为目标域数据中的样本数据确定出正确标签的精
度。
[0199]
图8根据本技术的一些实施例,示出了通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,基于domainnet数据集在相同条件下与其他方法的效果对比示意图。可以理解,图8中的数值的含义可以参考图6的相关描述,在此不做赘述。
[0200]
参考图8,通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,除了在以p域为源域r域为目标域、以s域为源域r域为目标域时低于dcc方法外,其他情况下都高于其他方法。并且通过本技术实施例提供的方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,在不同的源域数据和目标域数据的情况下的平均值高于图示其他方法。由此可见,本技术实施例提供的深度学习模型训练方法可以有效提高目标域模型为目标域数据中的样本数据确定出正确标签的精度。
[0201]
图9根据本技术的一些实施例,示出了通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,基于exdark数据集在相同条件下与其他方法的效果对比示意图。可以理解,图9中的数值的含义可以参考图6的相关描述,在此不做赘述。
[0202]
参考图9,通过本技术实施例提供的深度学习模型训练方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,除了在exdark without zerodce数据集中以c域为源域e域为目标域低于dcc方法、在exdark with zerodce数据集中以c域为源域e域为目标域低于dance方法外,其他情况下都高于其他方法。并且通过本技术实施例提供的方法得到的目标域模型,为目标域数据中的样本数据确定出正确的标签的百分比,在不同的源域数据和目标域数据的情况下的平均值高于图示其他方法。由此可见,本技术实施例提供的深度学习模型训练方法可以有效提高目标域模型为目标域数据中的样本数据确定出正确标签的精度,即是能有效提高目标域模型为输入数据确定的推理结果的精度,例如提高目标域模型为输入数据确定出的标签的准确率。
[0203]
本技术实施例还提供了一种深度学习模型训练装置。
[0204]
具体地,图10根据本技术的一些实施例,示出了一种深度学习模型训练装置的结构示意图。参考图10,深度学习模型训练装置200包括:获取模块201、训练模块202和配置模块203。
[0205]
其中,获取模块201,用于获取源域模型、源域数据和目标域数据。
[0206]
在一些实施例中,源域数据的各样本数据为带标签的样本数据、目标域数据为不具有标签的样本数据。具体可以参考前述步骤s401的相关描述,在此不做赘述。
[0207]
训练模块202,用于以源域数据和目标域数据为输入,基于利用源域模型得到的源域数据和目标域数据中各样本数据的数据特征、各样本数据被确定为源域数据的标签空间中的各标签的概率,得到源域模型的损失函数,并在源域模型的损失函数不满足终止条件的情况下,调整源域模型的参数,直到得到使损失函数满足终止条件的目标域模型。
[0208]
在一些实施例中,训练模块202可以进一步包括:损失函数计算模块2021,用于在源域模型的当前网络参数下,基于前述公式(1)、公式(3)、公式(4)公式(10)等,确定源域模型在当前网络参数下的损失函数;评价模块2022,用于评价当前网络参数下的源域模型是否满足终止条件;更新模块2023,用于在评价模块2022确定出当前网络参数下的源域模块不满足终止条件的情况下,调整源域模型的网络参数,以进行下一轮训练。
[0209]
可以理解,终止条件的具体内容可以参考前述步骤s404的相关描述,在此不做赘述。
[0210]
可以理解,调整源域模型的网络参数的方法可以参考前述步骤s405的相关描述,在此不做赘述。
[0211]
配置模块203用于基于训练模块202得到的目标域模型,以源域数据的样本数据及源域数据的样本数据的标签为输入,得到目标域模型将源域数据中的各样本数据确定为源域数据的标签空间的各标签的概率,再基于目标域模型将源域数据中的各样本数据确定为源域数据的标签空间的各标签的概率,确定出源域数据的标签空间中的各标签的置信度阈值,并将各标签的置信度阈值配置到目标域模型中,以便于目标域模型可以基于各标签的置信度阈值确定输入到目标域模型中的输入数据对应的标签。
[0212]
例如,在一些实施例中,配置模块203可以基于目标域模块得到目标域模型将源域数据中的各样本数据确定为源域数据的标签空间的各标签的概率,得到源域数据中各样本数据的置信度,并基于源域数据中属于相同标签的样本数据的置信度的分布情况,确定各标签的置信度阈值,再将各标签的置信度阈值配置到目标域模型中,具体可以参考前述步骤s406的相关描述,在此不做赘述。
[0213]
可以理解,图10所示的深度学习模型训练装置200的结构只是一种示例,在另一些实施例中,深度学习模型训练装置200可以包括更多或更少的模块,还可以拆分或组合部分模块,本技术实施例不做限定。
[0214]
本技术实施例提供的深度学习模型训练装置训练源域模型得的目标域模型,可以提高目标域模型识别出目标域数据中属于未知类数据的样本数据的精度、减小源域数据和目标域数据中属于同一标签的样本数据提取的特征的离散程度,从而提高了目标域模型为输入数据确定的推理结果的精度,例如提高目标域模型为属于已知类数据的输入数据确定正确的标签的精度、提高将属于未知类的输入数据的标签确定为“未知类”的精度。
[0215]
进一步,图11根据本技术的一些实施例,示出了一种用于执行本技术实施例的电子设备100的结构示意图。电子设备100可以包括一个或多个处理器101、系统内存102、非易失性存储器(non-volatile memory,nvm)103、输入/输出(i/o)设备104通信接口105、以及用于耦接处理器101、系统内存102、非易失性存储器103、输入/输出(i/o)设备105和通信接口105的系统控制逻辑106。其中:
[0216]
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括中央处理器(central processing unit,cpu)、应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signalprocessor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,处理器101可以用于执行相关指令,通过本技术实施例提供的方法对源域模型进行训练,得到目标域模型。
[0217]
特别的,在一些实施例中,npu可以用于运行源域模型或目标域模型的相关指令,生成各样本数据的标签为源域数据的标签空间中的各标签的概率。
[0218]
系统内存102是易失性存储器,例如随机存取存储器(random-access memory,
ram),双倍数据率同步动态随机存取存储器(double data rate synchronous dynamic randomaccess memory,ddr sdram)等。系统内存用于临时存储数据和/或指令,例如,在一些实施例中,系统内存102可以用于临时存储源域模型的网络参数、源域数据、目标域数据、源域模型的相关指令、损失函数的值等。
[0219]
非易失性存储器103可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器103可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如硬盘驱动器(hard disk drive,hdd)、光盘(compact disc,cd)、数字通用光盘(digital versatile disc,dvd)、固态硬盘(solid-state drive,ssd)等。在一些实施例中,非易失性存储器103也可以是可移动存储介质,例如安全数字(secure digital,sd)存储卡等。在另一些实施例中,非易失性存储器103可以用于永久存储源域模型的网络参数、源域数据、目标域数据、源域模型的相关指令、损失函数的值等。
[0220]
特别地,系统内存102和非易失性存储器103可以分别包括:指令107的临时副本和永久副本。指令107可以包括:由处理器101中的至少一个执行时使电子设备100通过本技术的实施例提供的深度学习模型训练方法对源域模型进行训练,得到目标域模型。
[0221]
输入/输出(i/o)设备104可以包括用户界面,使得用户能够与电子设备100进行交互。
[0222]
网络接口105可以包括收发器,用于为电子设备100提供有线或无线通信接口,进而通过一个或多个网络与任意其他合适的设备进行通信。在一些实施例中,电子设备100可以通过网络接口105与其他电子设备建立通信连接,从其他电子设备获取源域数据、目标域数据、源域模型,并将基于源域数据、目标域数据、源域模型得到的目标域模型发送给其他电子设备。
[0223]
系统控制逻辑106可以包括任意合适的接口控制器,以电子设备100的其他模块提供任意合适的接口。例如在一些实施例中,系统控制逻辑106可以包括一个或多个存储器控制器,以提供连接到系统内存102和非易失性存储器103的接口。
[0224]
在一些实施例中,处理器101中的至少一个可以与用于系统控制逻辑106的一个或多个控制器的逻辑封装在一起,以形成系统封装(system in package,sip)。在另一些实施例中,处理器101中的至少一个还可以与用于系统控制逻辑106的一个或多个控制器的逻辑集成在同一芯片上,以形成片上系统(system-on-chip,soc)。
[0225]
可以理解,电子设备100可以是能够进行深度学习模型训练的任意电子设备,包括但不限于膝上型计算机、台式计算机、平板计算机、手机、可穿戴设备、头戴式显示器、服务器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、其中嵌入或耦接有一个或多个处理器的电视机等,在此不做限定
[0226]
可以理解,本技术实施例示出的电子设备100的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0227]
本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编
程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
[0228]
可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0229]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0230]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
[0231]
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0232]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
[0233]
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0234]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本
领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
技术特征:
1.一种深度学习模型的训练方法,应用于电子设备,其特征在于,包括:获取第一数据集和第二数据集,其中,所述第一数据集中的样本数据的标签构成第一标签集,所述第二数据集的样本数据不具有标签;利用第一模型确定所述第一数据集和所述第二数据集中的各样本数据的数据特征和第一参数,其中,第一样本数据的第一参数用于指示所述第一样本数据被确定为所述第一标签集中的第一标签的概率,所述第一样本数据为所述第一数据集或第二数据集中的任意一个样本数据;基于所述第一数据集和所述第二数据集中的各样本数据的第一参数以及所述第一数据集和所述第二数据集中的各样本数据的数据特征确定所述第一模型的损失函数,所述第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,其中,所述第一子损失函数用于指示利用所述第一模型确定所述第一数据集中的样本数据的标签的不确定度,所述第二子损失函数用于指示利用所述第一模型确定各样本数据的标签的不确定度的修正参数,所述第三子损失函数用于指示属于同一标签的样本数据的数据特征的离散程度之和;在所述第一模型的损失函数不满足预设条件的情况下,调整所述第一模型的参数,得到第二模型,其中,所述第二模型的损失函数满足所述预设条件。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于利用所述第二模型得到的所述第一数据集中的各样本数据的第二参数,确定所述第一标签集中的各标签的置信度阈值;所述置信度阈值被所述第二模型用于确定输入到所述第二模型中的输入数据的推理结果。3.根据权利要求1所述的方法,其特征在于,所述第一子损失函数基于所述第一数据集中的各样本数据的第一参数确定。4.根据权利要求1所述的方法,其特征在于,所述第二子损失函数用于降低采用所述第一模型确定所述第一数据集中的各样本数据的标签的不确定度。5.根据权利要求1所述的方法,基特征在于,所述预设条件,包括以下条件中的至少一个:所述损失函数收敛、所述损失函数的值小于预设值、达到预设的迭代次数。6.根据权利要求1所述的方法,其特征在于,所述第一模型包括resnet网络。7.根据权利要求1所述的方法,其特征在于,所述第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,包括:所述第一模型的损失函数基于以下公式确定:其中,λ为常数;为第一子损失函数;为第二子损失函数;为第三子损失函数。8.一种深度学习模型的训练装置,其特征在于,包括:获取模块,用于获取第一数据集和第二数据集,其中,所述第一数据集中的样本数据的标签构成第一标签集,所述第二数据集的样本数据不具有标签;训练模块,用于利用第一模型确定所述第一数据集和所述第二数据集中的各样本数据的数据特征和第一参数,其中,第一样本数据的第一参数用于指示所述第一样本数据被确定为所述第一标签集中的第一标签的概率,所述第一样本数据为所述第一数据集或第二数
据集中的任意一个样本数据;损失函数计算模块,用于基于所述第一数据集和所述第二数据集中的各样本数据的第一参数以及所述第一数据集和所述第二数据集中的各样本数据的数据特征确定所述第一模型的损失函数,所述第一模型的损失函数由第一子损失函数、第二子损失函数和第三子损失函数确定,其中,所述第一子损失函数用于指示利用所述第一模型确定所述第一数据集中的样本数据的标签的不确定度,所述第二子损失函数用于指示利用所述第一模型确定各样本数据的标签的不确定度的修正参数,所述第三子损失函数用于指示属于同一标签的样本数据的数据特征的离散程度之和;评价模块,用于确定所述第一模型的损失函数是否满足预设条件;更新模块,用于在所述第一模型的损失函数满足预设条件的情况下,调整所述第一模型的参数,得到第二模型,其中,所述第二模型的损失函数满足所述预设条件。9.根据权利要求8所述的装置,其特征在于,所述装置还包括:配置模块,用于基于利用所述第二模型得到的所述第一数据集中的各样本数据的第二参数,确定所述第一标签集中的各标签的置信度阈值;所述置信度阈值被所述第二模型用于确定输入到所述第二模型中的输入数据的推理结果。10.根据权利要求8所述的装置,其特征在于,所述损失函数计算模块基于所述第一数据集中的各样本数据的第一参数确定,所述第一子损失函数。11.根据权利要求8所述的装置,其特征在于,所述损失函数计算模块基于所述第二子损失函数降低采用所述第一模型确定所述第一数据集中的各样本数据的标签的不确定度。12.根据权利要求8所述的装置,基特征在于,所述预设条件,包括以下条件中的至少一个:所述损失函数收敛、所述损失函数的值小于预设值、达到预设的迭代次数。13.根据权利要求8所述的装置,其特征在于,所述第一模型包括resnet网络。14.根据权利要求8所述的装置,其特征在于,所述损失函数计算模块基于以下公式确定所述第一模型的损失函数:其中,λ为常数;为第一子损失函数;为第二子损失函数;为第三子损失函数。15.一种可读介质,其特征在于,所述可读介质上存储有指令,所述指令在电子设备上执行时使电子设备实现权利要求1至7中任一项所述的深度学习模型的训练方法。16.一种电子设备,其特征在于,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于运行所述指令以使电子设备实现权利要求1至7中任一项所述的深度学习模型的训练方法。
技术总结
本申请涉及人工智能领域,公开了一种深度学习模型的训练方法、装置、可读介质和电子设备。该方法通过具有标签的第一数据集和不具有标签的第二数据集,对第一模型进行训练,训练过程中,通过调整第一模型参数,得到损失函数满足预设条件的第二模型;该损失函数包括用于指示利用第一模型确定第一数据集中的样本数据的标签的不确定度的第一子损失函数、用于指示利用第一模型确定各样本数据的标签的不确定度的修正参数的第二子损失函数、用于指示属于同一标签的样本数据的数据特征的离散程度之和的第三子损失函数。如此,可以提高第二模型确定输入数据的推理结果的精度。型确定输入数据的推理结果的精度。型确定输入数据的推理结果的精度。
技术研发人员:楼燚航 白涛 许俊峰 方光祥
受保护的技术使用者:华为技术有限公司
技术研发日:2022.01.29
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
