| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【人脸识别】人脸识别损失函数学习笔记 -> 正文阅读 |
|
[人工智能]【人脸识别】人脸识别损失函数学习笔记 |
目录 一、 sphereface:A-Softmax(CVPR2017) 1.1 传统的softmax Loss(第二章中有更详细的公式解释): 1.2 sphereface对softmax进行了两点改进: 1.2 归一化softmax Loss(NSL,Normalization Softmax Loss) 1.3 CosFace Loss(LNCL,Large Margin Cosine Loss) 2.2 NSL:Normalized Softmax Loss: 2.4 CosFace. Large Margin Cosine Loss(LMCL): 3.1 ?为什么要进行feature Normalization? 一、SphereFace:A-Softmax(CVPR2017)1.1 传统的softmax Loss(第二章中有更详细的公式解释):1.2 sphereface对softmax进行了两点改进:1)改进1:归一化权重W,同时让bias置零;
2 )改进2:加入margin进行约束;
1.3 sphereface弊端cosine函数单调性问题。如果实际优化的时候仅仅使用cos,那么需要对theat的范围进行约束以保证cos单调递减,而为了摆脱这一约束实现cnn的直接优化,实际使用的是cos的近似函数:单调递减的一个函数。 PS:这里没有细理解,就是使用一个近似的函数替代cos(theta); 二、CosFace(CVPR2018)large margin softmax 和 spherface的angular softmax弊端:
cosface的出现则是弥补了这个缺陷:
1 softmax loss的不同变种1.1 原始的softmax loss:其中:?是当前的类别权重和特征 x的乘积,theta为X和W的夹角,bias和以前一样置0。然后使用余弦公式的计算可以将wx+b转换一下: 1.2 归一化softmax Loss(NSL,Normalization Softmax Loss)
修改后的loss如下,也称为NSL,Normalized version of Softmax Loss: ? 1.3 CosFace Loss(LNCL,Large Margin Cosine Loss)
上述模型只是转换了学习空间而已,由最开始的优化内积变成了现在的优化角度。但是还未达到作者想要的有鉴别力(区分度)的特征。 因此,引入一个余弦间隔(cosine margin)来对度量进行约束,让当前样本所属的类别在减去一个m之后仍然属于这个类别,即: 注意,margin的相减操作是针对cosine的,所以scale的缩放仍然放在最外层。 2. 不同loss的分类边界分析2.1 Softmax Loss:softmax loss的边界函数同时依赖①权重向量的量级和权重与②样本特征向量之间的角度,所以会导致决策区域有重复。(大概意思是loss受权重W和角度thta两个因素影响) 2.2 NSL:Normalized Softmax Loss:归一化后的softmax,决策边界只与角度有关,所以在上传中分类决策面就是一条线。 2.3 A-Softmax(SphereFace):? A-Softmax是对角度theta进行约束,故呈现在cos(theta)的坐标中,是一个扇形页面分界区。但是A-Softmax的margin是不连续的,随着theta的降低,margin也在跟着减小,当theta等于0的时候margin甚至消失,另外,A-Softmax还需要解决非单调性问题。 2.4 CosFace. Large Margin Cosine Loss(LMCL):? ?LMCL是对cosine值加margin进行约束,所以他们的分界区是类似于SVM的margin area一样的一块矩形,且margin的宽度为? 3. CosFace中一些细节问题3.1 为什么要进行feature Normalization?下面是摘自原文的解释,作者的观点: 1)||X||(特征X的2范数)削弱了对余弦值的优化效果。
2)还有一种说法:在测试过程中,一个样本的特征X是不变的,分类的决策边界只跟余弦值cosine相关,因此,训练过程中可以将特征X直接归一化。 3.2 特征X L2归一化到1后,为什么使用了缩放系数S?
3.3 CosFace源码中操作流程
3.4 人脸识别模型训练和测试的过程图?三、ArcFace (CVPR2018)主要思想 ArcFace loss:Additive Angular Margin Loss(附加角度间隔损失函数)。
ArcFace loss特性:
惩罚角度θ 意思:即训练过程中加上m使角度θ值变得更小。
ArcFace Loss函数: ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/22 11:26:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |