UniFace:深度人脸识别的统一交叉熵损失

UniFace: Unified Cross-Entropy Loss for Deep Face Recognition

softmax损失

        缺点:不能保证最小正样本类相似度大于最大负样本类相似度

        问题:没有统一的阈值可用于将正样本与类对与负样本与类对分开

创新点

        设计了用于人脸识别模型训练的UCE(统一交叉熵)损失,它建立在所有正样本与类的相似性应大于负样本的重要约束之上。

        归一化softmax损失、边际softmax损失和建议的UCE损失中学习到的样本与类的相似性,其中Wi是类代理。所有三个面孔的分类对于所有三个损失都是正确的。然而,归一化和边际 softmax 损失都无法通过适当的阈值将正样本与负样本与类对分开,而UCE 损失可以使用统一的阈值 t = cos θt。

softmax损失

        M:由N个受试者组成的面部样本集D上训练的深度人脸模型

        Di 表示包含同一对象 i 的面部图像的子集。对于任意样本 X ∈ D,令

        表示X的特征,其中M是特征向量的长度。

        特征集F:

        在使用softmax损失训练的人脸模型中,采用具有权重矩阵W和偏差b的全连接(FC)分类器根据其特征x对X进行分类,其中

分别将 W 和 b 归一化为

        典型的多类softmax损失是

        其中,

$cosθ^{(ii)}_{x,w}=1/sW^T_ix^{(i)}$:正样本与类的相似度

$cosθ^{(ij)}_{x,w}=1/sW^T_jx^{(i)}$:负样本与类的相似度

        样本到类的相似度矩阵Ssam-cla,

        为了正确分类 X(i),softmax 损失鼓励更大的正样本到类相似度 cosθ^{(ii)}_{x,w}而不是负样本到类相似度cosθ^{(ij)}_{x,w} 即,

        然而,softmax损失没有考虑 cosθ^{(ji)}_{x,w}和 cosθ^{(ii)}_{x,w}之间的关系。换句话说,可能存在负样本与类对 (x^{(j)},W_i),其相似度甚至大于正样本与类对 (x^{(i)},W_i),即,可能存在一个样本 X(j) ∈ Dj,其特征 x(j) 满足

        期望正对的相似度大于阈值 t,负对的相似度小于阈值 t。尽管面部图像 X(i) 和 X(j) 都被正确分类为正确主题。与预期相反,正样本与类对的相似度甚至比负样本对 的相似度还要小。由于 ti < tj,没有统一的相似性阈值 t = ti = tj 可用于正确分离正样本与类对。

        softmax损失只鼓励对角元素$cosθ^{(ii)}_{x,w}$在第i行占主导地位以实现样本X(i)的良好分类,而忽略了鼓励第 i 列,但这在人脸识别中也很重要。

统一交叉熵损失

        为了避免上述问题 ,鼓励相似性矩阵 Ssam-cla在其行和列中均占对角优势,期望有一个统一的阈值 t,

        将特征与其正类代理之间的最大角度定义为 θpos,将特征与其负类代理之间的最小角度定义为 θneg,即

        UCE损失基于正负样本到类特征之间比softmax损失更重要的约束,当使用 UCE 损失而不是 softmax 损失训练模型时,预计最终的样本特征更具辨别力。如图2所示,在由所提出的UCE损失划分的特征空间中,x(1)和W1之间的相似度比原始softmax损失增加,而x(2)和W1之间的相似度下降。

人脸验证的 UCE 损失

        在真实的人脸验证系统中,对于任意两个人脸图像样本$X^{(i)}∈D^i$,$X^{(j)}∈D^j$,选择统一的阈值t*,通过比较它们的特征相似度来验证它们是否来自同一主体,

        在训练中,对于给定的 X(i),其损失为

        每个样本都会花费大量的计算量。使用类代理 Wi 而不是 Fi 中的所有特征 x(i) 设计合理的损失,

        适当的替换可以是softplus函数,

        使用softplus函数,则Lv3(X(i))可以替换为

        损失 Lv4(X(i)) 是我们提出的 UCE 损失 Luce(X(i)),为此,我们将所提出的 UCE 损失的设计与人脸验证联系起来。

进一步改进

        边际 UCE 损失:添加余弦边际m将提议的 UCE 损失扩展到边际 UCE 损失,

        平衡 UCE 损失:引入两个参数来平衡正负对的数量,

        其中 ,pj 是从负样本到类对(x^{(i)},W_j) 的均匀分布(即 U(0, 1))中采样的随机数。 λ 和 r 分别是所有负样本到类对的重新加权和采样参数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之装饰模式精讲

概念&#xff1a;动态地给一个对象添加一些额外的职责。 装饰器模式侧重于在不改变接口的前提下动态地给对象添加新功能&#xff0c;保持对象结构的透明性&#xff0c;客户端无感知。 以一个咖啡制作和装饰的例子来帮助大家理解&#xff1a; public interface Coffee {double…

汽车租赁(源码+文档)

汽车租赁&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端登录界面首页订单个人信息我的界面新手指引注册界面车型选择支付界面修改信息 管理端用户管理订单管理分类管理 文件包含内容 1、搭建视频 2、流程图 3、开题报告 …

校园招聘管理系统(源码+文档)

校园招聘管理系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端热门岗位校园招聘首页个人简历添加个人简历我的界面注册界面查看个人简历界面个人资料界面登录界面消息界面退出登录 管理端登录界面![请添加图片描述](htt…

【shell】select in实现终端交互场景

文章目录 序言1. select in语句及其语法2. select in和case语句相结合3. 执行界面示例 序言 shell脚本实现简单的终端交互功能&#xff0c;根据用户不同输入执行不同功能脚本 1. select in语句及其语法 select in是shell独有的一种循环&#xff0c;非常适合终端交互场景 该语…

什么是nginx正向代理和反向代理?

什么是代理&#xff1f; 代理(Proxy), 简单理解就是自己做不了的事情或实现不了的功能&#xff0c;委托别人去做。 什么是正向代理&#xff1f; 在nginx中&#xff0c;正向代理指委托者是客户端&#xff0c;即被代理的对象是客户端 在这幅图中&#xff0c;由于左边内网中…

数据结构(六)——图的存储及基本操作

6.2 图的存储及基本操作 6.2.1 邻接矩阵法 邻接矩阵存储无向图、有向图 #define MaxVertexNum 100 //顶点数目的最大值typedef struct{char Vex[MaxVertexNum]; //顶点表int Edge[MaxVertexNum][MaxVertexNum]; //邻接矩阵&#xff0c;边表int vexnum,arcnum; //图的当前…

pytest--python的一种测试框架--pycharm创建项目并进行接口请求

前言 学习request的使用&#xff0c;在用之前&#xff0c;用官方文档提供的接口&#xff1a;https://api.github.com/events&#xff1b; ctrl鼠标左键可以进入被调用函数源码&#xff0c;可以看到第一个参数URL是必须参数&#xff0c;params是选填&#xff0c;**kwargs是关键…

【论文通读】AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation

AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation 前言AbstractMotivationFrameworkConversable AgentsConversation Programming ApplicationA1: Math Problem SolvingA2: Retrieval-Augmented Code Generation and Question AnsweringA3: Decision…

HarmonyOS 应用开发之FA模型启动Stage模型UIAbility

本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件。 PageAbility启动UIAbility 在PageAbility中启动UIAbility和在PageAbility中启动PageAbility的方式完全相同。 import featureAbility from ohos.ability.featureAbility; import { BusinessError } from oh…

Roxlabs代理服务:智能化数据采集的加速器

TOC 一、引言 在这个数据驱动的时代&#xff0c;无论是企业还是个人&#xff0c;对于准确、及时的信息获取都有着前所未有的需求。网络数据采集已成为洞察市场趋势、分析竞争对手动态、优化营销策略的关键手段。然而&#xff0c;面对全球范围内的网站和服务&#xff0c;如何高…

数据结构与算法 循环双链表基本运算与对称算法

一、实验内容 1、实现循环双链表的各种基本运算的算法 &#xff08;1&#xff09;初始化循环双链表h &#xff08;2&#xff09;依次采用尾插法插入a,b,c,d,e元素 &#xff08;3&#xff09;输出循环双链表h&#xff1b; &#xff08;4&#xff09;输出循环双链表h长度&am…

Linux初学(十一)中间件

一、web服务 1.1 中间件简介 中间件其实就是一类软件&#xff0c;中间件的作用是让用户可以看到一个网页 总结&#xff1a;客户端可以向服务端发送请求&#xff0c;服务器端会通过中间件程序来接收请求&#xff0c;然后处理请求&#xff0c;最后将处理结果返回给客户端 1.2 中…

vscode初始化node项目

首先需要安装node环境&#xff0c;推荐直接使用nvm 安装node&#xff0c;方便切换node版本 1.npm init 初始化node项目 在命令行输入npm init指令 根据指令创建完成后会在当前目录下生成一个package.json文件&#xff0c;记住运行npm init执行的目录必须是一个空目录 2.创建…

qupath再度更新:使用WSInfer进行深度学习

Open and reusable deep learning for pathology with WSInfer and QuPath Open and reusable deep learning for pathology with WSInfer and QuPath | npj Precision Oncology (nature.com) 以前&#xff1a;数字病理图像分析的开源软件qupath学习 ①-CSDN博客 背景 深度学…

idea从零开发Android 安卓 (超详细)

首先把所有的要准备的说明一下 idea 2023.1 什么版本也都可以操作都是差不多的 gradle 8.7 什么版本也都可以操作都是差不多的 Android SDK 34KPI 下载地址&#xff1a; AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 …

没有与参数列表匹配的构造函数“cv::VideoWriter::VideoWriter”实例

今天在使用Visual Studio开发与OpenCV相关的程序时&#xff0c;遇到了这样的情况: 第一个参数的下方被打上了红波浪线&#xff0c;我本能的觉得是第一个参数出的问题&#xff0c;于是改成了这样: 红线依然存在&#xff0c;没有消失&#xff0c;把鼠标放在红线下方&#xff0c…

OpenHarmony error: signature verification failed due to not trusted app source

问题&#xff1a;error: signature verification failed due to not trusted app source 今天在做OpenHarmony App开发&#xff0c;之前一直用的设备A在测试开效果&#xff0c;今天换成了设备B&#xff0c;通过DevEco Studio安装应用程序的时候&#xff0c;就出现错误&#xf…

【笔记】动⼿学深度学习(花书)|| Aston Zhang Mu Li Zachary C. LiptonAlexander J. Smola

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 前言 第一章 深度学习简介 第二章 P 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言本书…

场效应管(MOS管)知识点总结

目录 一、场效应管(FET)基础知识 1.名称 2.电路符号 3.分类 4.应用场景 5.厂商介绍 二、MOS管G、S、D以及判定 三、耗尽型场效应管工作原理 (耗尽型&#xff1a;depletion mode) 四、NMOS与PMOS的区别 (区别&#xff1a;difference) (多晶硅&#xff1a;polysilicon) …

K8S中部署yaml文件(如Java项目)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…