Gaussian Mixture Loss

前言

该论文思考了深度神经网络提取的特征与类别之间的关系,假设学习到的特征服从高斯混合分布,提出了高斯混合损失函数,同时提高了特征的类内紧凑性和类间可分离性(intra-class compactness and inter-class separability)。

Gaussian Mixture Loss 1

假设:特征服从高斯混合分布。
有K个类别,每个类别出现的概率为p(k)p(k),类别k出现特征x的概率是p(xk)p(x|k),则特征x的概率为
p(x)=k=1Kp(xk)p(k) p(x) = \sum_{k=1}^{K} p(x|k) p(k)
假设概率p(xk)p(x|k)服从正态分布,μk\mu_k为均值,Σk\Sigma_k为协方差矩阵,则
p(x)=k=1KN(x;μk,Σk)p(k) p(x) = \sum_{k=1}^{K} \mathcal{N} (x; \mu_k, \Sigma_k) p(k)
特征x对应的类别为z[1,K]z \in [1, K],特征x属于类别z的后验概率为
p(zx)=p(xz)p(z)k=1Kp(xk)p(k)=N(x;μz,Σz)p(z)k=1KN(x;μk,Σk)p(k) p(z|x) = \frac{p(x|z)p(z)}{\sum_{k=1}^{K}p(x|k)p(k)} = \frac{\mathcal{N} (x; \mu_z, \Sigma_z) p(z)}{\sum_{k=1}^{K} \mathcal{N} (x; \mu_k, \Sigma_k) p(k)}
从这个公式,我们可以得到结论:x越靠近类别中心μz\mu_{z}p(zx)p(z|x)的值就越大。

因此,分类损失函数为
Lcls=1Ni=1NlogN(xi;μzi,Σzi)p(zi)k1KN(xi;μk,Σk)p(zi) \mathcal{L}_{cls} = - \frac{1}{N} \sum_{i=1}^{N} \log \frac{\mathcal{N}(x_i; \mu_{z_i}, \Sigma_{z_i})p(z_i)}{\sum_{k-1}^{K} \mathcal{N}(x_i; \mu_{k}, \Sigma_{k})p(z_i)}

单单优化上面的分类损失不能使提取出来的训练特征趋向于高斯混合分布。例如,一个特征xix_i可以原理对应类别的中心μzi\mu_{z_i},同时可以被正确分类,只要特征xix_i相对于其他类别中心更靠近μzi\mu_{z_i}。为了解决这个问题,作者添加了一个似然正则化项(likelihood regularization term)
p(X,Zμ,Σ)=i=1NN(xi;μzi,Σzi)p(zi) p(X,Z|\mu, \Sigma) = \prod_{i=1}^{N} \mathcal{N}(x_i; \mu_{z_i}, \Sigma_{z_i})p(z_i)
转成负log似然函数
logp(X,Zμ,Σ)=i=1N(logN(xi;μzi,Σzi)+logp(zi)) -\log p(X,Z|\mu, \Sigma) = -\sum_{i=1}^{N} \left ( \log \mathcal{N}(x_i; \mu_{z_i}, \Sigma_{z_i}) + \log p(z_i) \right )
其中p(zi)p(z_i)可以看作是常数,因此似然正则化损失为
Llkd=i=1NlogN(xi;μzi,Σzi) \mathcal{L}_{lkd} = - \sum_{i=1}^{N} \log \mathcal{N}(x_i; \mu_{z_i}, \Sigma_{z_i})
个人理解,我觉得这个似然正则化项的作用是增加类内特征的紧凑性,使得学习到的特征更加靠近对应类别的中心位置μzi\mu_{z_i}

高斯混合损失函数为
LGM=Lcls+λLlkd \mathcal{L}_{GM} = \mathcal{L}_{cls} + \lambda \mathcal{L}_{lkd}
其中λ\lambda是非负权重系数。

Large-Margin GM Loss

接下来拉大类间特征的距离,提高类间特征的可分离性,提高分类器的泛化性能。

定义xix_i的分类损失为Lcls,i\mathcal{L}_{cls, i}
Lcls,i=logN(xi;μzi,Σzi)p(zi)k1KN(xi;μk,Σk)p(zi)=logp(zi)(1(2π)DΣzie12(xiμzi)TΣzi1(xiμzi))kp(zk)(1(2π)DΣke12(xiμk)TΣk1(xiμk))=logp(zi)Σzi12edzikp(k)Σk12edk \begin{aligned} \mathcal{L}_{cls, i} & = - \log \frac{\mathcal{N}(x_i; \mu_{z_i}, \Sigma_{z_i})p(z_i)}{\sum_{k-1}^{K} \mathcal{N}(x_i; \mu_{k}, \Sigma_{k})p(z_i)} \\ & = - \log \frac{p(z_i) (\frac{1}{\sqrt{(2 \pi)^D \lvert \Sigma_{z_i} \rvert}} e^{-\frac{1}{2} (x_i - \mu_{z_i})^T \Sigma_{z_i}^{-1} (x_i - \mu_{z_i})})}{\sum_{k} p(z_k) (\frac{1}{\sqrt{(2 \pi)^D \lvert \Sigma_k \rvert}} e^{-\frac{1}{2} (x_i - \mu_{k})^T \Sigma_{k}^{-1} (x_i - \mu_{k})})} \\ & = -\log \frac{p(z_i) \lvert \Sigma_{z_i} \rvert ^{-\frac{1}{2}}e^{-d_{z_i}}}{\sum_{k} p(k) \lvert \Sigma_{k} \rvert ^{-\frac{1}{2}}e^{-d_{k}}} \end{aligned}
其中
dk=(xiμk)TΣk1(xiμk)/2 d_k = (x_i - \mu_k)^T \Sigma_k^{-1} (x_i - \mu_k) / 2
D是x的维度。

dkd_k称为squared Mahalanobis distance,其值非负。

我们添加一个分类间距m0m \ge 0
Lcls,im=logp(zi)Σzi12edzimkp(k)Σk12edkI(k=zi)m \mathcal{L}_{cls,i}^{m} = - \log \frac{p(z_i) \lvert \Sigma_{z_i} \rvert^{-\frac{1}{2}}e^{-d_{z_i} - m}}{\sum_{k} p(k) \lvert \Sigma_{k} \rvert^{-\frac{1}{2}}e^{-d_{k} -I(k=z_i)m}}
其中I()I(\cdot)是指示函数。若p(k)p(k)相等,Σk\Sigma_k是单位矩阵,xix_i被分类成ziz_i,则
edzim>edk    dkdzi>m,kzi e^{-d_{z_i}-m} > e^{-d_k} \iff d_k - d_{z_i} > m, \forall k \neq z_{i}
表明xix_i要比其他类更接近类别ziz_i,至少近m个距离。论文中设m=αdzi,m[0,1]m=\alpha d_{z_i}, m \in [0,1]

几何解释
Gaussian Mixture Loss
图(a)表示加了间距m=αdzim=\alpha d_{z_i}的类别特征分布,可以看到不同类别特征之间的有了明显的间距,这里α=1\alpha=1

Llkd\mathcal{L}_{lkd}与center loss

Center loss为
LC=12i=1Nxiμzi22 \mathcal{L}_{C} = \frac{1}{2} \sum_{i=1}^{N} \lVert x_i - \mu_{z_i} \rVert _2^2
Σk=I\Sigma_k = I单位矩阵,p(k)=1/Kp(k) = 1/K
Llkd=i=1NlogN(xi;μzi,Σzi)=i=1Nlog1(2π)DΣe12(xiμzi)TΣ1(xiμzi)=i=1Nlog(1(2π)D+Σ12e12(xiμzi)TΣ1(xiμzi))=N2log(2π)i=1Nloge12(xiμzi)T(xiμzi)=N2log(2π)+12i=1Nxiμzi22=N2log(2π)+LC \begin{aligned} \mathcal{L}_{lkd} & = -\sum_{i=1}^N \log \mathcal{N} (x_i; \mu_{z_i}, \Sigma_{z_i}) \\ & = - \sum_{i=1}^N \log \frac{1}{\sqrt{(2\pi)^D \lvert \Sigma \rvert}} e^{-\frac{1}{2}(x_i - \mu_{z_i})^T \lvert \Sigma \rvert^{-1}(x_i - \mu_{z_i})} \\ & = - \sum_{i=1}^N \log \left ( \frac{1}{\sqrt{(2\pi)^D}} + \lvert \Sigma \rvert^{-\frac{1}{2}} e^{-\frac{1}{2}(x_i - \mu_{z_i})^T \lvert \Sigma \rvert^{-1}(x_i - \mu_{z_i})} \right ) \\ & = \frac{N}{2} \log (2\pi) - \sum_{i=1}^{N} \log e^{-\frac{1}{2} (x_i - \mu_{z_i})^T(x_i - \mu_{z_i})} \\ & = \frac{N}{2} \log (2\pi) + \frac{1}{2}\sum_{i=1}^{N} \lVert x_i - \mu_{z_i} \rVert_2^2 \\ & = \frac{N}{2} \log (2\pi) + \mathcal{L}_{C} \end{aligned}
可以看到center loss是Llkd\mathcal{L}_{lkd}的一种特殊形式。

效果

在实现过程中,若Σk\Sigma_k是奇异矩阵,就不能计算损失的梯度,因此作者假设Σk\Sigma_k是对角矩阵,把这个假设带到损失函数中,从而能够计算损失的梯度。同时令先验概率p(k)=1/Kp(k) = 1/K

与softmax loss, center loss,large-margin softmax loss的对比,在minist中提取出来的特征的分布图如下
Gaussian Mixture Loss


  1. Wan, W., Zhong, Y., Li, T., & Chen, J. (2018). Rethinking Feature Distribution for Loss Functions in Image Classification. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). ↩︎

相关文章:

  • 2022-12-23
  • 2021-06-11
  • 2022-01-14
  • 2021-12-13
  • 2021-12-25
  • 2021-08-02
  • 2021-09-19
猜你喜欢
  • 2021-06-21
  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
  • 2022-02-15
  • 2021-12-19
  • 2021-05-07
相关资源
相似解决方案