【论文阅读】AM-Softmax:Additive Margin Softmax for Face Verification. 1801.05599.【损失函数设计】

2023-05-16

原文链接:https://blog.csdn.net/weixin_43154149/article/details/122611784

文章目录

  • 1. 四个问题
  • 2. 论文简介
    • 1. Introduction(相关工作:Softmax, L-softmax, A-softmax, triple-loss, center-loss, AM-softmax, cosface, AAM-softmax )
    • 2. Preliminaries
    • 3. Additive Margin Softmax
  • 3. 参考链接
  • 4. 收获

1. 四个问题

  1. 解决什么问题
    提升人脸分类准确度

  2. 用了什么方法解决
    提出了一种新的损失函数。AM-Softmax loss 目的是进一步增大类间差异,缩小类内差异

  3. 效果如何
    我们在LFW和Megaface数据集下的实验表明,我们的additive margin softmax loss始终比使用相同网络架构和训练数据集的当前最先进方法表现更好

  4. 还存在什么问题
    如何自动确定margin以及如何合并特定于类或特定于样本的间隔然是个开放的问题,值得研究

在这里插入图片描述

2. 论文简介

1. Introduction(相关工作:Softmax, L-softmax, A-softmax, triple-loss, center-loss, AM-softmax, cosface, AAM-softmax )

  • 人脸认证广泛应用于金融、军事、公安等领域的身份认证
  • 目前,大多数人脸验证模型均是建立在深卷积神经网络的基础上,并由分类损失函数[18、20、19、9]、度量学习损失函数[16]或两者共同监督[17、13]
  • contrastive loss[17]或triplet loss[16]等度量学习损失函数通常需要精心设计样本挖掘策略,而最终的性能对这些策略非常敏感,因此越来越多的研究者将注意力转移到基于改进的分类损失函数来构建人脸验证模型[20,19,9]。

  • 目前流行的深度人脸识别分类损失函数大多基于广泛使用的Softmax loss。SoftMax loss通常擅长优化类间差异(即分离不同的类),但不擅长减少类内差异(即使同一类的特性紧凑)。
  • 为了解决这一问题,提出了许多新的损失函数来最小化类内差异。
  • [20]建议增加一个正则化术语来惩罚特征到中心的距离。
  • 在[19,12,15]中,研究人员提议使用一个尺度参数来控制Softmax loss 的“容忍力”[2],从而对分离良好的样本产生更高的梯度,以进一步缩小类内方差。
  • 在[9,10]中,作者引入了概念上很吸引人的角度间隔,以推动分类边界更接近每个类的权重向量。
  • [9]也为使用分类损失函数训练度量学习任务的深层模型提供了理论指导。
  • [6,12,15]还通过合并不同类型的间隔来改善SoftMax loss。

  • 在这项工作中,我们提出了一种新的更具解释性的方法,将角度间隔引入到softmax loss中。我们通过cosθ−m制定了一个额外的间隔,它比[9]简单,并且产生更好的性能。从方程(3)可以看出,m乘以[9]中的目标角 θ y i θ_{yi} θyi ,所以这种类型的边界以乘法的方式合并。由于我们的间隔是从cosθ减去的一个标量,我们称损失函数为Additive Margin Softmax(AM-SoftMax)。

在这里插入图片描述

  • 对LFW BLUFR协议[7]和MegaFace[5]的实验表明,在相同的网络结构下,我们的损失函数比目前最先进的方法得到了更好的结果。

2. Preliminaries

softmax loss
在这里插入图片描述

A-softmax loss
在这里插入图片描述

3. Additive Margin Softmax

在这里插入图片描述在这里插入图片描述

直观理解就是分得更宽(类内紧凑,类间更宽)
在这里插入图片描述

在这里插入图片描述

3. 参考链接

原文:https://arxiv.org/abs/1801.05599

AMSoftmax论文翻译——中英文对照+标注总结

AM-Softmax Loss

总结:本文在特征和权值正则化的情况下,提出了一种 additive margin Softmax,更直观也更易解释,同时也取得了比A-Softmax更好的实验结果。

人脸识别中的常见softmax函数总结(A-Softmax,AM-Softmax,ArcFace等)

在这里插入图片描述

人脸识别的LOSS(上)
人脸识别的LOSS(下)

从Softmax到AMSoftmax(附可视化代码和实现代码)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Deep Metric Learning及其形式(附Pytorch代码)

问题引入:
在机器学习中,我们经常会遇到度量数据间距离的问题。一般来说,对于可度量的数据,我们可以直接通过欧式距离(Euclidean Distance, ED),cosine等方法来做。但对于更广泛的数据我们就很难这样操作,如测量一个视频和一首音乐的距离,先验知识告诉我们ED(laugh_video, laugh_music)<ED(laugh_video, blue_music)。那我们该如何度量呢?
metric learning全称是 Distance metric learning,就是通过机器学习的形式,根据训练数据,自动构造出一种基于特定任务的度量函数。
metric learning问题,可以分为两种:
一是supervised learning,这类监督学习单元是单个数据,每个数据都有对应标签。metric learning是学习一种度量可以让相同标签数据的距离更近,不同标签数据的距离更远
二是weakly supervised learning,这类监督学习单元是元组(二元组,三元组等),元组一般有正例对和负例对两种。metric learning是学习一种度量,可以让正例对的距离更近,负例对的距离更远。
对于第一种形式,可以使用center loss,amsoftmax等。center loss是为每个类设定一个center feature,让类内数据feature向center靠拢,从而拉近类内距;因为center loss只负责类内距,所以通常要结合softmax cross entropy loss,从而实现类别可分离的情况下还能拉近类内距。amsoftmax是基于softmax改进而来,但不同于softmax,它不仅可以使类别可分离,还能拉近类内距的同时,拉远类间距。
第一种形式也可以将数据变形为元组,做weakly supervised learning。
对于第二种形式,可以使用contrastive loss(二元组)和triplet loss(三元组)。

4. 收获

  1. 设计损失函数有助于提升分类准确率
  2. 常见的有度量学习损失函数(contrastive loss或triplet loss)和基于改进的分类损失函数?
  3. 增大类间差异,减少类内差异(不同类要分得远,同类要紧凑)

强推 - 理解largin margin 这类损失函数- 视频学习

AM-Softmax代码:https://github.com/zhilangtaosha/SpeakerVerification_AMSoftmax_pytorch

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文阅读】AM-Softmax:Additive Margin Softmax for Face Verification. 1801.05599.【损失函数设计】 的相关文章

  • WPF:为什么我不应该在 ControlTemplate 中使用 {TemplateBinding Margin} - Margin 仅适用于元素的容器?

    我为按钮创建了自己的 ControlTemplate 如下所示
  • 为什么“margin: auto”不使元素垂直居中?

    正如您在下面的演示中看到的 margin auto 以蓝色为中心div水平方向 但不是垂直方向 为什么不 box border 1px solid red width 100px height 100px center background
  • 如何删除正文周围的边距空间或清除默认的 css 样式

    我诚然是一个初学者 但在发布此内容之前我也做了相当多的搜索 我的 div 元素周围似乎有额外的空间 我还想指出的是 我尝试了 border 0 padding 0 等多种组合 但似乎没有什么可以消除空白 这是代码
  • 三元组损失的softmax版本的梯度计算

    我一直在尝试在Caffe中实现softmax版本的三元组损失 描述于 霍弗和艾隆 使用三元组网络进行深度度量学习 ICLR 2015 我已经尝试过这个 但我发现很难计算梯度 因为指数中的 L2 不是平方的 有人可以帮我吗 使用现有的 caf
  • CSS 定位和 CSS 边距之间的区别

    今天我学习了CSS中的两个概念 一个是CSS定位 静态 相对 绝对 固定 另一个是CSS边距 它定义元素之间的空间 假设我想移动一个元素 这是最好的方法吗 因为这两个概念似乎都能够做同样的事情 示例可能如下 代码 CSS定位
  • 如何使用 CSS 过渡将 div 从屏幕外滑入绝对布局?

    我有一个绝对定位的 div 网格 网格由不同形状的矩形组成 这些矩形组合在一起形成一个大矩形 我试图通过让所有单独的矩形从屏幕外 飞 到网格中来动画显示该网格 因此 左侧的矩形从左侧飞入 右侧的矩形从右侧飞入 依此类推 我正在使用CSS3过
  • 绝对位置和保证金:自动

    我有一个小问题 我希望我的页脚停留在屏幕底部position absolute 但我的margin auto将其放在屏幕中间不再起作用 html
  • Safari 中的垂直居中

    我在 Safari 中使用 margin auto 0 时遇到垂直居中问题 在嵌套在带有 display inline flex 的 div 内的 div 上 它在 Firefox Chrome Opera 中工作得很好 但在 Safari
  • 如何删除两个span元素之间的多余空间?

    我想删除这两个元素之间的额外空间 我尝试过但做不到 这是边距崩溃的问题吗 如何解决这个问题 我怎样才能删除多余的空间 这是我的 HTML 和 CSS body width 250px height 100px background F2F2
  • 在显示表格单元格中使用边距[重复]

    这个问题在这里已经有答案了 我尝试在 li 中添加 margin left margin right 但它没有给它们之间留出空间 我应该添加什么来在列表之间留出一个空格 CSS btn top float right height 40px
  • 如何修复顶部和底部边距折叠?

    我是 CSS 新手 我试图了解如何修复以下行 使其不适用于顶部和底部边距 然而 它对于侧边距来说效果很好 contents margin 10px 10px 10px 10px 例子 http jsfiddle net LCTeU http
  • jQuery 如何获取元素的边距和填充?

    只是想知道 如何使用 jQuery 我可以获得格式化的总填充和边距等元素 即 30px 30px 30px 30px 或 30px 5px 15px 30px 等 I tried var margT jQuery img css margi
  • 如何禁用 LaTeX 列表项的缩进? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 默认情况下 枚举 环境相对于当前环境缩进 如何禁用此缩进 以便三个项目的枚举环境产生与以下代码段相同的输出 documentclass article
  • 填充与有边距的子项

    让我们首先说我理解盒子模型 在我作为开发人员的短暂时间里 我一直试图非常严格地遵循语义 html 并使用响应式设计实践 我最近在一家新公司找到了一份初级开发人员的工作 而我的先生则坚决反对填充 就像他无论如何都不希望它被使用一样 他希望我在
  • ConstraintLayout 问题 - ImageView 16:9 上边距不合适

    我想使用 ConstraintLayout 构建以下布局 我使用这个源进行布局
  • LaTeX 中的脚注间距

    我正在写论文 研究生院说我需要在多个脚注之间留一个空格 而且文本和脚注开头之间的空格太小 有没有办法做到这一点 任何帮助是极大的赞赏 footnotesep是脚注之间的空格 setlength footnotesep 0 5cm footi
  • 为什么 Safari 4 / mac 不渲染此嵌套 div 中的顶部和底部边距?

    Safari 4 似乎会忽略元素边距 除非我添加边框 以下示例呈现左右边距 但不呈现顶部或底部 添加边框后 它会按预期呈现 我做错了什么还是我必须添加边框 albeit transparent ones 每个元素都有边距 只适用于 Safa
  • CSS 边距为负而不移动父容器

    我正在尝试进入此页面 http musicaladvocacy org http musicaladvocacy org 显示 Home 灰色渐变中的白色容器 的区域向上移动约 60 px 但正如您所看到的 它同时将父容器向上移动 我只是想
  • 从 Javascript 检测真实的边框、填充和边距

    有没有办法从 Javascript 代码中检测元素的真实边框 填充和边距 如果你看下面的代码
  • Android 布局不需要的填充

    所以我有这个布局文件 如下 正如您所看到的 没有填充或边距 dimen xml 文件也没有任何填充 边距 最后 我根本不以编程方式更改布局

随机推荐

  • python画甘特图

    1 使用plotly 安装包下载 span class token keyword import span plotly span class token punctuation span express span class token
  • bat 打开exe文件,并显示进度条

    如下 C camera flow njl CAM exe是你的exe文件路径 180 就是 180 s xff0c 即三分钟显示完毕 chcp span class token number 65001 span span class to
  • 基于opencv的掩膜生成 python

    代码将遍历JPG dir文件夹中的所有jpg文件 xff0c 并对于每一个jpg文件 xff0c 读取同名的JSON文件 xff0c 然后根据JSON文件中记录的标注区域的坐标在JPG图像上绘制掩膜图像 最后 xff0c 将掩膜图像保存到O
  • 用 Python 解数独(Sudoku)

    芬兰数学家因卡拉花费3个月时间设计出的世界上迄今难度最大的数独 数独是 9 横 9 竖共有 81 个格子 xff0c 同时又分为 9 个九宫格 规则很简单 xff1a 每个空格填入 1 9 任意一个数字 xff0c 需要保证每个横排和竖排以
  • alembic 如何使用?

    在之前的数据库操作中 xff0c 我们新增一个字段是不是每次都得删除数据库表 xff0c 然后再重新将新创建的数据库表映射到数据库中 这样操作是不是很蛋疼 xff1f 是吧 xff1f 于是sqlalchemy作者拜尔为了解决这一问题 xf
  • ROS中用opencv库实现物体中心点提取

    老师搞了个很简陋的双目摄像头 xff0c 只能输出两个摄像头的图像 xff0c 所以为了提取定位物体中心坐标 xff0c 还得算个深度距离 先对两个摄像头图像处理一下 xff0c 基于阈值分割 xff0c 然后提取个轮廓 xff0c 计算个
  • linux c语言高级编程-目录操作

    目录操作总共有以下几个函数 xff1a 1 创建目录 int mkdir const char pathname mode t mode 2 删除目录 int rmdir const char pathname 3 查看目录状态 int s
  • BeagleBone Black使用(一):狗板简介

    前言 BeagleBone 与 Arduino 和 Raspberry Pi xff08 树莓派 xff09 可以说是目前应用最广泛的三大嵌入式开源平台 而 BeagleBone 在一定程度上可视为融合了 Arduino 与树莓派的优点 x
  • 慧数汽车大数据分析:车市竞争将由打造爆款向构建“产品矩阵”转型

    在车企只要完成年销量三十万辆的目标时 xff0c 只需认认真真培育出一款爆款车就足够了 xff0c 如哈弗H6 完成年销量50万辆的目标时 xff0c 只需认认真真培育出一两款爆款车就足够了 xff0c 如哈弗H6 43 哈弗H2 但为什么
  • 4.10 Python tuple元组详解

    元组 xff08 tuple xff09 是 Python 中另一个重要的序列结构 xff0c 和列表类似 xff0c 元组也是由一系列按特定顺序排序的元素组成 元组和列表 xff08 list xff09 的不同之处在于 xff1a 列表
  • 使用ROS和RealSense直接获取点云

    点云获取 Realsense获取内参创建ROS工作环境创建ROS工作包package向package中添加cpp代码catkin make编译失败失败1 使用ROS订阅节点 xff08 rgb和depth xff09 ROS包安装升级Rea
  • 集成单点登录

    随着现在的系统越来越多 xff08 OA考勤 xff0c 学生宿舍管理等等 xff09 在使用中是不是还在为一次一次的登录而烦恼 xff1f 或者忘了密码而尴尬 xff0c 现在 xff0c 有一个好东西来解决这个问题了 那就是单点登录 单
  • PID算法入门与C语言代码实现

    PID算法的入门理解以及C代码实现 在结束了自控原理的学习后 xff0c 了解到PID算法是一种万能算法 xff0c 在课设中也是经常使用到的一种算法 xff0c 所以想具体的来进行以下总结与学习 xff0c 如果有错漏的地方 xff0c
  • 【Ubuntu18.04安装px4+mavros(解决mavros报错问题)】

    Ubuntu18 04安装px4 43 mavros xff08 解决mavros报错问题 xff09 安装ros melodic重新安装gazebo9 19安装mavros安装px4 我的电脑为联想R7000P2021款 xff0c 之前
  • 嵌入式面试题3

    1 讲一下STM32时钟系统 时钟系统类似于脉搏 xff0c 控制着CPU的命脉 xff0c STM32的时钟源又不像51的时钟源那么单一 xff0c 因为STM32的MCU较为复杂 xff0c 且外设较多 xff0c 并不是所有的外设都需
  • 将 linuxmint 20.2 设置成 mac 主题

    将 linuxmint 20 2 设置成 mac 主题 1 安装Adapta Nokto主题2 安装Numix Circle图标3 安装plank4 设置主题和图标5 设置字体 使用 vmware 安装 LinuxMint20 2 并打造
  • [转载][paper]Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey

    文章目录 摘要 深度学习是当前人工智能崛起的核心 在计算机视觉领域 xff0c 它已经成为从自动驾驶汽车到监控和安全等各种应用的主力 虽然深度神经网络在解决复杂问题方面取得了惊人的成功 通常超出了人类的能力 xff0c 但最近的研究表明 x
  • [paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks

    本文提出了两种特征压缩方法 xff1a 减少每个像素的颜色位深度使用空间平滑来减少各个像素之间的差异 特征压缩通过将与原始空间中许多不同特征向量相对应的样本合并为单个样本 xff0c 从而减少了对手可用的搜索空间 通过将DNN模型对原始输入
  • C# List集合查找删除指定数据

    C List集合查找删除指定数据 文章目录1 实体类2 操作第一个负荷条件数据3 操作所有符合条件数据4 优质源码 文章目录 1 实体类 public class FaultLevelModel public string LBWJ get
  • 【论文阅读】AM-Softmax:Additive Margin Softmax for Face Verification. 1801.05599.【损失函数设计】

    原文链接 xff1a https blog csdn net weixin 43154149 article details 122611784 文章目录 1 四个问题2 论文简介1 Introduction xff08 相关工作 xff1