度量学习、细粒度识别相关论文阅读笔记(一)——SoftTriple Loss
之前调研了几篇度量学习、细粒度识别相关领域的最新论文,现将之前做的论文笔记分享出来供大家一起探讨。
因为之前没有涉及过相关领域,如果有的地方理解不够准确希望大家指正。
文章目录
先回顾一下Triplet loss的原理以及应用。
Triple Loss
Triple Loss
Triplet loss最初是在 FaceNet: A Unified Embedding for Face Recognition and Clustering 论文中提出的,应用于人脸识别任务中。目前,Triplet loss也被广泛应用于各种细粒度识别任务中。
Triplet loss的目的是学习一个好的embedding,使得同一个人的人脸在嵌入空间中尽量接近,不同人的人脸在嵌入空间中尽量远离。
可以写成如下公式:
其中,a表示anchor, p表示同类样本,n表示异类样本。 为margin, 用来卡阈值,控制正负样本的距离,从而判断是不是属于同一个类别。
论文中的损失函数公式定义为:
Triplets挖掘
基于前文定义的Triplet loss,可以将采样得到的三元组分为以下三类:
easy triplets:L = 0,即满足,这种情况属于易分类三元组
hard triplets:,这种情况下anchor与同类样本距离远,属于会被误识别的三元组
semi-hard triplets:,这种情况下被称作难样本。
在网络训练中ÿ