【论文阅读12】Circle Loss:一统 Softmax 与 Triplet,从“线性”到“圆形”的优化视角

论文题目:《Circle Loss: A Unified Perspective of Pair Similarity Optimization》

目录

前言:两大门派的恩怨

派系一:基于分类的学习 (Classification-based)

派系二:基于度量的学习 (Metric Learning / Pairwise Learning)

[为什么要提这个?(Circle Loss 的动机)](#为什么要提这个?(Circle Loss 的动机))

[1. 万物归一 ------ 统一视角 ()](#1. 万物归一 —— 统一视角 ())

[1.1 统一 Loss 公式](#1.1 统一 Loss 公式)

[1.2 计算量的"降维打击"](#1.2 计算量的“降维打击”)

[2. 证明 Softmax 和 Triplet 都是"特例"](#2. 证明 Softmax 和 Triplet 都是“特例”)

[2.1 退化为 Softmax ()](#2.1 退化为 Softmax ())

[2.2 退化为 Triplet ()](#2.2 退化为 Triplet ())

[3. 发现缺陷 ------ 拒绝"死板"的优化](#3. 发现缺陷 —— 拒绝“死板”的优化)

[3.1 什么是"不够灵活"?](#3.1 什么是“不够灵活”?)

[3.2 引入动态权重 ()](#3.2 引入动态权重 ())

[3.3 Circle Loss 最终形态](#3.3 Circle Loss 最终形态)

[4. 几何解释 ------ 为什么叫"Circle"?](#4. 几何解释 —— 为什么叫“Circle”?)

[4.1 决策边界的演变](#4.1 决策边界的演变)

[4.2 圆形的意义](#4.2 圆形的意义)

[5. 梯度验证 ------ 数学上的实锤](#5. 梯度验证 —— 数学上的实锤)


前言:两大门派的恩怨

派系一:基于分类的学习 (Classification-based)

  • 代表:Softmax, SphereFace, CosFace, ArcFace。

  • 原文描述:"优化样本和权重向量之间的相似性" (optimize the similarity between samples and weight vectors)。

  • 通俗解释(找老师)

    • 权重 :被看作是类中心(Class Center)或者代理(Proxy)

    • 逻辑 :模型预先设立了 10,000 个"教室"(类别),每个教室有一个"班主任"( )。

    • 训练目标 :学生(样本 )必须尽可能靠近自己的班主任( ),远离别人的班主任。

    • 公式特征

派系二:基于度量的学习 (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 认为:

  1. Softmax/ArcFace :其实就是把 当作一种特殊的"样本"(只有一个样本的类)。

  2. Triplet :其实就是把另一个样本 当作临时的"中心"。

它们的目标都是:最大化类内相似度 ( ),最小化类间相似度 ( )。


1. 万物归一 ------ 统一视角 ()

Circle Loss 的第一步贡献,是建立了一个统一的 Loss 框架。作者敏锐地发现,无论是分类还是配对,本质目标都是:最大化正样本分数 ,最小化负样本分数

1.1 统一 Loss 公式

作者首先推导出了一个通用公式 (Unified Loss):

  • :第 个正样本对的相似度。

  • :第 个负样本对的相似度。

  • :缩放因子(Scale Factor)。

  • :间隔(Margin)。

这个公式的直观含义很简单:要在 最小化过程中,迫使 越小越好。

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 决策边界的演变

  • Softmax/CosFace : 优化目标是 。在坐标系中,这是一条直线

  • Circle Loss : 由于引入了与 相关的权重 ,优化项变成了关于 的二次项 ()。其决策边界方程演变为:

在特定参数下,它简化为:

4.2 圆形的意义

直线 变成圆弧,不仅仅是好看。

这意味着模型在优化 时,不再是僵硬的 1:1 兑换,而是根据它们各自离"完美状态" 的距离来动态调整梯度方向。这就赋予了 Loss 更大的灵活性。


5. 梯度验证 ------ 数学上的实锤

最后,为了证明"动态权重"真的有效,作者直接给出了梯度公式:

一句话总结:梯度的强弱,正比于样本的难度。

这彻底解决了传统 Loss 在简单样本上浪费梯度的问题,让模型能够全神贯注地攻克那些"死活分不开"的 Hard Cases。

相关推荐
gorgeous(๑>؂<๑)2 小时前
【ICLR26-Oral Paper-Meta】先见之明:揭秘语言预训练中大型语言模型的视觉先验
人工智能·深度学习·算法·机器学习·语言模型
陈天伟教授2 小时前
人工智能应用- 人机对战:01. AI 游戏
人工智能·深度学习·神经网络·游戏·自然语言处理·机器翻译
肾透侧视攻城狮2 小时前
《超越安装:构建可维护、高性能的TensorFlow专业开发环境》
人工智能·深度学习·tensorflow 环境搭建·conda 创建虚拟环境·开发工具安装·jupyter相关问题解决·tensorf开发环境优化
Hcoco_me2 小时前
图像分割:目标检测、语义分割和实例分割
人工智能·深度学习·算法·目标检测·计算机视觉·目标跟踪
九.九10 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见10 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
偷吃的耗子11 小时前
【CNN算法理解】:三、AlexNet 训练模块(附代码)
深度学习·算法·cnn
Faker66363aaa12 小时前
【深度学习】YOLO11-BiFPN多肉植物检测分类模型,从0到1实现植物识别系统,附完整代码与教程_1
人工智能·深度学习·分类
【赫兹威客】浩哥13 小时前
无人机视角军事目标细分类检测数据集及多YOLO版本训练验证
yolo·分类·无人机