Self-training with Noisy Student improves ImageNet classification论文解析

一.摘要

首先,本文开门见山给出实验结果在ImageNet上的提升。之后给出了他的实现方法,总的来说这篇文章结合了(1)知识蒸馏(2)半监督学习(3)模型噪音以及数据噪音 ,想要了解基础知识的可以先看博客:知识蒸馏(Knowledge Distillation)、半监督学习(semi-supervised learning)以及弱监督学习(weak-supervised learning)
总结作者的流程思路如下:
(1)首先将在ImageNet上训练好的模型作为Teacher Network来训练Student Network
(2)再使用训练好的T网络(无噪音)来对另一个数据集[JFT dataset]生成尽可能准确的伪标签
(3)之后使用生成伪标签的数据集[JFT dataset]和ImageNet一起训练Student Network
(4)Student Network中增加了模型噪音(1)DropOut(2)随机深度和数据噪音:(1)对图片进行数据增广

总的来说:
(1)本文利用知识蒸馏中S-T方法来让T网络指导S网络学习(利用了知识蒸馏,但并不是知识蒸馏,并没有对S网络进行压缩,本文多次提到了 equal-or-larger student model )
(2)利用了半监督学习,使用T网络生成Unlabeled数据集的伪标签联合ImageNet联合指导S网络进行学习
(3)利用了将模型和数据噪音添加到S模型内来提高模型的泛化能力、鲁棒性并提高了test dataset的准确性

二.Introduction

1.首先作者说到考虑到现在用全监督学习来提升模型精度已经到达了瓶颈,而无标签数据集却可以进一步提升模型的准确度和鲁棒性,所以作者要来使用Unlabeled DataSet训练他的S模型。
3. 本文流程:
1)对教师模型进行全监督学习。
2)使用教师生成无标签图像上的伪标签。
3)对学生模型进行真实标签图像与伪标签图像的组合训练,再通过将该学生视为教师来重新标记未标记的数据并培训新学生,从而多次迭代此算法,结果如下图

在这里插入图片描述

三.Algorithm

在这里插入图片描述
1.我们来过一遍该算法:
(1)首先,在带有真实标签的数据集上使用交叉熵损失来训练教师模型
(2)使用不添加噪音的教师模型将无真实标签的数据集打上伪标签
(3)来使用真实标签数据集和无标签数据集来训练添加噪音的学生模型(同样是交叉熵损失)
(4)重复该算法,使用收敛的学生模型作为教师模型再次从(2)执行该算法
(5)下图对算法进行了可视化,本文其实是在做知识扩展,因为他期望学生模型比教师模型更加优秀

在这里插入图片描述
2.关于学生模型种添加噪音的作用:
(1)数据噪音:总所周知提高泛化能力,例如:不同图像同一个类这个不变量鼓励学生模型超越老师学习,用更多不同的图像做出相同的预测。
(2)模型噪音:提高模型鲁棒性和泛化能力,例如:一个想象力丰富的模型比一个死板的模型具有更强大的泛化能力和鲁棒性。

2.1具体设置:
(1)随机深度:幸存概率因子为 0.8
(2)dropout:分类层引入 0.5 的丢弃率
(3)随机增强:应用两个随机运算,其震级设置为 27

3.其他技巧:
(1)数据过滤:将教师模型中置信度不高的图片过滤,因为这通常代表着域外图像
(2)数据平衡:平衡不同类别的图片数量
(3)教师模型输出的标签使用1)软标签(eg:[0.1,0.2,0.6,0.9]) or 2)硬标签(eg:[1,0,1,0,0,1]),,经过实验表明,软标签对域外图像又更强的指导作用,所以作者才用软标签作为伪标签格式

引用:下面是作者对模型鲁棒性进行测试的数据集简介

引用:数据集简介 原文链接: [https://blog.csdn.net/weixin_37179744/article/details/103100544]
Image-A/C/P 是三种不同的鲁棒性测试数据集。
Image-A1: A 是 Adversarial,对抗的意思。从真实世界搜集了 7500 张未经修改、完全自然生成的图片作为对抗样本测试常规 ImageNet 下训练的模型鲁棒性,以 DenseNet-121 为例,其测试准确率仅为 2%,准确率下降了约 90%,由此可知该数据集的难度。
在这里插入图片描述
其中红色的是标签是 ResNet-50 模型给出的,黑色的标签是实际真实标签,而且以很高的信任度识别错误,要注意虽然这些样本是对抗样本,但都是来自真实世界未加对抗调整的自然图片。

Image-C/P2:C 是 Corruption 腐蚀、污染的意思,即在图片中引入 75 种不同的噪音形式,测试模型的抗击能力。
在这里插入图片描述
这里给出 15 种不同类型的算法干扰,如引入噪声,模糊处理,模仿天气因素干扰以及基于色彩空间数字化干扰等;P 是 Perturbations 扰动的意思,它与 C 差不多,但是会在一个连续的时间步内连续对一个干净的原始图像做处理,且每一次处理都是微小的扰动,比如平移像素点,旋转,缩放以及 C 中使用的干扰模糊等扰动。

四. Experiments

在这里插入图片描述
其实,迭代训练是一件麻烦的事情,作者也给出了没有经过迭代训练的实验结果
加粗样式
鲁棒性检验
在这里插入图片描述

六. Ablation Study

消融实验对于证明方法的有效性有着至关重要的决定因素,从这里可以学到不少东西

1.首先,本文先对噪音对模型有没有用进行消融实验

Ablation Study
从结果可以看出,噪音、随机深度、数据扩充起着重要的作用使学生模型胜过教师模型,对此有人提出是不是对未标记数据加入正则项以防止过拟合来代替噪音,作者在实验中说明这是不对的。因为在去噪的情况下,未标记图像的训练损失并没有下降多少以此说明模型并没有对未标记数据过拟合。

2.对于迭代训练的消融实验

在这里插入图片描述
作者给出再最后通过调整未标记图像和标记图像的比为1:28时达到最优ACC

3.能力强的教师模型会不会对学生模型造成的影响

在这里插入图片描述

4.无标签的数据量大小会不会对学生模型造成影响

在这里插入图片描述

5.硬标签和软标签对域外图像的影响

在这里插入图片描述

6.学生模型的大小对结果的影响

在这里插入图片描述

7.数据平衡对结果的影响

在这里插入图片描述

8.真标签和伪标签数据是否进行联合训练队结果的影响

首先作者对比的模式分为(1)只用全监督学习(2)使用伪标签来做预训练(3)使用伪标签来做预训练再用真实标签进行微调(4)联合巡逻
在这里插入图片描述

9.伪标签与真实标签数据的比例对结果的影响

在这里插入图片描述

10.学生模型热启动或者从零开始对结果的影响

这里解释一下,热启动对应着使用ImageNet进行预训练学生模型,最后作者发现使用教室模型来初始化学生模型会导致局部最优,所以作者采用了从零开始
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值