CenterLoss原理详解(通透)

这篇具有很好参考价值的文章主要介绍了CenterLoss原理详解(通透)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(一)CenterLoss研究背景和意义

1.1、Research background

1.人脸识别规模大,尤其集外的样本不仅需要特征separable(可分离的),更加需要separable(可分离的)。

问题一:separable(可分离的)和separable(可分离的)这两个词怎么理解?

首先我们看一张图片(绿色框中的两个部分):
CenterLoss原理详解(通透)
先记住这两个图形样式的区别,后面自然就懂了。(区别就是人脸识别的Loss Function 不同于CNN中图像分类的Loss Function。在作者论文的Introduction做了详细的介绍。下面我会细讲。)

2.之前的方法在训练数据处理上面相当复杂(例如FaceNet中的Triplets Loss,并且Triplets Loss显著增加了计算的复杂度,使训练过程变得不方便。)

3、之前的主要方法:

1.基于pair的contractive loss, Deepid2
2.基于facenet的Triplet loss的方法

缺陷:

1.训练数据的选取复杂度太高
2.也不能用到明确的类别信息

1.2、研究成果以及意义

1.使得训练出来的特征对于同一个类别来讲更加紧致
2.使得训练更加简单方便,尤其输入训练数据这一块
3.能用到每一个类别的信息,信息丢失很少

(二)论文精度

2.1、Abstract

摘要核心
  1. 在此之前大部分分类还是基于softmax的准则
  2. 提出center loss,以及其作用:每个类别的样本距离其中间很近
  3. Softmax + center loss联合训练,容易优化
  4. 取得很好的性能

2.2、Introduction

  1. 很多任务都是Close-Set Identification,比如分类网络就ok,只用Separable的特征就能解决。
问题二:Close-Set Identification是什么意思?

答:Close-Set Identification:字面意思闭集合分类。比如我们的大部分图像分类就是Close-Set Identification,就是检测出的结果必须包含在训练数据集的种类中,比如ImageNet数据集,我们检测的图形中的目标类别必须包含在ImageNet数据集的1000个种类中。

  1. 人脸识别任务不是close-set identfication的,需要足够强的泛化能力去解决集外的人脸,这就需要人脸特征discriminative

作者论文中的原话:在人脸识别任务中,深度学习的特征不仅需要可分离,而且需要具有辨别性。由于预先收集所有可能的测试身份以进行训练是不切实际的,因此在cnn中的标签预测并不总是适用的。深度学习的特征需要具有足够的区别和普遍性,才能识别没有标签预测的新的不可见类。

  1. 构建discriminative的loss训练很难,包括之前讲的triplet loss,在数据处理很复杂.
  2. 提出center loss:

意义:
efficiently enhance the discriminative power of the deeply learned features in neural networks

(三)LossFounction

3.1、Softmax 与 CenterLoss 输出的区别

对于常见的图像分类问题,我们常常用softmax loss来求损失。如果你的损失采用softmax loss,那么最后各个类别学出来的特征分布大概如下图Fig2。这个图是以MNISTt数据集做的实验,一共10个类别,用不同的颜色表示。从Fig2可以看出不管是训练数据集还是测试数据集,都能看出比较清晰的类别界限。CenterLoss原理详解(通透)
Center Loss是通过将特征和特征中心的距离和softmax loss一同作为损失函数,使得类内距离更小,有点L1,L2正则化的意思。最关键是在训练时要使用2个Loss函数:Softmax Loss + lamda * Center Loss:
CenterLoss原理详解(通透)

3.2、SoftMax Loss

这篇文章对Softmax vs. Softmax-Loss: Numerical Stability写的超好,可以进一步加深理解。

The softmax loss function ispresented as follows:
CenterLoss原理详解(通透)
x i ∈ R d x_i\in R^d xiRd表示属于 y i y_i yi类( y y y指输出, i i i y y y的第 i i i行,即第 i i i个类别。)的第 i i i层的深层特征。;
d d d指特征维度;
W j ∈ R d W_j \in R^d WjRd表示最后一个全连接层中权重 W ∈ R d × n W \in R^{d \times n} WRd×n的第 j j j列;
b b b 偏置,不用多说了;
m m mThe size of mini-batch(Batch Size);
n n nThe number of class;

上面的这些参数可以结合下图理解奥

CenterLoss原理详解(通透)
CenterLoss原理详解(通透)

The resulting 2-D deep features如下图所示

这里The resulting 2-D deep features指:最后的全连接层设置为2(二分类)如下图所示。CenterLoss原理详解(通透)

由于最后一个完全连接的层就像一个线性分类器,所以不同类的深度特征通过决策边界(就是超平面)来区分。
CenterLoss原理详解(通透)
所以我们得出结论:

(1)在softmax loss的监督下,深入学习的特征是可分离的
(2)深度特征没有足够的辨别力,因为它们仍然显示出显著的类内变化。因此,不适合直接使用这些特征进行识别。

3.3、CenterLoss

CenterLoss公式如下:该公式有效地描述表征类内变化(the intra-class variations)。
CenterLoss原理详解(通透)
c y i ∈ R d c_{y_i}\in R^d cyiRd代表类别为 y i y_i yi的所有feature的中心。具体来说即在训练过程中对每个类别在minibatch尺度上统计出该类别feature的中心,希望所有feature离中心的距离都尽量小。

Center Loss不能直接使用的原因?

答:

c y i c_{y_i} cyi会随着深层特征的改变而更新。换句话说,我们需要考虑到整个训练集,并在每次迭代中平均每个类的特征,这是低效的,甚至是不切实际的。因此,Center Loss不能直接使用。这可能是这种Center Loss直到现在从未使用于CNN中的原因。

如何解决Center Loss不能直接使用。

答:

1、我们不是针对整个训练集更新中心,而是基于小批量进行更新。在每次迭代中,中心是通过平均相应类的特征来计算的(在这种情况下,一些中心可能不会更新)。
2、为了避免由于少数错误标记的样本而引起的大扰动,我们使用标量 α \alpha α来控制中心的学习率。
CenterLoss原理详解(通透)
上图中:公式(3)是Center Loss基于 x i x_i xi计算的梯度。
公式(4)中 δ ( c o n d i t i o n ) δ(condition) δ(condition) 非0即1,指当 y i y_i yi的类别与 c j c_j cj的类别不一样时, c j c_j cj是不进行更新的。含义是类别中心的更新距离方式,具体来说就是对于每个类别 j j j,将j类别中心减去每个 j j j类别feature中心的值取平均,以此作为类别中心更新的步进值。

3.3、基于上述center loss的特征学习算法

结合Center Loss输出的内类聚合结果图

CenterLoss原理详解(通透)

(四)推导反向传播的全过程

下图是论文中给出的更新过程:

CenterLoss原理详解(通透)

本人详细推导更新的完整过程

CenterLoss原理详解(通透)CenterLoss原理详解(通透)文章来源地址https://www.toymoban.com/news/detail-446298.html

到了这里,关于CenterLoss原理详解(通透)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JDK8 新特性 Stream API 进阶 (结合案例详解--通透--讲清)

    👳我亲爱的各位大佬们好😘😘😘 ♨️ 本篇文章记录的为 JDK8 新特性 Stream API 进阶 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 ♨️ 如果文章有什么需要改进的地方还请大佬不吝赐教❤️🧡💛 👨‍🔧 个人主页 : 阿千弟 🔥

    2024年02月06日
    浏览(40)
  • 区块链技术研究综述:原理、进展与应用

    来源:区块链技术研究综述:原理、进展与应用     期刊:通信学报。 #blockchain 相当于对区块链先进行一个系统的了解吧                                                  区块链的层次化技术结构。 #未解决的问题 上述文 献虽 然归纳得较为完整,

    2024年02月13日
    浏览(39)
  • Hantek 5000系列示波器原理图研究

    Hantek 5000系列是Hantek(汉泰)2010年左右推出的入门型号示波器,最高采样率1GSa/s,带宽200M。2010年的时候,EEVblog论坛的大佬tinhead给出了该系列示波器的详细原理图(下载),图的可读性非常不错,是极好的学习材料。本文对这套原理图进行简要分析。水平有限,难免有错误,

    2024年02月05日
    浏览(42)
  • 简要介绍 | 心脏机械-电耦合理论:原理、研究现状与未来展望

    注1:本文系“简要介绍”系列之一,仅从概念上对心脏机械-电耦合理论进行非常简要的介绍,不适合用于深入和详细的了解。 心脏中精密的血流局部调控机制:electro-metabolic signaling(电-代谢通路) - 知乎 心脏是人体最重要的器官之一,负责将血液输送到全身各个组织和器

    2024年02月16日
    浏览(52)
  • 晶体热学性能研究的方法:第一性原理声子谱计算

    晶体热学性能研究的方法:第一性原理声子谱计算 第一性原理声子谱计算是一种基于量子力学的计算方法,用于研究物质中声子的性质和行为。声子是晶体中的量子态,它描述了晶体中原子振动的性质。声子谱计算可以提供关于晶体结构、热力学性质、相变等方面的重要信息

    2024年02月08日
    浏览(35)
  • 研究性学习专题 3_LL(1)语法分析设计原理与实现

    实现 LL(1)分析中控制程序(表驱动程序);完成以下描述赋值语句的 LL(1)文法的 LL(1)分析过程。重点 LL(1)分析方法和 LL(1)分析器的实现。G[S]: S→ V=E E→ TE’ E’→ ATE’ | e T→ FT’ T’→ MFT’ | E F→ (E) | i A→ + | - M→ * | / V→ i 设计说明:终结符号 i 为用户定义的简单变量,即

    2024年02月03日
    浏览(45)
  • 傅立叶之美:深入研究傅里叶分析背后的原理和数学

            T傅里叶级数及其伴随的推导是数学 在现实世界 中最 迷人的 应用 之一。我一直主张通过理解数学来理解我们周围的世界。 从使用线性代数设计神经网络,从混沌理论理解 太阳系 ,到弦理论理解 宇宙的基本组成部分 ,数学无处不在。         当然,这些是

    2024年04月12日
    浏览(40)
  • 智能手机中图像处理的原理解析及 RGB 数值变化规律研究

    图像处理是一种利用计算机算法对数字图像进行处理的技术。数字图像是由像素组成的二维矩阵,每个像素包含了颜色和亮度信息,图像处理就是通过对这些像素进行各种算法操作,改变其颜色、亮度、对比度、清晰度等属性,以及进行滤波、边缘检测、目标识别等操作,使

    2024年02月12日
    浏览(37)
  • Floyd 算法研究(P 矩阵详解)

    理论基础 求最短路径Floyd算法! Floyed(floyd)算法详解 Floyd-傻子也能看懂的弗洛伊德算法 最短路径Floyd算法【图文详解】 最短路径问题—Floyd算法详解 算法:最短路径之弗洛伊德(Floyd)算法 弗洛伊德(Floyd)算法求图的最短路径 《基于优化Floyd算法的室内机器人路径规划研

    2024年02月03日
    浏览(30)
  • AIGC原理:扩散模型diffusion综述一:面向视觉计算的扩散模型研究进展

    论文地址:State of the Art on Diffusion Models for Visual Computing 👉 贴一幅SGM(Score-based Generative Model)的原因是宋飏博士将他2019年提出的SMLD模型和2020年Jonathan Ho提出的DDPM采用SDE进行一统这两大极为相似的生成式模型。殊途同归,基于概率的扩散模型DDPM和基于分数的扩散模型SMLD都是

    2024年02月05日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包