大白话讲解三元组triplet损失函数及源码(FaceNet)

大白话讲解三元组triplet损失函数及源码(FaceNet)

对于Facenet进行人脸特征提取,算法内容较为核心和比较难以理解的地方在于三元损失函数Triplet-loss。此损失函数原理比较简单,但是如何实施及操作就有点难以理解,本篇博客希望能够以大白话讲解此损失函数,使得刚接触此损失函数的人能够更好的理解。


  • 首先我们需要明确一下几点:
    (1)在深度学习训练中,我们需要尽可能的学习训练难样本,也即hard,为什么需要尽可能学习这些呢?首先这些是对损失影响比较大,如果我们学习了很多对损失函数影响比较小的样本其实效果不太好也浪费资源,比如在正负样本不均衡时,负样本很多,如果一直学习负样本的话,训练起来对损失影响比较小,所以我们会采取一些措施,比如何大神的focal loss 或者对正负样本sample。此外类似于支持向量机,我们不仅要把正负样例分开还要把最难分的样例分开。在此三元组损函数中的hard也即这个意思。
    (2)作者的三元组样例是在mini_batch中找的。
  • triplet-loss(三元组损失函数)的思想非常简单:通过学习使得类别内部的样本距离小于不同类别样本的距离即可。具体效果即为下图所示:
    在这里插入图片描述
  • 数学表示式是什么?
    在这里插入图片描述
    进一步的损失函数变为如下:
  • 13
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值