跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
编程语言AI算法

Circle Loss:统一 Softmax 与 Triplet 的优化视角

综述由AI生成Circle Loss 提出了一种统一的相似度优化视角,将基于分类的学习(如 Softmax)与基于度量的学习(如 Triplet Loss)纳入同一框架。通过推导通用损失公式,证明了两者均为特例。引入动态权重机制,根据样本难度自适应调整梯度强度,解决了传统方法在简单样本上浪费计算资源的问题。几何解释显示其决策边界由直线演变为圆弧,赋予模型更大的灵活性。该方法有效提升了模型对困难样本的聚焦能力,实现了更高效的特征学习。

DevOpsTeam发布于 2026/4/8更新于 2026/5/16 浏览

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

引言:分类学习与度量学习的差异

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

  • 代表:Softmax, SphereFace, CosFace, ArcFace。
  • 原文描述:'优化样本和权重向量之间的相似性' (optimize the similarity between samples and weight vectors)。
  • 通俗解释(找老师):

公式特征:

$ x \cdot W $

。

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

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

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

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

  • 代表:Triplet Loss, Contrastive Loss。
  • 原文描述:'优化样本之间的相似性' (optimize the similarity between samples)。
  • 通俗解释(找朋友):
    • 逻辑:模型从数据堆里随便抓两个人。
    • 训练目标:如果这两个人是同一个人(Positive Pair),就拉近他们;如果是不同人(Negative Pair),就推开他们。

公式特征:

$ x_1 \cdot x_2 $

。

没有 $W$:这里没有固定的'教室'和'班主任'。

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

在 Circle Loss 之前,大家觉得这是两套完全不同的逻辑:

  • 用 Softmax (ArcFace) 的人觉得 Triplet Loss 收敛太慢,采样太麻烦(组合爆炸)。
  • 用 Triplet Loss 的人觉得 Softmax 只能处理闭集(Closed-set),不灵活。

Circle Loss 的伟大之处在于它说了一句:

'别吵了,其实你们俩在数学本质上是一回事!'

Circle Loss 认为:

Triplet:其实就是把另一个样本 $x_j$ 当作临时的'中心'。

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

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


1. 万物归一 —— 统一视角 ($L_{uni}$)

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

1.1 统一 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)$ 越小越好。

1.2 计算量的'降维打击'

上面的公式有一个双重求和 $\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 那样进行繁重的样本挖掘。


2. 证明 Softmax 和 Triplet 都是'特例'

为了证明 $L_{uni}$ 是真正的大一统,我们看看它是如何退化成我们熟悉的 Loss 的。

2.1 退化为 Softmax ($L_{am}$)

如果我们设定只有一个正样本( $K=1$ ,即当前样本 $x$ 和它的类中心 $W$ ),忽略常数 1,公式就变成了:

$ L_{am} = - \log \frac{\exp(\gamma(s_p - m))}{\exp(\gamma(s_p - m)) + \sum_{j=1}^{N-1} \exp(\gamma s_n^j)} $

解读: 这正是我们熟悉的 CosFace / AM-Softmax!

这意味着:分类 Loss 只是 Circle Loss 在 $K=1$ 时的特例。

2.2 退化为 Triplet ($L_{tri}$)

如果我们把 $\gamma$ 设为无穷大( $\gamma \to +\infty$ ),根据 LogSumExp 的极限性质,公式变成了:

$ L_{tri} = \lim_{\gamma \to +\infty} \frac{1}{\gamma} L_{uni} = \max [ s_n^j - s_p^i ]_+ $

解读: 这正是 Triplet Loss 的核心逻辑(Hard Mining)!

这意味着:Triplet Loss 只是 Circle Loss 在 $\gamma$ 趋于无穷大时的极限情况。


3. 发现缺陷 —— 拒绝'死板'的优化

既然统一了江湖,为什么还需要 Circle Loss?

因为作者发现,之前的 CosFace/ArcFace 存在一个致命的'不够灵活'的问题。

3.1 什么是'不够灵活'?

在 $L_{uni}$ 中,我们是在优化 $(s_n - s_p)$。当我们对它求导时,梯度是常数(或者说是 1)。

这意味着什么?

  • 困难样本(分错了):模型用 1 的力度去推它。
  • 简单样本(分对了):模型依然用 1 的力度去推它。

这就好比老师辅导学生,对考 30 分的学生和考 99 分的学生布置一样的作业。这显然浪费了算力,且效率低下。

3.2 引入动态权重 ($L_{circle}$)

为了让模型懂得'因材施教',作者引入了动态权重 $\alpha$:

$ L_{circle} = \log \left[ 1 + \sum_{j=1}^L \exp(\gamma \alpha_n^j s_n^j) \cdot \sum_{i=1}^K \exp(-\gamma \alpha_p^i s_p^i) \right] $

其中,权重 $\alpha$ 的定义是'自我配速'(Self-paced):

$ \alpha_p^i = [O_p - s_p^i]+, \quad \alpha_n^j = [s_n^j - O_n]+ $

  • 机制详解:

如果样本简单( $s_p$ 接近目标 $O_p$ ), $\alpha_p$ 变小 $\rightarrow$ 几乎不练。

如果样本很难( $s_p$ 远小于目标 $O_p$ ), $\alpha_p$ 变大 $\rightarrow$ 加权猛练!

3.3 Circle Loss 最终形态

将动态权重 $\alpha$ 和 Margin 结合,我们就得到了最终公式:

$ L_{circle} = \log \left[ 1 + \sum_{j=1}^L \exp(\gamma \alpha_n (s_n - \Delta_n)) \cdot \sum_{i=1}^K \exp(-\gamma \alpha_p (s_p - \Delta_p)) \right] $


4. 几何解释 —— 为什么叫'Circle'?

这是论文最精彩的几何视角。

4.1 决策边界的演变

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

Softmax/CosFace: 优化目标是 $s_p - s_n = m$。在坐标系中,这是一条直线。

$ (s_n - \frac{O_n + \Delta_n}{2})^2 + (s_p - \frac{O_p + \Delta_p}{2})^2 = C $

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

$ (s_n - 0)^2 + (s_p - 1)^2 = 2m^2 $

4.2 圆形的意义

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

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


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

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

$ \frac{\partial L}{\partial s_n} \propto \alpha_n = (s_n - O_n) $

$ \frac{\partial L}{\partial s_p} \propto \alpha_p = (O_p - s_p) $

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

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

目录

  1. 引言:分类学习与度量学习的差异
  2. 派系一:基于分类的学习 (Classification-based)
  3. 派系二:基于度量的学习 (Metric Learning / Pairwise Learning)
  4. 为什么要提这个?(Circle Loss 的动机)
  5. 1. 万物归一 —— 统一视角 ($L_{uni}$)
  6. 1.1 统一 Loss 公式
  7. 1.2 计算量的“降维打击”
  8. 2. 证明 Softmax 和 Triplet 都是“特例”
  9. 2.1 退化为 Softmax ($L_{am}$)
  10. 2.2 退化为 Triplet ($L_{tri}$)
  11. 3. 发现缺陷 —— 拒绝“死板”的优化
  12. 3.1 什么是“不够灵活”?
  13. 3.2 引入动态权重 ($L_{circle}$)
  14. 3.3 Circle Loss 最终形态
  15. 4. 几何解释 —— 为什么叫“Circle”?
  16. 4.1 决策边界的演变
  17. 4.2 圆形的意义
  18. 5. 梯度验证 —— 数学上的实锤
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Comfy-Photoshop-SD 插件在 Photoshop 中运行 Stable Diffusion 指南
  • Web 开发与设计全流程实战指南
  • LLaMA-Factory 统一框架实现大模型高效微调
  • C++ 类的 6 个默认成员函数与运算符重载详解
  • Django Web 框架实战:从项目搭建到产品管理系统开发
  • 本地部署 Stable Diffusion 环境配置与避坑指南
  • 前端 API 设计最佳实践
  • Qwen3-VL 模型在 ComfyUI 中的本地部署指南
  • 数据结构:二叉树进阶——堆的实现与原理
  • Flutter for OpenHarmony 实战:通义万相 AIGC 联调与相册持久化
  • 渗透测试实战指南:核心流程与常见漏洞防御
  • 清华大学发布 SuperTac 仿生多模态触觉传感器,感知精度接近人类
  • 算法核心概念与复杂度入门
  • Java 后端 Web API 开发实战指南
  • 基于 Docker 部署 AI 量化分析平台及波浪理论应用
  • UE C++行为树实现AI敌人逻辑与第三人称角色源码
  • 两款开源 AI 工具解析:Antigravity Tools 与 Vibe Kanban
  • Spring Boot 集成数据仓库与 ETL 工具实战
  • 绿联 NAS 配置 WebDAV 公网访问并通过 RaiDrive 挂载
  • Czkawka/Krokiet:基于 Rust 的跨平台系统清理工具技术解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online