【损失函数】Contrastive Loss, Triplet Loss and Center Loss

本文详细介绍了深度学习中三种重要的损失函数:对比损失、三元组损失和中心损失。对比损失通过孪生网络处理成对数据,旨在增大类间差异;三元组损失引入了正负样本的概念,优化了特征表示,使相同标签的特征靠近,不同标签的特征远离;中心损失则为每个类别提供一个中心点,缩小类内距离,增强判别能力。这些损失函数在人脸识别等任务中起到关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 损失函数

Contrastive Loss [1]:

来源:Yann LeCun论文:Dimensionality Reduction by Learning an Invariant Mapping
目的:增大分类器的类间差异

Triplet Loss [2]:

来源: FaceNet: A Unified Embedding for Face Recognition and Clustering
目的:对Contrastive Loss的改进

Center Loss[3]:

来源:A Discriminative Feature Learning Approach for Deep Face Recognition
目的:解决三元组数据激增导致的网络收敛缓慢

2. 问题引入:

假设我们有2张人脸图片,需要判断这两张人脸图片是不是对应于同一个人,一般情况下如何解决?
一种简单直接的思路就是提取图片的特征,然后对比两个特征向量的相似度。但这种简单做法存在一个明显问题,就是CNN提取的特征“类间”区分性真的有那么好吗?
用SoftMas损失函数训练出的分类模型在Minst测试集上就表现出“类间”区分边缘不大的问题,使得遭受对抗样本攻击的时候很容易分类失败。况且人脸识别需要考虑到样本的类别以及数量都非常多,这无疑使得直接用特征向量来对比更加的困难。

3. Contrastive Loss:对比损失

3.1 本质

原本主要用于降维,即本来相似的样本经过降维(特征提取)后,两个样本仍旧相似;而原本不想死的样本,经过降维后,两个样本人就不想死。

针对上面问题,提出了孪生网络,结构如下:
在这里插入图片描述

3.2 定义

Contrastive Loss 可以有效的处理孪生网络中的成对数据关系。
在这里插入图片描述
在这里插入图片描述
● W是网络权重,X是样本,Y是成对标签。
● 如果X1与X2这对样本属于同一类则Y=0,否则Y=1。
● Dw是X1与X2在潜变量空间的欧几里得距离。
● 当Y=0,调整参数最小化X1与X2之间的距离
● 当Y=1,当X1与X2间距大于m,则不做优化。当X1与X2间距大于m,则增大两者距离到m。

其实有些像Modified Huber Loss(结合了MSE与Hinge Loss)

下图展示了损失函数L和样本特征的欧氏距离的关系,红线表示相似样本的损失值,而蓝色则是不相似样本的损失值。

梯度更新
使用随机梯度下降来更新w,以得到较小loss,更好表达成对样本的匹配程度。计算loss梯度的公式如下:

  • Y=0, 两个样本相似时,梯度为
    在这里插入图片描述
  • Y=1, 两个样本不相似时,梯度为
    在这里插入图片描述

3.3 含义

可解释为:弹簧在收缩到一定程度的时候因为受到斥力的原因会恢复到原始长度。
弹簧模型公式:F=

  • a 相似是吸引力,蓝点与只吸引弹簧连接到相似的点
  • b 与相似对关联的损失函数及梯度
  • c 不相似是弹射力,蓝点仅与半径为m的圆内的非相似点用m-repulse-only弹簧连接
  • d 与非相似对关联的损失函数及梯度
  • e 一个点被不同方向的其他点拉动,形成平衡的情况
    在这里插入图片描述

4. Triplet Loss:三元组损失

4.1本质

能够更好地对细节进行建模,相当于加入了两个输入差异性差异的度量,学习到输入的更好表示。

4.2 定义

  • 最小化 锚点 和具有相同身份的正样本之间的距离
  • 最小化 锚点 和 具有不同身份的负样本之间的距离

4.3 目标

  • 相同标签的特征 在空间位置上尽量靠近
  • 不同标签的特征 在哦空间位置上尽量远离
  • 为了不让样本的特征聚合到一个非常小的空间中,要求同一类:2正例+1个负例,且负例应比正例的距离>=margin.
    在这里插入图片描述

4.4 公式

在这里插入图片描述
在这里插入图片描述

其中, α \alpha α就是 m a r g i n margin margin T T T就是样本数为 N N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值