文章目录

  • 前言
  • 原理
  • 总结

前言

Triplet loss最初是在 FaceNet: A Unified Embedding for Face Recognition and Clustering 论文中提出的,可以学到较好的人脸的embedding
为什么不适用 softmax函数呢,softmax最终的类别数是确定的,而Triplet loss学到的是一个好的embedding,相似的图像在embedding空间里是相近的,可以判断是否是同一个人脸。


原理

输入是一个三元组 <a, p, n>
a: anchor
p: positive, 与 a 是同一类别的样本
n: negative, 与 a 是不同类别的样本

如图就是一个三元组
A和P之间的距离:
A和N之间的距离:

我们要做的是让A和P之间的距离远小于A和N之间的距离,即:

但是,我们发现,当所有图片向量都取0时,这个loss函数是永远成立的,所有我们引入一个超参数α,也称margin,经过左右变换后,最终的loss函数为:
即:最终的优化目标是拉近 a, p 的距离, 拉远 a, n 的距离。

所有,我们必须保证在数据集中同一人的照片存在多张,才能训练以triplet作为损失函数的网络模型。那么如何选取合适的三元组呢?
显然,我们可以随机选取,但是这会让(A,P)和(A,N)之间的距离差很容易就变的很大。因为天然a, p的距离很近, a, n的距离远。
所以,我们在选取三元组时,要尽可能选取难区分的三元组:


总结

这些参数的训练往往需要大规模的规范数据集,所有自己从头实现是不现实也不可靠的,幸运的是,网上有著名企业和机构训练好的公开的网络模型。我们可以通过迁移学习下载别人训练好的参数做预训练模型。

Triplet Loss相关推荐

  1. 一文理解Ranking Loss/Margin Loss/Triplet Loss

    点击蓝字  关注我们 作者丨土豆@知乎 来源丨https://zhuanlan.zhihu.com/p/158853633 本文已获授权,未经作者许可,不得二次转载. 前言 Ranking loss在 ...

  2. 三元组损失 Triplet Loss及其梯度

    Triplet Loss及其梯度 Triplet Loss及其梯度_jcjx0315的博客-CSDN博客 Triplet Loss简介 我这里将Triplet Loss翻译为三元组损失,其中的三元也就 ...

  3. Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function

    作者:西安交大的De Cheng, Yihong Gong, Sanping Zhou, Jinjun Wang, Nanning Zheng 主要贡献: 贡献有两个,一个是改进的网络结构,一个是改进 ...

  4. 机器学习笔记:triplet loss

    1 Triplet loss Triplet Loss,即三元组损失,其中的三元是Anchor.Negative.Positive. 通过Triplet Loss的学习后使得Positive元和Anc ...

  5. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  6. triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?

    作者:罗浩.ZJU 链接:https://www.zhihu.com/question/62486208/answer/199117070 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非 ...

  7. 车辆搜索 -使用triplet loss 训练车辆识别模型

    最近读了LEARNING A REPRESSION NETWORK FOR PRECISE VEHICLE SEARCH 论文,将从中所了解的信息在此记录下来. 背景及模型介绍 此论文主要是讨论车辆的 ...

  8. 三元组损失(Triplet loss)

    来源:Coursera吴恩达深度学习课程 在人脸识别中,我们希望学习"输入两张人脸图片,然后输出相似度"的函数d,然后Siamese 网络(Siamese network)实现了这 ...

  9. 论文阅读——TR-GAN: Topology Ranking GAN with Triplet Loss for Retinal Artery/Vein Classification

    论文阅读--TR-GAN: Topology Ranking GAN with Triplet Loss for Retinal Artery/Vein Classification 基于对抗神经网络 ...

  10. Re-ID with Triplet Loss

    一篇讲Person Re-ID的论文,与人脸识别(认证)有很多相通的地方. 文章链接: <In Defense of the Triplet Loss for Person Re-Identif ...

最新文章

  1. 装服务器得时候选择系统版本,云服务器选择系统版本
  2. python json模块的内部实现_python – 如何使用JSON模块进行漂亮打印时实现自定义缩进?...
  3. python降级pip_1.2 pip降级selenium3.0
  4. Leetcode题库 145.二叉树的后序遍历(递归 C实现)
  5. 如何读懂并写出装逼的函数式代码 1
  6. (48)FPGA面试技能提升篇(数字采样、射频存储、频谱搬移)
  7. 端午小长假全国接待游客4880万人次,客流同比恢复5成
  8. sqlserver 没有维护计划_设定数据库备份计划,安全放心不怕事!
  9. dolphin.php 视频,DolphinPHP V1.0.4发布
  10. Python unittest discover()方法与执行顺序补充
  11. 中级计算机软件师考试试题,计算机水平考试-(a)中级软件设计师下午试题模拟64.doc...
  12. SAP 采购合同案例教程金额合同前台
  13. 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
  14. CPU平均负载过高检查(iowait负载高)
  15. 连接数据库时出错 : The server time zone value is unrecognized or represents more than one time z
  16. php手机打开pdf文件怎么打开,PDF文件怎么打开?手机打开PDF及编辑的技巧
  17. 全球顶级的14位程序员!膜拜!
  18. COM Interop
  19. JQuery 模糊匹配(JQuery 选择器模糊匹配、选择指定属性是以给定字符串开始的元素 )
  20. 学NLP的人跑去CVPR投稿!中了顶会一作,还是一位本科生...

热门文章

  1. Swift数据类型简介
  2. 基于OHCI的USB主机 —— UFI命令概述
  3. 话里话外:个体时间管理的二三事
  4. 遭遇爆炸式匿名*** 瑞星称有人下黑手
  5. app首次进入的时候,新手操作进行提醒操作
  6. Ajax学习笔记-客户端模板引擎-9
  7. 安装MongoDB时弹窗错误,使用时无法启动服务器
  8. 让计算机u盘启动,如何让vmware用u盘启动
  9. 用计算机模拟实验技术路线,自然科学基金申请书模板
  10. angler前端框架_Google前端框架AngularJS创始人Misko Hevery专访