论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks

出处:ICML 2016
论文:http://proceedings.mlr.press/v48/liud16.pdf
代码:https://github.com/luoyetx/mx-lsoftmax

摘要:
交叉熵损失与softmax一起可以说是卷积神经网络(CNN)中最常用的监督组件之一。 尽管该组件具有简单性,流行性和出色的性能,但并未明确鼓励对功能进行辨别性学习。 本文提出了一个广义的large-margin softmax(L-Softmax)损失,它鼓励了学习特征之间的类内紧凑性和类间可分离性。此外,L-Softmax不仅可以调整所需的余量,还可以避免过拟合。L-Softmax还可以通过典型的随机梯度下降来优化,显着提高了各种视觉分类和验证任务的性能。

1 简介

最近学习具有更强大特征的趋势是通过更具辨别力的信息来强化CNN。 直观地说,如果它们的类内紧凑性和类间可分离性同时最大化,则学习的特征是好的。受这种想法的启发,提出了contrastive loss 和 triplet loss,以实现额外的类内紧凑性和类间可分离性。但是,训练样本对和三元组的数量可以达到O(N2),对于大规模训练样本来选择好的训练对就成了很大的问题。
  对于Large-Margin Softmax Loss的效果,先直观感受一下结果,后续再来分析:

论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks

2 相关工作

contrastive loss:需要给CNN输入一个样本对,如果是属于同一类别,要求它们直接的特征相近。反之则需要留较大的距离。
triplet loss:输入三元组样本,最小化 anchor 和 positive 样本的距离,最大化 anchor 和 negative 样本的距离
original softmax loss:
L=1NiLi=1Nilog(efyijefj)L=\frac{{1}}{{N}}\sum\limits_{i} L{_{i}}=\frac{{1}}{{N}}\sum\limits_{i} {-log\left( {\frac{{e^{f_{y_{i}}}}}{{\sum\nolimits_{j} {e^{f_{j}}}}}} \right)}
由于fyi=WyiTxi=Wjxicos(θj)f_{y_{i}}=W_{y_{i}}^{T}x_{i}=\left\| {W_{j}} \right\|\left\| {x_{i}} \right\|cos\left( {\theta _{j}} \right)
所以Li=log(eWyixicos(θyi)jeWyiTxi=Wjxicos(θj))L_{i}=-log\left( {\frac{{e^{\left\| {W_{y_{i}}} \right\|\left\| {x_{i}} \right\|cos\left( {\theta _{y_{i}}} \right)}}}{{\sum\nolimits_{j} {e^{W_{y_{i}}^{T}x_{i}=\left\| {W_{j}} \right\|\left\| {x_{i}} \right\|cos\left( {\theta _{j}} \right)}}}}} \right)

3 方法

3.1 引言

original softmax为了正确将x分类是希望W1Tx>W2TxW1Xcos(θ1)>W2Xcos(θ2)W_{1}^{T}x>W_{2}^{T}x\Leftrightarrow \left\| {W_{1}} \right\|\left\| {X} \right\|cos\left( {\theta _{1}} \right)>\left\| {W_{2}} \right\|\left\| {X} \right\|cos\left( {\theta _{2}} \right)
为了使分类更严格以产生决策余量,所以定义一个正整数m (0 ≤ θ1 ≤ π/m )。

论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks
通过这种方式定义损失会逼得模型学到类间距离更大的,类内距离更小的特征。

3.2 定义

L-Softmax loss 被定义为:

论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks
为了简化正向传播与反向传播算法,作者在这篇文章构造了一个具体的函数
论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks
论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks

3.3 几何解释

L-softmax loss 是为了鼓励不同类别之间有一个角度间距,例举二分类

论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks
比如当||W1||=||W2||时,original softmax loss 要求 θ1 < θ2 去判别样本 x 属于 1,而 L-Softmax loss 只要求 mθ1 < θ2 去做相同的判别.