通过语言重写改进CLIP训练.
0. TL; DR
本文提出了一种通过语言重写增强CLIP训练的方法——LaCLIP(Language augmented CLIP)。LaCLIP利用大型语言模型(LLM)的上下文学习能力,对图像描述进行重写,生成多样化的文本增强数据。实验表明,LaCLIP在零样本分类、少样本分类和线性探测等任务上显著优于原始CLIP模型,且无需额外的计算或内存开销。该方法在多个大规模数据集上验证了其有效性,尤其是在LAION-400M数据集上,ImageNet零样本分类准确率提升了8.2%。
1. 背景介绍
对比语言-图像预训练(CLIP)是目前最有效的视觉模型训练方法之一,它通过对比学习利用成对的图像和文本数据进行训练。然而,CLIP训练中,图像输入会应用数据增强来防止过拟合和学习无效的捷径,而文本输入在整个训练过程中保持不变,这限制了模型对多样化文本的暴露。这种输入不对称性导致了两个问题:一是图像编码器从文本侧获得的监督有限;二是文本编码器在每个epoch中重复遇到完全相同的文本,增加了文本过拟合的风险,严重影响了零样本迁移能力。
为了解决这一问题,本文提出了一种简单而高效的方法LaCLIP,通过语言重写为CLIP训练引入文本增强。具体来说,LaCLIP利用大型语言模型(LLM)的上下文学习能力,对每个图像的文本描述进行重写,生成多样化的句子结构和词汇,同时保留原始关键概念和含义。在训练过程中,LaCLIP随机选择原始文本或重写版本作为文本增强,从而显著提升了CLIP的迁移性能。
2. LaCLIP 模型
LaCLIP的核心思想是通过语言模型生成多样化的文本描述来增强CLIP训练。LaCLIP利用大型语言模型(LLM)的上下文学习能力,对图像描述进行重写。具体来说,LaCLIP通过以下步骤实现语言重写:
- 生成元输入-输出对:为了利用LLM的上下文学习能力,LaCLIP首先需要生成少量的元输入-输出对。这些对可以由ChatGPT、Bard、人类重写或现有的图像描述数据集生成。例如,从MS-COCO数据集中随机选择图像,并为每个图像选择两个不同的描述,一个作为输入,另一个作为输出。
- 大规模语言重写:利用LLaMA(一种开源的LLM)的上下文学习能力,LaCLIP对整个数据集中的文本描述进行重写。具体来说,LaCLIP将元输入-输出对作为上下文输入,引导LLaMA生成多样化的文本重写版本。例如,对于每个文本样本,LaCLIP使用LLaMA生成4个不同的重写版本。
- CLIP训练中的文本增强:在CLIP训练过程中,LaCLIP随机选择原始文本或重写版本作为文本输入。这种随机性为文本输入引入了多样性,使得模型能够学习到更丰富的文本特征。
LaCLIP还提出了一种多文本训练损失函数,进一步提升模型性能。具体来说,LaCLIP将每个图像与所有重写版本的文本配对,形成多正样本对。这种多正样本对的训练方式使得图像编码器能够从更多样的文本描述中学习,从而提升图像-文本嵌入的质量。
3. 实验分析
对于零样本分类,LaCLIP在多个数据集上显著优于CLIP。例如,在LAION-400M数据集上,LaCLIP的ImageNet零样本分类准确率从62.0%提升到64.4%,提升了2.4%。在CC12M数据集上,LaCLIP的零样本分类准确率提升了8.2%。
对于少样本分类,LaCLIP在少样本分类任务上也表现出色。例如,在CC12M数据集上,LaCLIP在15个下游数据集上的ImageNet准确率从83.3%提升到85.8%,提升了2.5%。
对于线性探测,LaCLIP在ImageNet和多个下游数据集上的线性探测任务中也优于CLIP。例如,在CC12M数据集上,LaCLIP的线性探测平均准确率从79.4%提升到80.5%,提升了1.1%。
LaCLIP提出的多文本训练损失函数,进一步提升了模型性能。通过将每个图像与所有重写版本的文本配对,LaCLIP能够从更多样的文本描述中学习,从而提升图像-文本嵌入的质量。
LaCLIP在使用预训练文本编码器的实验中也展示了优越性。即使在冻结文本编码器权重的情况下,LaCLIP仍优于使用预训练文本编码器的CLIP模型。