System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于动态主代理损失的深度度量学习方法技术_技高网

基于动态主代理损失的深度度量学习方法技术

技术编号:41099351 阅读:5 留言:0更新日期:2024-04-25 13:56
本申请的实施例涉及图像检索技术领域,公开了一种基于动态主代理损失的深度度量学习方法,该方法包括:对于批处理中的任意一个训练样本,分别根据训练样本和各类别下的子代理,构建各类别对应的主代理;基于当前类别下的各子代理,确定当前类别对应的中心代理;基于各类别对应的主代理、以及批处理中各样本所属类别对应的主代理,构建动态代理损失项,基于各类别对应的中心代理、以及批处理中各样本所属类别对应的中心代理,构建正则化约束损失项,并基于这两个损失项构建损失函数;使用所述损失函数对图像检索模型进行迭代训练。该方法能够兼顾处理类相关特征和类无关特征,确保类内差异性,有效提升训练出的图像检索模型的检索精度。

【技术实现步骤摘要】

本申请实施例涉及图像检索,特别涉及一种基于动态主代理损失的深度度量学习方法


技术介绍

1、深度度量学习旨在训练神经网络,使其能够生成具有辨别性的嵌入空间,从而实现样本之间的有效相似性的估计。在这个嵌入空间中,具有相似特征的样本展现出更近的空间接近度,而具有不同属性的样本则表现出明显的空间分离。为此,业内设计了不同的损失函数来优化嵌入空间,可以分为两类:成对损失和代理损失。

2、成对损失是构建在嵌入空间中数据点之间的成对距离上的。一种典型成对损失是对比损失,其旨在类别标签相同的情况下最小化一对数据样本之间的距离,同时在类别标签不同的情况下寻求最大化它们之间的分离。另一种成对损失则是三元组损失,它将三个实例进行比较,即锚点、一个正例和一个负例,该损失要求锚点和正例之间的距离应该小于锚点和负例之间的距离,并超过预定义的边界。然而,大多数深度模型是使用随机梯度下降法进行训练的,在每次迭代中对数据的小批量进行操作,因此,与完整的原始数据集相比,小批量中包含的信息在本质上是有限的。为了解决这个问题,必须设计出一种有效的采样方法来生成小批量,然后从中提取三元组约束。有研究建议采样半困难负例,有研究采用包含落入每个正对边界内的所有负例,还有研究引入了距离加权采样,即根据样本与锚点样本之间的距离对样本进行抽样。

3、与成对损失不同,代理损失不关注样本之间的关系,因此避免了引入过于复杂的采样策略。proxynca损失是代理损失的先驱之一,它将代理视为嵌入空间中的聚类中心,专注于建模数据实例与代理之间的关系,从而显著降低计算负担。proxyanchor损失是proxynca损失的改进版本,它采用了加权优化机制,根据样本与代理之间的相似性来调整优化的强度。smooth proxyanchor损失则引入了一个置信度模块,以减轻数据中噪声标签的影响。

4、上述代理损失用预定义的表示方法来强制不同类别的样本具有区分性的特征。然而,样本中观察到的变异性不仅可以归因于类属性,它还受到包括视点、姿势、背景、照明等的潜在特征的影响。目前业内提出的代理损失无法有效地捕捉到与类别特征无关的潜在特征的差异,基于此训练出的图像检索模型的检索结果的精度不够。


技术实现思路

1、本申请实施例的目的在于提供一种基于动态主代理损失的深度度量学习方法,能够兼顾处理类相关特征和类无关特征,确保类内差异性,有效提升训练出的图像检索模型的检索精度。

2、为解决上述技术问题,本申请的实施例提供了一种基于动态主代理损失的深度度量学习方法,包括以下步骤:对于批处理中的任意一个训练样本,分别根据所述训练样本和各类别下的子代理,构建各类别对应的主代理;其中,所述训练样本是从图像检索模型的训练样本集中选取的;遍历所述各类别,基于当前类别下的各子代理,确定所述当前类别对应的中心代理;基于所述各类别对应的主代理、以及所述批处理中各样本所属类别对应的主代理,构建动态代理损失项,并基于所述各类别对应的中心代理、以及所述批处理中各样本所属类别对应的中心代理,构建正则化约束损失项;根据所述动态代理损失项和所述正则化约束损失项构建损失函数,使用所述损失函数对所述图像检索模型进行迭代训练。

3、本申请的实施例还提供了一种基于动态主代理损失的深度度量学习系统,包括:主代理构建模块、中心代理构建模块、损失函数构建模块和模型训练模块;所述模型训练模块用于从图像检索模型的训练样本集中选取批处理的训练样本;所述主代理构建模块用于对于所述批处理中的任意一个训练样本,分别根据所述训练样本和各类别下的子代理,构建各类别对应的主代理;所述中心代理构建模块模块用于遍历所述各类别,基于当前类别下的各子代理,确定所述当前类别对应的中心代理;所述损失函数构建模块模块用于基于所述各类别对应的主代理、以及所述批处理中各样本所属类别对应的主代理,构建动态代理损失项,基于所述各类别对应的中心代理、以及所述批处理中各样本所属类别对应的中心代理,构建正则化约束损失项,并根据所述动态代理损失项和所述正则化约束损失项构建损失函数;所述模型训练模块还用于基于所述批处理中的训练样本,使用所述损失函数对所述图像检索模型进行迭代训练。

4、本申请的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于动态主代理损失的深度度量学习方法。

5、本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于动态主代理损失的深度度量学习方法。

6、本申请的实施例提供的基于动态主代理损失的深度度量学习方法,对proxyanchor损失进行了改进,首先为同一个类别分配多个子代理来学习不同的与类别无关的类内特征,然后基于训练样本动态构建主代理来处理与类别相关的特征,图像检索模型在训练时可以同时学习到类相关特征和类无关特征,实现比proxyanchor损失更好的性能。同时基于正则化思想为子代理施加正则化约束,以确保相似的子代理之间的接近性,以及确保不相似子代理之间的距离,即确保了同一类别下的各子代理之间的差异性。基于动态代理损失项和正则化约束损失项构建损失函数来对图像检索模型进行迭代训练,模型收敛速度快,训练效率高,训练出的图像检索模型的检索精度很高,很好地满足了高精度图像检索应用场景的需求。

7、在一些可选的实施例中,所述分别根据所述训练样本和各类别下的子代理,构建各类别对应的主代理,包括:遍历每一个类别,分别计算所述训练样本与当前类别下的各子代理之间的相似度;基于所述训练样本和所述当前类别下的各子代理,分别确定所述当前类别下的各子代理对应的归一化的相似性因子;基于所述训练样本与当前类别下的各子代理之间的相似度,以及所述当前类别下的各子代理对应的归一化的相似性因子,确定所述训练样本与所述当前类别对应的主代理之间的相似度,并根据所述训练样本与所述当前类别对应的主代理之间的相似度,得到所述当前类别对应的主代理。在本申请提出的基于动态主代理损失的深度度量学习方法中,同一类别下的各子代理是预先构建好的,而各类别的主代理是在批处理训练中为每个训练样本动态构建的,这不仅发挥了proxyanchor损失的优势,还降低了计算复杂度。

8、在一些可选的实施例中,所述所述训练样本与当前类别下的各子代理之间的相似度,通过公式表示为:

9、

10、其中,xi表示所述训练样本,pk表示所述当前类别下的第k个子代理,s(xi,pk)表示所述训练样本与所述当前类别下的第k个子代理之间的相似度;所述第k个子代理对应的归一化的相似性因子,通过公式表示为:

11、

12、其中,γ为预设的温度参数,wik表示所述第k个子代理对应的归一化的相似性因子;所述训练样本与所述当前类别对应的主代理之间的相似度以及所述主代理,通过本文档来自技高网...

【技术保护点】

1.一种基于动态主代理损失的深度度量学习方法,其特征在于,包括:

2.根据权利要求1所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述分别根据所述训练样本和各类别下的子代理,构建各类别对应的主代理,包括:

3.根据权利要求2所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述训练样本与当前类别下的各子代理之间的相似度,通过公式表示为:

4.根据权利要求3所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述基于所述各类别对应的主代理、以及所述批处理中各样本所属类别对应的主代理,构建动态代理损失项,通过以下公式实现:

5.根据权利要求1所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述基于当前类别下的各子代理,确定所述当前类别对应的中心代理,通过以下公式实现:

6.根据权利要求5所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述基于所述各类别对应的中心代理、以及所述批处理中各样本所属类别对应的中心代理,构建正则化约束损失项,通过以下公式实现:

7.根据权利要求1至6中任一项所述的基于动态主代理损失的深度度量学习方法,其特征在于,通过以下公式,根据所述动态代理损失项和所述正则化约束损失项构建损失函数:

8.一种基于动态主代理损失的深度度量学习系统,其特征在于,所述系统包括:主代理构建模块、中心代理构建模块、损失函数构建模块和模型训练模块;

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的基于动态主代理损失的深度度量学习方法。

...

【技术特征摘要】

1.一种基于动态主代理损失的深度度量学习方法,其特征在于,包括:

2.根据权利要求1所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述分别根据所述训练样本和各类别下的子代理,构建各类别对应的主代理,包括:

3.根据权利要求2所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述训练样本与当前类别下的各子代理之间的相似度,通过公式表示为:

4.根据权利要求3所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述基于所述各类别对应的主代理、以及所述批处理中各样本所属类别对应的主代理,构建动态代理损失项,通过以下公式实现:

5.根据权利要求1所述的基于动态主代理损失的深度度量学习方法,其特征在于,所述基于当前类别下的各子代理,确定所述当前类别对应的中心代理,通过以下公式实现:

【专利技术属性】
技术研发人员:张晓雷赵镭景瑞昊
申请(专利权)人:西北工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1