前言
openAI的图文多模态模型CLIP证明了图文多模态在多个领域都具有着巨大潜力,随之而来掀起了一股图文对比学习的风潮。
就在前几天(2022年12月),连Kaiming都入手这一领域,将MAE的思路与CLIP的思路结合,推出了FLIP,有兴趣可戳(https://arxiv.org/abs/2212.00794)。对于迷茫的CV研究生,如果你找不到研究方向,just follow Kaiming绝对不会出错。
LAION
今天要介绍的是一个优秀的图文多模态数据集LAION,跟CLIP原始训练数据集就有相当体量,即400个million。
我第一次接触OpenAI的CLIP工作的时候,完全被其zero-shot能力所震惊。不过这么优秀的工作,有两个让followers抱微词之处:1. 该工作并未开源数据集;2. 该工作未开源训练代码(只是在论文中以伪代码的形式给出)。
而CLIP做得不够的地方,由LAION团队补全了。LAION-400M下载原图和文本对的话,大概有10T左右,所以想用这个数据集的朋友可以大概掂量一下。
闲话不多说,给出项目链接和论文链接:
项目链接:htttps://laion.ai/blog/laion-400-open-dataset/
论文标题:LAION-400M: Open Dataset of CLIP-Filtered 400 Million Image-Text Pairs
论文链接:https://arxiv.org/abs/2111.02114
多模态语言-视觉模型通常是数亿个图文对(image-text pair)上训练出来的,比如CLIP、DALL-E。对于绝大部分研究者而言,要收集这样一个级别的数据集还是有相当难度的。这也是LAION团队收集并开源LAION-400M的原因。而且LAION-400M是用CLIP进行过滤的,所以理论上这个数据集质量会高于CLIP团队所用的400million的数据。
LAION-400M不仅给了这么大数量的图文对,还用CLIP把数据都推理了一遍,并且保存了embedding和kNN索引,咱们可以对这个大数据集高效索引。
索引网站:https://rom1504.github.io/clip-retrieval/
因为所有的图片都保存了embedding,所以当你输入文本的时候,能够迅速算出similarity,从而实现实时retrieval的效果。以下就是我输入的结果:
数据集overview
• 400 million pairs of image URL and the corresponding metadata
• 400 million pairs of CLIP image embedding and the corresponding text
• Several sets of kNN indices that enable quick search in the dataset
• img2dataset library that enables efficient crawling and processing of hundreds of millions of images and their metadata from a list of URLs with minimal resources
• Web demo of image-text search on LAION-400M。
LAION-400M的概述如上。4亿个图片-文本对,并且附带4亿个URL和4亿个图片嵌入表示。一些kNN索引来支持快速搜索,以及一个数据处理库。
LAION-400M在收集数据时,做了一些过滤设定:
- 将文本短于5个字母或者图像小于5kb的图文对丢弃;
- 去重操作;
- 用CLIP计算图文相似性,抛弃掉相似性低于0.3的图文对;(重要)
- 筛除一些不合法的图文对,比如adult/violence/insulting等等。(love and peace化)
PS: 我在做实验的过程中,发现第三点尤为重要,之前团队收集过400M的某专用领域数据,一直训不到好结果。但用similarity 0.3过滤以后,哪怕数据量只有之前的1/10,训练效果却能达到非常好。
最后看一下数据size的分布:
实验结果
作者用DALL-E做了实验,基于LAION-400M可以有很好的收敛效果。后续作者还在CLIP上做了实验,虽然没有公布在这篇论文里,但开源了代码,感兴趣的可以去github搜索open-CLIP,在ImageNet上的zero-shot效果比原声CLIP强一点。