Advertisement

【CVPR 2021】Refine Myself by Teaching Myself : Feature Refinement via Self-Knowledge Distillation

阅读量:

CVPR 2021

CVPR 2021

论文链接:
主要研究问题:
主要解决思路:
具体实现方法:
其中,
自教师网络:
自特征降解:

  • 实验结果:

    • 分类:
  • 分割:

  • 联系作者:

  • 我的公众号:

论文地址:

https://arxiv.org/abs/2103.08273

主要问题:

作者强调,训练教师模型耗时较长,因此将蒸馏方法聚焦于自我蒸馏。他将蒸馏过程划分为两类:一类是基于数据增强的蒸馏方法(b),另一类是基于子网络(c)的蒸馏方法。然而,现有蒸馏方法存在不足,即无法有效保留语义分割/目标检测所需的关键局部信息。因此,作者提出了FRSKD方法,该方法通过巧妙地利用辅助自教师网络传递分类器网络的精细知识,结合软标签和特征图进行蒸馏,显著提升了蒸馏效果。

在这里插入图片描述

主要思路:

在这里插入图片描述

蒸馏过程中,原始分类器通过馈送原始特征作为辅助自学网络(蓝色块)的输入,随后,自学网络将细化特征图提取到原始分类器(橙色线)。

具体实现:

基本符号:

假设 D=\{(x_1,y_1),(x_2,y_2),\cdot\cdot\cdot,(x_N,y_N)\}是一个标注好的实例集合,F_{i,j}是分类模型中第j个模块对第i个输入样本进行特征提取后输出的特征图,其中c_j表示该模块的通道数量。

Self-Teacher Network:

自教师网络的核心目标是生成一个完整的特征图及其软标签,为分类器网络提供支持。自教师网络的输入是分类器网络的特征图,即F_1,\cdot\cdot\cdot,F_n。作者通过调整分类任务的BiFPN结构来构建自教师网络模型,该模型继承了PANetBiFPN自上而下的路径和自下而上的路径结构。

PANet:

在这里插入图片描述

BiFPN:

在这里插入图片描述

在自上而向下的路径之前,首先应用一个侧连卷积层:

L_i=Conv(F_i;d_i)

根据定义,我们有d_i=w×c_i,其中width参数w被预先设定,通常取值小于1.0,用于降低维度空间并降低计算复杂度。

top-down path和bottom-up path分别通过如下方式聚合不同特征:

P_i=Conv(w^P_{i,1}\cdot L_i+w^P_{i,2}\cdot Resize(P_{i+1};d_i))

T_i=Conv(w^T_{i,1}\cdot L_i+w^T_{i,2}\cdot P_i+w^T_{i,3}\cdot Resize(T_{i-1};d_i))

其中 P_i 表示top-down path的第i层, T_i 表示bottom-up path的第i

类似于BiFPN,不同深度的前通连接具有不同的结构设置。在图2所示的架构中,分别采用侧层L_1L_4作为最浅的bottom-up path层T1和最深的top-down path层T_4的输入端,以避免直接提取top-down path的特征信息,从而提高计算效率。

在这些设置中,为了构建一个自上而下的结构,以连接所有最浅层、中间层和最深层,作者引入了用于正向传播的两个对角连接。具体而言,通过从最后一个横向层 L_4 到top-down path的倒数第二层的连接,实现了对正向传播路径的补充;同时,通过从 P_2 到bottom-up path的第一层 T_i 的连接,实现了对正向传播路径的补充。

作者对参数采用了快速归一化融合的方法,例如,w^Pw^T。通过双线性插值实现上采样,并利用最大池采样技术(如前所述的Resize操作)进行数据增强。

为了提升计算效率, 作者使用点卷积来进行卷积运算根据第

在top-down path的顶端,作者增加了全连接层以预测输出类别。通过提供软标签\hat{p_t}=softmax(f_t(x;\theta_t)),自学网络实现了自蒸馏。其中,f_t即为Self-Teacher Network,其参数为\theta_t

Self-Feature Distillation:

该模型FRSKD基于自学习网络的输出、重新定义的特征图Ti以及软标签pt,通过特征蒸馏,该模型模仿了改进后的特征图。在特征蒸馏过程中,作者借鉴了Paying more attention to attention中的注意力转移机制,其损失函数定义为:

其中,α_t为注意力权重,p_t为真实标签概率分布,\hat{p}_t为预测概率分布。

L_F(T,F;\theta_c,\theta_t)=\sum^n_{i=1}||\phi(T_i)-\phi(F_i)||_2

其中,\phi是由经过通道池化和L2归一化操作所提取的空间信息,而\theta_c则代表分类模型的参数。

因此,L_F使得模型能够从Self-Teacher Network的重构特征图中提取和学习局部特征信息,并同时模仿重构的特征图或捕捉和利用特征图的变换信息。

跟其他自蒸馏方法类似,对于soft-label使用KL损失:

L_{KD}(x;\theta_c,\theta_t,K)等于通过计算两个概率分布之间的KL散度得到的值,其中概率分布分别由函数softmax(\frac{f_c(x;\theta_c)}{K})softmax(\frac{f_t(x;\theta_t)}{K})生成。

其中f_c是分类模型,K是蒸馏的温度超参数

对于真实标签使用 L_{CE}作为损失函数

因此最终的优化目标为:

L_{FRSKD}(x,y;\theta_c,\theta_t,K)=L_{CE}(x,y;\theta_c)+L_{CE}(x,y;\theta_t)+\alpha L_{KD}+\beta L_F

实验结果:

分类:

在这里插入图片描述

分割:

在这里插入图片描述

联系作者:

微信号:Sharpiless

作者的其他主页:

B站:https://space.bilibili.com/470550823

:<>

AI Studio:https://aistudio.baidu.com/aistudio/personalcenter/thirdview/67156

Github:https://github.com/Sharpiless

我的公众号:

全部评论 (0)

还没有任何评论哟~