尽管传统的softmax在卷积网络作为最常用的监督学习组件,但是他不能促进判别性强的特征的学习,在这篇论文里面首先提出一种基于Margin的L-Softmax损失函数,可以明确地促使学习到的特征具有类内的紧凑性和类间的可分离性。
此外L-Softmax不仅可以调节所需的Margin,还可以避免过拟合的发生。这个损失函数可以通过经典的随机梯度下降算法优化。
Large-Margin Softmax Loss(L-Softmax Loss)是为了提高类内特征的紧凑性,拉大类间特征的间隔(intra-class compactness and inter-class separability)而提出来的。
总的来说,L-softmax会缩小每个类别的可行角度(Feasible angle)范围,在这些类别之间产生角度Magin。
Feasible angle of the i-th class:refers to the possible angle between x x x and W i W_i Wi that is learned by CNNs.
一、Softmax Loss(Softmax + Cross-Entropy Loss)
Softmax Loss(Softmax + Cross-Entropy Loss)是CNNs中最为常见的代价组合,效果不错,但是没有对特征有区别的学习。
L = − ∑ j = 1 T y j l o g ( S j ) L = -\sum_{j=1}^{T}y_{j} log (S_{j}) L=−j=1∑Tyjlog(Sj)
- 首先 L L L 是损失。
- S j S_j Sj 是Softmax的输出向量 S S S 的第 j j j 个值,前面已经介绍过了,表示的是这个样本属于第 j j j 个类别的概率。
- y j y_j yj 前面有个求和符号, j j j 的范围也是 1 1 1 到类别数 T T T,因此 y y y 是一个 1 × T 1×T 1×T 的向量,里面的 T T T 个值,而且只有 1 1 1 个值是 1 1 1,其他 T − 1 T-1 T−1 个值都是 0 0 0。那么哪个位置的值是 1 1 1 呢?答案是真实标签对应的位置的那个值是 1 1 1,其他都是 0 0 0。
Softmax Loss组件为三个部分的组合,包括:
- 交叉熵损失、
- Softmax函数、
- 网络结构最后的一层全连接层。
如下图:
在这样的定义下,许多流行的CNN网络可以被视为卷积特征学习组件和Softmax组件。最后一层全连接层可以表示为 f = W x f = Wx f=Wx , W c W_{c} Wc 是 W W W 矩阵(权重参数)中第 c c c 行, W c x = ∣ ∣ W c ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 c o s ( θ c ) W_{c}x=\left| \left| W_{c} \right| \right|_{2}\left| \left| x \right| \right|_{2}cos(\theta_{c}) Wcx=∣∣Wc∣∣2∣∣x∣∣2cos(θc) , c c c 是表示某一类的索引, W c W_{c} Wc 可视为类别 c c c 的线性分类器。在这样的情况下,标签预测很大程度上取决于与每个类别角度的相似性。
Large-Margin Softmax Loss的目的是根据角度相似性将softmax损失归纳为更一般的大幅度softmax(L-Softmax)损失,从而导致学习的特征之间可能存在更大的角度可分离性。
二、Large-Margin Softmax Loss(L-softmax Loss)
首先上图,看下L-softmax损失与softmax训练出的特征有什么不一样:
- 每一行的第一个都是传统的softmax,后面3个是不同参数的L-softmax,
- 可以看到 L-Softmax 具有更紧凑的类内距离,更大的类间距离。怎么做到的呢?
1、原始的 Softmax Loss:
L = 1 N ∑ i L i = − 1 N ∑ i log ( e w y i T x i ∑ j e w j T x i ) L = \cfrac{1}{N} \sum_{i} L_i = -\cfrac{1}{N} \sum_i \log \left (\cfrac{e^{\mathbf{w}_{y_i}^T \mathbf{x}_i}}{\sum_{j} e^{\mathbf{w}_{j}^T \mathbf{x}_i}} \right) L=N1i∑Li=−N1i∑log(∑jewjTxiewyiTxi)
可以看到:
- 样本 i i i 的类别 j j j 的分数由 w j T x i \mathbf{w}_j^T\mathbf{x}_i wjTxi 决定,这是一个内乘操作,所以可以说类别 j j j 的分数由向量 w j \mathbf{w_j} wj 和 x i \mathbf{x}_i xi 的相似度决定,二者的相似度越大,分数越高,样本 i i i 越有可能属于类别 j j j。
- 向量内积操作可以写成向量模和夹角余弦的乘积形式,如下(其中 θ j \theta_j θj 表示 w j \mathbf{w_j} wj 和 x i