赞
踩
本文是CLIP算法的学习笔记,从CLIP算法介绍到具体实现原理,再到应用方法和后续一些优化策略来学习CLIP系列算法。
CLIP是什么:
CLIP全称是Contrastive Language–Image Pre-training,一种基于对比文本-图像对的预训练方法。
CLIP怎么做的
主要包含Text Encoder和Image Encoder两个模块,分别提取文本和图像特征,然后基于比对学习让模型学习到文本-图像的匹配关系。原文使用大规模数据(4亿文本-图像对)进行训练,基于海量数据,CLIP模型可以学习到更多通用的视觉语义信息,给下游任务提高帮助。
CLIP怎么用
CLIP可以应用与众多的下游任务。例如图文检索,文本视频检索,图文问答,图文生成等。
CLIP系列优化方法:
主要学习基于CLIP的后续一系列工作,包括多篇论文方法。
FLIP:Scaling Language-Image Pre-trainingvia Masking
一种简单高效的CLIP加速训练方法,只需mask掉部分图像,就可以将CLIP的训练过程加速2~3倍,而且能实现更好的性能。
我们知道输入到image encoder(transformer)的图像先要处理成多个patch,每个patch相当于sequence中的一个词。我们对这个sequence做随机mask,按比例随机掩盖掉一些词,然后将剩下的词(image patch)输入到encoder中。
这样做的好处是减小了sequence的长度,也就减少了计算量,训练速度更快;同时减小显存占用,可以增大batch size,有利于对比学习。另一方面,这种操作有点类似dropout,相当于正则化。
最后,为了减少分布上的gap(训练mask测试一版不mask),FLIP会在最后增加少量的unmasking训练,可以进一步提升模型的性能。
FILIP:Fine-grained Interactive Language-Image Pre-Training
CLIP的双塔结构分别提取图像和文本的全局特征做对比学习,缺少局部信息的交互,FILIP增加了image tokens和text tokens的细粒度交互。
DeCLIP:Supervision Exists Everywhere: A Data Efficient Contrastive Language-Image Pre-training Paradigm
参考博客 DeCLIP一种数据高效的CLIP训练方法 | 一起打怪升级呀
在CLIP的基础上,采用了多种监督形式,包括:
文本自监督(TSS):文本自监督使用的是MLM方法,即随机mask掉文本中15%的token,然后利用前后token预测被mask掉的token;
训练loss为以上几部分的加权和:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。