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

深度度量模型的优化方法、设备及存储介质与流程

2021-10-19 23:30:00 来源:中国专利 TAG:深度 度量 模型 优化 方法


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


背景技术:

2.在深度学习领域中,深度度量学习(deep metric learning,dml)具有广泛的应用。例如,在基于深度学习的检索任务中,可基于dml学习如何使得同类特征尽量接近,而不同类的特征距离尽量远,以提升检索结果的可靠性。
3.现有的度量学习方法,不易提升深度度量模型对特征的判别能力。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种深度度量模型的优化方法、设备及存储介质,用以提升深度度量模型对特征的判别能力。
5.本技术实施例提供一种深度度量模型的优化方法,包括:响应客户端对第一接口的调用请求,获取接口参数包含的多个样本数据组;将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练,并将训练得到的结果模型返回至所述客户端。
6.本技术实施例还提供一种深度度量模型的优化方法,包括:获取多个样本图像组;将所述多个样本图像组输入深度度量模型,得到所述多个样本图像组对应的多个图模型;其中,图模型中的节点用于表示样本图像,相邻节点之间的边长用于表示相邻节点对应的样本图像的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
7.本技术实施例还提供一种深度度量模型的优化方法,包括:获取多个样本数据组;将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
8.进一步可选地,获取多个样本数据组,包括:从样本数据集中,确定指定的w个样本类别;分别对所述w个样本类别对应的样本数据进行随机采样,得到每个样本类别对应的k个样本数据;将采样得到的w*k个样本数据,作为一个样本数据组。
9.进一步可选地,根据所述多个图模型的结构,构造图一致性损失函数,包括:根据所述多个图模型的结构,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异;根据所述第一特征判别差异和/或
所述第二特征判别差异,确定所述图一致性损失函数。
10.进一步可选地,根据所述多个图模型的结构,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异,包括:从所述多个图模型中的第一图模型以及第二图模型中,分别获取样本类别相同的节点之间的边长,得到多个第一类型的边长,和/或,分别获取样本类别不同的节点之间的边长,得到多个第二类型的边长;基于所述多个第一类型的边长之间的差,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,基于所述多个第二类型的边长之间的差,确定所述深度度量模型对类别不同的样本数据的第二特征判别差异。
11.进一步可选地,根据所述多个图模型的结构,计算所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异,包括:基于所述第一图模型中的任意相邻节点之间的边长,构造所述第一图模型的相似度矩阵,以及,基于所述第二图模型中的任意相邻节点之间的边长,构造所述第二图模型的相似度矩阵;根据所述第一图模型的相似度矩阵与所述第二图模型的相似度矩阵差的范数,确定所述第一特征判别差异和所述第二特征判别差异。
12.进一步可选地,基于所述第一图模型中的任意相邻节点之间的边长,构造所述第一图模型的相似度矩阵,包括:将所述第一图模型中的第i个样本数据对应的节点与第j个样本数据对应的节点之间的边长,作所述第一图模型的相似度矩阵中第i行、第j列的元素;其中,i=1,2

n,j=1,2

n,n为所述第一图模型对应的样本数据组中的样本数据的总数量。
13.进一步可选地,依据所述图一致性损失函数,对所述深度度量模型进行迭代训练,包括:确定所述图一致性损失函数与所述深度度量模型的度量学习损失函数,作为所述深度度量模型的联合损失函数;根据所述联合损失函数,对所述深度度量模型进行迭代训练,直至所述联合损失函数收敛到指定范围。
14.进一步可选地,所述度量学习损失函数,包括:三元组损失函数、n-pair损失函数以及二项式损失函数中的至少一种。
15.本技术实施例提供的基于深度度量学习的模型优化方法中,在训练深度度量模型时,获取深度度量模型针对不同样本数据组输出的图模型,基于不同的图模型在结构方面表现出的特征,可获取图一致性损失,该图一致性损失可以有效表征深度度量模型在特征辨识方面的稳定性。基于该图一致性损失对深度度量模型进行训练,可针对性地提升深度度量模型对不同特征以及相同特征的辨识能力,提升深度度量模型在分类、查询等多种任务中的性能。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本技术一示例性实施例提供的深度度量模型的优化方法的流程示意图;
18.图2为本技术一示例性实施例提供的深度度量模型输出的图模型的图结构优化示意图;
19.图3为本技术另一示例性实施例提供的深度度量模型的优化方法的流程示意图;
20.图4为本技术又一示例性实施例提供的深度度量模型的优化方法的流程示意图;
21.图5为本技术一示例性实施例提供的电子设备的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.深度度量学习,主要用于基于训练数据,自主学习基于数据的特征对数据进行距离计算,使得具有同类特征的数据尽量接近,具有不同类特征的数据尽量远的能力。深度度量学习多用于基于深度学习的检索任务以及分类任务中,并发挥重要的作用。例如,在分类任务中,基于深度度量学习,可计算两张图片之间的相似度,使得输入图片被归入到相似度大的图片类别中去。
24.目前,为提升深度度量模型对特征的辨识性能,存在多种不同的深度度量模型优化方法。一种典型的方法致力于改进基于样本对的损失函数。在这种方式中,通常针对样本对的损失设置一个margin的参数;若样本对的距离小于预设的margin的参数值,将导致损失为0,参数更新停止,使得模型很难继续达到更好的判别能力。另一种典型的方法致力于提升困难样本的挖掘技巧。但是这种方法对样本的采样技巧较为敏感,导致模型的训练过程不稳定,容易陷入局部最小值点。
25.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下结合附图,详细说明本技术各实施例提供的技术方案。
26.图1为本技术一示例性实施例提供的深度度量模型的优化方法的流程示意图,如图1所示,该方法包括:
27.步骤101、获取多个样本数据组。
28.步骤102、将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度。
29.步骤103、根据所述多个图模型的结构,构造图一致性损失函数。
30.步骤104、依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
31.其中,获取到的多个样本数据组,可包括两个样本数据组,或者两个以上的样本数据组。其中,每个样本数据组中,可包含多个样本数据。在不同的应用场景中,样本数据的实现形式不同。例如,在基于图像的学习任务中,样本数据可实现为训练所需的样本图像。在基于自然语言的学习任务中,样本数据可实现为训练语料等等,本实施例不做限制。
32.在训练阶段,将样本数据组输入深度度量模型后,深度度量模型用于对输入的样本数据组中的任意两个样本数据进行距离度量,该度量得到的距离,用于表征两个样本数据的特征的相似度。在本实施例中,为便于描述,将任意两个样本数据的特征的相似度,描述为该任意两个样本数据的特征相似度。
33.在本实施例中,深度度量模型的输出为图模型。图模型是由节点和连接线(边)组成的用于描述节点之间的结构的图形。
34.将多个样本数据组输入深度度量模型后,深度度量模型可基于当前的模型参数,对每个样本数据组中的样本数据进行相似度计算,得到每个样本数据组各自的图模型。其中,每个样本数据组对应的图模型中的节点,与该样本数据组中的样本数据一一对应,任意两个节点之间的边,用于表征该任意两个节点对应的样本数据的特征相似度。
35.例如,将第一样本数据组输入深度度量模型,可得到第一图模型,该第一图模型用于表征深度度量模型对第一样本数据组中的样本数据的相似度度量结果。将第二样本数据组输入深度度量模型,可得到第二图模型,该第二图模型用于表征深度度量模型对第二样本数据组中的样本数据的相似度度量结果。
36.由于样本数据组为训练深度度量模型所需的样本数据集的子集,因此,每个样本数据组对应的图模型,又可称为样本数据集对应的图模型的子图。
37.深度度量模型的优化目标为:使得具有同类特征的数据尽量接近,使得具有不同类特征的数据尽量远离。也就是说,使得不同样本数据组对应的图模型,具有一定的结构相似性。该结构相似性可表现为:具有相同或者相似特征的样本数据之间的边长具有相似性,具有不同特征的样本数据之间的边具有相似性。
38.为满足上述需求,在本实施例中,利用深度度量模型输出的多个图模型的结构,构造图一致性损失函数(graph-consistent regularization,gcr),并依据该图一致性损失函数对深度度量模型进行优化。
39.其中,该图一致性损失函数,指的是深度度量模型输出的多个图模型在结构一致性方面的损失。该结构一致性方面的损失,可包括:不同图模型中,具有相同或者相似特征的样本数据对应的图结构在一致性方面的损失,和/或,不同图模型中,具有不同特征的样本数据对应的图结构在一致性方面的损失。
40.在训练深度度量模型时,不断优化深度度量模型的参数,以使得图一致性损失函数逐步收敛,可缩小深度模型输出的不同图模型在结构上的差异特征。进而,深度度量模型可不断地学习如何提升针对不同类别的特征的辨识能力,以及学习如何提升针对相同类别的特征的辨识能力。
41.本实施例中,在训练深度度量模型时,获取深度度量模型针对不同样本数据组输出的图模型,基于不同的图模型在结构方面表现出的特征,可获取图一致性损失,该图一致性损失可以有效表征深度度量模型在特征辨识方面的稳定性。基于该图一致性损失对深度度量模型进行训练,可针对性地提升深度度量模型对不同特征以及相同特征的辨识能力,提升深度度量模型在分类、查询等多种任务中的性能。
42.在一些可选的实施例中,在从样本数据集中随机采样样本数据组时,可确保每个样本数据组包含相同类别的样本数据形成的正例样本对,相同类别的样本数据对具有相同或者相似的特征,进而可以使得深度度量模型学习分辨相同或者相似的特征。可选地,可确保每个样本数据组包含不同类别的样本数据对形成的负例样本对,不同类别的样本数据对具有不同的特征,进而可以使得深度度量模型学习分辨不同的特征。
43.为便于比较不同样本数据组的图模型在结构方面的差异性,可使得不同样本数据组之间,至少具有一组相同类别的正例样本对以及至少一组相同类别的负例样本对。以下将进行示例性说明。
44.例如,第一样本数据组包含两个类别a的样本数据组成的正例样本对1,以及,一个
类别a的样本数据和一个类别b的样本数据组成的负例样本对1。第二样本数据组包含两个类别a的样本数据组成的正例样本对2,以及,一个类别a的样本数据和一个类别b的样本数据组成的负例样本对2。
45.其中,正例样本对1和正例样本对2,可描述为不同样本数据组之间的相同类别的正例样本对。负例样本对1和负例样本对2,可描述为不同样本数据组之间的相同类别的负例样本对。基于上述,获取到第一样本数据组和第二样本数据组各自对应的图模型之后,可基于正例样本对1和正例样本对2在图模型中对应的结构的差异性,分析深度度量模型辨别相同特征的能力。同时,可基于负例样本对1和负例样本对2在图模型中对应的结构的差异性,分析深度模型辨别不同特征的能力。
46.为满足上述样本采样需求,在获取多个样本数据组时,可从样本数据集中,确定指定的w个样本类别;分别对该w个样本类别对应的样本数据进行随机采样,得到每个样本类别对应的k个样本数据;将采样得到的w*k个样本数据,作为一个样本数据组。基于上述方式进行多次采样,可得到多个样本数据组。
47.其中,每个样本数据组,可描述为以下的数组x,x={xi},i=1,2,3,

,w*k。
48.其中,w和k的取值可以根据实际需求进行设置。例如,在一些实施例中,可取w=5,k=6;在另一些实施例中,可取w=13,k=10,本实施例不做限制。
49.其中,每个样本数据组中的样本数据,可按照特定的类别顺序进行排列,以使得多个样本数据组中的样本数据具有相同的类别顺序,便于后续的计算过程中快速确定相同类别的样本数据以及不同类别的样本数据。
50.在一些可选的实施例中,根据该多个图模型的结构,构造图一致性损失函数的一种方式,可包括:根据该多个图模型的结构,确定深度度量模型对类别相同的样本数据的第一特征判别差异,并根据该第一特征判别差异,确定图一致性损失函数。在这种实施方式中,基于图一致性损失函数对深度度量模型进行训练,可用于提升深度度量模型针对相同特征的辨别能力。
51.在另一些可选的实施例中,可根据该多个图模型的结构,确定深度度量模型对类别不同的样本数据的第二特征判别差异,并根据第二特征判别差异,确定图一致性损失函数。在这种实施方式中,基于图一致性损失函数对深度度量模型进行训练,可用于提升深度度量模型针对不同特征的辨别能力。
52.在又一些可选的实施例中,可根据该多个图模型的结构,确定深度度量模型对类别相同的样本数据的第一特征判别差异;以及,根据该多个图模型的结构,确定深度度量模型对类别不同的样本数据的第二特征判别差异。根据第一特征判别差异和第二特征判别差异,确定图一致性损失函数。在这种实施方式中,基于图一致性损失函数对深度度量模型进行训练,可用于提升深度度量模型针对相同特征的辨别能力以及针对不同特征的辨别能力。
53.以下部分,将对根据多个图模型计算第一特征判别差异和第二特征判别差异的可选实施方式,进行示例性说明。
54.在实施方式a中,可分别计算第一特征判别差异和第二特征判别差异。
55.以下部分将以深度度量模型输出的多个图模型中的第一图模型以及第二图模型为例进行示例性说明。
56.可选地,计算第一特征判别差异时,可从第一图模型以及第二图模型中,分别获取样本类别相同的节点之间的边长,得到多个第一类型的边长。接下来,基于该多个第一类型的边长之间的差,确定深度度量模型对类别相同的样本数据的第一特征判别差异。其中,样本类别相同的节点,指的是节点对应的样本数据的类别相同。第一类型的边长,表征了样本类别相同的样本数据的特征相似度。
57.例如,可从第一图模型中获取正例样本对对应的节点之间的边长s1,从第二图模型中获取正例样本对对应的节点之间的边长s1`。
58.可选地,该第一特征判别差异,可通过多个第一类型的边长的差值确定。例如,承接上述例子,可将

1=|s1-s1`|作为第一特征判别差异。
59.可选地,计算第二特征判别差异时,可从第一图模型以及第二图模型中,分别获取样本类别不同的节点之间的边长,得到多个第二类型的边长。基于该多个第二类型的边长之间的差,确定深度度量模型对类别不同的样本数据的第二特征判别差异。其中,样本类别不同的节点,指的是节点对应的样本数据的类别不相同。第二类型的边长,表征了样本类别不同的样本数据的特征相似度。
60.例如,可从第一图模型中获取负例样本对对应的节点之间的边长s2,从第二图模型中获取负例样本对对应的节点之间的边长s2`。
61.可选地,该第二特征判别差异,可通过多个第二类型的边长的差值确定。例如,承接上述例子,可将

2=|s2-s2`|作为第二特征判别差异。
62.在实施方式a中,图一致性损失函数,可以为

1或者

2。或者,当基于多个第一类型的边长计算得到多个

1时,图一致性损失函数可以为多个

1的加权和。或者,当基于多个第二类型的边长计算得到多个

2时,图一致性损失函数可以为多个

2的加权和。或者,图一致性损失函数可以为至少一个

1和至少一个

2的加权和,不再赘述。
63.在实施方式b中,可基于图模型对应的相似度矩阵,同步计算第一特征判别差异和第二特征判别差异。
64.可选地,在这种实施方式中,可基于第一图模型中的任意相邻节点之间的边长,构造第一图模型的相似度矩阵,并基于第二图模型中的任意相邻节点之间的边长,构造第二图模型的相似度矩阵。
65.可选地,在上述实施例中,基于第一图模型中的任意相邻节点之间的边长,构造第一图模型的相似度矩阵的一种方式,可包括:将第一图模型中的第i个样本数据对应的节点与第j个样本数据对应的节点之间的边长,作第一图模型的相似度矩阵中第i行、第j列的元素;其中,i=1,2

n,j=1,2

n,n为所述第一图模型对应的样本数据组中的样本数据的总数量。
66.应当理解,任意相邻节点之间的边长,用于表征该相邻节点对应的样本数据的相似度。因此,上述过程可采用以下公式1进行描述:
[0067][0068]
在公式1中,σ表示超参数,包括深度度量模型当前的模型参数。x
i
表示第i个样本数据的特征,x
j
表示第j个样本数据的特征;s
ij
表示相似度矩阵中的第i行、第j列的元素。
[0069]
接下来,可根据第一图模型的相似度矩阵s`与第二图模型的相似度矩阵s``差的范数,确定第一特征判别差异和第二特征判别差异。
[0070]
其中,第一特征判别差异可表现为:相似度矩阵s`与相似度矩阵s``中,坐标相同的第一类元素的差运算结果;其中,第一类元素用于表示相同类别的样本数据的相似度。其中,第二特征判别差异可表现为:相似度矩阵s`与相似度矩阵s``中,坐标相同的第二类元素的差运算结果;其中,第二类元素用于表示不同类别的样本数据的相似度。
[0071]
基于上述,包含第一特征判别差异和第二特征判别差异的图一致性损失函数可描述为以下公式2:
[0072][0073]
基于上述,在确定图一致性损失函数之后,可依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
[0074]
在一些可选的实施例中,可进一步确定图一致性损失函数与深度度量模型的其他度量学习损失函数,作为深度度量模型的联合损失函数,并根据该联合损失函数,对深度度量模型进行迭代训练,直至联合损失函数收敛到指定范围。
[0075]
其中,该联合损失函数可采用以下公式3进行描述:
[0076][0077]
其中,为l
gc
的上限函数。其中,
[0078]
其中,该度量学习损失函数,可包括:三元组损失函数、n-pair(n对)损失函数以及二项式(binomial)损失函数中的至少一种,本实施例不做限制。
[0079]
其中,三元组损失函数如以下公式4所示:
[0080][0081]
公式4中,m为距离超参数,n表示每批次输入深度度量模型的样本数据的数量,当每批训练样本包括两个样本数据组时,n=2n。
[0082]
其中,n-pair损失函数如以下公式5所示:
[0083][0084]
公式5中,y
i
、y
j
表示样本数据样的标签值。
[0085]
其中,二项式损失函数如以下公式6所示:
[0086]
[0087]
公式6中,α、β以及η
ij
表示超参数。
[0088]
在上述各实施例中,训练深度度量模型采用的训练样本集可包括但不限于:cub数据集、cars数据集,standford online products and in-shop数据集等。其中,深度度量模型可基于inceptionv1和inceptionbn网络实现。在一些实施例中,基于联合损失函数对深度度量模型的参数进行梯度优化时,可采用adam优化器,并设置优化器的学习率1e-5,权重衰减因子weight_decay=2e-4。
[0089]
基于上述联合损失函数,可使得图一致性损失函数在训练深度度量模型的过程中,起到较好的正则作用,该正则作用可对多种样本对的损失进行更好地约束,从而提升深度度量模型的判别能力。以下将结合图2进行说明。
[0090]
在图2的示意中,颜色相同的节点表示具有同类特征的数据。α表示具有同类特征的数据之间的距离,即类内距离;β表示具有不同类特征的数据之间的距离,即类间距离。在正则化之前,类内距离较大,类间距离相对较小,导致不同样本数据组对应的图模型无法一致。经过正则化之后,深度度量模型对同类特征以及不同类特征的判别能力极大提升,其输出的图模型中,类内距离增大,类间距离减小,不同样本数据组对应的图模型接近一致。
[0091]
图3为本技术另一示例性实施例提供的深度度量模型的优化方法的流程示意图,如图3所示,该方法包括:
[0092]
步骤301、响应客户端对第一接口的调用请求,获取接口参数包含的多个样本数据组。
[0093]
步骤302、将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度。
[0094]
步骤303、根据所述多个图模型的结构,构造图一致性损失函数。
[0095]
步骤304、依据所述图一致性损失函数,对所述深度度量模型进行迭代训练,并将训练得到的结果模型返回至所述客户端。
[0096]
本实施例的执行主体可以是服务端设备,例如常规服务器或者云服务器。其中,客户端可实现为用户侧的手机、计算机、平板电脑等设备。
[0097]
在本实施例中,可将前述各实施例提供的深度度量模型的优化方法封装为可供第三方使用的软件工具,例如saas(software-as-a-service,软件即服务)工具。其中,该saas工具可实现为插件或者应用程序。该插件或者应用程序可以被部署在服务端设备上,并可向客户端等第三方用户开放指定的接口。为便于描述,在本实施例中,将该指定的接口描述为第一接口。进而,客户端等第三方用户通过调用该第一接口,便捷地访问并使用服务端设备提供的深度度量模型的优化方法。
[0098]
例如,在一些场景下,该saas工具可被部署在云服务器,第三方用户可调用云服务器提供的第一接口来在线使用该saas工具。其中,第三方用户调用第一接口时,可通过配置第一接口的接口参数,向saas工具提供深度度量模型的优化操作所需的输入数据,即本实施例所述的多个样本数据组(多批样本数据)。可选地,该多批样本数据,可以是多批图像样
本数据、多批语料样本数据等等,视具体的应用场景而定,本实施例不做限制。
[0099]
saas工具接收到针对第一接口的调用请求后,可通过解析第一接口的接口参数,获取客户端提供的多个样本数据组。saas工具基于多批样本数组对深度度量模型进行优化并得到结果模型后,可通过该第一接口或者其他通信方式,将训练得到的结果模型返回至客户端,以供客户端基于该结果模型进行度量计算。其中,基于多个样本数据组优化深度度量模型的可选实施方式可参考前述实施例的记载,此处不再赘述。
[0100]
在本实施例中,服务端设备可基于其上运行的saas工具,向客户端提供深度度量模型训练服务,客户端用户可通过调用saas工具提供的接口使用服务端设备提供的深度度量模型训练服务。基于客户端与服务端设备的交互,客户端可将深度度量模型的训练操作完全交由服务端设备执行,进而,可借助服务端设备强大的计算能力和可靠的属性识别算法,实现低成本、高效率率的模型训练操作。
[0101]
图4为本技术又一示例性实施例提供的深度度量模型的优化方法的流程示意图,如图4所示,该方法包括:
[0102]
步骤401、获取多个样本图像组。
[0103]
步骤402、将所述多个样本图像组输入深度度量模型,得到所述多个样本图像组对应的多个图模型;其中,图模型中的节点用于表示样本图像,相邻节点之间的边长用于表示相邻节点对应的样本图像的特征相似度。
[0104]
步骤403、根据所述多个图模型的结构,构造图一致性损失函数。
[0105]
步骤404、依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
[0106]
在本实施例中,度量学习,体现为针对图像的相似度学习。在训练深度度量模型时,输入深度度量模型的训练数据为多个样本图像组,每个样本图像组包含多张样本图像。基于本实施例中的优化方法,可使得深度度量模型更好地学习度量图片之间的相似度,并可在图一致性损失函数的约束下,使得深度度量模型输出的不同类别的图像的相似度较小,相同类别的图像的相似度较大。
[0107]
基于该实施例训练得到的深度度量模型,可广泛应用在基于图像的检索任务、分类任务中。
[0108]
例如,在一些实施例中,向用户提供商品搜索服务时,可获取用户提供的待识别的商品图像,并将该商品图像输入深度度量模型。深度度量模型的另一部分输入数据,可以为预先收集的不同商品的图像。基于预先学习到的参数,深度度量模型可分别计算用户提供的商品图像与预先收集的每一张商品的图像的相似度,并输出图模型。该图模型,可展示用户提供的商品图像与预先收集的不同商品的图像的相似度。基于该相似度,可确定与该商品图像匹配的商品,并向用户返回准确的商品搜索结果。
[0109]
又例如,在一些实施例中,获取到对多种不同场景进行拍摄的监控图像后,存在一种按照场景类别对大量监控图像进行分类的需求。此时,可将大量的监控图像输入深度度量模型,由深度度量模型基于预先学习到的参数,计算任意两张监控图像的相似度,并输出图模型。对相同场景进行拍摄得到的监控图像具有较高的相似度,对不同场景进行拍摄得到的监控图像具有较低的相似度,该相似度反映在图模型上,可以表现为多个节点会聚成多簇节点的效果。其中,每一簇节点对应一组相同场景下拍摄到的监控图像,基于会聚后的多簇节点,可确定大量监控图像的分类结果,得到每个场景对应的监控图像,不再赘述。
[0110]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备a;又比如,步骤201和202的执行主体可以为设备a,步骤203的执行主体可以为设备b;等等。
[0111]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0112]
图5是本技术一示例性实施例提供的电子设备的结构示意图,如图5所示,该电子设备包括:存储器501以及处理器502。
[0113]
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0114]
其中,存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0115]
处理器502,与存储器501耦合,用于执行存储器501中的计算机程序,以用于:获取多个样本数据组;将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
[0116]
进一步可选地,处理器502在获取多个样本数据组时,具体用于:从样本数据集中,确定指定的w个样本类别;分别对所述w个样本类别对应的样本数据进行随机采样,得到每个样本类别对应的k个样本数据;将采样得到的w*k个样本数据,作为一个样本数据组。
[0117]
进一步可选地,处理器502在根据所述多个图模型的结构,构造图一致性损失函数时,具体用于:根据所述多个图模型的结构,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异;根据所述第一特征判别差异和/或所述第二特征判别差异,确定所述图一致性损失函数。
[0118]
进一步可选地,处理器502在根据所述多个图模型的结构,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异时,具体用于:从所述多个图模型中的第一图模型以及第二图模型中,分别获取样本类别相同的节点之间的边长,得到多个第一类型的边长,和/或,分别获取样本类别不同的节点之间的边长,得到多个第二类型的边长;基于所述多个第一类型的边长之间的差,确定所述深度度量模型对类别相同的样本数据的第一特征判别差异,和/或,基于所述多个第二类型的边长之间的差,确定所述深度度量模型对类别不同的样本数据的第二特征判别差异。
[0119]
进一步可选地,处理器502在根据所述多个图模型的结构,计算所述深度度量模型
对类别相同的样本数据的第一特征判别差异,和/或,对类别不同的样本数据的第二特征判别差异时,具体用于:基于所述第一图模型中的任意相邻节点之间的边长,构造所述第一图模型的相似度矩阵,以及,基于所述第二图模型中的任意相邻节点之间的边长,构造所述第二图模型的相似度矩阵;根据所述第一图模型的相似度矩阵与所述第二图模型的相似度矩阵差的范数,确定所述第一特征判别差异和所述第二特征判别差异。
[0120]
进一步可选地,处理器502在基于所述第一图模型中的任意相邻节点之间的边长,构造所述第一图模型的相似度矩阵时,具体用于:将所述第一图模型中的第i个样本数据对应的节点与第j个样本数据对应的节点之间的边长,作所述第一图模型的相似度矩阵中第i行、第j列的元素;其中,i=1,2

n,j=1,2

n,n为所述第一图模型对应的样本数据组中的样本数据的总数量。
[0121]
进一步可选地,处理器502在依据所述图一致性损失函数,对所述深度度量模型进行迭代训练时,具体用于:确定所述图一致性损失函数与所述深度度量模型的度量学习损失函数,作为所述深度度量模型的联合损失函数;根据所述联合损失函数,对所述深度度量模型进行迭代训练,直至所述联合损失函数收敛到指定范围。
[0122]
进一步可选地,所述度量学习损失函数,包括:三元组损失函数、n-pair损失函数以及二项式损失函数中的至少一种。
[0123]
进一步,如图5所示,该电子设备还包括:通信组件503、显示组件504、电源组件505、音频组件506等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
[0124]
其中,通信组件503被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0125]
其中,显示组件504包括屏幕,其屏幕可以包括液晶显示组件(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0126]
其中,电源组件505,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0127]
本实施例中,在训练深度度量模型时,获取深度度量模型针对不同样本数据组输出的图模型,基于不同的图模型在结构方面表现出的特征,可获取图一致性损失,该图一致性损失可以有效表征深度度量模型在特征辨识方面的稳定性。基于该图一致性损失对深度度量模型进行训练,可针对性地提升深度度量模型对不同特征以及相同特征的辨识能力,提升深度度量模型在分类、查询等多种任务中的性能。
[0128]
图5所示的电子设备还可执行如下的深度度量模型优化逻辑:处理器502响应客户
端对第一接口的调用请求,获取接口参数包含的多个样本数据组;将所述多个样本数据组输入深度度量模型,得到所述多个样本数据组对应的多个图模型;其中,图模型中的节点用于表示样本数据,相邻节点之间的边长用于表示相邻节点对应的样本数据的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练,并将训练得到的结果模型返回至所述客户端。
[0129]
图5所示的电子设备还可执行如下的深度度量模型优化逻辑:处理器502获取多个样本图像组;将所述多个样本图像组输入深度度量模型,得到所述多个样本图像组对应的多个图模型;其中,图模型中的节点用于表示样本图像,相邻节点之间的边长用于表示相邻节点对应的样本图像的特征相似度;根据所述多个图模型的结构,构造图一致性损失函数;依据所述图一致性损失函数,对所述深度度量模型进行迭代训练。
[0130]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
[0131]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0132]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程基于深度度量学习的模型优化设备的处理器以产生一个机器,使得通过计算机或其他可编程基于深度度量学习的模型优化设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0133]
这些计算机程序指令也可存储在能引导计算机或其他可编程基于深度度量学习的模型优化设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0134]
这些计算机程序指令也可装载到计算机或其他可编程基于深度度量学习的模型优化设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0135]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0136]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0137]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0138]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0139]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜