【ALIP解读】OFA合成Caption训自适应CLIP

165 阅读2分钟

ALIP: Adaptive Language-Image Pre-training with Synthetic Caption

本文核心思想是:

  1. 先用OFA为图片生成文本,得到caption;

  2. 但是Caption又质量高低,不同样本质量不一样(有如下四种),搞一个网络产出权重,用来自适应(Adatptive)对比Loss,把质量差的样本降权,质量好的加权,这样就能自适应强调了;

具体网络如下:

  1. Raw text 和 synthetic text 送入encoder,然后利用语言一致性门(Language Consistency Gate, LCG)和描述一致性门(Description Consistency Gate, DCG)生成权重,决定对比loss中不同sample和相应text文本的权重

具体计算直接看代码:

语言一致性:

  1. text 特征和 caption 特征点乘(cos sim),求和得到Stc(batch * 1),取均值Stc_mean,然后Stc_mean进行动量历史更新得到Htc;

  2. 然后每个样本的相似(Stc, cur_sim)减去历史相似(Htc, momentum_sim)再指数幂(我猜测取指数幂是因为e^0=1, e^x>0,同时相似插值会被指数放大,具体为啥这么做..不知道),与1比较,小于1的以权重保留下来,大于1的直接以1作为权重。即把相似度Stc<历史平均相似的进行降权,把大于的权重视为一致;

    1. 这里为什么要用Batch个,我理解是为了增加历史相似Htc的多样性...感觉这个方面比较trick;

描述一致性:

  1. 与语言一致性差不多,也是搞一个历史值当阈值,然后文本图片相似度小的得到小权重,大的得到1权重;

最后这些权重就作为每个样本的权重,用来计算对比学习,相当于有些质量差的样本被自适应降权了

再看实验,只有ViT-B-32的,为什么没有ViT-B-16, ViT-L等的呢?资源不够or效果一般;

同时这个模型只在zero-shot 分类和linear probe上sota,其他任务的效果就不太清楚了。

总结:

  1. 生成数据的方法可以借鉴,但具体论文感觉有点trick,在下游任务上泛化性还能进一步提高,或许是我没读懂;

最后,可以参考下引文,看看还有哪些CLIP: