语言图像预训练的Sigmoid损失.

0. TL; DR

本文提出了一种基于Sigmoid的损失函数(Sigmoid Loss),用于语言-图像预训练(Language-Image Pre-training, LIP)。与传统的基于Softmax的对比学习方法相比,Sigmoid Loss无需全局归一化,能够显著提高训练效率,并且在小批量和大批量训练场景下均表现出色。

1. 背景介绍

随着对比学习技术的发展,基于图像-文本对的弱监督预训练逐渐成为获取通用计算机视觉模型的主流方法。传统的预训练方法依赖于大规模标注数据集,而近年来的研究(如CLIPALIGN)表明,利用网络上获取的图像-文本对进行对比学习可以取得更好的效果。这些方法通过学习图像和文本的对齐表示空间,使得匹配的图像-文本对在嵌入空间中更接近,而不匹配的对则更远离。然而,现有的对比学习方法大多采用基于SoftmaxInfoNCE损失,这种方法在计算上较为复杂,且对批量大小的依赖较强。

本文提出了一种简化的Sigmoid损失函数,用于替代传统的Softmax损失。Sigmoid损失函数直接作用于图像-文本对,无需全局归一化,从而简化了分布式训练的实现,并显著提高了效率。此外,Sigmoid损失函数在小批量训练场景下表现优于Softmax损失,并且在大批量训练场景下也能达到类似的效果。

2. SigLIP 模型

Sigmoid损失函数的核心在于将图像-文本对的相似性评分转化为一个二分类问题:匹配的对为正样本(标签为$1$),不匹配的对为负样本(标签为$-1$)。具体来说,对于一个包含图像-文本对的小批量数据 \(B=\{(I_i,T_i)\}\),Sigmoid损失函数的目标是最小化以下目标函数:

\[L = -\frac{1}{\mid B \mid} \sum_{i=1}^{\mid B \mid} \sum_{j=1}^{\mid B \mid} \log\frac{1}{ 1 + e^{z_{ij} (-t x_i \cdot y_j + b)} }\]

其中$x_i$和$y_j$分别是图像和文本的归一化嵌入向量;$t$是温度参数,控制相似性评分的缩放;$b$是偏置项,用于缓解负样本占主导的情况;$z_{ij}$是标签,匹配对为$1$,不匹配对为$-1$。

Sigmoid损失函数的一个显著优势是其计算效率高,尤其是在分布式训练中。与Softmax损失需要全局归一化不同,Sigmoid损失可以独立处理每一对图像-文本对,避免了全局通信和大规模矩阵运算。具体来说,作者提出了一种“分块”实现方法,通过在设备间交换负样本,逐步计算损失,从而显著减少了内存占用和计算开销。

作者通过实验对比了Sigmoid损失和Softmax损失在不同批量大小下的性能。结果表明:

3. 实验分析

WebLI数据集用于单语言预训练,包含大量英语图像-文本对;mSigLIP模型则使用完整的WebLI数据集,包含超过100种语言。主要使用零样本分类(Zero-shot Classification)和零样本检索(Zero-shot Retrieval)任务来评估模型性能。零样本分类任务在ImageNet数据集上进行,而零样本检索任务则在COCO和多语言XM3600数据集上进行。

SigLiT模型基于预训练的图像编码器和从头开始训练的文本编码器。实验表明:

https://pic1.imgdb.cn/item/67b5c819d0e0a243d400cc67.png

SigLIP模型从头开始训练图像编码器和文本编码器。实验结果表明Sigmoid损失同样表现出色,比如零样本检索任务的平均召回率显著提高。

mSigLIP模型在包含超过100种语言的WebLI数据集上进行预训练。实验结果表明:

作者还研究了负样本比例对训练的影响。实验表明:

Sigmoid损失在对抗数据噪声方面表现出色。实验通过在训练数据中引入噪声(如随机替换图像或文本、打乱对齐关系)来测试模型的鲁棒性。结果表明,使用Sigmoid损失的模型在各种噪声条件下均优于Softmax损失的模型。