损失函数改进之Large-Margin Softmax Loss_AI之路-CSDN博客_large margin softmax最近几年网络效果的提升除了改变网络结构外,还有一群人在研究损失层的改进,这篇博文要介绍的就是较为新颖的Large-Margin softmax loss(L-softmax loss)。Large-Margin softmax loss来自ICML2016的论文:Large-Margin Softmax Loss for Convolutional Neural Networks 论文链接:htthttps://blog.csdn.net/u014380165/article/details/76864572?spm=1001.2014.3001.5501卷积神经网络系列之softmax,softmax loss和cross entropy的讲解_AI之路-CSDN博客_卷积神经网络softmax层我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等。虽然现在已经开源了很多深度学习框架(比如MxNet,Caffe等),训练一个模型变得非常简单,但是你对这些层具体是怎么实现的了解吗?你对softmax,softmax loss,cross entropy了解吗?相信很多人不一定清楚。虽然网上的资料很多,但是...https://blog.csdn.net/u014380165/article/details/77284921?spm=1001.2014.3001.5501

large-margin softmax loss for convolutional neural networks这篇文章算的上是人脸识别方向的开箱之作了,后续有sphereface,cosface,arcface等等,改进softmax loss实际上是非常有意义的任务,在日常工作中,除了多标签分类任务(sigmoid),几乎所有的任务用的都是softmax loss。本文即是从loss角度上让model学一个更难的边界,在余弦距离上,让类和类之间强行多一个m,这样的话,类和类之间的距离会变得更大,类内的距离则变小。(encourages intra-class compactnessand inter-class separability between learned features.)

1.Introduction

上图很直观,softmax loss包括三部分,第一是输出特征维度的linear层,这里面包括了输入的x和特征权重w,其次是softmax函数,最后是交叉熵(如果交叉熵中用的是softmax,即是我们最常见的softmax cross-entropy loss).current softmax loss does not explicitly encourage intra-class compactness and inter-class-separability.当前的softmax loss并没有鼓励类内紧凑型和类间可分性。怎么办?Our key intuition is that the separability between sample and parameter can be factorized into amplitude ones and angular ones with cosine similarity:作者直观就是将样本和参数之间可分性分解为具有余弦相似性的振幅和角度,即

w就是linear层的权重,x是linear层的特征输入,Under softmax loss,the label prediction decision rule is largely determined by the angular similarity to each class since softmax loss uses cosine distance as classification score. 由于softmax loss使用余弦距离作为分类分数,标签预测决策规则在很大程度上取决于每个类别的角度相似性。将softmax推广到large-margin softmax loss,margin可以理解成角度上的一个常量。

使用不同的m值,类间距离确实分离了,类间也变得更加紧凑了。

2.related work and preliminaries

标准的softmax loss

f就是linear层的输出,不过这层输出大小是负无穷到正无穷

上面这个式子就使用向量乘法做了分解。其实也好理解为什么在这层做文章?softmax函数和交叉熵其实都不是和特征之间相关的因素,model从图像中学到的类间类内的特征才是最终给到loss去驱动的,因此在linear层中转成cos角度其实是loss驱动model去学更好特征的入口。

3.large-margin softmax loss

考虑一个二分类,并且样本x属于类别1:则希望softmax强制

However, we want to make the classification more rigorous in order to produce a decision margin. 作者希望分类更加严格,易产生决策margin。

这里是整个文章最核心的点,cos单调递减,标签1的话就要求,预测的cos(角1)>cos(角2)(余弦距离),cos(角1)>cos(m*角1)>cos(角2),m值越大,意味着loss侧角1和角2的预测值变得更接近了,对于model来说,更难学了,loss这么设计是希望让类间的距离变得更大,大到两者之间隔了个m,So the new classification criteria is a stronger requirement to correctly classify x, producing a more rigorous decision boundary for class 1.新的分类loss对正确分类样本x提出了更高的要求,为类别1产生了一个更严格的决策边界。

则l-softmax变成了:

注意这个和角度相关的函数定义是一个分段函数,cos在0-π之间是单调递减的, 其中m是与分类边距密切相关的整数。m越大,分类间隔越大,学习目标也越难实现。同时,要求D是单调递减函数,D()应等于cos()。

最后看一下几何解释:

可以看到中间这个decision margin还是很大的。

因此L-softmax loss的思想简单讲就是加大了原来softmax loss的学习难度。l-softmax希望类和类之前的余弦距离至少要在一个m倍以上,关于这个m就有很多可以做的文章了。

large-margin softmax loss for convolutional neural networks相关推荐

  1. 人脸识别-Loss-2016:Large Margin Softmax Loss【Margin:角度分类边界之间的空白角度区域】【增大Margin来提高分类精度】【缺陷:无法处理W_i≠W_j的情况】

    尽管传统的softmax在卷积网络作为最常用的监督学习组件,但是他不能促进判别性强的特征的学习,在这篇论文里面首先提出一种基于Margin的L-Softmax损失函数,可以明确地促使学习到的特征具有类 ...

  2. 卷积神经网络Convolutional Neural Networks深度解析I

    知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...

  3. 人脸识别-Loss-2018:Large Margin Cosine Loss(CosFace)【SphereFace只对W归一化,CosFace对W、X都归一化】【在余弦空间中最大化分类界限】

    <原始论文:CosFace: Large Margin Cosine Loss for Deep Face Recognition> <原始论文:Additive Margin So ...

  4. 人脸关键点: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks

    原文链接:https://blog.csdn.net/u011995719/article/details/80150508#commentsedit Wing Loss for Robust Fac ...

  5. Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)

    目录 摘要 原文 翻译 单词解释 技术解读 引言 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读. Model 原文 单 ...

  6. 《每日论文》ImageNet Classification with Deep Convolutional Neural Networks

    这篇论文是剖析 CNN 领域的经典之作,也是入门 CNN 的必读论文.作者训练了一个面向数量为 1.2 百万的高分辨率的图像数据集 ImageNet, 图像的种类为 1000 种的深度卷积神经网络. ...

  7. AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为中英文对照版,纯中文版请稳步:[AlexNet纯中文版] ImageNet Classification with De ...

  8. Graph Convolutional Neural Networks for Web-Scale Recommender Systems(用于Web级推荐系统的图形卷积神经网络)

    Graph Convolutional Neural Networks for Web-Scale Recommender Systems 用于Web级推荐系统的图形卷积神经网络 ABSTRACT R ...

  9. ImageNet Classification with Deep Convolutional Neural Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers- ...

最新文章

  1. 深入卷积神经网络背后的数学原理 | 技术头条
  2. python常用英语单词-3天教你掌握Python必备常用英语词汇
  3. map的用法-HD 1029Ignatius and the Princess IV
  4. BZOJ3262: 陌上花开(cdq分治)
  5. github 提交报403 forbidden的错误解决
  6. Codeforces Round #674 (Div. 3)
  7. java 指代对象_java-This的理解
  8. html快照抓取,请教前端实现获取dom元素快照的方法
  9. Linux学习(lesson1)
  10. 关于Dictionary的线程安全问题
  11. python是一种编译型程序设计语言_Python语言是一种编译型高级程序设计语言。
  12. 适合小白使用的python编辑器_5个适合小白的Python开发必备工具(推荐)
  13. scanf格式符 linux,Linux scanf使用情况
  14. 华为研发工程师笔试编程题
  15. 自己动手写CPU(6)简单算术操作指令
  16. Python-并发、并行、协成的简易理解
  17. 免费思维导图软件分享
  18. 3. KNN最近邻算法详解与关键技术剖析(理论篇)
  19. 【每日一句】名人金句学英语(1130)
  20. linux grep -a命令 grep用法

热门文章

  1. 软件定义网络基础(SDN④)
  2. Blender插件天空地形山水自然环境生成器 TerrainScapes V2.0
  3. python append()方法
  4. 二维数组名做参数传递问题
  5. android jnl的mk文件,动态语言与静态语言
  6. 如何查找python各种路径
  7. 全局vue中修改字体样式 苹方字体 微软雅黑 亲测可用
  8. 大数据的分布式数据库技术的对比
  9. 标量、向量、矩阵求导大全
  10. 机房的正确布线方法,四招轻松搞定!