Advertisement

【CVPR 2020】蒸馏篇(一):Regularizing Class-wise Predictions via Self-knowledge Distillation

阅读量:

CVPR 2020

CVPR 2020

  • 论文地址:

  • 代码地址:

  • 主要问题:

  • 主要思路:

  • 主要特点:

  • 具体实现:

    • 基本符号:
    • CS-KD:
  • 实验结果:

论文地址:

https://arxiv.org/abs/2003.13964

代码地址:

https://github.com/alinlab/cs-kd

主要问题:

在单独训练神经网络的过程中,采用传统的CrossEntropyLoss可能会导致过拟合现象,并且忽视了样本之间的相似程度。

主要思路:

该作者建议基于样本间的相似性分析,并引入了一个额外的自蒸馏损失项D_{self}。通过对同类样本进行预测分布的一致性约束,在同一类别内部实现预测结果的一致性目标以有效缓解过拟合现象。

在这里插入图片描述

主要特点:

自蒸馏+考虑样本相似性

具体实现:

基本符号:

在训练神经网络的过程中,给定输入 x 时,其后验概率分布可以通过数学表达式表示为:

在给定输入\mathbf{x}和超参数\theta及温度参数T的情况下,在类别空间中各分类的概率可以通过以下条件概率公式计算得出:P(y|\mathbf{x},θ,T)=\frac{e^{f_y(\mathbf{x},θ)/T}}{\sum_{i=1}^C e^{f_i(\mathbf{x},θ)/T}}其中分子项代表特定类别y的指数加权值,在分母中则为所有可能类别的加权和。

CS-KD:

我们考虑来自同一类别的样本 xx',他们的损失就可以写作:

该损失函数定义为两个条件概率分布之间的Kullback-Leibler散度:$$
\mathcal{L}_{\texttt{cls}}(\boldsymbol{x}, \boldsymbol{x}', \theta, T) := \text{KL}\big( P(y|\boldsymbol{x}', \tilde{\theta}, T) | P(y|\boldsymbol{x}, \theta, T) )

用来迫使同类别样本产生相似的预测分布 最终的蒸馏损失写作: $\begin{aligned} \mathcal{L}_{\mathrm{CS}-\mathrm{KD}}\left(\mathbf{x}, \mathbf{x}^{\prime}, y ; \theta, T\right) &:=\mathcal{L}_{\mathrm{CE}}(\mathbf{x}, y ; \theta) \\ &+\lambda_{\mathrm{cls}} \cdot T^{2} \cdot \mathcal{L}_{\mathrm{cls}}\left(\mathbf{x}, \mathbf{x}^{\prime} ; \theta, T\right) \end{aligned}$ ## 实验结果: ![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2024-12-27/9tz8jITFWXL5bZw2P0uxJDrRVMgC.png) ![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2024-12-27/hoRdYPLBewnsybKS6WTZaqVAJCc9.png) ![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2024-12-27/yXrmqC0kVa7wQxWhjliKLoYnPFAS.png) ![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2024-12-27/46sn35wvWS9t0zeXukLp2FRE8Ury.png)

全部评论 (0)

还没有任何评论哟~