type
status
date
slug
summary
tags
category
icon
password
大规模数据训练视觉表征主要有以下3类方法:
- 基于标签数据,用监督方法训练
- 基于无标注数据,用自监督方法训练。
- 基于弱监督数据(爬取的caption),用对比学习训练。
其中第三条是目前研究的热点,也是本系列的研究内容。
对于CLIP的优化主要有两个方向
- 如何加速训练
- 利用pre-train model
- LiT。freezen image encoder,单独训练text encoder来进行text 和image的对齐
- APE。固定image encoder和text encoder。训练额外引入的MLP层来对齐
- 利用ViT的特性
- FLIP。通过引入视觉mask,通过值计算非mask区域的视觉表征来实现加速(MAE中的思路)。
- 利用硬件特性优化。(flash attention)
- 优化loss
- SigLIP。将softmax-based comtrastive loss转为sigmoid loss来降低计算开销。
- CatLIP将caption转为class label,用分类任务来代替对比学习任务来实现加速。
- 如何提升performance
- 优化数据(数据denoise)
- 优化训练架构
- UniCL。构建image-text-label 3元组。来进行多任务训练。
CatLIP: CLIP-level Visual Recognition Accuracy with 2.7× Faster Pre-training on Web-scale Image-Text Data
time | 2024-04 |
paper | |
code | |
org | Apple |
Motivation
CatLIP为了解决CLIP高效训练问题。将原生CLIP的pair-wise contrastive loss重新建模为分类loss将训练速度提升了2.7倍,并维持训练模型在下游任务的精度。
Method
实现方法很简单。首先将image-text数据集转为 (image, label)数据集。
- 提取text中的名词
- 将上述名词映射到wordnet中的同义词synset
- 再用分类方法取代对比实现训练加速。
Thinking
catlip通过数据处理将caption转为label标签,用分类loss来代替对比学习loss实现2.7倍的训练提速。
同样受限于训练任务,使其无法做原生clip的zero-shot的分类,跨模态搜索等任务。CatLip这篇paper更focus在用弱监督(semi-weakly supervised)训练一个视觉表征模型而不是类CLIP的多模态模型。
Demystifying CLIP Data (Meta CLIP)
time | 2023-09 |
paper | |
github |
Motivation
作者认为目前CLIP模型的成功并不是由于其训练方法与模型架构,而是其数据。但CLIP并没有公布构造图文对的细节。这篇文章作者探究了如何构建一个balance的图文对。
Method
步骤1:作者首先定义了一些entry。entry来源如下表
步骤2: 随后通过sub-string匹配的方法,将图文对映射到定义的entry中(一个entry可能有多个图文对)。有114K entry没有对应的图文对。有16K的entry图文对超过20000。
步骤3: 由于entry的长尾效应严重,作者限定每个entry的期望图文对为20k,并设计了一个sample算法,来平衡数据集.(可以预先处理好,也可以在dataloader中实现)
Result
基本能够达到开源效果,并有略微提升。
该表评估了balance sample的作用
Thinking
这个方法只能保证均衡。但无法过滤image-text不匹配的情况。可以结合其它denoising一起使用。
Alpha-CLIP: A CLIP Model Focusing on Wherever You Want
time | 2023-12 |
paper | |
github |
Motivation
CLIP模型将文本与图片表征进行对齐,但这个对齐是针对整个图片level的,在一些ragion-aware的下游任务中,这种全局的表征效果较差。虽然针对这类region-aware的问题(如region-aware QA,region-aware生成等)有几类方案解决,但都有各自的缺点。作者提出一种alpha-CLIP的思路解决这个问题。
Method
总体来看,alpha-clip的思路很简单。模型的输入增加一个mask的输入,提取特征后和图片数据进行相加。再沿用CLIP的训练思路。
Result
有一定的效果提升。但不大,并且alpha-clip测试时需要额外的mask信息。直觉来看效果也应当更好。
Thinking
实质上就是给clip image encode引入一个spatial conditioning,来让特征forcus在mask区域。如何添加spatial conditioning的方式无需局限在论文的方法。
CLIP-DINOiser: Teaching CLIP a few DINO tricks
time | 2023-12 |
paper | |
code | https: //github.com/wysoczanska/clip_dinoiser |
org. | Warsaw University of Technology, Meta AI, Valeo.ai, IDEAS |
Motivation
当下CLIP的训练思路虽然带来了incredible的zero-shot分类能力,但由于其训练中缺乏spatial awareness,导致其无法直接作dense computer vision task,如开集语义分割。此外自监督模型被证明具备良好的localization性能。基于以上考虑,这篇文章将SSL的特征作为prior嵌入到CLIP的last pooling layer中,使其具备object spatial awareness的能力。
前置知识: DINO, FOUNN, MaskCLIP
Method
Thinking
A+B的一份工作。不太理解为什么强行用CLIP做open-vocabulary semantic segmentation,用SAM肯定会更好。明显SAM的预训练任务和open-vocabulary semantic segmentation更相关。
TODO:
DFN
SigLIP
EVA
…
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/clip_hub?target=comment'123
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章