论文精读:Improving CLIP Training with Language Rewrites

2024-01-22 16:20

本文主要是介绍论文精读:Improving CLIP Training with Language Rewrites,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Status: Finished
Author: Dilip Krishnan, Dina Katabi, Lijie Fan, Phillip Isola, Yonglong Tian
Institution: Google Research, MIT CSAIL
Publisher: NeurIPS
Publishing/Release Date: October 28, 2023
Summary: CLIP模型通过对比损失进行训练,这通常依赖于数据增强来防止过拟合,但是在CLIP的训练过程中,只对图像进行了数据增强,并没有对文本进行数据增强。基于此,这篇文章提出了文本增强CLIP(Language augmented CLIP, LaCLIP),利用大语言模型的ICL能力,对每张图片的文本描述进行重写。重写的文本保持原意不变,在句子结构和文本表达上具有多样性。在模型训练的时候,随机选择采用原始文本还是重写的文本。作者在CC3M、CC12M、RedCaps和LAION-400M等数据集上进行了实验,证明LaCLIP在不增加算力和内存消耗的情况下,由更好的性能。
Score /5: ⭐️⭐️
Type: Paper
论文链接: https://arxiv.org/abs/2305.20088
代码是否开源: 开源
代码链接: https://github.com/LijieFan/LaCLIP
数据集是否开源: 开源
数据集链接: https://paperswithcode.com/paper/improving-clip-training-with-language-1


读前先问

  1. 大方向的任务是什么?Task

CLIP的主要任务是为了连接文本和图像。

  1. 这个方向有什么问题?是什么类型的问题?Type

在对比学习中,对图像做了数据增强,但是没有对文本标签做数据增强。

  1. 为什么会有这个问题?Why

文本数据增强方法不是很多,

  1. 作者是怎么解决这个问题的?How

提出了一种新的文本增强方法,利用了大型语言模型(如ChatGPT和Bard)的能力,通过重写文本来增加数据的多样性

  1. 怎么验证解决方案是否有效?

跟之前的对比一下。

  1. 实验结果怎么样?What(重点关注有没有解决问题,而不是效果有多好)

相比不对文本做数据增强确实好一点。


论文精读

引言

以CLIP为代表的预训练的视觉-语言多模态编码器,在从成对的图像和文本数据中学习可迁移特征方面非常有用。这种能力主要来源于两个方面:数据和计算。首先,在数据方面,大量的图像-文本对数据可以更高效的训练大模型。其次,在计算方面,对比学习对图像和文本的共同损失使其具有良好的可伸缩性。

CLIP模型通过对比损失进行训练,这通常依赖于数据增强来防止过拟合,但是在CLIP的训练过程中,只对图像进行了数据增强,并没有对文本进行数据增强,这种输入的不对称性可能会导致同一文本对应不同的图像。这会带来两个问题:① 图像编码器从语言方面接受的监督信号较少,② 文本编码器在每一轮训练中会遇到相同的文本,增加了过拟合的风险,还会影响zero-shot迁移能力。

因此,如何对文本输入进行增强也非常关键。现有的文本增强方法大多还停留在单词层面,例如替换或者掩码,这对丰富文本结构来说提升有限,而且相比于对图像的增强来说也太弱了。然而,如ChatGPT、Bard等LLMs的发展迅速,在一些自然语言任务上的能力已经超过了人类,基于此,作者探索了如何利用LLMs(LLaMA)的ICL来更有效的对文本进行增强。

为了更好地利用ICL提示词,作者设计了多种策略来生成一组小的元输入-输出文本对,包括利用ChatBots、人工重写或使用已有的图像标题数据集,将这些元输入-输出文本对作为提示词输入LLaMA。这种对文本进行数据增强的方式不仅可以保留文本结构,而且重写的内容更加丰富,更具有多样性。

方法

CLIP

L I = − ∑ i = 1 N log ⁡ exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( x T i ) ) / τ ) ∑ k = 1 N exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( x T k ) ) / τ ) L_{I}=-\sum_{i=1}^{N} \log \frac{\exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(x_{T}^{i}\right)\right) / \tau\right)}{\sum_{k=1}^{N} \exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(x_{T}^{k}\right)\right) / \tau\right)} LI=i=1Nlogk=1Nexp(sim(fI(augI(xIi)),fT(xTk))/τ)exp(sim(fI(augI(xIi)),fT(xTi))/τ)

文本重写增强

提出了一个文本增强函数 aug T \text{aug}_{T} augT,用 aug T ( x T ) \text{aug}_{T}(x_T) augT(xT)作为 f T f_{T} fT的输入。

aug T \text{aug}_{T} augT主要利用了LLMs的ICL能力,它可以通过给定的几个例子来学会一个新的任务,因此需要先生成几个例子,作者在这里提出了3中方法:

  1. ChatBots:利用ChatGPT和Bard进行修改,提示词:“Rewrite this caption of an image vividly, and keep it less than thirty words:”
  2. MS-COCO采样:这个数据集中每张图片有5个不同的描述
  3. 人工重写:随机采样了一部分图像-文本对进行人工标注

针对四种重写策略(ChatGPT、Bard、COCO和Human),每种策略从图像-文本对数据集中采样16个样本,然后生成新的标题,因此一共有16个元输入-输出文本对。

然后本地部署了一个LLaMA模型来对所有的图像-文本数据集的文本标签进行重写。

请添加图片描述

LaCLIP

L I = − ∑ i = 1 N log ⁡ exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( aug ⁡ T ( x T i ) ) ) / τ ) ∑ k = 1 N exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( aug ⁡ T ( x T k ) ) ) / τ ) L_{I}=-\sum_{i=1}^{N} \log \frac{\exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(\operatorname{aug}_{T}\left(x_{T}^{i}\right)\right)\right) / \tau\right)}{\sum_{k=1}^{N} \exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(\operatorname{aug}_{T}\left(x_{T}^{k}\right)\right)\right) / \tau\right)} LI=i=1Nlogk=1Nexp(sim(fI(augI(xIi)),fT(augT(xTk)))/τ)exp(sim(fI(augI(xIi)),fT(augT(xTi)))/τ)

aug ⁡ T ( x T ) ∼ Uniform ⁡ ( [ x T 0 , x T 1 … , x T M ] ) \operatorname{aug}_{T}\left(x_{T}\right) \sim \operatorname{Uniform}\left(\left[x_{T 0}, x_{T 1} \ldots, x_{T M}\right]\right) augT(xT)Uniform([xT0,xT1,xTM])

LaCLIP-MT(Multi-Text)

每张图像不仅有原始文本还有重写后的文本,也就是有多个正样本对。损失函数如下,唯一的不同就是现在遍历所有的文本对。

L I ∗ = − 1 M ∑ i = 1 N ∑ j = 0 M log ⁡ exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( x T j i ) ) / τ ) ∑ k = 1 N exp ⁡ ( sim ⁡ ( f I ( aug ⁡ I ( x I i ) ) , f T ( x T j k ) ) / τ ) L_{I *}=-\frac{1}{M} \sum_{i=1}^{N} \sum_{j=0}^{M} \log \frac{\exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(x_{T j}^{i}\right)\right) / \tau\right)}{\sum_{k=1}^{N} \exp \left(\operatorname{sim}\left(f_{I}\left(\operatorname{aug}_{I}\left(x_{I}^{i}\right)\right), f_{T}\left(x_{T j}^{k}\right)\right) / \tau\right)} LI=M1i=1Nj=0Mlogk=1Nexp(sim(fI(augI(xIi)),fT(xTjk))/τ)exp(sim(fI(augI(xIi)),fT(xTji))/τ)

在这里插入图片描述

实验

数据集

  1. 预训练数据集:CC3M、CC12M、RedCaps和LAION-400M
  2. 下游任务数据集

在这里插入图片描述

训练参数

CC3M、CC12M、RedCaps:ViT-B/16架构,batch size 8192,AdamW优化器

LAION-400M:ViT-B/32跟ViT-B/16架构,batch size 32769

评估设定

Zero-Shot分类准确率、Few-Shot分类准确率和Linear Probing准确率。

在这里插入图片描述

在这里插入图片描述

消融实验

  1. 不同的增强策略:对比了基于LLM的文本数据增强策略跟其它的文本数据增强策略对准确率的影响

在这里插入图片描述

  1. 增强文本的数量:每个样本增强的文本数量对准确率的影响

在这里插入图片描述

  1. 不同的ICL元输入输出文本对:LLaMA ICL例子的类型对准确率的影响

在这里插入图片描述

  1. Backbone架构

在这里插入图片描述

  1. 预训练文本编码器

在这里插入图片描述

结论

贡献:通过文本重写数据增强提高了CLIP的训练效率,另外还提出了一种新的多文本损失的对比学习方法。

限制:本地部署LLM用于文本重写需要大量的GPU资源。


速览笔记

Motivation

CLIP在训练时存在一个问题:对图像使用了数据增强技术,文本部分却没有相应的增强措施。这导致了输入数据的不对称性,可能限制了模型性能。

为了解决这一问题,作者提出了一种新的文本增强方法,利用了大型语言模型(如ChatGPT和Bard)的能力,通过重写文本来增加数据的多样性。这种方法不仅保留了原始文本的结构,而且使得文本内容更加丰富和多样化。此外,论文还引入了一种新型的多文本对比学习方法(LaCLIP-MT),它允许每个图像对应多个文本描述,从而更全面地捕捉图像和文本间的关联,进一步提升模型性能。

Novelty

  1. 创建点在哪里?为什么要提出来这个?要解决什么问题?

创新点包括:① 利用LLM进行文本数据增强的方法;② 多文本损失对比学习方法。

  1. 怎么才能想出来这个创新点?想问题的思路是什么?

推测作者的想法

注意到现有的CLIP模型在处理图像和文本时存在不对称性,即只对图像进行数据增强而没有对文本进行类似处理。

这种不平衡可能导致图像编码器从语言方面接受的监督信号较少,而文本编码器由于在每轮训练中遇到相同的文本,增加了过拟合的风险,并可能影响zero-shot迁移能力。

  1. 怎么就能发这个会议或者这个期刊的?

站在审稿人的角度看论文

感觉创新点不是很多,这种利用LLM对文本进行重写数据增强的方法,应该也不是本文提出的,本文应该只是利用这种方法而已,我不理解为什么能通过。

Methods

对照代码,整理模型整体结构,分析每个模块的作用以及对性能的提升贡献(重点,呼应实验),找到核心模块(提点最多),以及判断跟创新点是否匹配

Experiments

训练集和测试集

用的哪个数据集,规模多少,评价指标是什么

  1. 预训练数据集:CC3M、CC12M、RedCaps和LAION-400M
  2. 下游任务数据集

在这里插入图片描述

性能如何,好不好复现,是否有Code/Blog/知乎讨论

每个实验证明了什么

有没有哪些实验没有做

跨语言有效性、域外泛化性。

Downsides

哪些提出的模块是有问题的

人工重写的标准是什么?是否跟ChatBots重写限制只能修改3个词对齐?还是完全由人重新想一个。

哪些提出的点对性能提升存疑

有没有能改进的地方

对文本的数据增强方式跟对图片做的数据增强联动,这样就不需要借助LLM来进行数据增强了。

Thinking

能否迁移应用?(业务应用方向、模型改进、数据生产组织等方面)

在数据处理方面,也可以通过LLM来对文本标签进行数据增强。


这篇关于论文精读:Improving CLIP Training with Language Rewrites的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633527

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需