【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision

Auther: OpenAI
Source:arXiv:2103.00020
Code: openai/CLIP: Contrastive Language-Image Pretraining (github.com)

1 Intro

OpenAI收集了一个包含4亿text-image pair的数据集,在使用文本-图像对比学习的方式预训练网络,完全zero-shot迁移至超过30个数据集,其效果与之前有监督训练的模型差不多或更好,且泛化能力、鲁棒性更好。

在不使用ImageNet训练集的情况下,完全zero-shot可以达到Res50的效果。

CLIP打破了固定类别标签的范式。

CLIP的相关应用:StyleClip、ClipDraw等。

2 Approach

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第1张图片

使用text-image pair进行对比学习,假设batchsize为N,那么就有N个正样本对, N 2 − N N^2-N N2N个负样本对,使用矩阵表示,则对角线上的元素即为正样本。

(Zero-Shot Inference)在分类时,将分类目标整合成句子(Prompt Template),每个句子通过文本编码器得到特征,计算图像特征与这些句子特征的相似度,选取最大的那个作为分类结果。

2.1. Natural Language Supervision

方法的核心是从自然语言中获取监督信号来训练视觉模型,训练一个视觉模型的好处是不需要再去做图像标注,将文本和图像结合在一起可以帮助去做zero-shot的推理

2.2. Creating a Sufficiently Large Dataset

当前存在的数据集的规模都不够大(千万级别)或者标注效果差,于是OpenAI自己收集了一个规模4亿(Text-Image Pair)的数据集,名称WIT(WebImageText)

2.3. Selecting an Efficient Pre-Training Method

从训练效率的角度考虑,将预测型任务转化为对比型任务可以简化训练流程,即通过对比学习只需判断一个文本和一个图像是不是配对即可。

基于对比学习的方法非常高效

方法简单明了,将对应的Text-Image Pair对应至同一个标签即可。

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第2张图片

伪代码(使用对称式的目标函数)

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第3张图片

3 Experiment

3.1. Zero-Shot Transfer

3.1.1. Motivation

之前的无监督学习更加注重表征学习(representation learning),希望学到泛化性能好的特征,但是在运动到下游任务时,一般还需要目标数据集今天finetune。作者希望通过文本的引导,很灵活地进行Zero-Shot迁移学习

3.1.2. Using CLIP for Zero-Shot Transfer

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第4张图片

训练好CLIP模型后,有一个文本编码器和一个图像编码器。

图像编码器的输入为quary Image,输出为图像特征;

文本编码器的输入为你感兴趣的标签,并通过Prompt组成句子输入文本编码器,输出N个文本特征。

将N个文本特征与quary图像特征计算余弦相似度,再通过softmax得到概率分布,选取值最大的文本标签作为分类结果。

3.1.3. Prompt Engineering and Ensembling

Prompt Engineering

许多单词在不同语境下具有歧义性,比如remote,遥远的/遥控器,所以设置一个Prompt Template,“a photo of a {label}.” 增加提示消除歧义,可以有效地解决该问题。

当在特点数据集上试验时,如食物数据集,可以在后边加上”a type of food”,可以大大缩小搜索空间,提高性能。

Prompt Ensembling

使用多个模版,然后把结果综合起来,可以提升性能。

作者共使用了80个模版。
【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第5张图片

3.1.4. Analysis of Zero-Shot CLIP Performance

在27个数据集上测试了CLIP Zero-Shot性能

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第6张图片

在20个数据集上测试了Few-Shot性能

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第7张图片

3.2. Representation Learning

使用全部数据进行实验,实验使用Liner Probe方式进行(只训练最后的分类头FC)
【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第8张图片

4 Comparison to Human Performance

在ZeroShot的情况下,CLIP远好于人类,在给人类看过一张照片后,人类表现大幅提高,但仍不如ZeroShot CLIP。

对于人类难的种类对于CLIP也更难
【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第9张图片

【论文笔记】【CLIP】Learning Transferable Visual Models From Natural Language Supervision_第10张图片

你可能感兴趣的:(计算机视觉,深度学习,对比学习,深度学习,计算机视觉,人工智能)