标签:partial lam 时间 nta 细节 不能 复杂 设计 cal
本文来自《Large-Margin Softmax Loss for Convolutional Neural Networks》,时间线为2016年12月,是北大和CMU的作品。
过去十几年,CNN被应用在各个领域。大家设计的结构,基本都包含卷积层和池化层,可以将局部特征转换成全局特征,并具有很强的视觉表征能力。在面对更复杂的数据下,结构也变得更深(VGG),更小的strides(VGG),新的非线性激活函数(ReLU)。同时受益于很强的学习能力,CNN同样需要面对过拟合的问题。所以一些如大规模的训练集,dropout,数据增强,正则,随机池化等都不断被提出。
最近的主流方向倾向于让CNN能够学到更具辨识性的特征。直观上来说,如果特征具有可分性且同时具有辨识性,这是极好的。可是因为许多任务中本身包含较大的类内变化,所以这样的特征也不是轻易能够学到的。不过CNN强大的表征能力可以学到该方向上的不变性特征,受到这样的启发,contrastive loss和triplet loss都因此提出来增强类内紧凑性和类间可分性。然而,一个后续问题是,所需要的图片二元组或者三元组理论上需要的量是\(O(N^2)\),这里\(N\)是训练样本的个数。考虑到CNN经常处理大规模训练集合,所以需要精心的选择训练集的一个子集来拟合这些loss函数。因为softmax的简洁和概率可解释性,softmax被广泛的应用。再加入cross-entropy loss一起使用,形成了最CNN分类结构中最常用的组件。
本文中,作者将softmax loss定义为cross-entropy loss,softmax函数和最后一层全连接层的组合。如下图
作者本文的目的就是通过角度相似度项,泛化softmax loss到一个更通用的大边际softmax(L-Softmax)loss上,从而让学到的特征之间具有更大的角度可分性。通过预设常数\(m\),乘以样本和ground-truth类别分类器之间的角度。\(m\)确定了靠近ground-truth类的强度,提供了一个角度边际。而传统的softmax loss可以看成是L-sofmax loss的一个特例。
- 倾向扩大类之间的角度决策边际,生成更多辨识性的特征。它的几何解释也十分清晰和直观;
- 通过定义一个更困难的学习目标来部分避免过拟合,即采用了不同的观点来阐述过拟合;
- L-Softmax不止得益于分类问题。在验证问题中,最小的类间距离也会大于最大的类内距离。这种情况下,学习可分性的特征可以明显的提升性能。
作者的实验验证了L-Softmax可以有效的加速分类和验证任务的性能。更直观的,图2和图5中的特征可视化都揭示了L-Softmax loss更好的辨识性
当前广泛使用的数据loss函数包含欧式loss,hinge(平方) loss,信息增益loss,contrastive loss, triplet loss, softmax loss等等。为了增强类内紧凑性和类间可分性,《Deep learning face representation by joint identificationverification》提出将softmax和contrastive相结合。contrastive loss输入的是一对训练样本,如果这对样本属于同一个类,那么contrastive loss需要他们的特征尽可能的相似;否则,contrastive loss会让他们的距离超过一个边际阈值。
而不管是contrastive loss还是triplet loss都需要仔细的设计样本选择过程。而他们都更加倾向类内紧凑性和类间可分性,这也给作者一些灵感:在原始softmax loss上增加一个边际限制。
作者提出在原始softmax loss上进行泛化。假设第\(i\)个输入特征\(x_i\)和对应的label是\(y_i\)。那么原始softmax loss可以写成:
\[L=\frac{1}{N}\sum_i L_i=\frac{1}{N}\sum_i-\log \left ( \frac{e^{f_{y_i}}}{\sum_j e^{f_j}}\right ) \tag{1}\]
其中,\(f_j\)表示类别得分\(\mathbf{f}\)向量的第\(j\)个元素(\(j\in [1,K]\),K表示类别个数),N表示样本个数。在softmax loss中,\(\mathbf{f}\)通常表示全连接层\(\mathbf{W}\)的激活函数,所以\(f_{y_i}\)可以写成\(f_{y_i}=\mathbf{W}_{y_i}^Tx_i\),这里\(\mathbf{W}_{y_i}\)是\(\mathbf{W}\)的第\(y_i\)列。注意到,忽略了\(f_j\)中的常量\(b\),\(\forall j\)为了简化分析,但是L-Softmax loss仍然可以容易的修改成带有\(b\)的(性能没什么差别)。
因为\(f_j\)是基于\(\mathbf{W}_j\)和\(x_i\)的内积,可以写成\(f_j=||\mathbf{W}_j||||x_i||cos(\theta_j)\),这里\(\theta_j(0\leq \theta_j \leq \pi)\)是基于\(\mathbf{W}_j\)和\(x_i\)向量的夹角,因此loss变成:
\[L_i=-\log\left( \frac{
e^{||\mathbf{W}_{y_i}||||x_i||cos(\theta_{y_i})}
}{
\sum_i e^{||\mathbf{W}_j|| ||x_i|| cos(\theta_j)}
} \right ) \]
这里先给出一个简单的例子来直观的描述一下。考虑一个二分类问题,有一个来自类别1的样本\(x\),为了正确分类,原始softmax表现为\(\mathbf{W}_1^Tx> \mathbf{W}_2^Tx\)(即,\(||\mathbf{W}_1||||x||cos(\theta_1)> ||\mathbf{W}_2||||x||cos(\theta_2)\))。然而,为了生成一个决策边际而让分类更严格,作者认为可以\(||\mathbf{W}_1||||x||cos(m\theta_1)>||\mathbf{W}_2||||x||cos(\theta_2)(0 \leq \theta_1 \leq \frac{\pi}{m})\),这里\(m\)是一个正整数,因为有下面不等式:
\[
||\mathbf{W}_1||||x||cos(\theta_1) \geq ||\mathbf{W}_1||||x||cos(m\theta_1) > ||\mathbf{W}_2||||x||cos(\theta_2)
\]
因此,\(||\mathbf{W}_1||||x||cos(\theta_1) > ||\mathbf{W}_2||||x||cos(\theta_2)\).所以新分类标准是一个更强的标准。
按照上面的解释,L-Softmax loss定义为:
作者的目标是通过L-Softmax loss来得到一个角度边际。为了简化几何上的解释,这里分析二分类情况,其中只有\(\mathbf{W}_1\)和\(\mathbf{W}_2\)。
首先,假设\(||\mathbf{W}_1||=||\mathbf{W}_2||\),如图4。
对于\(||\mathbf{W}_1||>||\mathbf{W}_2||\)和\(||\mathbf{W}_1||<||\mathbf{W}_2||\)等情况,几何解释更复杂一些。因为\(\mathbf{W}_1\)和\(\mathbf{W}_2\)的模是不同的,类1和类2的可行角度也是不同的。正常的更大的\(\mathbf{W}_j\),对应的类就有更大的可行角度。所以,L-Softmax loss会对不同的类生成不同角度的边际。同时也会对不同的类生成不同的边际。
L-Softmax loss在原始softmax上做了一个简单的修改,在类之间获得了一个分类角度边际。通过设定不同的m值,就定义了一个可调整难度的CNN模型。L-Softmax loss有许多不错的特性:
- L-Softmax 有一个清晰的几何解释。m控制着类别之间的边际。更大的m(在相同训练loss下),表示类别之间理想的边际也更大,同时学习的困难程度也会上升。当m=1,L-Softmax就是原始softmax;
- L-Softmax 定义了一个带有可调整边际(困难)的学习目标。一个困难的学习目标可以有效的避免过拟合,同时继承深度和广度结构上很强的学习能力;
- L-Softmax 可以很容易的作为标准loss的一个选择,就和其他标准loss一样,也包含可学习的激活函数,数据增强,池化函数或其他网络结构模型。
L-Softmax loss的前向和后向是很容易计算的,所以也很容易通过SGD进行迭代优化。对于\(L_i\),原始softmax和L-Softmax之间的差别在于\(f_{y_i}\)。因此只需要在前向和后向中计算\(f_{y_i}\),且同时其他的\(f_j,\, j \neq y_i\)与原始softmax是一样的,将式子6和式子7相结合,得到\(f_{y_i}\):
在两个类型数据集上进行了本文方法的测试:图像分类和人脸验证。在图像分类中使用MNIST,CIFAR10,CIFAR100;在人脸验证中使用LFW。只有在softmax层有差别,前面的网络结构在每个数据集上都是各自一样的。如下图
当训练具有较多目标的数据集如CASIA-WebFace上,L-Softmax的收敛会变得比softmax 要困难,对于这种情况,L-Softmax就更难收敛,这时候的学习策略是
。
face recognition[variations of softmax][L-Softmax]
标签:partial lam 时间 nta 细节 不能 复杂 设计 cal
原文地址:https://www.cnblogs.com/shouhuxianjian/p/10108517.html