CLIP论文阅读笔记

论文CLIP: Learning Transferable Visual Models From Natural Language Supervision

Abstract

相比于监督式的CV学习方法,直接对图文对学习有可能提供更多监督信息。在互联网上收集4亿图文对的体量下,通过简单的预训练任务(预测图文对的对应关系),便可以达到sota的图像表征能力。预训练后,自然语言被用来参考学习到的视觉概念,用于将模型迁移到下游任务实现zero-shot. 对比了30多个CV任务,在zero-shot的性能达到了resnet-50在imagenet训练的性能。

1. Introduction and Motivating Work

GPT-3等成果表明,现代预训练方法在互联网规模的文本集中的总体监督能力超过了高质量的人类标记NLP数据集。
在CV领域,使用自然语言作为图像表征学习的监督信息的工作比较少,可能是因为其性能较低。而一些弱监督的方法提升了性能,在Instagram图像上预测ImageNet相关的标签是一项有效的预训练任务,在imagenet调参可获得5%的性能提升。
2.方法
方法核心是学习自然语言蕴含的感知信息
数据集收集:互联网4亿图文对,尽可能涵盖更多的视觉概念,使用50万个搜索词,为了类间平衡,规定每个搜索词对应的图像数量不超过2万个图文对。数据集的词语数量与训练GPT-2使用的数据集WebText体量相近。
高效预训练:sotaCV方法对于GPU的消耗是很惊人的,成功的从自然语言中学习到对图像的监督信息的核心和训练效率。
原始方法:类似 VirTex,协同训练一个CNN和文本transformer,实现图像描述任务(image caption)。但是发现效率比较低,63M的文本transformer编码器的训练效率是CNN的3倍。可能的原因是图像描述任务太难了。将代理任务设计为基于对比学习,预测哪个文本与图像是一对。预训练过程是协调训练图像编码器和文本编码器,最大化对应图像-文本对embedding的余弦相似度。是一种跨模态的对比学习。 对余弦相似度优化symmetric cross entropy loss 。
模型细节:图像编码器和文本编码器都是从头训练,因为数据集足够大。移除了非线性投射,使用线性投射。 移除 the text transformation function tu, 简化the image transformation function tv. 图像数据增强只用了 random square crop from resized images。对比学习损失函数中的温度系数直接从训练中优化,而不是超参数。
模型设计:图像编码器有两种结构。
一种是resnet-50,改进的细节包括使用resnet-50D和 antialiased
rect-2 blur pooling,global average pooling layer 改成了 attention pooling mechanism。
第二种结构是ViT,区别只在于 adding
an additional layer normalization to the combined patch
and position embeddings。
文本编码器:As a base size we use a 63M-parameter 12-layer 512-wide model with 8 attention heads.
对于模型规模的变化,只对text encoder的宽度进行变化,没改变深度,因为实验发现CLIP的性能与对文本encoder的能力不敏感。
模型训练:5个resnet网络和3个vit
resnet:resnet-50,resnet-101,RN50x4, RN50x16, andRN50x64
ViT:ViT-B/32, a ViT-B/16, and a ViT-L/14
mini-batch:32768
训练资源:最大的resnetRN50x64, took 18 days to train on 592 V100 GPUs while
the largest Vision Transformer took 12 days on 256 V100
GPUs.

image.png

你可能感兴趣的:(CLIP论文阅读笔记)