【论文阅读8】Constrained Center Loss:给特征中心加个“紧箍咒”与解析解更新

🏗️ 论文题目:《Constrained Center Loss for Convolutional Neural Networks》

目录

[前言:Center Loss 的"自由散漫"](#前言:Center Loss 的“自由散漫”)

[🎯一、 给中心立规矩:球面约束定义](#🎯一、 给中心立规矩:球面约束定义)

[1. 核心优化目标](#1. 核心优化目标)

[💡二、 告别 SGD:中心更新的"一步到位"](#💡二、 告别 SGD:中心更新的“一步到位”)

[2. 解析更新公式 (Analytical Solution)](#2. 解析更新公式 (Analytical Solution))

[✨三、 理论升华:分类权重就是类中心](#✨三、 理论升华:分类权重就是类中心)

[3. 权重与中心的对偶性](#3. 权重与中心的对偶性)

[📝四、 终极形态:去掉分类层的联合训练](#📝四、 终极形态:去掉分类层的联合训练)

[4. 统一损失函数 (Unified Objective) => 就是论文中提到的SCCL](#4. 统一损失函数 (Unified Objective) => 就是论文中提到的SCCL)

[🚀五、 总结](#🚀五、 总结)


前言:Center Loss 的"自由散漫"

在人脸识别领域,Center Loss 是一个里程碑。它通过拉近同类样本与类中心(Center)的距离,让特征更紧凑。

但在实际训练中,Center Loss 有两个让人头疼的"臭毛病":

  1. 中心乱跑 :类中心 没有约束,模长(Norm)忽大忽小,导致特征空间尺度不统一。

  2. 更新太慢 :中心点需要通过 SGD(梯度下降)一点点挪动,还得多调一个学习率参数

今天我们要讲的 Constrained Center Loss (CCL),就是为了解决这两个问题而生的。它给中心点戴上了一个"紧箍咒",并用一套"解析解"瞬间算出最优中心。


🎯一、 给中心立规矩:球面约束定义

为了防止特征中心在空间中无限发散,CCL 首先做了一件事:制定规则

它不再允许类中心出现在空间的任意位置,而是强制要求它们必须落在一个半径为 的超球面上

1. 核心优化目标

  • :我们要训练的图像特征。

  • :图像所属类别的中心。

  • s.t. :这就是"紧箍咒"。它规定:无论怎么优化,所有类中心的长度必须严格等于

小贴士:中心不就是个点吗,哪来的长度?

很多同学可能会困惑:中心 c 不就是空间里的一个坐标点吗?

其实,在特征空间中,每一个点都可以看作是从原点出发的一个向量(Vector)

  • 当我们说"中心的长度"时,指的就是这个点距离原点有多远(即向量的 L2 范数)。

  • Constrained Center Loss 的精髓就在于:它不再在一个平坦的操场上随便插旗子(找中心),而是强制把所有旗子插在一个固定半径的圆环上。这样,所有的中心"地位平等",模型学习起来更加公平、高效。


💡二、 告别 SGD:中心更新的"一步到位"

这是 CCL 最精彩的部分:

传统的 Center Loss 像个盲人,通过梯度下降一点点摸索中心的位置。而 CCL 利用数学推导,直接算出了满足上述约束的最优解

2. 解析更新公式 (Analytical Solution)

这个公式通俗怎么理解?

不需要迭代,不需要学习率,找中心只需三步走:

  1. 求和 (分子):把当前 Batch 里所有属于第 类的样本特征 加起来,得到一个总方向。

  2. 归一化(分母):除以这个总向量的长度,把它变成单位向量(只保留方向)。

  3. 缩放 (乘 ):把它拉长到半径 ,钉在球面上。

:这种更新方式极度稳定,因为它利用了 Batch 内的全局信息,而不是局部梯度的盲目指引。

【补充】:

1. 是什么?

别被这个希腊字母吓到了,它在编程里其实就是一句简单的 if 判断

  • :我们当前正在计算的那个类别(比如我们在算"猫"这一类的中心)。

  • :第 张图片的真实标签(比如这张图是"狗")。

它的逻辑是:

  • 如果 (我们要算的类 == 这张图的类),结果就是 1

  • 如果 (不是同一类),结果就是 0

2. 放在公式里起什么作用?

让我们回到 CCL 的中心更新公式:

它的作用是"过滤":

公式里的求和符号 是要把这一个 Batch 里所有的 张图都过一遍。

但是,我们算"猫"的中心时,不能把"狗"的特征加进来啊!

所以 就起作用了:

  • 遇到"猫"的图,,特征 被保留,加进总和里。

  • 遇到"狗"的图,,特征 ,直接被"消音",不参与计算。

一句话总结给读者:

"这个符号保证了我们在计算第 k 类的中心时,只累加属于第 类的样本,自动忽略其他类别的干扰。"

通过上述内容:CCL的损失函数可以表示为:


✨三、 理论升华:分类权重就是类中心

在传统网络中,我们有一个全连接分类层(权重 ),还有一个 Center Loss 维护的中心 。大家通常觉得它们是两码事。

但在 CCL 的框架下,作者推导出了一个惊人的结论:

3. 权重与中心的对偶性

这个公式揭示了人脸识别的本质:

  • :分类器的权重向量。

  • :归一化后的类中心(单位向量)。

结论: 分类器的权重 ,本质上就是指向类中心 的方向向量!

这完美统一了"分类"(寻找决策边界)和"聚类"(寻找特征中心)这两个任务。


📝四、 终极形态:去掉分类层的联合训练

既然 就是 那我们为什么还需要单独保存一份全连接层参数 呢?

直接把 扔掉,用中心 来代替!

作者将 代入原始的 Softmax 公式,得到了 CCL 的最终总损失函数

4. 统一损失函数 (Unified Objective) => 就是论文中提到的SCCL

基于中心的分类损失 CCL聚类损失

深度解析:

  • 左半部分(分类)

    • 原本的 变成了

    • 这意味着我们直接用"特征与中心的余弦相似度"来做分类概率计算。

    • 在这里充当了类似 Temperature 的缩放因子。

  • 右半部分(聚类)

    • 显式地拉近特征与中心的欧氏距离。
  • 整体效果

    • 模型一边通过 Softmax 学习如何把不同类的中心推开(让方向更准);

    • 一边通过 CCL 把同类的特征往中心拉(让分布更紧)。


🚀五、 总结

Constrained Center Loss (CCL) 并不是简单的"Center Loss + 约束",它是一次底层逻辑的重构

  1. 几何上 :通过 ,把战场从无限的欧氏空间转移到了单位超球面上。

  2. 优化上 :用解析解公式取代了 SGD,解决了中心更新难的问题。

  3. 架构上 :证明了 的等价性,简化了网络结构,实现了分类与聚类的大一统

相关推荐
九.九9 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见9 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
偷吃的耗子10 小时前
【CNN算法理解】:三、AlexNet 训练模块(附代码)
深度学习·算法·cnn
Faker66363aaa11 小时前
【深度学习】YOLO11-BiFPN多肉植物检测分类模型,从0到1实现植物识别系统,附完整代码与教程_1
人工智能·深度学习·分类
【赫兹威客】浩哥12 小时前
无人机视角军事目标细分类检测数据集及多YOLO版本训练验证
yolo·分类·无人机
大江东去浪淘尽千古风流人物14 小时前
【SLAM】Hydra-Foundations 层次化空间感知:机器人如何像人类一样理解3D环境
深度学习·算法·3d·机器人·概率论·slam
小刘的大模型笔记14 小时前
大模型微调参数设置 —— 从入门到精通的调参指南
人工智能·深度学习·机器学习
LaughingZhu14 小时前
Product Hunt 每日热榜 | 2026-02-10
人工智能·经验分享·深度学习·神经网络·产品运营
千里马也想飞15 小时前
公共管理新题解:信息化条件下文化治理类论文,如何用AI把“大空题目”做成“落地案例库”?(附三级提纲+指令包)
人工智能·深度学习·机器学习·论文笔记
软件算法开发15 小时前
基于鲸鱼优化的LSTM深度学习网络模型(WOA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·lstm·鲸鱼优化·一维时间序列预测·woa-lstm