说在前面
如果一句话总结,那就是炼丹半自动化了!!!
其实本文的主要点是为所有的AI炼丹师提出了一个大一统的图像训练方案,称为USI。USI结合知识蒸馏可以做到在不同的模型训练过程中不需要超参数调优(AI炼丹师,危!!!),同时能够达到SOTA效果。
可能你会想,那么多超参数,怎么可能?是的,USI做到了,USI不仅可以对于Batch-size的大小设定很鲁棒,做到几乎没有影响;同时对于不同的教师模型很鲁棒;甚至对于教师模型的前传还进行了优化融合,进一步加快训练的速度,等等,话不多说,还是去看正文部分吧!
1 主要贡献
- 为ImageNet数据集引入了一个统一的、高效的训练方案,USI,它不需要超参数调整。完全相同的配置也适用于任何Backbone。因此,ImageNet训练从一个面向专业炼丹师的任务转变为一个自动化的过程。
- 在各种深度学习模型上测试了USI,包括类似于ResNet、MobileNet、基于Transformer和MLP-base的模型。与每个模型的定制方案相比,USI的性能优秀得到了证明。
- 使用USI对深度学习模型进行方法上的速度-准确性比较。
2 本文方法
2.1 KD for Classification
对于任何输入图像,分类网络输出logit向量,其中K是class的数量。soften预测向量用表示,其中每个元素通过应用softmax函数给出:
这里将学生模型和教师模型的soften预测向量分别定义为和。用于训练学生模型的目标函数是学生预测和GT向量y之间的交叉熵(CE)损失,以及学生和教师预测之间的KL散度的组合:
其中,是调整KD损失的相对重要性的一个超参数。CE的损失:
KL散度损失:
2.2 为什么在ImageNet网络训练中需要KD?
ImageNet是预训练和评估计算机视觉模型的主要数据集。与其他分类数据集不同,在ImageNet上,从头开始训练模型,而不做迁移学习。一般来说,从零开始的训练更加困难,因为需要更高的学习率、更强的正则化和更大的Epoch。因此,ImageNet上的优化过程对不同的超参数和所使用的体系结构更加敏感。
为了更深入地了解和激励KD的作用,在下图中展示了一些典型的教师模型预测的例子:
图片(a)包含了钉状物。这是GT,也是教师模型的预测概率为99.9%。请注意,教师模型的第2和第3个预测与钉子(螺丝和锤子)有关,但概率可以忽略不计。
图片(b)中包含了一架客机。这是教师模型预测概率为83.6%。然而,教师模型也有不可忽视的概率所谓的误分类概率11.3%。但是这并不是一个误分类,因为飞机上有机翼。这里的教师模型减轻了GT标签不是相互排斥的情况,并提供了关于图像内容的更准确的信息。
图片(c)中包含了一只母鸡。然而,母鸡并不是很大和突出的。通过教师模型的预测可以看出这一点,教师模型识别为母鸡的概率为55.5%。教师模型还给出了公鸡的概率为8.9%。这是教师模型的错误预测,但逻辑上的母鸡和公鸡是非常相似的。
在图片(d)中,教师模型与GT不相符。GT是冰棒,而教师模型预测的是英国塞特犬。其实教师模型是对的,因为狗在图片中更为突出。
从上面的例子中可以看到,教师模型的预测比单一标签的GT包含了更多的信息。教师模型提供的丰富的预测解释了class之间的相关性和相似性。它们用几个物体处理更好的图片,甚至弥补GT的错误。因此KD预测也能处理更好的这类情况,因为它们代表了增强图像的正确内容。它们还消除了对标签平滑的需要,因为教师模型输出的是Soften预测。
由于这些因素,与仅使用Hard标签的训练相比,使用教师模型的训练可以提供了更好的监督,可以带来一个更有效和更稳健的训练优化过程。
2.3 统一的训练配置
USI便是本文提出的ImageNet的训练方案,USI是基于KD的训练方法。当使用KD在ImageNet上进行训练时,可以观察到训练过程对超参数选择的鲁棒性更强,并且需要更少的训练技巧和正则化。
图1
此外,消除了每个Backbone对专用技巧的需求,使用这个统一方案可以训练任何Backbone并达到最佳结果。USI方案的说明上图1所示。
在下表中,展示了完整的训练配置:
表1
对方案的一些观察和见解:
Batchsize的选择
不同Backbone所允许的最大Batch-size差异显著(见附录中的表10)。因此,对所有Backbone使用固定的Batch-size并不总是可行的。选择尽可能大的Batch-size是有益的,因为它可以充分利用GPU核心,减少通信开销,并提高训练速度。以前的方案表明,更大的Batch-size需要更大的学习率或专用的优化器。
USI是一种基于kd的训练方案,采用AdamW优化器,对Batch-size和学习率调优更具鲁棒性。使用相同的学习速率,USI始终为广泛的Batch-size提供比较好的结果。因此,本文陈述了Batch-size的范围,而不是固定的Batch-size。可以选择此范围内的任何值。
作者建议使用最大可能的0.8到0.9的Batch-size,以优化训练速度。
Teacher的选择
USI主要要求是选择一个表现优于学生模型的教师模型,这也是KD的一个常见要求。考虑到这种约束条件,作者建议选择一个具有良好的速度-精度权衡的教师模型(见下图)。
USI方案对教师和学生类型都是鲁棒的。具有相似准确性的教师模型训练学生模型可以达到相似的准确性,无论是CNN还是Transformer。
KD对于训练的影响
增加KD监督会带来额外的开销,并降低了训练速度。然而,额外的开销通常很小。学生模型需要做前传、存储中间特征图、做反传以及更新权值,而教师网络只需要向前传。
此外,由于教师模型是固定的,可以对其进行各种优化,如batch-norm fusion、channels-last和jit。
作者发现,KD的相对开销随着Batch-size的增加而减小,这是选择大Batch-size的另一个原因。对于TResNet-L教师模型(83.9%的准确率),来自KD的额外开销使训练速度降低了10-20%。
3 实验结果
3.1 消融实验
(1)、KD teacher relative weight
可以看出,在没有KD的情况下,USI训练方案表现不佳,比使用默认值α获得的准确率低6.5%。如果KD相对权重过低(α),得分也会下降。对于α,取得了最好的结果。
有趣的是,即使在没有最初的Hard标签监督,并且只依赖教师模型的情况下进行训练,训练结果仍然保持不变。这进一步证明了KD在ImageNet训练中的有效性。
(2)、KD Temperature
表7显示,在KD损失中,使用Temperature并没有得到任何提升。τ<1和τ>1都降低了准确性。利用标准的Softmax概率可以得到最好的结果。
(3)、Mixup-Cutmix vs. Cutout
可以看出,应用每一种增强都是有益的,但Mixup-Cutmix增强更有助于提高精度。
(4)、Architecture-based regularizations
可以看出,在USI方案中添加drop-path正则化并没有得到任何提升。
3.2 与之前机制的对比
从表2中可以看到,在所有测试的架构(CNN、Transformer、Mobile-oriented、MLP-only)上,USI获得的结果优于之前结果
3.3 Batch-szie的鲁棒性
表3表明,在一个大范围的Batch-size范围内,512-3456,精度几乎保持不变。这表明USI在固定的学习速率下运行良好。
3.4 对于教师模型的鲁棒性
从表4中可以看到,CNN和Transformer的学生模型与CNN和Transformer教师模型结果都很好。这意味着USI方法在选择教师模型的类型方面有灵活性。
3.5 Epoch的影响
在表5中,给出了在不同的训练长度下获得的准确性。可以看出,随着将训练时间从300增加到600增加到1000,准确性继续提高。
3.6 速度精度的测量
图4
图4比较了各种关于GPU和CPU推理的架构。
原文:集智书童
推荐阅读