[论文解读] Sigmoid Loss for Language Image Pre-Training
该论文提出一种基于Sigmoid损失的内存高效的语言–图像预训练方法,支持大批量训练,并且在较小批量(如32k)下通常优于softmax损失,具备强大的零-shot结果。
We propose a simple pairwise Sigmoid loss for Language-Image Pre-training (SigLIP). Unlike standard contrastive learning with softmax normalization, the sigmoid loss operates solely on image-text pairs and does not require a global view of the pairwise similarities for normalization. The sigmoid loss simultaneously allows further scaling up the batch size, while also performing better at smaller batch sizes. Combined with Locked-image Tuning, with only four TPUv4 chips, we train a SigLiT model that achieves 84.5% ImageNet zero-shot accuracy in two days. The disentanglement of the batch size from the loss further allows us to study the impact of examples vs pairs and negative to positive ratio. Finally, we push the batch size to the extreme, up to one million, and find that the benefits of growing batch size quickly diminish, with a more reasonable batch size of 32k being sufficient. We release our models at https://github.com/google-research/big_vision and hope our research motivates further explorations in improving the quality and efficiency of language-image pre-training.
研究动机与目标
- 为图像-文本预训练中的基于softmax的对比损失提供一个更简单、内存高效的替代方案。
- 研究批量大小如何在CLIP风格和LiT风格架构中影响sigmoid损失与softmax损失的交互。
- 展示在有限计算资源下实现强零-shot和检索性能的实际训练设置。
- 探讨在sigmoid基预训练中对数据噪声的鲁棒性以及正/负样本对组成的影响。
提出的方法
- 提出一种基于Sigmoid的损失,将所有图像-文本对视为独立的二分类,避免softmax-based InfoNCE所需的全局批归一化。
- 引入一个可学习的偏置项b和一个温度样参数t,以稳定早期训练并提高收敛性。
- 提供一种内存高效的“分块”实现,通过跨设备处理负样本而不进行all-gathers,将|B|^2内存降低到b^2。
- 将Sigmoid损失适用于两种语言-图像预训练管线:SigLiT(LiT风格)和SigLIP(CLIP风格)。
- 在批量大小(512到1M)、语言(多语言设置)和模型规模上进行广泛实验,以与softmax基线进行比较。
实验结果
研究问题
- RQ1Sigmoid损失相比softmax损失在语言-图像预训练质量上是否有所提升,尤其在小批量下?
- RQ2训练批量大小如何影响SigLiT/SigLIP的性能、稳定性和效率?
- RQ3基于sigmoid的预训练是否能在具有实际内存和计算约束的情况下扩展到非常大的批量?
- RQ4数据噪声与批量组成(正/负样本比例)对sigmoid-based预训练有何影响?
- RQ5在sigmoid损失下,多语言预训练设置是否同样有效,跨语言的最优批量大小是多少?
主要发现
- 当批量大小低于16k时,Sigmoid损失优于softmax,在更大的批量下差距缩小。
- 在四个TPUv4芯片上训练的SigLiT模型实现84.5% ImageNet零-shot准确率(g/14,L模型,20k批量,4天)。
- 采用B/8和L*配置的SigLiT模型在四个TPUv4芯片上训练1天后达到79.7%零-shot ImageNet。
- 通过内存高效的分块实现,批量大小可达一百万,但性能在约32k时趋于饱和——32k通常足够(且对SigLIP/SigLiT,包含多语言设置,往往是最优的)。
- SigLIP(WebLI英文数据)在小于32k的批量下表现优于CLIP基线,并在扩展到更大批量时显著提高效率;多语言变体(mSigLIP)在XM3600上取得强劲结果(例如Base模型在XM3600上的文本到图像检索34.9%)。
- 通过将优化器β2降低(例如将Adam/AdaFactor的β2从0.999降至0.95),可稳定大批量训练。
- 偏置项初始化(b = -10,t′ = log 10)始终改善早期训练行为和最终性能。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。