AI学习者 · 2022年04月12日

阿里巴巴提出USI 让AI炼丹自动化了,训练任何Backbone无需超参配置,实现大一统!

dd9c332d8f943759b0629690f51525b6.png

说在前面

如果一句话总结,那就是炼丹半自动化了!!!

其实本文的主要点是为所有的AI炼丹师提出了一个大一统的图像训练方案,称为USI。USI结合知识蒸馏可以做到在不同的模型训练过程中不需要超参数调优(AI炼丹师,危!!!),同时能够达到SOTA效果。

可能你会想,那么多超参数,怎么可能?是的,USI做到了,USI不仅可以对于Batch-size的大小设定很鲁棒,做到几乎没有影响;同时对于不同的教师模型很鲁棒;甚至对于教师模型的前传还进行了优化融合,进一步加快训练的速度,等等,话不多说,还是去看正文部分吧!

开源地址https://github.com/Alibaba-MI...

1 主要贡献

  • 为ImageNet数据集引入了一个统一的、高效的训练方案,USI,它不需要超参数调整。完全相同的配置也适用于任何Backbone。因此,ImageNet训练从一个面向专业炼丹师的任务转变为一个自动化的过程。
  • 在各种深度学习模型上测试了USI,包括类似于ResNet、MobileNet、基于Transformer和MLP-base的模型。与每个模型的定制方案相比,USI的性能优秀得到了证明。
  • 使用USI对深度学习模型进行方法上的速度-准确性比较。

2 本文方法

2.1 KD for Classification

对于任何输入图像,分类网络输出logit向量,其中K是class的数量。soften预测向量用表示,其中每个元素通过应用softmax函数给出:

6f517dcb246781ad9d2f8b2157ec7c68.png

这里将学生模型和教师模型的soften预测向量分别定义为和。用于训练学生模型的目标函数是学生预测和GT向量y之间的交叉熵(CE)损失,以及学生和教师预测之间的KL散度的组合:

ac1249a2ee3ef82eea73af3f2fa8ffdc.png

其中,是调整KD损失的相对重要性的一个超参数。CE的损失:

d780867b6645e359446a3d6e54029278.png

KL散度损失:

ba7ae752934c1c15e5153beb1e453d63.png

2.2 为什么在ImageNet网络训练中需要KD?

ImageNet是预训练和评估计算机视觉模型的主要数据集。与其他分类数据集不同,在ImageNet上,从头开始训练模型,而不做迁移学习。一般来说,从零开始的训练更加困难,因为需要更高的学习率、更强的正则化和更大的Epoch。因此,ImageNet上的优化过程对不同的超参数和所使用的体系结构更加敏感。

为了更深入地了解和激励KD的作用,在下图中展示了一些典型的教师模型预测的例子:
c6598dcaf67a3eeace6ffb107d78de46.png

图片(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上进行训练时,可以观察到训练过程对超参数选择的鲁棒性更强,并且需要更少的训练技巧和正则化。

9bba2d106d40465758f5fcdb31efcd3d.png
图1

此外,消除了每个Backbone对专用技巧的需求,使用这个统一方案可以训练任何Backbone并达到最佳结果。USI方案的说明上图1所示。

在下表中,展示了完整的训练配置:

d5dce949fa91b90a7ec583cc3a268f8e.png
表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的一个常见要求。考虑到这种约束条件,作者建议选择一个具有良好的速度-精度权衡的教师模型(见下图)。

f53aba6427bcd5c970acb94cbed0ae56.png

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

cbc32ffdc4d6b89f273054a7b7ccc364.png

可以看出,在没有KD的情况下,USI训练方案表现不佳,比使用默认值α获得的准确率低6.5%。如果KD相对权重过低(α),得分也会下降。对于α,取得了最好的结果。

有趣的是,即使在没有最初的Hard标签监督,并且只依赖教师模型的情况下进行训练,训练结果仍然保持不变。这进一步证明了KD在ImageNet训练中的有效性。

(2)、KD Temperature

d9a1e44d6605e4b01de2f27606d21030.png

表7显示,在KD损失中,使用Temperature并没有得到任何提升。τ<1和τ>1都降低了准确性。利用标准的Softmax概率可以得到最好的结果。

(3)、Mixup-Cutmix vs. Cutout

7ef9f258b5ac585c15d06e4d32c59a70.png

可以看出,应用每一种增强都是有益的,但Mixup-Cutmix增强更有助于提高精度。

(4)、Architecture-based regularizations

3023a47b6998ef84c9711288929293a9.png

可以看出,在USI方案中添加drop-path正则化并没有得到任何提升。

3.2 与之前机制的对比

39ef6565db8fdfe7435495a6e2c8661b.png

从表2中可以看到,在所有测试的架构(CNN、Transformer、Mobile-oriented、MLP-only)上,USI获得的结果优于之前结果

3.3 Batch-szie的鲁棒性

b8e5d4de78e2cf900bb2ce04b4c8c5dd.png

表3表明,在一个大范围的Batch-size范围内,512-3456,精度几乎保持不变。这表明USI在固定的学习速率下运行良好。

3.4 对于教师模型的鲁棒性

af8ec65f280c53711b9797c03cebcd53.png

从表4中可以看到,CNN和Transformer的学生模型与CNN和Transformer教师模型结果都很好。这意味着USI方法在选择教师模型的类型方面有灵活性。

3.5 Epoch的影响

7ede782df115f321405bf7ea6816bebc.png

在表5中,给出了在不同的训练长度下获得的准确性。可以看出,随着将训练时间从300增加到600增加到1000,准确性继续提高。

3.6 速度精度的测量

a2c92b9ef74db54e833ffcc8cc5fc3df.png
图4

图4比较了各种关于GPU和CPU推理的架构。

原文:集智书童

推荐阅读

推荐阅读
关注数
18790
内容数
1342
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息