Circle Loss:统一 Softmax 与 Triplet,从线性到圆形的优化视角
论文题目:《Circle Loss: A Unified Perspective of Pair Similarity Optimization》
背景:分类与度量学习的分野
在深度学习领域,关于如何优化样本相似性,主要存在两种主流思路。
基于分类的学习 (Classification-based)
- 代表算法:Softmax, SphereFace, CosFace, ArcFace。
- 核心逻辑:优化样本和权重向量之间的相似性。直观理解就是'找老师'——学生(样本 $x$)必须尽可能靠近自己的班主任(类中心 $W_{y_i}$),同时远离别人的班主任。
- 模型设定:预先设立 $N$ 个类别,每个类别对应一个权重向量 $W$,可视作类中心或代理(Proxy)。
- 公式特征:涉及 $x \cdot W$。
基于度量的学习 (Metric Learning / Pairwise Learning)
- 代表算法:Triplet Loss, Contrastive Loss。
- 核心逻辑:优化样本之间的相似性。直观理解是'找朋友'——从数据中随机抽取两个样本,如果是同类(正样本对)则拉近,异类(负样本对)则推远。
- 模型设定:没有固定的类中心 $W$,直接计算样本间的距离。
- 公式特征:涉及 $x_1 \cdot x_2$。
研究动机:统一两种范式
过去,这两派观点往往互不相让。使用 Softmax 的人认为 Triplet Loss 收敛慢、采样难;使用 Triplet Loss 的人则认为 Softmax 只能处理闭集,不够灵活。
Circle Loss 的核心贡献在于指出:它们在数学本质上是一回事。
- Triplet Loss:本质是将另一个样本 $x_j$ 当作临时的'中心'。
- Softmax/ArcFace:本质是将 $W$ 看作一种特殊的'样本'(单样本类)。
两者的终极目标一致:最大化类内相似度 ($s_p$),最小化类间相似度 ($s_n$)。
1. 统一视角:万物归一
Circle Loss 的第一步是建立了一个统一的 Loss 框架。作者敏锐地发现,无论是分类还是配对,本质目标都是最大化正样本分数 $s_p$,最小化负样本分数 $s_n$。
统一 Loss 公式
作者推导出了一个通用公式 $L_{uni}$(Unified Loss):
$$ L_{uni} = \log \left[ 1 + \sum_{i=1}^K \sum_{j=1}^L \exp(\gamma(s_n^j - s_p^i + m)) \right] $$
其中:
- $m$:间隔(Margin)。
- $\gamma$:缩放因子(Scale Factor)。
- $s_n^j$:第 $j$ 个负样本对的相似度。
- $s_p^i$:第 $i$ 个正样本对的相似度。
这个公式的直观含义很简单:在最小化 Loss 的过程中,迫使 $(s_n - s_p)$ 越小越好。
计算量的优化
上面的公式包含双重求和 $\sum \sum$,意味着要计算所有正负样本的配对,计算量是 $O(K \times L)$。利用指数运算法则 $e^{a-b} = e^a \cdot e^{-b}$,作者做了一个关键的数学变换:
$$ L_{uni} = \log \left[ 1 + \underbrace{\sum_{j=1}^L \exp(\gamma(s_n^j + m))}{\text{负样本集合}} \cdot \underbrace{\sum{i=1}^K \exp(\gamma(-s_p^i))}_{\text{正样本集合}} \right] $$
这一步变换至关重要。它将复杂的'成对比较'解耦成了独立的'正样本组'和'负样本组'计算。这解释了为什么 Circle Loss 能够像 Softmax 一样高效训练,而不需要像 Triplet Loss 那样进行繁重的样本挖掘。

