人脸识别之损失函数Softmax

2023-05-16

这次我想和各位童鞋分享下人脸识别中的损失函数,我认为根据损失函数的不同可以把人脸识别看做classification和metric learning两种或者两者的结合。下面我分享下我训练中踩的一些坑,如有纰漏欢迎童鞋留言。

最常见的是softmax,我在用softmax训练模型时发现人脸模型会收敛的很快,训练的准确率很快就到了0.9,但是继续训练之后我们会发现测试集的精度不上升了,如果训练过度还会出现下降的情况,不用问肯定是过拟合了。但是有些时候你会发现及时加一些防止过拟合的手段还是会发现测试精度上的不明显,这又是什么原因呢?我认为还是得从softmax的定义说起。

首先我们认为我们所说的softmax损失函数是sotfmax激活函数加上cross entropy,softmax的作用是将特征经过线性组合转化成概率,然后使用cross entropy来计算损失。问题就在这里,正是因为softmax这种基于概率分布的特性即对数似然导致训练的结果不好,因为我之前提到人脸本质上是为了找到泛化性能好的特征,而softmax的目的是保证你每个类要分的正确,这两者之间并不等价,并且softmax的这种定义方式还伴随着其他问题需要你在训练的时候特别注意,诸如softmax需要一个大的数据集;softmax对long tail effect较为敏感等等,针对这些问题出现很多对softmax的改进。

另外从工程上考虑如果人脸的label数很大的时候,softmax的FC矩阵会很大,这样会占用很多GPU导致batch size变小,训练的效果会变差,此外测试时我们只计算到倒数第二层,最后一层庞大的fc矩阵就被我们抛弃了,一方面导致浪费,另一方面目前训练的方式是end to end learning,这样得到的特征也不是最优的,所以只使用softmax的化要谨慎呦。

最后我想补充一点的是,训练精度很快到0.9以上的话继续训练,因为很多样本都预测正确了,这时其梯度就会变得更小,网络也就会学习不动了,这时候怎么办呢?老办法,找到hard sample来帮助训练,至于如何实现,各位看官请听下回分解。

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

人脸识别之损失函数Softmax 的相关文章

随机推荐

  • 深度强化学习笔记之PPO算法理解(1)

    深度强化学习笔记之PPO算法理解 xff08 1 xff09 笔记内容来源于李宏毅老师的深度强化学习的PPT 关于PPO xff08 Proximal Policy Optimization xff09 xff0c 李老师分为了三个部分进行
  • apt install 报无法修正错误

    E 无法修正错误 xff0c 因为您要求某些软件包保持现状 xff0c 就是它们破坏了软件包间的依赖关系 很可能是ubuntu更换软件源出了问题 问题在于软件源设置不对 xff0c 装好Linux后 xff0c 人们都会去修改 etc ap
  • ubantu系统服务器系统搭建详情及配置步骤(DELL poweredge r730服务器)

    实验室新到了一批显卡 xff0c 周末跟着几位师兄在机房混迹学着ubantu系统系统服务的部署 xff0c 配置 xff0c 搭建 xff0c 现记录于博客备忘 准备 xff1a ubantu镜像文件 ubuntu 16 04 3 serv
  • 树莓派升级(安装)Python3.6

    如果你的树莓派或者其他Linux主机上安装的Python版本比较低 xff0c 那么在安装Homeassisant等软件时 xff0c 会出现一些故障导致无法安装 xff0c 所以本文讲解如何在python版本比较低的树莓派上升级树莓派的版
  • 研究了几天CEF的感受

    cef搞到现在 xff0c 用已经勉强用上了 xff0c 性能也很好 xff0c 但是最大的问题是js在render进程里跑 xff0c 这一点和Electron是一样的 xff0c 也是chrome这类浏览器标准做法 xff0c 其实是不
  • Jenkins安装过程

    一 什么是自动化测试平台 前言 xff1a 在一些做嵌入式产品的公司里 xff0c 为了确保开发主线代码的稳定 xff0c 在做版本升级的时候要考虑到代码改动对主线功能造成的影响 xff0c 避免造成严重的版本问题 xff0c 需要在每次代
  • ldd nm strip strings readelf file查看信息

    ldd lt 可执行文件名 gt 查看可执行文件链接了哪些 系统动态链接库 nm lt 可执行文件名 gt 查看可执行文件里面有哪些符号 strip lt 可执行文件名 gt 去除符号表可以给可执行文件瘦身 strip后使用nm查看不到符号
  • linux console输出重定向到串口ttyS0

    在linux系统中使用virsh创建和管理虚拟机时 xff0c 除了使用ssh 连接虚拟机 xff0c 还可以使用 virsh console 虚机名 的方式连接虚拟机 xff0c 不过需要在虚机镜像中开启将console重定向到串口的设置
  • 最新综述 | 图数据上的对抗攻击与防御

    Lichao Sun and Yingtong Dou and Carl Yang and Ji Wang and Philip S Yu and Bo Li Adversarial Attack and Defense on Graph
  • 记一次硬件调试经历

    产品信息 系统 xff1a SONiC系统 xff08 linux 4 9 110 xff09 xff0c ONIE xff08 4 1 38 xff09 项目背景 xff1a 此项目是一个网络流量设备 xff0c 作为流量转发器 xff0
  • VNC 的应用及灰屏鼠标变X问题

    Ubuntu中vnc服务器端的安装很简单 xff0c 运行如下命令 xff1a sudo apt get install vnc4server 第一次启动vncserver后 xff0c 在用户家目录中会生成 vnc 目录 xff0c 注意
  • 质量—弹簧—阻尼系统的建模分析

    质量 弹簧 阻尼系统的建模分析 本文介绍如何使用数轴建模法对质量 弹簧 阻尼系统进行建模分析 这里涉及的质量块 弹簧 阻尼均为理想器件 注 xff1a 实际弹簧还拥有阻尼器的效果 xff0c 即实际弹簧应该是一个弹簧 阻尼系统 在分析质量
  • ubuntu16.04上samba服务器的安装和配置

    大家好 xff0c 我是加摩斯 xff0c 觉得文章有帮助的小伙伴 xff0c 记得一键三连哟 xff5e 申明 xff1a 原创 xff0c 转载前请与我沟通 samba服务器的介绍可以查看鸟哥私房菜服务篇中的文件服务器之二 xff0c
  • 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对

    答 xff1a 不对 xff0c 有相同的 hash code 这是java语言的定义 xff1a 1 对象相等则hashCode一定相等 xff1b 2 hashCode相等对象未必相等 hashCode 的常规协定是 xff1a 1 在
  • 关于下载Keil5无法打开keil4文件的问题解决方案

    关于下载Keil5无法打开keil4文件的问题解决方案 1 拖拽工程文件到keil4中 xff0c 发现相应问题2 打开工程目录 xff0c 删除缓存文件3 将uvproj文件拖到keil4程序上 本人在下载完keil4后下载了keil5
  • linux: flameshot 快捷键设置

    如果有一次启动后 xff0c 系统说 flameshot 崩溃了 xff0c 然后你的 快捷键 xff0c 就会不好用了 xff0c 那么此时 重启flameshot 即可
  • latex, 两个图并排怎么弄

    想要这样 的效果 俩图并排 xff0c 底下还有 一个 图的caption 你使用 如下 latex begin figure h subfloat label picd includegraphics width 61 6 77cm pi
  • 【TouchGFX实战】中文打印与滚动文本框

    TouchGFX实战 中文打印与滚动文本框 本文涉及到的TouchGFX版本基于TouchGFX Designer 4 19 1 xff0c 已成功应用到实际项目 xff0c 如有疑问请向作者留言咨询 效果演示 xff1a 整体效果如下 x
  • 调整VMware虚拟机硬盘容量大小

    xfeff xfeff 使用在VMware安装目录下就有一个vmware vdiskmanager exe程序 xff0c 它是一个命令行工具 xff0c 可用来修改虚拟机硬盘的大小 命令格式如下 vmware vdiskmanager x
  • 人脸识别之损失函数Softmax

    这次我想和各位童鞋分享下人脸识别中的损失函数 xff0c 我认为根据损失函数的不同可以把人脸识别看做classification和metric learning两种或者两者的结合 下面我分享下我训练中踩的一些坑 xff0c 如有纰漏欢迎童鞋