论文笔记 | Large-Margin Softmax Loss for Convolutional Neural Networks
出处:第39届国际机器学习大会(ICML 2016)
论文:https://proceedings.mlr.press/v48/liud16.pdf
代码:https://github.com/luoyetx/mx-lsoftmax
摘要:
1 简介
当前学习发展路径显示,在强化Convolutional Neural Networks(CNN)的过程中需要特别关注信息的质量与鉴别力

2 相关工作
contrastive loss:需要给CNN输入一个样本对,如果是属于同一类别,要求它们直接的特征相近。反之则需要留较大的距离。
triplet loss:输入三元组样本,最小化 anchor 和 positive 样本的距离,最大化 anchor 和 negative 样本的距离
original softmax loss:
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)}
由于f_{y_{i}}=W_{y_{i}}^{T}x_{i}=\left\| {W_{j}} \right\|\left\| {x_{i}} \right\|cos\left( {\theta _{j}} \right)
所以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 引言
该软最大算法旨在实现对输入数据x的正确分类目标是以确保W_{1}^{T}x > W_{2}^{T}x这一条件能够成立即\left\| W_{1} \right\|\left\| X \right\|\cos(\theta_1) > \left\| W_{2} \right\|\left\| X \right\|\cos(\theta_2)得以满足为此目的我们需要通过设定一个正整数m来增强分类的严格性并生成决策间隔以提高模型区分不同类别数据的能力其中参数θ₁应满足0 ≤ θ₁ ≤ π/m这一范围约束

该方法计算损失会迫使模型使模型学会类间距离更大的同时使模型学会类内距离更小的特征
3.2 定义
L-Softmax loss 被定义为:

为了简化正向传播与反向传播算法,在构建网络结构时作者提出了一个具体的函数模型


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

比如当 ||W₁|| 等于 ||W₂|| 时, 传统的 Softmax 损失则要求 θ₁ 必须小于 θ₂ 才能正确分类样本 x 为类别 1. 相比之下,L-Softmax 损失只需满足 mθ₁ 小于 θ₂ 即可完成相同的任务.
