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

news2024/12/27 3:24:59

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 分别是所有负样本到类对的重新加权和采样参数。

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

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

相关文章

1695. 删除子数组的最大得分-力扣(滑动窗口)

给你一个正整数数组 nums &#xff0c;请你从中删除一个含有 若干不同元素 的子数组。删除子数组的 得分 就是子数组各元素之 和 。 返回 只删除一个 子数组可获得的 最大得分 。 如果数组 b 是数组 a 的一个连续子序列&#xff0c;即如果它等于 a[l],a[l1],…,a[r] &#xff0…

T-Dongle-S3开发笔记——idf事件

参考事件循环库 - ESP32 - — ESP-IDF 编程指南 v5.2 文档 (espressif.com) 事件标识符由两部分组成&#xff1a;事件根基 和 事件 ID。 事件根基标识独立的事件组&#xff1b; 事件 ID 标识组中的特定事件。 默认事件循环 默认事件循环是一种特殊循环&#xff0c;用于处理…

练习所学文件操作的相关函数

上上篇文章&#xff0c;我们介绍了文件和文件操作函数&#xff0c;现在我们来练习一下所学文件操作的相关函数吧&#xff01; 实践出真知~ 文件的打开和关闭 我们首先练习一下文件的打开和关闭&#xff1a; 每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区&#xff…

数据结构(六)——图的遍历

6.3 图的遍历 6.3.1 图的广度优先遍历 ⼴度优先遍历&#xff08;Breadth-First-Search, BFS&#xff09;要点&#xff1a; 1. 找到与⼀个顶点相邻的所有顶点 2. 标记哪些顶点被访问过 3. 需要⼀个辅助队 FirstNeighbor(G,x)&#xff1a;求图G中顶点x的第⼀个邻接点&#xff…

Windows 11 专业版 23H2 Docker Desktop 下载 安装 配置 使用

博文目录 文章目录 Docker Desktop准备系统要求 (WSL 2 backend)在 Windows 上打开 WSL 2 功能先决条件开启 WSL 2 WSL下载安装启动配置使用镜像 Image卷积 Volumes容器 Containers 命令RedisMySQLPostGreSQL Docker Desktop Overview of Docker Desktop Docker Desktop 疑难解…

SSTI 服务器端模板注入(Server-Side Template Injection)

1.Web_python_template_injection {{}}是变量包裹标识符&#xff0c;里面存放的是一个变量&#xff0c;当你输入 http://61.147.171.105:55121/{{8*8}} 执行成功&#xff0c;说明存在模版注入。接下来&#xff0c;开始想办法编代码拿到服务器的控制台权限 。 首先&#xff0c…

用于网站域名备案的服务器最便宜多少钱?30元备案5个网站

用于备案的服务器多少钱&#xff1f;阿里云30元3个月&#xff0c;腾讯云62元一年&#xff0c;符合ICP备案的服务器只要满足3个月时长就够用&#xff0c;并且一台云服务器可以备案5个网站域名或APP。云服务器吧yunfuwuqiba.com分享阿里云最便宜备案服务器价格和腾讯云ICP备案服务…

MES_ENT_STD

生产执行系统&#xff08;企业标准版&#xff09;MES_ENT_STD ERP_ENT_STD_59438.ieqq.ent-CSDN博客 OAMS_ENT_STD-CSDN博客

笔试——3.31腾讯笔试

整体难度尚可&#xff0c;ac了三道半&#xff0c;第四题没什么时间了没怎么看。 第一题 #include<bits/stdc.h> using namespace std;vector<vector<pair<int, int>>>arr; vector<int>visited; //res 1 white 0 int cnt 0;void dfs(int x) {if…

基于OrangePi Zero2的智能家居项目(开发阶段)

智能家居项目的软件实现 紧接上文 基于OrangePi Zero2的智能家居项目&#xff08;准备阶段&#xff09;-CSDN博客 目录 一、项目整体设计 1.1项目整体设计 1.2具体划分 二、开发工作的前期准备 1、进行分类&#xff0c;并用Makefile文件进行管理 参考&#xff1a;自己创…

pajamas 0 publish repo fst in gitee

0. 好久没有blog了&#xff0c;真的好久了&#xff0c;先交代一波 因为半年来发生了很多&#xff0c;计划有变&#xff0c;辞工作&#xff0c;出去耍&#xff0c;找工作&#xff0c;重新计划… 从半年前开始&#xff0c;就想好了&#xff0c;最近这两年应该优先会写代码 &…

一篇讲明白 Hadoop 生态的三大部件

文章目录 每日一句正能量前言01 HDFS02 Yarn03 Hive04 HBase05 Spark及Spark Streaming关于作者推荐理由后记赠书活动 每日一句正能量 黎明时怀着飞扬的心醒来&#xff0c;致谢爱的又一天&#xff0c;正午时沉醉于爱的狂喜中休憩&#xff0c;黄昏时带着感恩归家&#xff0c;然后…

python实现模糊神经网络(pytorch版)

1 理论 模糊神经网络是一种基于模糊逻辑的神经网络模型&#xff0c;其主要用于处理模糊信息和不确定性的问题。模糊神经网络可以将输入数据映射到一个模糊集合中&#xff0c;然后通过一系列的模糊规则进行求解&#xff0c;最终输出一个模糊集合。 模糊神经网络的基本原理是将…

AMD GPUs - Radeon™ PRO W7900与NVIDIA 4000系列GPU性能

文心一言 RTX 4090的性能高于AMD Radeon PRO W7900。 RTX 4090具有760亿个晶体管、16384个CUDA核心和24GB高速镁光GDDR6X显存&#xff0c;在4K分辨率的游戏中持续以超过100FPS运行。RTX 4090采用全新的DLSS 3技术&#xff0c;相比3090TI&#xff0c;性能提升可达2~4倍&#x…

CSS实现元素边框渐变动画

前言&#xff1a; 边框流动动画是一种非常常见的效果&#xff0c;能够让网页看起来更加生动有趣。通过使用 CSS3&#xff0c;我们可以轻松地实现这种动画效果。本文将介绍如何使用 CSS3 实现边框流动效果&#xff0c;下面一起来看看吧。 示例图&#xff1a;边框是动画持续变化的…

MCRNet:用于乳腺超声成像语义分割的多级上下文细化网络

MCRNet&#xff1a;用于乳腺超声成像语义分割的多级上下文细化网络 摘要引言方法 MCRNet_ Multi-level context refinement network for semantic segmentation in breast ultrasound imaging 摘要 由于对比度差、目标边界模糊和大量阴影的不利影响&#xff0c;乳腺超声成像中…

文献阅读:通过 NeuronChat 从单细胞转录组推断神经元-神经元通信

文献介绍 「文献题目」 Inferring neuron-neuron communications from single-cell transcriptomics through NeuronChat 「研究团队」 聂青&#xff08;加利福尼亚大学欧文分校&#xff09; 「发表时间」 2023-02-28 「发表期刊」 Nature Communications 「影响因子」 16.6…

mysql8 功能特点

1.查询缓存 删除了 2.secondary engine 设置&#xff1a; MySQL默认的存储引擎是InnoDB&#xff0c;而引入Secondary Engine&#xff0c;用来实现同时支持多引擎&#xff0c;在同一个MySQL Server上挂多个存储引擎&#xff0c;在支持InnoDB的同时&#xff0c;还可以把数据存放…

CommunityToolkit.Mvvm----配置

一、介绍&#xff1a; CommunityToolkit.Mvvm 包&#xff08;又名 MVVM 工具包&#xff0c;以前称为 Microsoft.Toolkit.Mvvm&#xff09;是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分&#xff0c;围绕以下原则生成&#xff1a; 独立于平台和运行时 - …

Pandas | value_counts() 的详细用法

value_counts() 函数得作用 用来统计数据表中&#xff0c;指定列里有多少个不同的数据值&#xff0c;并计算每个不同值有在该列中的个数&#xff0c;同时还能根据指定得参数返回排序后结果。 返回得是Series对象 value_counts(values,sortTrue, ascendingFalse, normalizeFal…