Advertisement

论文解读:Self-Distillation from the Last Mini-Batch for Consistency Regularization

阅读量:

1. 论文基本信息

该论文提出了一种基于最后一批次数据的自监督学习方法,并以一致性正则化为目标。该研究通过从训练过程中提取关键特征并进行重新利用,在提升模型泛化能力的同时实现了更好的分类性能表现。此外,在GitHub平台上提供了对应的开源代码仓库(https://github.com/Meta-knowledge-Lab/DLB),供研究人员参考和使用。该研究成果在第二十四届计算机视觉与模式识别大会(CVPR)上获得了认可。

2. 背景与摘要

已有大量研究关注知识蒸馏方法。从本质上看,知识蒸馏本质上是一种正则化手段,在图像分类任务中,加入后经实验验证,训练准确率通常会有所降低,而评估准确率通常会有所提升.

采用教师模型开展知识蒸馏任务时,通常需要较高的计算能力,并且整个过程相对复杂。传统的自蒸馏策略往往需要调整模型架构如引入注意力机制模块或采用随机丢弃层等技术手段以实现目标。本研究针对该种自蒸馏策略进行了优化创新,在考察相同批次数据上的预测结果一致性基础上设计了新的蒸馏方法——DLB(Dynamic Loss Balancing)方法,并成功实现了当前领域内的最优性能水平SOTA。

3. DLB方法流程图

基于DLB的方法流程图如下,在每次迭代过程中,每个批次的数据包括当前批次b_t及其上一轮迭代生成的b_{t-1}数据。其中dataloader输出的当前批次数据为b_t,而上一轮迭代生成的b_{t-1}数据则用于辅助训练。在此基础上,我们不仅计算了与真实标签(ground truth)之间的交叉熵损失(CE loss),还记录了当前批次数据b_t预测得到的软标签(softlabel)。并在此基础上计算其与下一批次预测输出之间的蒸馏损失(Distillation loss)。这种设计使得算法能够动态地调整模型参数以适应变化的数据分布趋势。这等同于一种动态的标签平滑机制(Label smoothing mechanism)的应用。

在这里插入图片描述

DLB算法的伪代码如下所示,在整个流程设计上相对较为简单,在实际实现过程中无需对dataloader和model进行任何修改;相较于其他自蒸馏策略而言,在代码实现上的改动幅度较小。

在这里插入图片描述

在此处作者对与当前流行的基于标签平滑的正则化方法进行了对比分析。相比于这些方法,在DLB中数据加载器和模型架构的设计更为简洁。在计算过程中采用了更具灵活性的label smooth策略。从而实现了更为有效的正则化效果。

在这里插入图片描述

4. 实验结果

在训练过程中,在每一个迭代周期中都会同时计算b_tb_{t-1}的全局交叉熵损失值。这样就使得每一批数据经历两次网络处理的过程。因此,在进行实验研究时为了确保公平对比作者将DLB的迭代次数设定为其正常训练周期的一半这样能够保证用于反向传播的数据量维持一致水平

3个数据集的结果如下所示,不同数据集、不同模型,基本都有更优的效果。

5. 关于DLB,自己的一些看法

  • 模型训练涉及多个关键要素包括数据集的选择与处理、网络架构的设计与优化、训练策略的选择以及损失函数的设计等方面。在完全依赖于人工干预的情况下(即无外部输入),采用自蒸馏的方法对模型结构进行优化较为常见。然而DLB(Data-Level Boosting)方法则针对相同数据集的一致性问题进行了深入研究,并在此基础上提出了独特的改进方案。
    • 研究工作基于三个规模适中的数据集展开,并通过实验验证了所提出方法的有效性。该研究展现出更强的正则化能力,并显著提升了模型的鲁棒性能。值得注意的是该研究结果值得进一步验证在ImageNet 1000上的表现。

全部评论 (0)

还没有任何评论哟~