张倩编译

ImageNet的top-1终于上了90%,网友质疑:用额外数据集还不公开,让人怎么信服?

Quoc Le:我原本以为 ImageNet 的 top-1 准确率 85% 就到头了,现在看来,这个上限难以预测。

近日,谷歌大脑研究科学家、AutoML 鼻祖 Quoc Le 发文表示,他们提出了一种新的半监督学习方法,可以将模型在 ImageNet 上的 top-1 准确率提升到 90.2%,与之前的 SOTA 相比实现了 1.6% 的性能提升。

这一成果刷新了 Quoc Le 对于 ImageNet 的看法。2016 年左右,他认为深度学习模型在 ImageNet 上的 top-1 准确率上限是 85%,但随着这一数字被多个模型不断刷新,Quoc Le 也开始对该领域的最新研究抱有更多期待。而此次 90.2% 的新纪录更是让他相信:ImageNet 的 top-1 还有很大空间

Quoc Le 介绍称,为了实现这一结果,他们使用了一种名为「元伪标签(Meta Pseudo Label)」半监督学习方法来训练 EfficientNet-L2。

和伪标签(Pseudo Label)方法类似,元伪标签方法有一个用来在未标注数据上生成伪标签并教授学生网络的教师网络。然而,与教师网络固定的伪标签方法相比,元伪标签方法有一个从学生网络到教师网络的反馈循环,其教师网络可以根据学生网络在标记数据集上的表现进行调整,即教师和学生同时接受训练,并在这一过程中互相教授。

这篇有关元伪标签的论文最早提交于 2020 年 3 月,最近又放出了最新版本。

  • 论文链接:https://arxiv.org/pdf/2003.10580.pdf

  • 代码链接:https://github.com/google-research/google-research/tree/master/meta_pseudo_labels

在新版本中,研究者针对元伪标签方法进行了实验,用 ImageNet 数据集作为标记数据,JFT-300M 作为未标记数据。他们利用元伪标签方法训练了一对 EfficientNet-L2 网络,其中一个作为教师网络,另一个作为学生网络。最终,他们得到的学生模型在 ImageNet ILSVRC 2012 验证集上实现了 90.2% 的 top-1 准确率,比之前的 SOTA 方法提升了 1.6 个百分点(此前 ImageNet 上 top-1 的 SOTA 是由谷歌提出的 EfficientNet-L2-NoisyStudent + SAM(88.6%)和 ViT(88.55%))。这个学生模型还可以泛化至 ImageNet-ReaL 测试集,如下表 1 所示。

在 CIFAR10-4K、SVHN-1K 和 ImageNet-10% 上使用标准 ResNet 模型进行的小规模半监督学习实验也表明,元伪标签方法的性能优于最近提出的一系列其他方法,如 FixMatch 和无监督数据增强。

论文作者还表示,他们之所以在方法的命名中采用「meta」这个词,是因为他们让教师网络根据学生网络反馈进行更新的方法是基于双层优化问题(bi-level optimization problem),而该问题经常出现在元学习的相关文献中。

不过,这篇论文也受到了一些质疑,比如使用的数据集 JFT-300M 是未开源的数据集(不知道该数据集中有没有和 ImageNet 测试集相似的图片),导致外部人士很难判断其真正的含金量。

为什么要改进「伪标签」方法?

伪标签或自训练方法已经成功地应用于许多计算机视觉任务,如图像分类目标检测、语义分割等。伪标签方法有一对网络:一个教师网络,一个学生网络。教师网络基于无标签图像生成伪标签,这些被「伪标注」的图像与标注图像结合,用来训练学生网络。由于使用了大量的伪标签数据和数据增强等正则化方法,学生网络通过学习可以超越教师网络。

尽管伪标签方法性能优越,但它也有一个很大的缺陷:如果伪标签不准确,学生网络就要从不准确的数据中学习。因此,最后训练出的学生网络未必比教师网络强多少。这一缺陷也被称为伪标记的确认偏差(confirmation bias)问题。

为了解决这一问题,Quoc Le 等人设计了系统的机制,让教师网络通过观察其伪标签对学生网络的影响来纠正上述偏差。确切地说,他们提出了元伪标签方法,利用来自学生网络的反馈为教师网络提供信息,促使其生成更好的伪标签。反馈信号是学生网络在标记数据上的表现。在学生网络的学习过程中,该反馈信号被用作训练教师网络的一种奖励。

怎么改进「伪标签」方法

伪标签方法和元伪标签方法的区别如下图 1 所示。可以看出,元伪标签方法多了一个关于学生网络表现的反馈。

符号解释

在论文中,T 和 S 分别表示教师网络和学生网络,它们的参数分别记为θ_T 和 θ_S。用 (x_l , y_l) 表示一批图像和图像对应的标签,x_u 表示一批未标记数据。此外,T(x_u; θ_T )表示教师网络对于 x_u 的软预测(soft predictions),学生网络同理。CE(q, p)表示 q 和 p 两个分布之间的交叉熵损失。如果 q 是一个标签,它会被理解为一个 one-hot 分布;如果 q 和 p 有多个实例,那么 CE(q, p)就是 batch 中所有实例的平均。

把伪标签看成一个优化问题

在介绍元伪标签之前,先来回顾一下伪标签。具体来说,伪标签(PL)方法会训练学生模型来最小化其在未标记数据上的交叉熵损失:
在上面的公式中,伪目标 T(x_u; θ_T )由一个训练良好、参数θ_T 固定的教师模型生成。给定一个优秀的教师模型,伪标签方法的愿景是让最终得到的在未标记数据上损失很低,即

在伪标签的框架下,最优学生参数总是通过伪目标依赖于教师参数θ_T。为了便于讨论元伪标签,我们可以将该依赖表示为

作为一个即时的观察,学生网络在标记数据上的最终损失也是θ_T 的「函数」。因此,我们可以进一步优化与θ_T 相关的 L_1

直观上来看,根据学生网络在标记数据上的表现优化教师网络参数之后,我们就能对伪标签作出相应调整,从而提高学生网络的性能。但需要注意的是,在θ_T 上的依赖非常复杂,因此计算梯度需要展开整个学生网络训练过程(即)。

实际近似

为了让元伪标签方法变得可行,研究者借用了前人在元学习方面的一些工作,利用θ_S 的一步梯度更新近似多步

其中,η_S 是学习率。将这个近似代入式(2)的优化问题中,就得到了元伪标签中的实际教师网络目标:

注意,如果软伪标签得到了应用,即 T(x_u; θ_T )是教师网络预测出的完整分布(full distribution),上述目标就是关于θ_T 完全可微的(fully differentiable),我们就能通过标准反向传播得到梯度。然而,在这篇论文中,研究者从教师网络分布中采样硬伪标签。因此,他们用了一个略作修改的 REINFORCE 版本来得到式(3)中 L_1 关于θ_T 的梯度。

另一方面,学生网络的训练还依赖于式(1)中的目标,只是教师网络的参数不再是固定的。相反,由于教师网络的优化,θ_T 一直在发生变化。更加有趣的是,学生网络参数的更新可以在教师网络目标的一步近似中重用,这自然会在学生网络更新和教师网络更新之间产生一个交替的优化过程。

学生网络:吸收一批未标记数据 x_u,然后从教师网络的预测中采样 T(x_u; θ_T ),接下来用 SGD 优化目标 1

教师网络:吸收一批标记数据(x_l , y_l),「重用」学生网络的更新,从而用 SGD 优化目标 3:

教师网络的辅助损失(auxiliary losses)

通过实验,研究者发现,元伪标签方法自己就能运行良好。当然,如果教师网络与其他辅助目标(auxiliary objective)联合训练,效果会更好。因此,在实现过程中,研究者用一个监督学习目标和一个半监督学习目标增强了教师网络的训练。对于监督学习目标,他们在标记数据上训练教师网络。对于半监督学习目标,他们使用 UDA 在未标记数据上训练教师网络。

最后,由于元伪标签方法中的学生网络只从带有伪标签的未标记数据中学习,我们可以在学生网络训练至收敛后借助标记数据对其进行微调,以提高其准略率。

实验结果

小规模实验

这部分展示了小规模实验的结果。首先,研究者借助简单的 TwoMoon 数据集测了一下「反馈」在元伪标签方法中的重要性,结果如下图 2 所示。从中可以看出,在 TwoMoon 数据集上,元伪标签方法(右)比监督学习方法(左)和伪标签方法(中)的表现都要好。

接下来,他们又将元伪标签方法与之前的 SOTA 半监督学习方法进行了对比,使用的基准包括 CIFAR-10-4K、SVHN-1K、ImageNet-10% 等,结果如下表 2 所示:

最后,他们使用完整的 ImageNet 数据集在标准的 ResNet-50 架构上进行了实验,结果如下表3所示:

大规模实验

这部分展示了大规模实验(大模型、大数据集)的结果。研究者使用了 EfficientNet-L2 架构,因为该架构的容量比 ResNet 大。Noisy Student 也用到了 EfficientNet-L2,在 ImageNet 上达到了 88.4% 的 top-1 准确率

这部分的实验结果如下表 4 所示。从中可以看出,元伪标签方法以 90.2% 的准确率成为了 ImageNet top-1 的新 SOTA。

理论谷歌Quoc LeImageNettop-1准确率
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~