关于A-Softmax损失函数的一些解释

2023-05-16

关于A-Softmax损失函数的一些解释

关于A-Softmax具体内容请参考论文《SphereFace: Deep Hypersphere Embedding for Face Recognition》by Weiyang Liu, Yandong Wen, Zhiding Yu, Ming Li, Bhiksha Raj and Le Song。关于其损失函数的设计思路,Thaurun的博客A-Softmax的总结及与L-Softmax的对比——SphereFace. 给出了一定的解释。我根据我的理解再进行一些补充。

偷懒了,就暂且"盗用"Thaurun博客的一些内容。
在这里插入图片描述
在这里插入图片描述
重点解释红框中的内容。
我们都知道,两个向量之间的夹角 θ ∈ [ 0 , π ] \theta\in[0,\pi] θ[0,π]。因此,如果使用式(1.4)(即红框上面的式子)作为损失函数,则在范围之外,即 θ ∈ [ π m , π ] \theta\in[\frac{\pi}{m},\pi] θ[mπ,π],可能存在部分区间使得 c o s ( m θ y i , i ) &gt; c o s ( θ j , i ) , j ≠ y i cos(m\theta_{y_{i},i})&gt;cos(\theta_{j,i}), j\neq y_{i} cos(mθyi,i)>cos(θj,i),j̸=yi成立,然而 m θ y i , i &lt; θ j , i , j ≠ y i m\theta_{y_{i},i}&lt;\theta_{j,i}, j\neq y_{i} mθyi,i<θj,i,j̸=yi不成立的情况。如果坚持使用这个损失函数,则在最小化损失时必须加上 θ y i , i ∈ [ 0 , π m ] \theta_{y_{i},i}\in[0,\frac{\pi}{m}] θyi,i[0,mπ]的约束条件。那么原问题就变为一个带约束的优化问题,无法直接使用梯度下降法求解。
因此,作者设计了一种替代 c o s ( m θ y i , i ) cos(m\theta_{y_{i},i}) cos(mθyi,i)的方案—— ψ ( θ y i , i ) = ( − 1 ) k c o s ( m θ y i , i ) − 2 k \psi(\theta_{y_{i},i})=(-1)^{k}cos(m\theta_{y_{i},i})-2k ψ(θyi,i)=(1)kcos(mθyi,i)2k,其中 θ y i , i ∈ [ k π m , ( k + 1 ) π m ] , k ∈ { 0 , 1 , 2 , . . . , ( m − 1 ) } \theta_{y_{i},i}\in[\frac{k\pi}{m},\frac{(k+1)\pi}{m}], k\in\{0,1,2,...,(m-1)\} θyi,i[mkπ,m(k+1)π],k{0,1,2,...,(m1)} (注:关于k的取值,这个是我的理解,论文中使用的是 k ∈ [ 0 , m − 1 ] k\in[0,m-1] k[0,m1])。很明显, ψ ( θ y i , i ) \psi(\theta_{y_{i},i}) ψ(θyi,i)是一个分段函数(定义域为 θ y i , i ∈ [ 0 , π ] \theta_{y_{i},i}\in[0,\pi] θyi,i[0,π]),函数值随着 θ y i , i \theta_{y_{i},i} θyi,i单调递减。也就是说对于式(1.5)的损失函数只有在 θ y i , i ∈ [ 0 , π m ] \theta_{y_{i},i}\in[0,\frac{\pi}{m}] θyi,i[0,mπ](k=0)时,才有 c o s ( m θ y i , i ) &gt; c o s ( θ j , i ) , j ≠ y i cos(m\theta_{y_{i},i})&gt;cos(\theta_{j,i}), j\neq y_{i} cos(mθyi,i)>cos(θj,i),j̸=yi成立,且 m θ y i , i &lt; θ j , i , j ≠ y i m\theta_{y_{i},i}&lt;\theta_{j,i}, j\neq y_{i} mθyi,i<θj,i,j̸=yi也成立。即对于以式(1.5)为目标函数的优化问题, θ y i , i \theta_{y_{i},i} θyi,i的最优解一定在区间 [ π m , π ] [\frac{\pi}{m},\pi] [mπ,π]中,这就符合了A-softmax的设计要求。
以上是个人的一些理解,可能有不对的地方,还请指出。

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

关于A-Softmax损失函数的一些解释 的相关文章

随机推荐

  • 一文通俗搞懂线性无关特征向量个数≤特征值重数

    线代有个很难理解的知识点 xff0c 即同一特征值的线性无关特征向量个数要小于等于特征值重数 这个结论是怎么来的呢 xff1f 本文用最朴素的证明来帮助大家弄懂这个知识点 xff08 结论推导所用的都是基础的线代知识 xff0c 只是有些数
  • fatal: The remote end hung up unexpectedly解决方案

    在使用 git 更新项目时遇到了这句报错信息 xff1a fatal The remote end hung up unexpectedly 尝试了以下两种方法 xff1a 修改缓存大小 git config global http pos
  • STM32 BLDC无刷直流电机 HALL霍尔硬件接口 程序

    这里是使用STM32F103系列 xff0c 其他型号可能略有区别 设置步骤 xff1a 1 首先HALL的IO口初始化 2 硬件HALL接口初始化 3 检测到hall信号变化会触发TIM5中断 xff0c 中断处理进行电机换向 重点分析
  • 使用vscode的git工具

    当下很多ide都用对应的git工具 xff0c 这里介绍一下vscode的 在初始页面 xff0c 能看到有克隆git存储库选项 xff0c 选择后输入URL就开始克隆克隆后新建一个html文件来进行测试 选中git工具区 xff0c 这里
  • 开源netconf

    我们是基于libnetconf开源软件 xff08 https github com CESNET libnetconf xff09 进行二次开发 github中有两套libnetconf xff0c 一套是libnetconf xff0c
  • IMU原理

    惯性测量单元 xff08 IMU xff09 通常指由3个加速度计和3个陀螺仪组成的组合单元 xff0c 加速度计和陀螺仪安装在互相垂直的测量轴上 低精度的IMU可以通过其他方式修正 xff0c GPS用于修正位置的长期漂移 xff0c 气
  • 浪潮服务器NF5280M5配置管理口IP web界面登录 ipmi 代外【详细】

    开启服务器以后等待按del或f2 xff0c 进入bios选择第五项Server Mgmt界面选择BMC Network Configuration 回车 选择BMC IPv4 Network Configuration 回车 注意 只需要
  • SQL面试总结

    一 查询性能优化 1 使用 Explain 进行分析 Explain 用来分析 SELECT 查询语句 xff0c 开发人员可以通过分析 Explain 结果来优化查询语句 比较重要的字段有 xff1a select type 查询类型 x
  • 华为数通HCIA考试高分指导(含全套题库)

    华为认证考试600分就能上岸拿证 xff0c 考试并不难 今天将从6大重要考点考题分析 xff0c 帮助大家高峰通过HCIA考试 想要HCIA考试通过并获得高分 xff0c 必须掌握以下6大板块 xff1a 1 选举规则汇总 xff08 易
  • 结构体最后的长度为0或1数组的作用

    其实很早在看LINUX下就看到这个东西 xff0c 后来在MFC内存池里同样也看到了类似的东西 xff0c 还依照MFC写过一个类似的小内存池 xff0c xff08 MFC用的是return this 43 1 xff09 后来在李先静的
  • 内存带宽如何计算?

    今在网上看到一篇有关内存带宽是如何计算的文章 xff0c 还不错 xff0c 转过来和大家一起分享 内存带宽计算公式 xff1a 带宽 61 内存核心频率 内存总线位数 倍增系数 先容我从DDR的技术说起 xff0c DDR采用时钟脉冲上升
  • Golang的XML处理

    前言 前往https studygolang com pkgdoc xff0c 了解golang语言中xml包的内容 文中的内容主要来自于该网站 XML生成 理论 func Marshal v interface byte error fu
  • charles + postern 抓包教程

    部分app设置了禁止wifi 代理 所以抓包采用 vpn 转发的方式来抓包分析 1 电脑下载 charles 手机下载 postern 2 charles 配置 记住这个http代理端口 8888 还有 socks 代理端口 8889 后面
  • 从零开始一起学习SLAM(1)为什么要学SLAM?

    文章目录 从零开始一起学习SLAM 为什么要学SLAM xff1f 此文发于公众号 xff1a 计算机视觉life 从零开始一起学习SLAM 为什么要学SLAM xff1f 从零开始一起学习SLAM 为什么要学SLAM xff1f 计算机视
  • 从零开始一起学习SLAM(3)SLAM有什么用?

    文章目录 从零开始一起学习SLAM SLAM有什么用 xff1f 初步认识SLAMSLAM的应用1 定位相关应用2 建图相关应用 讨论 此文发于公众号 xff1a 计算机视觉life 原文链接 xff1a 从零开始一起学习SLAM SLAM
  • 浅谈企业网络安全边界

    前言 企业网络安全关键在找准安全边界 xff08 攻击点 xff09 xff1a 边界的左边是攻击者 xff08 脚本小子 骇客 APT攻击 xff09 xff0c 边界的右边是网络资产 信息资产 企业网络安全建设则在安全边界处设防 xff
  • 单片机(STM32)通过以太网(TCP/IP)上传数据到PC端

    单片机使用的是STM32 xff0c 上位机软件用的是网络调试助手 xff08 CM精装版V3 8 2 xff09 单片机通过以太网连接到PC机有两种连接方式 xff0c 一种是通过交换机 xff0c 一种是直接连接 本人采用的是直连的方式
  • VSCode 下 C++ 的文件编译以及运行

    一 基于 g 43 43 的命令 1 g 43 43 编译单文件 xff0c 生成带调试信息的可执行文件并调试 方法一 生成可执行文件 g 表示生成带有可调试信息的文件 o 表示指定生成的文件名 xff08 缺省状态下为 a exe xff
  • samba基本使用

    程序环境 xff1a 服务端程序包 xff1a samba 与Windows机器交互的服务器和客户端软件 配置文件 xff1a etc samba smb conf 由samba common包提供 主程序 xff1a nmbd NetBI
  • 关于A-Softmax损失函数的一些解释

    关于A Softmax损失函数的一些解释 关于A Softmax具体内容请参考论文 SphereFace Deep Hypersphere Embedding for Face Recognition by Weiyang Liu Yand