【论文阅读6】Center Loss:中心损失核心整理

🏗️ 论文《A Discriminative Feature Learning Approach for Deep Face Recognition》(通常被称为 Center Loss 论文)是人脸识别领域的经典之作。

目录

[🎯1. 核心动机:Softmax 够用吗?](#🎯1. 核心动机:Softmax 够用吗?)

[💡2. 神来之笔:Center Loss(中心损失)](#💡2. 神来之笔:Center Loss(中心损失))

[✨3. 联合训练:1 + 1 > 2](#✨3. 联合训练:1 + 1 > 2)

[📝4. 解决工程难题:如何更新"中心"?](#📝4. 解决工程难题:如何更新“中心”?)

[🚀 5. 总结](#🚀 5. 总结)


🎯1. 核心动机:Softmax 够用吗?

在普通物体分类(如猫狗分类)中,只要特征能被分开(Separable)就行了。但在人脸识别这种开集(Open-set)任务中,模型在测试时会遇到训练集里没有的新面孔 。

痛点 :传统的 Softmax Loss 只能让特征"分得开",但不能让同类特征"靠得紧" 。

结果:类内差异大,导致识别新面孔时效果不佳 。

目标 :我们需要的是类间分开、类内紧凑的"判别性特征"(Discriminative Features) 。


💡2. 神来之笔:Center Loss(中心损失)

为了让同类特征更紧凑,作者提出了 Center Loss 。

核心思想:为每一个类学习一个"中心点"(Center)。在训练过程中,模型不仅要分类正确,还要缩短每个样本特征与它所属类中心的距离 。公式如下:

简单来说,就是计算每个特征 到其类中心 的欧氏距离平方和 。


✨3. 联合训练:1 + 1 > 2

Center Loss 不能单独使用(否则所有特征都会变成0),必须与 Softmax Loss 结合 :

(Softmax):负责把不同类"推开" 。

(Center Loss):负责把同类"拉近" 。

:一个超参数,用来平衡这两者的力量 。


📝4. 解决工程难题:如何更新"中心"?

如果每次更新中心都要算全量数据,计算量太大 。作者给出了高效的方案:

基于 Mini-batch 更新:每轮迭代只计算当前 batch 里的中心位移 。

引入学习率 :防止个别错误标注的样本带偏中心点,让中心点的移动更平滑 。

【补充】学习率

如果你直接把类中心设为 batch 内特征的平均值,模型会变得非常不稳定。引入 是为了平滑地更新这些中心点。

1. 为什么要用 ?(直观理解)

想象你在操场上带一群学生跑操,你的目标是站到这群人的正中心。

  • 如果不加 (即 ):

    每一秒钟,只要有一个学生跑得稍微偏了一点,你就要立刻瞬间移动到新位置。如果某个 batch 里正好有几个"坏样本"(光照不好、遮挡严重的人脸),中心点 就会被带偏,产生剧烈抖动。

  • 如果加入 (如 ) :

    你每次只往新的中心位置迈一小步。这样,个别坏样本的影响就会被削弱,中心点的移动轨迹会变得非常平滑,代表的是该类别的长期统计特征,而不是短期波动。

2. 数学上的更新逻辑

在每一轮迭代中,类中心 c_j 的更新公式如下:

然后应用学习率 进行实际更新:

  • 分子 :当前 batch 中所有属于第 类样本与原中心点的距离和。

  • 分母:为了防止分母为 0(即当前 batch 没出现这一类),通常加个 1。

  • 的角色:控制更新的步长。

其中,公式中的:

梯度更新。对中心损失的公式求导!这个导数(梯度)代表了一个方向向量:

  • 方向 :从类中心 指向当前特征 的反方向(在梯度下降中,我们减去梯度,所以是向 靠近)。

  • 大小:样本距离中心越远,梯度越大,产生的"拉力"也就越强。

3. 取值的影响

  • 太大:类中心更新过快,容易受噪声(离群点)干扰,导致模型训练震荡,难以收敛。

  • 太小:类中心更新太慢,跟不上特征提取器(CNN)的变化速度,导致类内紧凑性的约束生效太迟。

  • 典型值 :论文推荐的默认值通常是 0.5。


🚀 5. 总结

  • 优点:

    • 简单易实现:不需要像 Triplet Loss 那样进行复杂的样本对(Pairs)或三元组(Triplets)采样,训练更稳定、更快 。
    • 效率高:对计算资源的消耗增加极小 。
  • 一句话总结:Center Loss 就像一个"引力场",通过给每一类设定一个中心,强行压缩了类内空间,为人脸识别提供了更具鲁棒性的特征表示 。

相关推荐
在所不辞兄3 分钟前
【零基础学智能仿真-42】二维随机有限元实战——把随机材料场赋给网格单元
人工智能·深度学习·算法·机器学习·工程仿真
hhzz14 小时前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
Rocky Ding*15 小时前
深入浅出完整解析FLUX.2、Seedream(即梦)、Z-image、Qwen-Image、GLM-Image核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·扩散模型·ai-native
小明科普16 小时前
酷狗 kgg 转 MP3 踩坑:别再把歌词文件当歌转了
深度学习
凡达Ai派18 小时前
AI画布交付文件总是混在一起?用源文件、预览图和发布图三层目录分开管理
图像处理·深度学习·神经网络·自然语言处理·知识图谱
薛定e的猫咪19 小时前
(AISTATS 2023)BaCaDI 逐章阅读
人工智能·深度学习·算法·机器学习
凡达Ai派19 小时前
AI画布里的文字总是错位或乱码?把生成、排版和校对拆成三段
图像处理·人工智能·深度学习·神经网络·自然语言处理·知识图谱
数聚天成DeepSData21 小时前
OPUS 不是一份统一许可证的语料:子语料许可如何逐项管理?
人工智能·深度学习·机器学习·数据集·deepsdata
迷路爸爸1801 天前
梯度消失和梯度爆炸
人工智能·深度学习·机器学习
AI人工智能+1 天前
医疗机构执业许可证识别技术融合计算机视觉、OCR与大模型,实现手机拍照或上传文件后自动提取证书关键字段信息
深度学习·自然语言处理·ocr·医疗机构执业许可证识别