跳到主内容
快讯直播
AI智模界
AI 词典

SigLIP:把图文对比学习从"多选一"变成"判断题

SigLIP(Sigmoid Loss for Language-Image Pre-training) 是一种图文预训练方法:它沿用 CLIP(Contrastive Language-Image Pre-training)那种"图像塔 + 文本塔"的双塔结构,但把对比学习里的 softmax 损失换成逐对计算的 sigmoid 损失,因此不再依赖整个 batch 的全局归一化。

先说 CLIP 是怎么做的。假设一个 batch 里有 N 张图配 N 段文字,模型把图像和文本各编码成向量,算出 N×N 的相似度矩阵。对每张图来说,它的任务是在 N 段文字里挑出正确的那一段——本质是一个 N 分类问题,用 softmax 算概率。麻烦在于:softmax 必须看到同 batch 的所有样本才能做归一化,负样本的数量和分布直接决定梯度信号。batch 一小,负样本就那么几个,学到的判别力就弱;分布式训练时还得跨卡做全局归约,通信开销不小。

SigLIP 换个思路:矩阵里每个格子都独立判断一句"这对图文匹配吗",匹配标 1,不匹配标 0,用 sigmoid 加二元交叉熵逐格算损失。每个格子的损失只跟自己有关,不用等其他格子汇总完再算。为了校准,通常还会引入可学习的温度参数">温度参数和一个偏置项——偏置的初始值大致与 batch 大小相关,用来抵消"负样本远多于正样本"带来的不平衡。

打个比方:CLIP 像一场"谁是我同桌"的单选题考试,必须凑齐全班同学才能算概率,班里人太少就容易瞎猜;SigLIP 像给每一对候选同桌发一张判断题卷子——"这俩是一对吗?"各判各的,人多人少都能开工。

维度CLIP 式 softmax 对比损失SigLIP 式 sigmoid 损失
判定方式在 batch 内 N 选一每对图文独立二分类
是否需要全局归一化需要不需要
小 batch 表现明显变差相对稳定
分布式通信需跨设备汇总相似度各设备可独立计算

对从业者来说,实际意义有三点。第一,算力吃紧时更友好:单卡、小 batch、显存有限也能训出像样的图文对齐模型,不必为了凑大 batch 硬堆硬件。第二,工程上更省事:不需要跨卡全局归一化,训练代码和通信拓扑都简单一些。第三,用的时候要留神:加载 SigLIP 权重做零样本分类或图文检索时,别照搬 CLIP 那套只有缩放系数的打分逻辑,它往往还带一个偏置项,推理实现要跟着改。

这一路线后来还有若干演进版本,在语言覆盖、特征粒度等方面做了扩展,具体能力和用法以官方页面与模型卡为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。