专栏名称: VALSE
VALSE(Vision and Learning Seminar) 年度研讨会的主要目的是为计算机视觉、图像处理、模式识别与机器学习研究领域内的中国青年学者提供一个深层次学术交流的舞台。
目录
相关文章推荐
企名片  ·  2024年中最佳财务顾问TOP10——云道资本 ·  13 小时前  
企名片  ·  2024年中最佳财务顾问TOP10——云道资本 ·  13 小时前  
会计雅苑  ·  软件行业舞弊迹象及审计应对之策 ·  昨天  
会计雅苑  ·  中国邮政集团关于变更会计师事务所的公告 ·  3 天前  
马靖昊说会计  ·  关乎你的钱袋,2025年度个人所得税专项附加 ... ·  5 天前  
51好读  ›  专栏  ›  VALSE

【VALSE 前沿技术选介17-06期】探究最陌生的老朋友Softmax

VALSE  · 公众号  ·  · 2017-06-02 13:38

正文


今天给大家介绍的工作是大家最陌生的老朋友Softmax Loss。Softmax可以算是最为广泛使用的分类loss,在大家都在极力压榨网络结构来换取性能提升的时候,回过头来再去看看这个网络训练的“指挥棒”,能有很多新的发现。


其实在读到这一系列工作之前,我花很久考虑过一个问题,对于SVM来讲,margin的概念十分清晰易懂,那么对于Softmax而言,如果我们要引入Max Margin的概念,那么所谓的margin究竟是什么?实话讲,这个问题是我考虑很了很久,但是并没有清晰答案的一个问题,把这一系列的工作串起来后,这个困扰我很久的问题终于有了解答。


为了能对这一系列工作有更深刻的理解,我们需要从几何上来理解softmax loss究竟在做什么。为了方便表述,下文所指softmax loss均指softmax之前的全连接层+softmax loss function,即


其中f_i为第i个sample的feature,y_i为其对应的label,w_{y_i}为y_i类对应的weight。为了方便后文推导,我们可以认为bias term b = 0。这里有一个关键的变换是,我们把inner product表示为:


这个简单的变换是后面这一系列工作的核心:我们可以看到这个inner product的大小,和三个元素相关:w的l2 norm,f的l2 norm,w和f这两个向量的夹角。如果我们对于类别没有特殊的假设,那么w的l2 norm可以认为是一致的。那么可以影响结果的就只有后两项了,后面介绍的一系列工作都是在这两项上进行改动。在开始之前,我们需要一个在二维的空间中直观的解释来帮助理解:


在这些图中,黄色和绿色的点分别代表两类样本,黑色的虚线代表decision boundary,黑色的实线代表两个class的weight。这些weight vector,把整个空间划分成了若干个锥形,每个锥形对应着一类样本的空间。如果假设每一类的weight的l2 norm是一致的,那么每个样本属于哪一类就只和这个样本在这些weight vector的方向上投影长度相关。

最左侧的图中,显示的是原始的softmax,可以看到,由于softmax并没有显式地加强margin,会导致训练样本可以分对,但是泛化性能并不好的情况。尤其是对于Deep Learning 模型而言,由于模型复杂度较高,大量的样本在训练后期正确类别的概率都会在0.99以上,这会导致大量的样本在训练后期回传的gradient非常小,从而不能更好地指导模型的训练。


所以为了拓展这个margin,根据前面的分析,主要有两个方向:第一个方向是限定f的l2 norm的情况下让不同类之间的角度维持一个margin,这个方向上代表的两个工作是[1, 2];第二个方向在第一个方向上更进一步,尽量让f的l2 norm变大[3]。这分别对应的是中间和右侧的示意图。在中间的图中,可以看到如果我们在投影的夹角上加入一个margin,可以让每一类的样本push向正确类别的weight方向(蓝色箭头),最终都集中在过原点的一个锥中,这样可以显著改善类间和类内距离;最右侧的图中,我们更进一步,我们不仅仅希望在这样的一个锥中,还希望样本的特征表示f尽量远离原点(红色箭头),在这样一个锥形的“底部”。下面分别介绍下这两类工作的formulation。


在第一类工作中,以[1]举例,我们希望得到一个更严格的formulation,对于合适的m,我们希望满足:

其对应的loss function为:




虽然看上去phi的定义比较复杂,原因在于cos函数并不是单调的,通过合适的phi定义是为了保障loss function是单调递减的。一个示例如下图:

整个BP的过程就不再赘述,是很标准的求导操作。实验中,作者使用mnist做了一个很直观的illustration,相信大家看了也会一目了然:

[2]在这个基础上,引入了对weight的normalization,提供了更好的理论分析,以及对open set样本性能的提升。

 

对于第二个方向,[3]给出了很好的探索。首先作者给出了理论证明,feature norm并不需要无限增长来保障泛化性能,所以在设计对应的regularization的时候,作者希望这个term的强度和feature norm的大小成反比。所以作者使用了下述的方式:


其中h(i)为一个indicator function指示第i个样本有没有分类正确。虽然可以理解作者引入这个indicator的目的是希望只有在分类正确的时候再讲feature的l2 norm加大以增强和其他类的margin,但是首先这个indicator会导致整个目标的不连续,不能区分刚好在margin上的样本和完全错误的样本。这里可能使用一个连续如tanh的近似可能更加合理。其次按照作者提供的motivation,对于分类正确的样本应当增加feature l2 norm,同样对于错误的样本应当减小其l2 norm,但是在这个设计上并没有体现出这一点。第三,这个indicator function并没有和w和f相关,这会导致这一项的gradient无法回传。所以个人觉得作者motivation很让人信服,但是在具体的regularization设计上,可能存在改进的空间。

 

值得一提的是,最近还有大量的文章[4, 5, 6, 7],提到了feature normalization和之后的scale对于性能的提升,也提供了很多理论分析的结果。这几个工作和前面介绍的工作十分相关,有兴趣的读者可以自行参考。但是需要注意这些工作中首先将feature normalize,然后再去scale到一个较大值的方式并不等价于直接增大f的l2 norm。原因在于这样scale并没有通过gradient回传给之前的feature extractor(即CNN)需要增大feature的l2 norm的信息,只是对于feature的“后处理”。这样虽然能够改善最终softmax分类器的性能,但并不能指导CNN学习到泛化能力更强的feature。

 

关于我们老朋友softmax的故事今天就给大家介绍到这里。除了各种花样翻新的网络结构,这些看似很熟悉的东西其实对于性能的提升也很显著,希望大家多拓宽思路,毕竟条条大路通罗马~

 

[1] Liu, Weiyang, Yandong Wen, Zhiding Yu, and Meng Yang. "Large-Margin Softmax Loss for Convolutional Neural Networks." In Proceedings of The 33rd International Conference on Machine Learning, pp. 507-516. 2016.

[2] Liu, Weiyang, Yandong Wen, Zhiding Yu, Ming Li, Bhiksha Raj, and Le Song. "SphereFace: Deep Hypersphere Embedding for Face Recognition." arXiv preprint arXiv:1704.08063 (2017).

[3] Yuan, Yuhui, Yang Kuiyuan, Zhang Chao. “Feature Incay for Representation Regularization” arXiv preprint arXiv:1704.08063 (2017).

[4] Chunjie, Luo, and Yang Qiang. "Cosine Normalization: Using Cosine Similarity Instead of Dot Product in Neural Networks." arXiv preprint arXiv:1702.05870 (2017).

[5] Ranjan, Rajeev, Carlos D. Castillo, and Rama Chellappa. "L2-constrained Softmax Loss for Discriminative Face Verification." arXiv preprint arXiv:1703.09507 (2017).

[6] Wang, Feng, Xiang Xiang, Jian Cheng, and Alan L. Yuille. "NormFace: $ L_2 $ Hypersphere Embedding for Face Verification." arXiv preprint arXiv:1704.06369 (2017).

[7] Liu, Yu, Hongyang Li, and Xiaogang Wang. "Learning deep features via congenerous cosine loss for person recognition." arXiv preprint arXiv:1702.06890 (2017).