EET_loss学习

传统的Triplet-based约束的缺点:

EET_loss学习
如上左图中,xax_a是锚点,xp1xp2x_p^1、x_p^2是正样本,xn1xn2x_n^1、x_n^2是负样本。存在这样一种情况,{xa,xp1,xn1}\{x_a,x_p^1,x_n^1\}出现在一个batch中,{xa,xp2,xn2}\{x_a,x_p^2,x_n^2\}出现在另一个batch中。在各自的batch里的,这几条数据满足Margin Constraint。但从全局的角度来看,{xa,xn1}\{x_a,x_n^1\}之间的距离甚至要比{xa,xp2}{\{x_a,x_p^2\}}间的距离要近。

EET(Equidistant and Equidistributed Triplet-based) loss的做法

在Triplet-based Margin Constraint(公式如下)的约束的基础上,
LMC=1Na=1N[d(fa,fp)d(fa,fn)+α]+ L_{MC} = \dfrac{1}{N}\displaystyle\sum_{a=1}^N[d(f_a,f_p)-d(f_a,f_n)+\alpha]^+
增加下面几个部分:

1.约束同类别的不同样本到一个negative样本尽可能等距,如d(A1,B)d(A_{1},B)d(A2,B)d(A_{2},B) (同字母代表同标签)

LEC1=1Na=1Nd(fa,fn)d(fp,fn) L_{EC_1} = \dfrac{1}{N}\displaystyle\sum_{a=1}^N|d(f_a,f_n)-d(f_p,f_n)|

2.最大化类间的最小距离

LM=1M(M1)i=1MyiyjMeD(Ci,Cj) L_M = \dfrac{1}{M*(M-1)}\displaystyle\sum_{i=1}^M\displaystyle\sum_{y_i\neq y_j}^Me^{D(C_i,C_j)}
其中,yi,yjy_i,y_j是样本i,ji,j的类别标签,另外D(Ci,Cj)=minyi=yCi,yj=yCjd(fi,fj)D(C_i,C_j)=\min_{y_i=y_{C_i},y_j=y_{C_j}}d(f_i,f_j)

3.约束任意一对的positive和negative样本尽可能等距 如d(A,B)d(A,B)d(B,C)d(B,C)

LE=1Ma=1Md(fa,fn)d(fn,fn) L_E = \dfrac{1}{M}\displaystyle\sum_{a=1}^M|d(f_a,f_n)-d(f_n,f_n^{'})|
xnx_n^{'}是与xnx_n距离最近的不同标签的样本。

4.(经过实践自己添加) 最小化类内的最大距离

LN=1Mi=1Myi=yjMeD(Ci,Cj)L_N = \dfrac{1}{M}\displaystyle\sum_{i=1}^M\displaystyle\sum_{y_i= y_j}^Me^{-D(C_i,C_j)}

EET 约束的表达式

LEET=LMC+LEC1+LM+LE+LNL_{EET} =L_{MC} + L_{EC_1} + L_M + L_E+L_N