导读
今天是度量学习损失函数的第二部分,N-Pair和Angular损失。
这是排序损失综述的第二部分。第一部分涵盖了对比损失和三元组损失。在这一部分中,给出了N-pairs和angular损失。
N-Pairs Loss
对比损失和三元组损失都利用欧氏距离来量化点之间的相似性。此外,训练小批中的每个锚点都与一个单个负样本配对。N-Pairs损失改变了这两个假设。首先,利用余弦相似度来量化点之间的相似度。因此,N-pairs损失使用两个向量之间的角度来比较嵌入,而不是范数。这并不是很大的变化,所以它的表达方式仍然类似于单个三元组(a,p,n)的三元组,如下所示:
N-pairs的公式为单个三元组(a,p,n)使用余弦相似度。相同的嵌入的余弦相似性为1,不同的嵌入的余弦相似性为0。
但是,N-pairs损失的核心思想是为每个锚都配对一个正样本,同时配对所有的负样本。
N-pairs公式将每个锚f_a与batch中的一个正样本f_p和所有的负样本f_n配对。
对于N-pairs,一个训练batch包含来自每个类的单个正样本对。因此,一个大小为B的batch将有B//2对正样本对,每个锚都与(B-2)个负样本配对,如下图所示。