实验室可以训练(De)CLIP了!商汤ICLR2022 DeCLIP正式开源!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

作为2021年的重要里程碑,CLIP 一经问世便吸引了广大研究人员的关注。但是4亿的图片-文本对数据,数百张的GPU卡需求,让研究者望而生畏。

为了解决CLIP训练的Data efficiency 问题,商汤科技推出DeCLIP 已被ICLR 2022接受,其DeCLIP-ResNet50可以在比CLIP使用的数据少7.1倍的同时,在ImageNet上达到60.4% Zero-Shot准确率,比CLIP-ResNet50高出0.8%!另外,基于DeCLIP提出了图像文本对预训练相关的Benchmark,整合了目前的CLIP,SLIP,FILIP等相关工作。DeCLIP和Benchmark的相关数据、代码、模型及训练脚本现已开源,欢迎使用!

DeCLIP (ICLR 2022): 

https://arxiv.org/abs/2110.05208

CLIP-Benchmark: 

https://arxiv.org/abs/2203.05796

Code(已开源): https://github.com/Sense-GVT/DeCLIP

5a571451986ddfcd8cc8308e5ff652e3.png

1. Motivation

大规模语言-图像对比学习预训练已经在零样本学习以及下游任务上取得很好的效果(如CLIP)。但是例如CLIP这样的模型需要400M的数据进行预训练,为了提高训练的效率,让模型在较少的训练数据下依然取得不错的效果,本文提出一种高效的多模态预训练范式DeCLIP。不同于CLIP仅仅使用图像文本对匹配作为自监督信号,DeCLIP使用了多种监督信号:

  • 模态内的自监督学习;

  • 跨模态的多视角监督学习;

  • 最近邻监督学习。

2. Method

如下图所示,本文提出了一种数据利用效率更高的多模态预训练范式DeCLIP。使用更多的监督信息,从而实现对数据的高效利用。

52e049791858f29649651a50f03f2922.png

2.1 CLIP回顾

首先回顾一下CLIP, CLIP直接进行图像和文本对之间的对比学习,使用两个encoder分别编码图片信息和文本信息。图像encoder一般使用CNN或者VIT,文本encoder一般使用transformer。之后将文本和图像嵌入映射到相同空间中,使用对比学习的思想,将匹配的图片-文本embedding的距离拉近,将不匹配的embedding拉远。

2.2 模态内的自监督学习 (Self-Supervision within each modality,SS)

每个模态内分别单独进行自监督学习,包括图像的自监督学习和文本的自监督学习。

b7bf14d1588dded8a38ffbbd2b920f43.png

(a) 图像自监督学习

按照SimSiam提出的方式进行图像级别的自监督学习。图像通过两个数据增强得到两个视图,它们会先被共享权重的图像编码器编码,然后其中一个视图会通过一个两层的MLP进行特征的增强,并与另一个视图的输出计算余弦相似度并回传梯度。

(b) 文本自监督学习

按照BERT中的方法进行文本自监督学习。首先在每个序列中随机选择 15%的token,然后将该token (1) 80%概率替换为[mask] (2) 10%概率替换为随机token (3)  10%概率不进行修改。最后使用相应位置的语言模型输出来预测原始token,并使用交叉熵损失进行优化。

2.3. 跨模态Multi-View监督学习(Multi-View Supervision,MVS)

原始的CLIP直接使用图像和文本的嵌入计算自监督InfoNCE损失,而DeCLIP中使用的是数据增强后的文本和图像,进行四次InfoNCE,相比CLIP多了三倍的量。具体来说,对于原始图像文本对61a3e4b34d951aa978b3f075ed5e24f4.png,DeCLIP将图像进行数据增强得到06bb796edb4ea3a3ccfc85f0a06a9142.png,文本进行数据增强得到1896d5679890ba5e36a5b092fceeb049.png,通过计算cdbac0d7f542749da664806a6fa93a5c.png的InfoNCE损失函数,相较于CLIP多了三次监督。

2.4. 最近邻监督学习(Nearest-Neighbor Supervision,NNS)

1fd24d851d6a6089a657a751f6a8dc15.png

因为相同的图像可能会有类似的语言描述,因此选择语言描述相似的图文对进行对比学习。通过维护一个先入先出(FIFO)的队列来模拟整个数据分布,从这个队列中选取最相似的句子作为正样本,并在选取的eef671677660dbd83d0a9a377bdc92f7.png之间使用InfoNCE损失函数作为最近邻损失函数。

最终将三种loss加权求和,得到最终的loss。

fcefea44d82681521da58ab52f7497e8.png

3. Experiments

3.1. 数据集

1d83abbc73958c53709bef87853691eb.png

DeCLIP数据集包含现有开源的29M和互联网爬取的59M两部分,共88M数据。

3.2. Zero-Shot与Finetune的准确率

0cc94cdfcb4afe99e6a62a9f8ac6f5b7.png

9e78fcfcc6d01e32e0cf6c77bc102df3.png

3.3. 三种监督的效果以及训练速度对比

2eda13b1a3ce542c188c6eeaf618e1ea.png

4. CLIP-Benchmark

目前CLIP系列相关Paper基于的数据、超参等都有区别,为了方便社区使用,本文在DeCLIP的基础上提出了CLIP-Benchmark,其中包含高质量的YFCC15M-V2数据集、目前已有相关Paper的复现代码与结果对比(CLIP,SLIP,FILIP,DeCLIP)和一个集大成者的训练方法DeFILIP。具体方法和效果如下图所示。

702833e1a22517ee84c740d273b0df8e.png

9c9703d628f7c533d2f90d955a92b152.png

ICCV和CVPR 2021论文和代码下载

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
CVer-Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/123836299