使用 CLIP 对没有标记的图像进行零样本无监督分类

发布时间:2022-08-19 14:08

深度图像分类模型通常以监督方式在大型带注释数据集上进行训练。随着更多带注释的数据加入到训练中,模型的性能会提高,但用于监督学习的大规模数据集的标注成本时非常高的,需要专家注释者花费大量时间。为了解决这个问题,人们开始寻找更便宜的标注的标签来源,是否有可能从已经公开的数据中学习高质量的图像分类模型?

OpenAI 提出的CLIP模型 [1] 的提议——最近由于在 DALLE-2 模型中的使用而重新流行——它以积极的方式回答了这个问题。特别是CLIP 提出了一个简单的预训练任务——选择哪个标题与哪个图像搭配——它允许深度神经网络仅从自然语言(即图像标题)中学习高质量的图像表示。由于图像-文本对在网上很容易获得并且数据量非常的巨大,因此可以轻松地为 CLIP 管理一个大型预训练数据集,从而最大限度地减少标注成本和训练深度网络所需的工作量。

除了学习丰富的图像表示之外,CLIP 不需要标签并且在 ImageNet 上实现 76.2% 的测试准确率,这个结果彻底改变了零样本图像分类 - 与之前状态的 11.5% 的测试准确率的状态[2]。通过将自然语言建立为图像感知任务的可行训练信号,CLIP 改变了监督学习范式,使神经网络能够显着减少对注释数据的依赖。在这篇文章中,将概述 CLIP 的信息,如何使用它来最大程度地减少对传统的监督数据的依赖,以及它对深度学习从业者的影响。

CLIP之前的工作

在了解 CLIP 的细节之前,了解模型发展的历史会很有帮助。在本节中将概述相关的先前工作,并提供有关 CLIP 的灵感和发展的直觉。初步工作通过表明自然语言是图像感知监督的有用来源来作为概念证明。然而,由于这些方法相对于替代方法表现不佳(例如,监督训练、弱监督等),因此在 CLIP 提出之前,通过自然语言进行的训练仍然不常见。

使用 CNN 预测图像标题。之前的工作都是通过CNN 获得有用的图像表示来预测图像说明的 [3]。这种分类是通过将每个图像的标题、描述和主题标签元数据转换为词袋向量来执行的,然后可以将其用作多标签分类任务的目标。有趣的是,以这种方式学习的特征被证明与通过 ImageNet 上的预训练获得的特征相匹配,从而证明图像说明提供了关于每个图像的足够信息来学习判别表示。

后来的工作扩展了这种方法来预测与每个图像相关的短语 [2],从而实现零样本转移到其他分类数据集。尽管这种方法获得了较差的零样本学习性能(即在 ImageNet 上的测试准确率仅为 11.5%),但它表明仅使用自然语言就可以产生远远超过随机性能的零样本图像分类结果,因此可以说它提出了弱监督零样本分类的概念。

来自带有transformers的文本的图像表示。同时,包括 VirTex [4]、ICLMM [5] 和 ConVIRT [6] 在内的几项工作探索了使用transformers架构从文本数据中学习视觉特征。在高层次上,此类方法使用常见的transformers训练任务来从相关的图像的说明中学习有用的图像表示。由于这些工作,掩蔽语言建模 (MLM)、语言建模和对比学习目标——通常用于在自然语言处理领域训练转换器——被发现是学习高质量图像表示的有用代理任务。

上面的研究为未来的发现铺平了道路,尽管之前没有任何方法能够在大规模数据集上实现令人印象深刻的零样本性能,但这些基础性工作提供了非常有用的经验教训。也就是说,之前的工作表明:

i)自然语言是计算机视觉监督的有效来源

ii)通过自然语言监督进行零样本分类是可能的

由于这些发现,进一步的研究工作投入到执行零样本分类。这些努力带来了突破性的方法,比如CLIP,它将自然语言监督从一种罕见的方法转变为一种出色的零样本图像分类方法。

深入研究CLIP

简单地说CLIP模型旨在从相关的图像说明中学习图像中的视觉概念。在本节中将概述CLIP架构、训练,以及如何将结果模型应用于零样本分类。

模型架构

CLIP由两个编码模块组成,分别用于对文本数据和图像数据进行编码。对于图像编码器,探索了多种不同的模型架构,包括5种不同尺寸的ResNets[7],effecentnet风格[8]和3种ViT架构[9]。传统的CNN架构的两个选项如下所示,但是CLIP的ViT变体的训练计算效率要高出3倍,这使得它成为首选的图像编码器架构。

使用 CLIP 对没有标记的图像进行零样本无监督分类_第1张图片

CLIP 中的文本编码器只是一个仅解码器的transformers,这意味着在每一层中都使用了掩码自注意力(与双向自注意力相反)。Masked self-attention 确保转换器对序列中每个标记的表示仅依赖于它之前的标记,从而防止任何标记“展望未来”以这样可以获得更好的表示。下面提供了文本编码器架构的基本描述。这种架构与大多数先前提出的语言建模架构(例如 GPT-2 或 OPT)非常相似。

使用 CLIP 对没有标记的图像进行零样本无监督分类_第2张图片

尽管在原始论文中没有将CLIP应用于任何语言建模应用程序,但作者利用了掩码自注意力,使CLIP在将来更容易扩展到这类应用程序。

通过自然语言进行监督训练

尽管以前的工作表明自然语言是计算机视觉的可行训练信号,但用于在图像和文本对上训练 CLIP 的确切训练任务并不是很明显。所以应该根据标题中的单词对图像进行分类吗?以前的工作已经尝试过并且证明时有效果的,但是并不好 [2, 3]。使用语言建模为每个图像生成标题呢?作者发现预测确切的图像说明太难了——导致模型学习非常缓慢——因为可以描述图像的方式是多种多样的。

理想的 CLIP 预训练任务应该是可扩展的,应该允许模型有效地从自然语言监督中学习有用的表示并可以利用对比表示学习中的相关工作,作者发现可以使用一个非常简单的任务来有效地训练 CLIP——在一组候选字幕中预测正确的相关字幕。下图说明了这样的任务。

使用 CLIP 对没有标记的图像进行零样本无监督分类_第3张图片

在实践中,通过以下方式实现:

  • 通过它们各自的编码器传递一组图像和文本标题
  • 最大化真实图像-标题对的图像和文本嵌入之间的余弦相似度
  • 最小化所有其他图像-字幕对之间的余弦相似度

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号