【论文阅读12】Circle Loss:一统 Softmax 与 Triplet,从“线性”到“圆形”的优化视角
论文题目:《Circle Loss: A Unified Perspective of Pair Similarity Optimization》
目录
派系一:基于分类的学习 (Classification-based)
派系二:基于度量的学习 (Metric Learning / Pairwise Learning)
2. 证明 Softmax 和 Triplet 都是“特例”
前言:两大门派的恩怨
派系一:基于分类的学习 (Classification-based)
- 代表:Softmax, SphereFace, CosFace, ArcFace。
- 原文描述:“优化样本和权重向量之间的相似性” (optimize the similarity between samples and weight vectors)。
- 通俗解释(找老师):
公式特征:
。
训练目标:学生(样本
)必须尽可能靠近自己的班主任(
),远离别人的班主任。
逻辑:模型预先设立了 10,000 个“教室”(类别),每个教室有一个“班主任”(
)。
权重
:被看作是类中心(Class Center)或者代理(Proxy)。
派系二:基于度量的学习 (Metric Learning / Pairwise Learning)
- 代表:Triplet Loss, Contrastive Loss。
- 原文描述:“优化样本之间的相似性” (optimize the similarity between samples)。
- 通俗解释(找朋友):
- 逻辑:模型从数据堆里随便抓两个人。
- 训练目标:如果这两个人是同一个人(Positive Pair),就拉近他们;如果是不同人(Negative Pair),就推开他们。
公式特征:
。
没有
:这里没有固定的“教室”和“班主任”。
为什么要提这个?(Circle Loss 的动机)
在 Circle Loss 之前,大家觉得这是两套完全不同的逻辑:
- 用 Softmax (ArcFace) 的人觉得 Triplet Loss 收敛太慢,采样太麻烦(组合爆炸)。
- 用 Triplet Loss 的人觉得 Softmax 只能处理闭集(Closed-set),不灵活。
Circle Loss 的伟大之处在于它说了一句:
“别吵了,其实你们俩在数学本质上是一回事!”
Circle Loss 认为:
Triplet:其实就是把另一个样本
当作临时的“中心”。
Softmax/ArcFace:其实就是把
当作一种特殊的“样本”(只有一个样本的类)。
它们的目标都是:最大化类内相似度 (
),最小化类间相似度 (
)。
1. 万物归一 —— 统一视角 (
)
Circle Loss 的第一步贡献,是建立了一个统一的 Loss 框架。作者敏锐地发现,无论是分类还是配对,本质目标都是:最大化正样本分数
,最小化负样本分数
。
1.1 统一 Loss 公式
作者首先推导出了一个通用公式
(Unified Loss):
:间隔(Margin)。
:缩放因子(Scale Factor)。
:第
个负样本对的相似度。
:第
个正样本对的相似度。
这个公式的直观含义很简单:要在
最小化过程中,迫使
越小越好。
1.2 计算量的“降维打击”
上面的公式有一个双重求和
,这意味着要计算所有正负样本的配对,计算量是
。
利用指数运算法则
,作者做了一个精彩的数学变换:
负样本集合 正样本集合
这一步变换至关重要。它将复杂的 “成对比较” 解耦成了独立的 “正样本组” 和 “负样本组” 计算。这解释了为什么 Circle Loss 能够像 Softmax 一样高效训练,而不需要像 Triplet Loss 那样进行繁重的样本挖掘。
2. 证明 Softmax 和 Triplet 都是“特例”
为了证明
是真正的大一统,我们看看它是如何退化成我们熟悉的 Loss 的。
2.1 退化为 Softmax (
)
如果我们设定只有一个正样本(
,即当前样本
和它的类中心
),忽略常数 1,公式就变成了:
解读: 这正是我们熟悉的 CosFace / AM-Softmax!
这意味着:分类 Loss 只是 Circle Loss 在
时的特例。
2.2 退化为 Triplet (
)
如果我们把
设为无穷大(
),根据 LogSumExp 的极限性质,公式变成了:
解读: 这正是 Triplet Loss 的核心逻辑(Hard Mining)!
这意味着:Triplet Loss 只是 Circle Loss 在
趋于无穷大时的极限情况。
3. 发现缺陷 —— 拒绝“死板”的优化
既然统一了江湖,为什么还需要 Circle Loss?
因为作者发现,之前的 CosFace/ArcFace 存在一个致命的“不够灵活”的问题。
3.1 什么是“不够灵活”?
在
中,我们是在优化
。当我们对它求导时,梯度是常数(或者说是 1)。
这意味着什么?
- 困难样本(分错了):模型用 1 的力度去推它。
- 简单样本(分对了):模型依然用 1 的力度去推它。
这就好比老师辅导学生,对考 30 分的学生和考 99 分的学生布置一样的作业。这显然浪费了算力,且效率低下。
3.2 引入动态权重 (
)
为了让模型懂得“因材施教”,作者引入了动态权重
:
其中,权重
的定义是“自我配速”(Self-paced):
- 机制详解:
如果样本简单(
接近目标
),
变小
几乎不练。
如果样本很难(
远小于目标
),
变大
加权猛练!
3.3 Circle Loss 最终形态
将动态权重
和 Margin 结合,我们就得到了最终公式:
4. 几何解释 —— 为什么叫“Circle”?
这是论文最精彩的几何视角。
4.1 决策边界的演变
Circle Loss: 由于引入了与
相关的权重
,优化项变成了关于
的二次项 (
)。其决策边界方程演变为:
Softmax/CosFace: 优化目标是
。在坐标系中,这是一条直线。
在特定参数下,它简化为:
4.2 圆形的意义
从直线变成圆弧,不仅仅是好看。
这意味着模型在优化
和
时,不再是僵硬的 1:1 兑换,而是根据它们各自离“完美状态”
的距离来动态调整梯度方向。这就赋予了 Loss 更大的灵活性。
5. 梯度验证 —— 数学上的实锤
最后,为了证明“动态权重”真的有效,作者直接给出了梯度公式:
一句话总结:梯度的强弱,正比于样本的难度。
这彻底解决了传统 Loss 在简单样本上浪费梯度的问题,让模型能够全神贯注地攻克那些“死活分不开”的 Hard Cases。