Chinese CLIP:中文对比视觉语言预训练.

0. TL; DR

本文提出了 Chinese CLIP,这是一个专门针对中文的视觉-语言对比预训练模型。与传统的多模态模型不同,Chinese CLIP 通过两阶段预训练方法(锁定图像微调和对比微调)在大规模中文图文数据上进行训练,能够有效提升模型在中文场景下的性能。实验表明,Chinese CLIP 在多个中文跨模态检索数据集(如 MUGEFlickr30K-CNCOCO-CN)上达到了最先进的性能,并在零样本图像分类任务中表现出色。此外,该模型还支持高效的部署,通过 NVIDIA TensorRTONNX 模型加速推理速度。

1. 背景介绍

随着预训练技术在自然语言处理(NLP)中的成功,多模态预训练模型逐渐成为计算机视觉和多模态表示学习的重要基础。CLIP 是一个多模态预训练模型的里程碑,它通过对比学习的方式在大规模图文数据上进行预训练,并在跨模态检索和零样本图像分类任务中取得了显著的性能。然而,将这类模型有效地迁移到特定语言场景中仍然存在挑战,尤其是在中文场景下。主要原因是:

为了解决这些问题,本文提出了 Chinese CLIP,这是一个基于大规模中文图文数据预训练的视觉-语言模型。它通过两阶段预训练方法(锁定图像微调和对比微调)来提升模型在中文场景下的性能,并在多个中文跨模态检索数据集上达到了最先进的性能。

2. Chinese CLIP 模型

为了训练 Chinese CLIP,作者从 LAION-5B 数据集和 Wukong 数据集中提取了中文图文对,并添加了经典英文多模态数据集(如 Visual GenomeMSCOCO)的翻译版本。最终构建了一个包含约 2 亿图文对的中文多模态预训练数据集。在数据预处理阶段,作者移除了低质量样本和包含广告或文件名等无关内容的样本,并对图像进行了标准化处理。

Chinese CLIP 的模型架构基于 OpenAI CLIP,包括一个图像编码器和一个文本编码器。图像编码器使用了不同大小的 Vision Transformer(ViT)ResNet,而文本编码器则使用了不同层数的 RoBERTa 模型。具体来说,作者开发了 5 种不同大小的 Chinese CLIP 模型,参数量从 7700 万到 9.58 亿不等。这些模型在预训练过程中通过对比学习损失函数进行优化,以学习图像和文本之间的语义对齐。

在预训练过程中,作者使用了随机裁剪、AutoAugment 等数据增强技术,并通过对比学习损失函数进行优化。预训练方法分为两个阶段:

3. 实验分析

作者在多个中文跨模态检索数据集上评估了 Chinese CLIP 的性能,包括:

实验结果表明,Chinese CLIP 在所有数据集上均达到了最先进的性能。例如,在 MUGE 数据集上,CN-CLIPViT-L/14@336px 模型在零样本学习和微调设置下分别达到了 59.0%65.3%R@1,显著优于其他基线模型。

Flickr30K-CNCOCO-CN 数据集上,Chinese CLIP 也表现出色,尤其是在零样本学习设置下,CN-CLIPViT-H/14 模型在 Flickr30K-CN 的文本到图像检索任务中达到了 71.2%R@1,超过了其他基线模型。

作者还在 ELEVATER 基准的 “Image Classification in the Wild” 赛道上评估了 Chinese CLIP 的零样本图像分类能力。实验结果表明,Chinese CLIP 在多个分类数据集上取得了与英文预训练模型相当甚至更好的性能。例如,在 CIFAR-10 数据集上,CN-CLIPViT-H/14 模型达到了 96.0% 的准确率,超过了 OpenAI CLIP94.9%

通过对比不同预训练方法的实验结果,作者发现两阶段预训练方法在多个数据集上均优于从头开始预训练或直接微调预训练模型的方法。特别是在处理翻译数据时,两阶段预训练能够更好地适应中文数据的分布。