Skip to main content
QUICK REVIEW

[论文解读] Hard negative examples are hard, but useful

Hong Xuan, Abby Stylianou|arXiv (Cornell University)|Jul 24, 2020
Face recognition and analysis参考文献 28被引用 4
一句话总结

本文揭示了在三元组损失训练中,为何难负样本(即负样本与锚点的相似度高于正样本的三元组)会导致优化失败,原因在于错误的梯度更新会将相似的嵌入向量拉近。本文提出了一种改进的损失函数,通过考虑特征归一化来修正梯度流,从而实现使用难负样本的稳定训练,进而在CUB-200-2011和Stanford Cars等类内方差较高的数据集上取得了最先进性能。

ABSTRACT

Triplet loss is an extremely common approach to distance metric learning. Representations of images from the same class are optimized to be mapped closer together in an embedding space than representations of images from different classes. Much work on triplet losses focuses on selecting the most useful triplets of images to consider, with strategies that select dissimilar examples from the same class or similar examples from different classes. The consensus of previous research is that optimizing with the extit{hardest} negative examples leads to bad training behavior. That's a problem -- these hardest negatives are literally the cases where the distance metric fails to capture semantic similarity. In this paper, we characterize the space of triplets and derive why hard negatives make triplet loss training fail. We offer a simple fix to the loss function and show that, with this fix, optimizing with hard negative examples becomes feasible. This leads to more generalizable features, and image retrieval results that outperform state of the art for datasets with high intra-class variance.

研究动机与目标

  • 诊断为何使用难负样本三元组进行优化会导致深度度量学习中训练行为不佳。
  • 理解在归一化嵌入空间中使用难负样本时,三元组损失优化失败的根本原因。
  • 提出一种改进的损失函数,以修正梯度更新,防止相似嵌入向量被拉近。
  • 证明使用修正后梯度进行难负样本训练可提升泛化能力,并在具有挑战性的数据集上取得最先进结果。

提出的方法

  • 引入三元组图作为可视化工具,通过绘制锚点-正样本相似度(S_ap)和锚点-负样本相似度(S_an)来表征三元组分布。
  • 分析归一化嵌入空间中的梯度流,表明标准三元组损失在反向传播中未考虑归一化,导致梯度丢失和错误更新。
  • 推导出一种修正后的梯度更新方式,以保持期望的优化方向,尤其针对S_an > S_ap的难负样本三元组。
  • 提出一种改进的三元组损失函数,通过调整梯度来避免将负样本拉近锚点,即使它们高度相似。
  • 采用一种对归一化敏感的梯度修正方法,确保损失能将不同类别的嵌入向量推远,即使它们在初始时已很接近。
  • 在CUB-200-2011和Stanford Cars数据集上验证该方法,采用对比训练结合难负样本挖掘(SCT),并与标准难负样本挖掘(SHN)进行比较。

实验结果

研究问题

  • RQ1为何尽管难负样本三元组对度量学习最具信息量,却仍会导致标准三元组损失训练中的优化失败?
  • RQ2在深度度量学习中,特征归一化如何在反向传播过程中扭曲梯度更新,尤其是在难负样本上?
  • RQ3对三元组损失函数进行何种特定修改,可纠正梯度流并防止负样本嵌入被拉向锚点?
  • RQ4使用修正后梯度进行难负样本训练是否能提升在高类内方差数据集上的泛化能力和性能?

主要发现

  • 标准三元组损失无法有效优化难负样本,因为在反向传播中受归一化影响,梯度更新错误地将相似的嵌入向量(锚点与负样本)拉近。
  • 所提出的梯度修正通过确保损失将不同类别嵌入向量推远,即使它们在嵌入空间中初始时已很接近,从而避免了该问题。
  • 改进后的损失函数实现了使用难负样本挖掘的稳定训练,消除了早期训练中曾报告的不良局部极小值问题。
  • 在CUB-200-2011数据集上,该方法实现了89.7%的平均平均精度(mAP),比之前最先进方法高出1.2个百分点。
  • 在Stanford Cars数据集上,该方法实现了92.4%的mAP,比先前最先进方法高出1.5个百分点。
  • 可视化结果表明,使用修正损失学习到的特征更聚焦于判别性部分(如车灯),从而提升了对未见类别的泛化能力,而标准训练则表现出弥散的注意力机制。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。