共计 2905 个字符,预计需要花费 8 分钟才能阅读完成。
老师学生模型、伪标签、半监督学习和图像分类
应用 Noisy Student 进行自训练改良 ImageNet 分类是一篇由 Google Research、Brain Team 和 Carnegie Mellon 大学发表在 2020 CVPR 的论文
Noisy Student 在训练时应用相等或更大的学生模型和在学习期间增加噪声(Dropout, Stochastic Depth, 和数据加强)扩大了自训练和蒸馏办法。
- 一个 EfficientNet 模型首先作为老师模型在标记图像上进行训练,为 300M 未标记图像生成伪标签。
- 而后将更大的 EfficientNet 作为学生模型并联合标记图像和伪标签图像进行训练。
- 学生网络训练实现后变为老师再次训练下一个学生网络,并迭代反复此过程。
Noisy Student 的训练过程
标记图像 {(x1, y1), (x2, y2), …, (xn, yn)},未标记的图像 {~x1; ~x2, …, ~xm} 第 1 步:学习老师模型 θ t*,它能够最大限度地缩小标记图像上的穿插熵损失:
第 2 步:应用失常(即无噪声)老师模型为洁净(即无失真)未标记图像生成伪标签:
通过测试软伪标签(每个类的概率而不是具体分类)成果更好。
第 3 步:学习一个相等或更大的学生模型 θ s*,它能够最大限度地缩小标记图像和未标记图像上的穿插熵损失,并将噪声增加到学生模型中:
步骤 4:学生网络作为老师,从第 2 步开始进行迭代训练。
噪声
噪声由两种类型:输出噪声和模型噪声。
- 对于输出噪声,应用 RandAugment [18] 进行数据加强。简而言之,RandAugment 包含加强:亮度、对比度和清晰度。
- 对于模型噪声,应用 Dropout [76] 和 Stochastic Depth [37]。
噪声具备在标记和未标记数据的决策函数中强制执行不变性的重要益处。
数据加强是 Noisy Student 训练中的一种重要办法,因为它迫使学生确保图像增强版本之间的预测一致性。
老师模型通过洁净的图像来生成高质量的伪标签,而学生则须要应用加强图像作为输出来重现这些标签。
当 Dropout 和 Stochastic Depth 函数用作噪声时,老师模型在推理时体现得像一个集成(当它生成伪标签时),而学生模型体现得像一个繁多的模型。换句话说,学生被迫模拟更弱小的集成模型。
其余一些信息
Noisy Student 在训练还通过一个额定的技巧更好地工作:数据过滤和均衡。老师模型具备低置信度(< 0.3)的图像会被过滤,因为它们通常是域外图像。每个类的未标记图像的数量须要进行均衡,因为 ImageNet 中的所有类都具备类似数量的标记图像。为此,复制没有足够图像的类中的图像。对于图像过多的类,会应用置信度最高的图像(最多 130K)。
一些训练的细节如下
- 应用了 EfficientNet-L2,它比 EfficientNet-B7 更宽更深,但应用了较低的分辨率。
- 应用了 FixRes。
- JFT 用作未标记的数据集。用于训练学生模型的图像总数为 130M(蕴含一些反复图像)。因为反复所以这 130M 图像中只有 81M 独特图像。
- 最大的模型 EfficientNet-L2 须要在 Cloud TPU v3 Pod 上训练 6 天,该 Pod 有 2048 个内核。
试验后果
EfficientNet-L2 with Noisy Student 在训练时达到了 88.4% 的 top-1 准确率,显著优于 EfficientNet 上报告的 85.0% 的最佳准确率。3.4% 的总收益来自两个起源:通过使模型更大(+0.5%)和 Noisy Student(+2.9%)。
换句话说,Noisy Student 训练对准确性的影响比扭转架构要大得多。
Noisy Student 训练超过了须要 35 亿张带有标签的 Instagram 图像的 FixRes ResNeXt-101 WSL [55, 86] 86.4% 的最新准确率,作为比拟,Noisy Student Training 只须要 300M 未标记的图像,这可能更容易收集。并且与 FixRes ResNeXt-101 WSL 相比,所提出的模型的参数数量也大概少了两倍。如果仅应用大概一半的模型大小,Noisy Student 训练也优于 BiT-L。
不进行迭代训练的 Noisy Student
Noisy Student 训练导致所有模型大小的继续进步率为 0.8%。具备 Noisy Student 的 EfficientNets 在模型大小和准确性之间提供了更好的衡量。
稳健性基准测试
ImageNet-C 和 P 测试集 [31] 包含具备常见损坏和扰动的图像,例如含糊、雾化、旋转和缩放。ImageNet-A 测试集 [32] 由难度较大的图像组成,这些图像会导致最先进模型的准确性显著降落。
规范模型的预测是不正确的,而 Noisy Student Training 模型的预测是正确的。
在 ImageNet- A 上,它将前一名的准确率从 61.0% 进步到 83.7%。在 ImageNet- C 上,它将 mean corruption error(mCE) 从 45.7 缩小到 28.3。在 ImageNet- P 上,如果应用 224×224(间接比拟) 的分辨率,它会导致 mean flip rate (mFR) 为 14.2,如果应用 299×299 的分辨率,则会升高至 12.2。
对抗性鲁棒性后果
FGSM 攻打在输出图像 [25] 上执行一个梯度降落步骤,每个像素的更新设置为 ε。
Noisy Student 训练将 EfficientNet-L2 的准确率从 1.1% 进步到 4.4%,只管该模型并未针对反抗鲁棒性进行优化。
融化钻研
Stochastic Depth, Dropout 和数据加强等噪声在使学生模型比老师模型体现更好方面施展着重要作用。随着噪声性能的移除,性能继续降落。发现向生成伪标签的老师模型增加噪声会导致准确性升高,这表明领有弱小的无噪声老师模型是十分重要的。
模型性能在第一次迭代中进步到 87.6%,而后在第二次迭代中进步到 88.1%。对于最初一次迭代,未标记的批量大小和标记的批量大小之间的比率更大,用于将最终性能进步到 88.4%。(更多融化在论文的附录中介绍。如果有趣味,请仔细阅读。)
总结
- 使用性能更好的大型老师模型会带来更好的后果。
- 为了取得更好的性能,须要大量未标记的数据。
- 在某些状况下,对于域外数据,软伪标签比硬伪标签更无效。
- 大型学生模型对于让学生变为更弱小的模型很重要。
- 数据均衡对于小型模型很有用。
- 标记数据和未标记数据的联结训练优于首先应用未标记数据进行预训练而后对标记数据进行微调。
- 在未标记的批次大小和标记的批次大小之间应用较大的比率能够使模型在未标记数据上训练更长时间,以实现更高的准确性。
- 从头开始训练学生有时比用老师初始化学生要好,而用老师初始化的学生依然须要大量的训练 epoch 能力体现良好。
论文地址:
https://www.overfit.cn/post/894964adab5c4c14b5cba4564f12a93f
[2020 CVPR] [Noisy Student]Self-training with Noisy Student improves ImageNet classification arxiv 1911.04252
本文作者:Sik-Ho Tsang