Contrastive Triplet Center Loss

news2024/12/23 23:06:28

Contrastive Loss

background:
最直接的想法是我们假设存在一个损失函数,它满足如下的基本准则

  1. 近似样本之间的距离越小越好
  2. 不似样本之间的距离越大越好

相似样本的坐标被放的越来越远,不似样本之间的距离越来越大,但训练的目标却仿佛永远无法达到 … 这是因为训练目标没有边界。

  • 所以提出了,对比损失

在这里插入图片描述

  • 核心含义:同类的样本要更近,不同类的样本要更远
    • 正样本不用管,把负样本分开就行,最小化损失函数就是最大化决策边界和负样本的距离
      m。
    • 近似样本之间的距离越小越好;不似样本之间的距离如果小于m,则通过互斥使其距离接近
      在这里插入图片描述

如图所示,同类的点会被压缩收缩,边界区域内有不同类的点会被互斥到边界区域

在这里插入图片描述
论文:http://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf


Triplet Loss

Triplet Loss是一种用于训练深度学习中的Siamese网络或者三元组网络的损失函数。它的目标是使同一类别的样本之间的距离尽可能小,不同类别之间的距离尽可能大。

在这里插入图片描述

  • 有一个中间标志物,来计算距离

具体地,对于一个三元组(anchor,positive,negative),其中anchor是一个样本,positive是同一类别的样本,negative是不同类别的样本。

  • Triplet Loss的计算方式是:L = max(d(a, p) - d(a, n) + margin, 0)

其中,d(a, p)表示anchor和positive之间的距离,d(a, n)表示anchor和negative之间的距离,margin是一个预先设定的常数,用于控制不同类别之间的距离。

Triplet Loss的目标是使同一类别的样本之间的距离尽可能小,不同类别之间的距离尽可能大。

  • 如果anchor和positive之间的距离小于anchor和negative之间的距离加上margin,那么这个三元组就是有效的,损失函数的值为0。
  • 如果anchor和positive之间的距离大于anchor和negative之间的距离加上margin,那么这个三元组就是无效的,损失函数的值为d(a, p) - d(a, n) + margin。

在训练过程中,我们需要从样本集中选择大量的三元组,然后通过最小化所有有效三元组的损失函数来更新模型参数,从而使模型学习到更好的特征表示。

在这里插入图片描述

  • 敏感度低,不能限制单个样本,也就是一定会有样本分错
  • 算损失,首先要在全部训练集上构造二元/三元组的开销很大

Center Loss

Center Loss是一种用于人脸识别、目标检测等任务中的监督学习方法。

  • 它的原理是在深度神经网络的训练过程中,通过对每个类别的中心进行约束,来增强特征的判别能力。
    在这里插入图片描述
    在这里插入图片描述

具体来说,Center Loss会为每个类别维护一个中心向量,该向量的维度与特征向量的维度相同。在训练过程中,对于每个样本,它的特征向量会被送入网络进行前向传播,在最后一层得到一个特征向量。然后,该特征向量会被用来更新该样本所属类别的中心向量。

  • Center Loss的目标是最小化每个样本的特征向量与其所属类别的中心向量之间的欧几里得距离。

这个距离可以被看作是样本与其所属类别的“距离”,Center Loss的优化目标就是让同一类别的样本的特征向量更接近其中心向量,不同类别的样本的特征向量则更远离彼此的中心向量。

通过这种方式,Center Loss可以使得特征向量更好地区分不同的类别,从而提高分类的准确性。同时,由于中心向量是在训练过程中动态更新的,所以Center Loss也具有一定的适应性,可以应对数据分布的变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

V神透露以太坊发展规划 未来十年,zkS将与区块链一样重要

作为加密世界,除中本聪外颇为“传奇”的人物,以太坊联合创始人V神眼光向来毒辣,在加密领域、区块链产业取得诸多“卓著”成绩。 在近期举行的EDCON 2023盛会上,V神透露了以太坊2.0的最新进展和未来规划,以及他对以太坊…

MySQL之索引初步

1. 索引概念 数据库是⽤来存储数据,在互联⽹应⽤中数据库中存储的数据可能会很多(⼤数据), 数据表中数据的查询速度会随着数据量的增⻓而逐渐变慢 ,从⽽导致响应⽤户请求的速度变慢——⽤户体验差,我们如何提⾼数据库的查询效率呢…

射频电容物位开关电容传感器的分类与应用

​射频电容物位开关电容传感器是一种常见的物位检测装置,广泛应用于粉状物料、液体、颗粒物料等不同类型的物料的检测和控制。本文将对射频电容物位开关电容传感器的分类和应用进行详细介绍。 一、射频电容物位开关电容传感器的工作原理 射频电容物位开关电容传感…

perl 通过 swig 调用 c++代码

Swig 是一个软件开发工具,可以简化不同语言与 C/C 的交互(直接在其它语言的代码中调用 C/C 的代码)。   记录一下成功用 perl 调用 c 代码的例子。 环境 操作系统:centos 7.9 perl: version 5.16.3 swig: version 2.0.10 g: v…

C++中map的用法

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

接口测试五个重要测试点

一、功能测试 接口的功能是否实现、接口是否按照设计文档实现(如:username参数写成了user)———接口文档是在整个开发中使用,所以接口设计要与接口文档的设计保持一致。 1、兼容性测试:如:接口进行了调整…

【ACM训练】2023 河南 CCPC省赛 vp

2023 河南 CCPC省赛 题目链接 VP赛况: 目录 2023 河南 CCPC省赛赛况及总结赛况总结 补题 赛况及总结 赛况 开场:我提前打印了题册,于是我们开始分开看题目,我先看了A,发现很签,遂上机,8 m…

【软考系统规划与管理师笔记】第1篇 信息系统综合知识

目录 写在前面 1. 信息的基本概念 2. 信息的定量描述 3. 信息的传输模型 3. 信息系统的主要性能指标 4. 信息化的层次 5. 电子政务和电子商务 6. 信息系统 6.1 系统开发的方法 6.2 信息系统总体规划 6.3 信息系统规划内容 7 IT战略 8 习题收集 写在前面 系统规划与…

从8连挂到面面offer,我只用了一个月,面试25K测试岗血泪经验分享给你

直到如今,我才敢把这段经历分享出来,毕竟一个多月前,我是经历了面试八连挂的人。作为一只骄傲的软件测试工程师,恨不得找一块豆腐撞死。但是在闭关修炼了一个多月之后,重新出来面试,面试了五家公司&#xf…

《人月神话》译文修订明细(2)-读者可以对照修改

《人月神话》译文修订明细(1)-读者可以对照修改 《人月神话》译文修订如下,读者可以对照自己手上的书修改。 相关阅读 这回真要动刀子-征集《人月神话》中译本的翻译修正>> 第一章(续) 原译文 水平边界以下…

Graphpad Prism9.5.1 安装教程 (含Win/Mac版)

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…

Mysql中千万数据查询浅析

假如mysql数据库中有一千万数据,如何进行查询,查询效率如何,下面进行简单的分析。 1、准备数据 也许有些人没遇见过上千万数据量的表,没关系,下面通过sql脚本准备一下数据,环境为:mysql5.7. 1…

提示msvcr120.dll丢失怎么办?由于找不到msvcr120.dll如何修复?

msvcr120.dll 是 Microsoft Visual C 文件中的一个重要组件。它是一种动态链接库,包含了很多函数,提供了许多基础的 C 运行时支持。这个库文件的主要功能是提供 C 应用程序的运行时环境,它是一些常用的 C 运行时库文件的集合。这些库包括了 m…

队列:数据结构中的排队之道

本篇博客会讲解队列这种数据结构,并使用C语言实现。 概况 什么是队列呢?队列是一种先进先出的数据结构,即First In First Out,简称FIFO。队列有2端,分别是队头和队尾,规定只能在队尾插入数据(…

华为OD机试真题 Java 实现【单核CPU任务调度】【2023Q2 200分】

一、题目描述 现在有一个CPU和一些任务需要处理,已提前获知每个任务的任务D、优先级、所需执行时间和到达时间。 CPU同时只能运行一个任务,请编写一个任务调度程序,采用“可抢占优先权调度”调度算法进行任务调度,规则如 下&…

嵌入式Android系统启动基本分析

目录 第一:Android系统架构图: 第二:Android 系统启动流程如下: 第三:Android 层级分析 第四:案例分析 第五:Android 权限问题 上一篇我们讲了 Linux 系统的启动流程,本文讲解一…

QTableWidget样式设置

QTableWidget的样式分为几个部分: 分别是: 外框:QTableWidget 表头:QHeaderView 表头字段:QHeaderView::section 表格:QTableWidget::item 选中的表格:QTableWidget::item::selected 水平滚动条…

课时七—进程同步(一)

1、同步与互斥的基本概念 1)临界资源 (1)临界资源:是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息…

javase个人小结

一、数据类型 二、运算符(需要注意的) /:如果是int类型,那么会保留整数,舍去余数 列如:10/3 3 优先级:拿不准就加括号,括号优先级最高 三、类和对象 什么是封装,继承…

连接器信号完整性仿真教程 三

本文将讲解CST边界(Boundary)、背景(Background)的概念及背景材料与边件设置。边界与背景是CST仿真电磁的基础,有必要了解它,并掌握其设置方法与步骤。并以两个实例演示了具体设置的操作。 一 背景、边界与…