推出视觉领域任务自适应基准:VTAB
文 / Neil Houlsby,研究员 和 Xiaohua Zhai,研究工程师
Google Research
深度学习革新了计算机视觉领域,达到顶尖水平 (SOTA) 的深度网络能够直接从原始像素中学习有用的表征,从而在许多视觉任务中前所未有的提升了性能。但是,从零开始学习这些表征通常需要大量的训练样本。使用 预训练表征 可以减轻这一负担, TensorFlow Hub (TF Hub) 和 PyTorch Hub 等服务大多能够提供此类表征。但是,这种非常普遍的服务本身可能会成为一种障碍。例如,对于从图像中提取特征的任务来说,目前有 100 多种模型可供选择。这就让用户很难确定采用哪种方法可以为他们提供最佳表征,并且不同的子领域使用的评估方案也不同,进而有时无法反映新任务的最终性能。
表征研究的首要目标是:利用大量通用数据一次性完成表征学习。无需在每个任务中从头开始训练这些表征,从而减少所有视觉任务的数据需求。但是,要实现这一目标,研究社区必须创建统一的基准,以便对现有的与以后的方法进行评估。
为解决此问题,我们推出“视觉任务适应性基准”(Visual Task Adaptation Benchmark, VTAB)。这是一个多元的、切实且具有挑战性的表征基准,您可在 GitHub 上获取。该表征基准基于以下原则:在所需领域内数据有限的情况下,找到更好的能够在未见任务上实现更优性能的表征。
鼓励创造并最大限度地减少对解决方案的约束; 注重实际; 借助挑战性任务进行评估。
基准
不得利用下游评估任务中的任何数据(标签或输入图像)进行预训练。 不得包含硬编码、特定任务、逻辑。换言之,必须将评估任务视作 未曾见 过的测试数据集。
上述约束条件可确保 VTAB 的解决方案可泛化并成功应用于将来的任务中。
VTAB 方案首先将一种算法 (A) 应用到大量独立的常见视觉任务中。该算法可以利用上游数据进行预训练,以生成包含视觉表征的模型。但其必须同时定义适应性策略,使用少量样本对下游任务进行训练,执行特定任务并返回预测模型。该算法的最终分数是它在各任务中的平均测试分数。
VTAB 方案。算法 A 可应用于许多任务 T,任务 T 从常见视觉问题 PT中抽取。此示例显示宠物分类、遥感和迷宫定位图像
自然 图像任务包括使用标准照相机捕获的自然世界图像,表征为通用对象、细粒度类别或抽象概念。 专业 图像任务使用经由专门设备捕获的图像,例如医学成像或遥感图像。
结构化 任务源于人造环境中目标对图片中特地变化的理解,例如 3D 场景中到某物体的距离预测(如 DeepMind Lab)、计算对象数量(如 CLEVR),或者检测方位(如用于解耦表征的 dSprites)。
虽然 VTAB 任务的多样性程度很高,但所有任务都有一个共同特征:研究人员训练少量样本后,即可相对轻松地处理这些任务。为了评估算法在数据有限的情况下泛化到新任务的效果,每个任务仅使用 1000 个样本来评估。在与之前发布的评估结果比较时,可使用完整的数据集进行评估。
VTAB 实验结果
我们开展了一项大规模研究,测试了大量流行的视觉表征学习算法在 VTAB 下的性能表现。研究涵盖生成模型(GAN 和 VAE)、自监督模型、半监督模型和监督模型。所有算法均已在 ImageNet 数据集进行预训练。我们还在不使用预训练表征的情况下对比了每一种方法,即“从零开始”训练。结果的主要模式汇总如下图所示。
不同类的表征学习算法在以下不同任务类型中的性能:自然图像任务、专业图像任务和结构化图像任务
总的说来,我们发现,生成模型的表现不如其他模型,甚至不如“从零开始”训练。自监督模型的表现要好得多,显著优于“从零开始”训练。比自监督模型更好的是使用 ImageNet 标签的监督学习。有趣的是,尽管监督学习在 自然 图像任务类型中的表现明显优于其他方法,但自监督学习在另外两种任务类型中的性能相近,这两类任务所在的领域却与 ImageNet 更不相同。
在我们测试的算法中,性能最优的表征学习算法是自监督半监督学习 (S4L),该算法结合了监督和自监督预训练损失。下图对 S4L 与标准监督 ImageNet 预训练进行了比较。S4L 在 结构化 任务中的表现似乎尤为改观。但是,除了 自然 任务外,表征学习在“从零开始”训练中的收益要小得多,这表明要获得通用视觉表征仍有很大空间。
上图:S4L 与“从零开始”训练的性能对比。图中的每个柱都对应一项任务。值为正数的柱表示 S4L 的性能优于“从零开始”训练的任务。值为负数的柱表示“从零开始”训练的性能更优。下图:S4L 与在 ImageNet 上开展的监督训练对比。值为正数的柱表示 S4L 的表现更佳。
柱的颜色表示的任务类型如下:红色 = 自然,绿色 = 专业,蓝色 = 结构。我们可以看到,在结构化图像任务中,除了使用 ImageNet 标签以外,加强自监督学习也有助于改善结果。
总结
您可以在 GitHub 上获取运行 VTAB 的代码,其中包括 19 个评估数据集和精准的数据分割。将一系列基准公开可以确保结果的可复现性。我们使用公开排行榜跟踪进展,并将评估的模型上传到 TF Hub,以供用户使用和复现。我们还提供了一个 shell 脚本和标准化评估方案,前者可对所有任务进行调整和评估,后者使 VTAB 可以在业界普及。由于可以在 TPU 和 GPU 上执行,因此 VTAB 非常高效。用户可以在数小时内使用单个 NVIDIA Tesla P100 加速器获得对比结果。
视觉任务适应性基准可帮助我们更好地了解哪些视觉表征可以泛化到更广泛的视觉任务中,并可为未来研究指引方向。我们希望这些资源可以在推动通用且实际的视觉表征发展方面发挥作用,进而为有限标记数据的中长尾的视觉问题提供深度学习解决方法。
致谢
此研究的核心团队成员包括 Joan Puigcerver、Alexander Kolesnikov、Pierre Ruyssen、Carlos Riquelme、Mario Lucic、Josip Djolonga、Andre Susano Pinto、Maxim Neumann、Alexey Dosovitskiy、Lucas Beyer、Olivier Bachem、Michael Tschannen、Marcin Michalski、Olivier Bousquet 和 Sylvain Gelly。
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
TensorFlow Hub
https://hub.tensorflow.google.cnPyTorch Hub
https://pytorch.org/hub/research-models视觉任务适应性基
https://arxiv.org/abs/1910.04867可在 GitHub 上获取
https://github.com/google-research/task_adaptationGLUE
https://gluebenchmark.com/
Atari
https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
DeepMind Lab
https://github.com/deepmind/lab
CLEVR
https://cs.stanford.edu/people/jcjohns/clevr/
解耦表征
https://ai.googleblog.com/2019/04/evaluating-unsupervised-learning-of.html
dSprites
https://github.com/deepmind/dsprites-dataset
ImageNet
http://www.image-net.org/challenges/LSVRC/2012/
S4L
https://arxiv.org/abs/1905.03670
GitHub
https://github.com/google-research/task_adaptation
公开排行榜
https://google-research.github.io/task_adaptation/
TF Hub
https://hub.tensorflow.google.cn/vtab