论文来源:CVPR 2020
论文链接
最近旷视做了一项非常fundamental的工作。简单来讲,原来特征学习有 2 种基本范式,分类学习和 pairwise 学习,人们普遍都觉得这两者虽然有联系,但是总体上仍是割裂的。旷视在这项工作中首次将两者放在一个统一的框架下,用一个general 的公式定义了这两种范式,且在这统一的公式下,获得了比两者各自最高水平方法都要好的性能。这项工作已经发表在CVPR 2020。
深度特征学习有两种基本范式,分别是使用类标签和使用正负样本对标签进行学习。使用类标签时,一般需要用分类损失函数(比如 softmax + cross entropy)优化样本和权重向量之间的相似度;使用样本对标签时,通常用度量损失函数(比如 triplet 损失)来优化样本之间的相似度。
这两种学习方法之间并无本质区别,其目标都是最大化类内相似度( s p s_p sp)和最小化类间相似度( s n s_n sn)。从这个角度看,很多常用的损失函数(如 triplet 损失、softmax 损失及其变体)有着相似的优化模式:
它们会将 s n s_n sn和 s p s_p sp组合成相似度对 (similarity pair)来优化,并试图减小( s n − s p s_n-s_p sn−sp)。在( s n − s p s_n-s_p sn−sp)中,增大 s p s_p sp等效于降低 s n s_n sn。这种对称式的优化方法容易出现以下两个问题,如图 1 (a) 所示。
优化缺乏灵活性
s n s_n sn和 s p s_p sp上的惩罚力度是严格相等的。换而言之,给定指定的损失函数,在 s n s_n sn和 s p s_p sp上的梯度的幅度总是一样的。例如图 1(a)中所示的 A 点,它的 s n s_n sn已经很小了,可是, s n s_n sn会不断受到较大梯度。这样现象低效且不合理。
收敛状态不明确
优化 ( s n − s p s_n-s_p sn−sp) 得到的决策边界为 s n − s p = m s_n-s_p=m sn−sp=m(m 是余量)。这个决策边界平行于 s n = s p s_n=s_p sn=sp,维持边界上任意两个点(比如 T = ( 0.4 , 0.7 ) T=(0.4,0.7) T=(0.4,0.7)和 T ′ = ( 0.2 , 0.5 ) T'=(0.2,0.5) T′=(0.2,0.5))的对应难度相等,这种决策边界允许模棱两可的收敛状态。比如, T T T和 T ′ T' T′都满足了 s p − s n = 0.3 s_p-s_n=0.3 sp−sn=0.3的目标,可是比较二者时,会发现二者之间的分离量只有 0.1( s p ′ − s n = 0.1 s_p'-s_n=0.1 sp′