Circle Loss:从统一的相似性对的优化角度进行深度特征学习 | CVPR 2020 Oral
论文提出了 Circle loss,不仅能够对类内优化和类间优化进行单独地处理,还能根据不同的相似度值调整对应的梯度。总体而言,Circle loss 更灵活,而且优化目标更明确,在多个实验上都有较好的表现,个人认为是一个很好的工作
来源:晓飞的算法工程笔记 公众号
论文: Circle Loss: A Unified Perspective of Pair Similarity Optimization
Introduction
论文认为两类基础的深度特征学习方法 classification learning(比如 softmax)和 pair-wise learning(比如 triplet loss)均是为了最小化类内相似度s_n和类间相似度s_p,理想是(s_n=0, s_p = 1)。而大部分常用的损失函数都是将s_n和s_pembed 成相似度对,然后用各自研究的策略最小化(s_n-s_p)的值。这种策略提升s_p等同于下降s_n,但其实这种对称的优化方法很容易存在以下问题:
- 缺乏优化的灵活性。由于基于损失函数同时优化s_n和s_p,导致s_n和s_p的梯度的幅值是一样的。当s_n和s_p均很小时,依然会使用较大的梯度惩罚s_n,这是不高效且不合理的。
- 收敛目标不明确。优化s_n-s_p通常会遇到决策边界问题s_p-s_n=m。而这个边界目前是不够明确的,首先图 1a 中的 ABC 点均到决策边界的距离相等,但其收敛点却不太一样(梯度正交于s_p=s_n?)。其次,不同收敛点间的类内和类间相似度差异可能较小,比如样本\{s_n, s_p\}=\{0.2, 0.5\}和\{{s^{‘}}_n, {s^{‘}}_p\}=\{0.4, 0.7\},虽然边际(margin)均为 0.3,但{s^{‘}}_n和s_p的差距仅为 0.1,这样的收敛状态会影响整体样本的区分性。
基于上面的发现,论文认为不同的相似分数应该有不同的惩罚力度,首先将(s_n – s_p)转换为(\alpha_n s_n – \alpha_p s_p),\alpha_n和\alpha_p是独立的权重因子,分别与s_n和s_p线性相关,这样不仅使得s_n和s_p能以不同的步伐进行学习,还可以更具相似分数调整幅值。这样的优化策略使得\alpha_n s_n – \alpha_p s_p=m在(s_n, s_p)空间内呈现圆形,故称为 Circle loss。
Circle loss 主要从以下 3 个方面入手改变深度特征学习的内在特性:
- 统一损失函数来表示两类基础的深度特征学习方法 classification learning(比如 softmax)和 pair-wise learning(比如 triplet loss)。
- 灵活地优化,由于\alpha_n和\alpha_p会随着对应的相似度分数来改变对应的梯度,如图 1b 的点 ABC 的梯度是各不一样的。
- 明确的收敛目标,在圆形的决策边界,circle loss 有更倾向的决策状态,如图 2b 的 ABC 点,均偏向于更新到点 T,原因后面会讲到。
论文的主要贡献如下:
- 提出 Circle loss,通过有监督地加权不同相似度分数来进行深度特征学习,能够更灵活地优化,并且有明确的收敛目标。
- Circle loss 能够兼容 class-level 标签和 pair-wise 标签,通过简单的修改就能变化为 triplet loss 或 softmax loss。
- 在不同的任务(人脸识别,ReID,细粒度图片检索等)上进行实验证明 Cirle loss 的优势。
A Unified Perspective
给予特征空间的单样本x,假设有K个类内相似分数和L个类间相似分数关联x,定义相似度分数为\{s^i_p\}(i=1,2,\cdots,K)和\{s^i_n\}(i=1,2,\cdots,L)。
为了最小化每个s^j_n以及最大化每个s^i_p,统一的损失函数如公式 1,其中\gamma为缩放因子,m为边际(margin)。公式 1 迭代每个相似度对来减小(s^j_n-s^i_p),通过简单的修改就能变为 triplet loss 和 classification loss。
Given class-level labels
在分类层计算样本x与各类的相似度以及权重向量w_i (i=1,2,\cdots,N),得到(N-1)个类间相似度s^j_n=w^T_j x/(||w_j||\ ||x||)以及单个类内相似度s_p = w^T_y x/(||w_y||\ ||x||)。
结合公式 1,得到公式 2 的 softmax 变种 AM-Softmax,当m=0时,公式 2 能够进一步变化为 Normface,当将 cosine 相似度替换为内积以及设置\gamma=1时,则为 softmax loss。
Given pair-wise labels
计算 mini-batch 中样本x与其它样本的相似性,得到类间相似度s^j_n=w^T_j x/(||x_j||\ ||x||)以及单个类内相似度s^i_p = w^T_y x/(||x_i||\ ||x||)。
结合公式 1,K=|\mathcal{P}|,L=|\mathcal{N}|,得到带 hard mining 的 triplet loss,\sum exp(\cdot)用于调节 mining 的程度,当\gamma \to + \infty时,就是绝对的 hard mining。
Gradient analysis
公式 2 和公式 3 展示了公式 1 的通用性,目标均是优化(s_n-s_p)。论文假设仅存在单个s_p和s_n,各种损失函数的梯度进行了可视化,如图 2 所示,观察到了主流损失函数的几点梯度表现:
- 在达到决策边界前,s_p和s_n的梯度是相同的,这缺乏优化的灵活性。
- 梯度在收敛前几乎是不变,而在收敛时则突然下降。比如图 2 的 B 点相对于 A 点是更优的,但是两点的梯度几乎一样,这也表明了优化的不灵活。
- 决策边界平行于s_n – s_p=m(图 2 的白线),不同的点A B会可能以边界上的不同点T或T^{‘}为目标,导致收敛目标不明确,如之前所述的。
A New Loss Function
Self-paced Weighting
为了让每个相似度分数能够根据当前优化状态调整学习的幅度,先忽略公式 1 的m并调整为 Circle loss,如公式 4 所示,\alpha^j_n和\alpha^i_p为非负权重因子。
假定s^i_p的最优值为O_p,s^j_n的最优值为O_n(O_n < O_p),则\alpha^j_n和\alpha^i_p的计算如公式 5,称为 self-paced manner,[\cdot]_+为 cut-off at zero 操作来保证\alpha^j_n和\alpha^i_p非负。
加权是分类 loss 中的常见操作,所有的相似度分数共享同一个缩放因子\gamma,而 Circle loss 则根据每个相似度分类的值再进行一次独立的加权,允许不同的学习幅度,能够更加地灵活。
Within-class and Between-class Margin
在之前的讨论中,主流损失函数的(s_n-s_p)的优化是对称的(减少s_n等同于增大s_p),仅需一个边际(margin)即可。而在 Circle loss 中,(s_n-s_p)的优化是非对称的,因此需要设置独立的边际,如公式 6,其中\Delta_n和\Delta_p为类间边际和类内边际,目标是s^i_p>\Delta_p以及s^j_n<\Delta_n,下面探讨边际的设置问题。
考虑简单的二分类问题,决策边界为\alpha_n(s_n – \Delta_n)-\alpha_p(s_p-\Delta_p)=0,结合公式 5 和 6,决策边界可转换为公式 7,其中C=((O_n-\Delta_n)^2+(O_p-\Delta_p)^2)/4,即为 Circle loss 决策边界为圆的弧,如图 1b 所示,中心点为(s_n=(O_n+\Delta_n)/2, s_p=(O_p+\Delta_p)/2),半径为\sqrt{C}。
Circle loss 包含 5 个参数(O_p, O_n, \gamma, \Delta_p, \Delta_n),论文通过设置O_p=1+m,O_n=-m,\Delta_p=1-m,\Delta_n=m来减少参数,最终将公式 7 转换为公式 8。基于公式 8 的决策边界,可以看到其目标为s_n \to 0和s_p \to 1,参数m控制决策边界的半径可以看作是松弛因子,即可将 Circle loss 目标改为s^i_p>1-m和s^i_n<m。
The Advantages of Circle Loss
Circle loss 关于s^j_n和s^i_p的梯度分别为公式 9 和公式 10,在简单的二分类问题上,梯度的可视化如图 2c 所示,可以观察到几点梯度表现:
- Circle loss 能够平衡地优化s_n和s_p,动态地调整惩罚各自的力度。
- 逐渐衰弱的梯度,如图 2c 所示,在训练初期,远离决策边际将获得较大的梯度,随着逐渐接近收敛,其梯度逐渐衰减,并且对\gamma具有鲁棒性。
- 更明确的收敛目标,如图 1b 所示,Circle loss 更倾向于收敛至点T,因为相对于其他点,点T的s_p和s_n差距最小,加上梯度足够灵活,最容易学习到该状态。因为s_p和s_n差距越大,需要将数据划分地更开,更难学习。
Experiment
Face Recognition
Person Re-identification
Fine-grained Image Retrieval
Impact of the Hyper-parameters
Investigation of the Characteristics
通过观察图 4 发现:
- 在初始时,所有的s_n和s_p都较小,这是由于高维随机特征倾向于彼此分离。而在训练中,s_p得到了显著的较大权重,占据了训练,使得相似度快速增加,这证明了 Circle loss 使用更灵活且平衡的优化手段。
- 在训练的最后,Circle loss 在s_p和s_n的收敛上都比 AMSoftmax 要好。
论文可视化了收敛后的相似度分布,可以看到,Circle loss 以更紧密地方式通过了决策边界,而 AMSoftmax 则较为稀疏地通过了,这表明 Circle loss 的优化目标较为明确的,特征空间可分离性更好,这种情况在图 5c 中更为明显。
CONCLUSION
论文将 classification learning 和 pair-wise learning 进行了统一的表达,并根据目前的损失函数实际存在问题进行了改进,提出了 Circle loss,不仅能够对类内优化和类间优化进行单独地处理,还能根据不同的相似度值调整对应的梯度。总体而言,Circle loss 更灵活,而且优化目标更明确,在多个实验上都有较好的表现。
如果本文对你有帮助,麻烦点个赞或在看呗 ~
更多内容请关注 微信公众号【晓飞的算法工程笔记】