跳转至

预训练目标

CLIP 使用的对称化 InfoNCE 损失函数的具体公式及各项含义

image.png

  • τ:温度系数,控制 softmax 分布的锐度。较小的 ττ(如 0.07)会让模型更关注困难负样本,产生更强的梯度信号。

  • 对称性:同时优化两个方向的损失,保证图像到文本和文本到图像的检索能力。两项求平均使得训练目标对称,两个模态的嵌入空间互逆对齐。

这种设计使得 CLIP 能利用 batch 内的大量负样本高效学习跨模态对齐,是大规模图文预训练的基石。

image.png

为什么需要非常大的 batch size?小 batch 下的逼近方法

为什么需要大 batch size?

InfoNCE 损失的负样本来自同一个 batch 内的其他图文对。当 batch size 较小时,负样本数量有限,且容易缺乏多样性。具体问题包括:

  • 负样本不足:较小的 NN 意味着较少的负样本,softmax 的分母中只有很少的干扰项,模型很容易将正样本区分出来,导致损失下降快但学到的特征判别力不足。

  • 泛化能力弱:训练中模型可能只记忆了局部的 batch 分布,对全局的区分能力差。

  • 梯度噪声大:当 batch size 太小时,正负样本对比的统计量波动剧烈,训练不稳定。

因此在 CLIP 等工作中,通常使用 N=32,768N=32,768 甚至更大的 batch,以提供足够多且多样的负样本,迫使模型学习更鲁棒的跨模态语义对齐。

小 batch 下的逼近方法:

  1. 动量队列(Momentum Queue):如 MoCo 使用一个维护大量历史样本特征的队列作为额外的负样本。队列容量远大于 batch size(如 65,536),通过动量更新的编码器保持队列特征的一致性。这样可以在小 batch 下提供大量负样本,解耦负样本数量与 batch size。

  2. 记忆库(Memory Bank):存储所有样本的最新特征,训练时从中采样负样本。缺点是特征会过时,降低训练一致性。Momentum Queue 是其改进。

  3. 梯度累积:通过累积多个小 batch 的梯度模拟大 batch 的效果,但不增加显存占用。这虽然不能直接增加负样本数量(因为每次 forward 仍是一个小 batch),但在优化层面可以稳定梯度。

  4. 假负样本校正:在小 batch 下,假阴性(语义相同但被误认为负样本)的比例相对增高,可以用额外的软标签或校正权重来缓解。

目前最有效的方案是引入动量队列,这也是 BLIP-2 等模型在资源受限时保持性能的手段。


动量队列在对比学习中的作用及多模态借鉴

动量队列是 MoCo 提出的关键技术,目的是解耦负样本数量与 batch size 的强绑定,在有限显存下提供大规模且相对稳定的负样本集。

工作原理:

  • 维护一个固定大小的队列 QQ,例如 K=65536K=65536。每次训练迭代,当前 batch 的样本特征(如文本特征)进入队列,队列中最老的 batch 特征出队。

  • 对比学习时,负样本不仅来自当前 batch,还来自整个队列中的历史特征。这样负样本数量从 batch size NN 扩展到 K+NK+N

image.png

在多模态训练中的借鉴:

  • 多模态对比学习同样面临 batch size 受限的问题,尤其是高分辨率图像或长文本 token 消耗大量显存。可以引入动量队列存储图像和文本的特征,在计算 InfoNCE 损失时从队列中采样负样本。

  • 例如,BLIP 和 BLIP-2 未采用动量队列,因为它们的 Q-Former 需要同时进行生成任务,但可以在纯对比预训练阶段使用。一些高效的 CLIP 变体也用动量队列来提升小 batch 下的性能。

  • 此外,多模态学习中的动量编码器还可以用于生成目标的蒸馏,比如 DINO 的自蒸馏思想在多模态中也可见到(如对比学习的教师-学生结构)。


生成式训练目标在多模态模型中的典型应用任务

生成式目标,即自回归或编码器-解码器框架下的序列生成损失(通常为交叉熵),在多模态模型中主要用于需要生成文本或图像的任务。典型应用包括:

  1. 图像字幕:给定图像,生成描述文本。模型以图像特征为条件,逐词预测文本序列。这是最经典的生成式多模态任务,如 BLIP、SimVLM、CoCa 等都使用。

  2. 视觉问答:可以建模为以图像和问题为条件,生成答案序列。这比分类头更灵活,能产生自然语言答案。

  3. 多模态对话:如 LLaVA 的指令微调阶段,模型接收图像和文本指令,自回归生成回答。

  4. 文本到图像生成:如 DALL-E 1、Unified-IO。图像通过 VQ-VAE 离散为 token 序列,模型以文本为条件自回归预测图像 token,使用交叉熵损失。

  5. 图像编辑/修复:给定图像和修改指令,生成修改后的图像 token 或文本描述。

  6. 统一多模态生成:如 Unified-IO、Gemini,所有任务都转化为序列到序列的生成,损失函数统一为交叉熵。

生成式目标能够充分学习细粒度的跨模态对齐和上下文依赖,因此往往与对比损失结合,达到更好的理解与生成能力。


联合使用对比损失和生成损失时的平衡与比例设定

联合训练对比损失和生成损失是许多多模态模型的选择(如 ALBEF、BLIP、CoCa),两者互补:对比损失提供全局判别信号,生成损失提供细粒度语义。平衡两种损失的方法包括:

image.png

  • GradNorm:根据各任务梯度的相对大小动态调整权重,使各任务学习速度均衡。

  • DWA (Dynamic Weight Average):根据损失下降速率调整权重,鼓励模型关注下降慢的任务。

  • 分阶段策略:在预训练早期,先以对比损失为主,建立粗粒度跨模态对齐;后期逐渐增加生成损失权重,精细化学习。或者先训练对比,再联合训练生成。

  • 任务平衡采样:不同任务(如对比、生成)的数据比例也可以控制,尤其在多任务联合训练中,通过调整采样频率间接调节损失贡献。

实践中,固定权重配合一定程度的调参仍是主流,因为简单且稳定。


多模态预训练中常见的掩码策略及其对表征学习的帮助

掩码策略指随机遮盖输入的部分信息,让模型通过上下文进行预测,从而学习鲁棒表征。多模态预训练中常见掩码:

  1. 掩码语言建模:随机遮盖文本 token(如 15%),模型基于视觉特征和未遮盖文本预测被遮盖词。这迫使模型利用图像信息来理解语言,实现细粒度跨模态对齐。代表:UNITER、ViLBERT。

  2. 掩码图像建模:随机遮盖图像 patch(或区域特征),用其他可见的 patch 和文本描述来重建被遮盖的视觉特征。这促使模型学习纹理、形状等视觉概念与语言的对应关系。如 MAE、SimMIM 在单模态中被验证有效,扩展到多模态时能增强视觉表征。

  3. 联合掩码:同时随机遮盖文本和图像区域,模型需要跨模态推断补全。如 VL-BEIT 使用联合掩码语言-图像建模,学习更强的交互表征。

  4. 块级/目标级掩码:对于图像,不随机遮挡单个 patch,而是遮挡整个物体区域(基于检测框或分割),迫使模型理解完整的物体语义。

  5. 时间掩码:在视频-语言模型中,随机遮挡若干帧,通过周围帧和文本恢复。有助于学习运动和时间一致性。

这些掩码策略通过“破坏-重建”的代理任务,强迫模型学习模态内部和跨模态的深层语义关联,能有效防止过拟合、增强泛化能力。


ITC 和 ITM 联合训练时的负样本采样与 ITM 难负样本构造

ITC(图文对比损失)和 ITM(图文匹配损失):

  • ITC 做全局对比,负样本为 batch 内其他不匹配图文对,或队列中的历史负样本,构造简单。

  • ITM 是二分类:判断一对图文是否匹配。若只用与 ITC 相同的负样本,多数是容易区分的(因为语义相差大),对模型提升有限。因此需要难负样本:那些语义相近但实际上不匹配的对。

ITM 难负样本的构造方法:

  • 在线难负样本挖掘:在一个训练 batch 内,基于当前的 ITC 相似度矩阵,选择与正样本相似度最高但不匹配的图文对作为 ITM 负样本。例如,对于图像 IiIi,将其与 batch 内其他文本 Tj(j≠i)Tj(j=i) 按相似度排序,取 top-k 作为难负例。同时也可以为文本 TiTi 挑选相似但不匹配的图像。这样构造的负样本对模型最具迷惑性,能显著提升匹配判别能力。

  • 离线挖掘:用已训练的模型在整个数据集上检索,离线挑选难负样本,然后用于训练。但成本高且可能过时。

  • 软标签/加权负样本:不直接二分类,而是给难负样本分配较小的惩罚权重或软标签。

典型工作 ALBEF 使用在线难负样本挖掘:在 ITM 训练时,对每个图文对,将对比相似度最高的不匹配文本作为负样本,强制模型区分最难分辨的对。这种策略让 ITM 和 ITC 相互促进。


图像-文本对比学习中的硬负样本挖掘:在线 vs 离线

硬负样本(hard negatives)是指与查询高度相似但实际不匹配的样本。挖掘这类样本对训练判别性表示至关重要。

在线挖掘:

  • 在每个训练 batch 内,基于当前模型的状态实时计算相似度,选取 top-k 不匹配对作为负样本。优点是效率高、无需额外存储,负样本始终与当前模型同步;缺点是受 batch size 限制,可能错过 batch 外的更难的样本。

  • 适用于 batch size 较大或结合队列的情况。

离线挖掘:

  • 使用一个固定(通常是之前训练好的)模型对整个数据集提取特征,对每个查询计算出最相似的不匹配项,构建难负样本池。训练时从池中采样。优点是负样本来自全数据集,多样性好;缺点是特征会过时,需要定期重新挖掘,存储和计算开销大。

对比:

  • 在线挖掘更简单且与训练同步,已被 ALBEF、BLIP 等模型采用,通常与 ITM 任务结合。

  • 离线挖掘在 MoCo 等早期对比学习中被用于维持大容量负样本库,但在多模态图文对比中逐渐被在线和队列方法取代。

现代多模态训练主流是在线硬负样本挖掘结合队列,或直接用大 batch 减少挖掘需求。


交叉熵损失预测图像 tokens 与预测文本 tokens 的差异

在生成式多模态模型中,统一使用交叉熵损失预测离散 token 序列。但图像 token 和文本 token 有本质不同,导致训练挑战不同。

文本 tokens:

  • 词汇量小(通常 30k-100k),token 之间具有强语法和语义依赖,长程依赖明显。

  • 文本序列通常较短(几十到几百),交叉熵训练相对容易。

  • 文本有成熟的分词器和语言模型预训练经验。

图像 tokens:

  • 词汇量大(VQ-VAE 码本通常 8192 或更多),因为图像包含大量视觉细节,每个码本向量代表一种视觉模式。

  • 图像 token 序列长(例如 32×32=102432×32=1024 个 token),自回归生成的计算成本极高。

  • 图像 token 的空间关系很强(邻近 patch 相关),但转换为 1D 序列后,模型需要学习隐式的空间结构,通常需要 2D 位置编码。

  • 图像重建要求高保真,一个 token 预测错误可能导致局部崩溃,而文本可以容忍一定的同义替换。

实践中的差异:

  • 预测图像 tokens 时,损失下降慢且初期生成质量差,通常需要长时间训练。

  • 混合训练时,两种损失的尺度往往不同,需要权重调整或 per-token 加权(如对图像 token 降权)。

  • 一些工作采用两阶段训练:先训练文本生成,再加入图像生成,或者采用不同的学习率。


为什么同时使用 MLM 和 MIM?设计动机与互补

MLM(掩码语言建模) 和 MIM(掩码图像建模) 的结合,目的是通过双向跨模态重建,最大化多模态信息的交互。

动机:

  • MLM 利用视觉信息补全文本缺失词,强制模型学习物体属性、关系等视觉-grounded 语义。例如,遮住“红色的”,模型必须从图像中感知颜色。

  • MIM 利用文本信息重建被遮盖的图像区域,让模型学习将语言描述与视觉细节(纹理、形状)对齐。例如,遮住猫的脸部,模型需根据“猫在睡觉”的文本推断遮住部分可能的视觉特征。

  • 两者都提供稠密的监督信号,并且都是双向交互,比单向生成能捕获更细粒度的对齐。

互补性:

  • MLM 更侧重于语言理解的视觉基础,提升 VQA、推理等任务。

  • MIM 更侧重于视觉表征的语言引导,提升细粒度识别、物体定位和图像理解。

  • 联合使用可避免模型偏重于某一模态,鼓励双向对齐。

代表模型如 VL-BEIT、BEiT-3 使用共享 Transformer 同时执行 MLM 和 MIM,取得了极好的多模态表征。


MIM 任务中掩码比例及多模态 MIM 效果更好的原因

掩码比例:

  • 在单模态图像 MIM(如 MAE)中,通常使用非常高的掩码比例,75% 甚至 90%,因为图像信息冗余度高,大量遮盖可以迫使模型学习有意义的全局特征,而非简单插值。低掩码比例任务太简单,学不到鲁棒表征。

  • 在多模态 MIM 中,掩码比例通常稍低,比如 40%-60%。因为此时模型还可利用文本作为条件,若掩码过高,仅凭文本可能不足以恢复细节,导致任务过难,训练不稳定。通常取 50% 左右平衡。

多模态 MIM 效果更好的原因:

  • 文本提供语义引导:纯视觉 MIM 只能利用剩余可见像素推断遮盖部分,缺乏高层语义理解。有了文本条件,模型可以将遮盖区域与文本中的物体、属性相关联,学到更结构化的视觉特征。

  • 跨模态对齐强化:MIM 迫使模型将文本描述的细粒度概念(如“黑色的耳朵”)映射到对应的视觉区域,加强了单词-区域对齐,这是单模态 MIM 无法做到的。

  • 信息互补:图像信息缺失时,文本可以补偿;文本信息不足时,图像提供细节。双向补充使得学习信号更丰富。

因此,多模态 MIM 能学习到更好的视觉-语言联合表征。


单词级对齐损失(Word-Region Alignment)的实现

单词-区域对齐旨在将文本中的具体词与图像中的对应区域(或 patch)进行细粒度匹配,而不仅仅是全局对齐。这通常在预训练阶段通过最优传输或注意力引导实现。

实现方法:

  1. 基于注意力的软对齐: 使用交叉注意力或协同注意力,计算每个文本 token 对所有图像区域 token 的注意力权重。训练目标是让正确对应的词-区域对获得高注意力。可以通过额外的对比损失来实现:将词特征作为 query,对应区域特征作为正样本,其他区域为负样本,使用 InfoNCE。

  2. 最优传输 / Wasserstein 距离: 将词和区域的特征距离矩阵视为代价矩阵,通过最优传输寻找最小代价的匹配方案,并将其作为对齐损失。例如 WRA 使用 Sinkhorn 算法近似求解。

  3. 细粒度对比损失: 如 FILIP,在对比学习的相似度计算中,不直接池化为全局向量,而是取每个词与所有图像 patch 的相似度最大值,然后求和得到图文相似度。损失形式与 CLIP 类似,但交互粒度是 token 级。

  4. 利用检测/分割标注: 如果有物体框或掩码标签,可直接进行有监督对齐:将文本中的实体词与其对应的框内视觉特征拉近,与其他框推远。

这种细粒度对齐损失显著提升模型在定位、指代理解和细粒度分类任务上的表现。


对比学习如何区分“相同语义不同表达”和“不同语义相似表达”

这是对比学习正负样本定义的难题。理想情况下,我们希望正样本是所有语义相同的图文对(哪怕表达不同),负样本是语义不同的图文对(哪怕表面相似)。实现这一目标的方法包括:

  1. 数据增强:通过图像和文本的数据增强(同义替换、回译、裁剪、颜色扰动等)生成同语义的不同表达,作为正样本。对比损失让增强后的版本拉近,隐式地学习对表达变化的鲁棒性。

  2. 软对比损失 / 多正样本对比:使用 SupCon 等损失,允许一个 query 有多个正样本(如不同增强视图、或通过检索得到的高置信度同语义样本),将它们全部拉近。对于表面相似但语义不同的样本,由于它们不是正样本,仍会被推远。

  3. 难负样本挖掘的修正:表面相似但语义不同的样本很可能被误判为假阴性(被模型错误地当作正样本)。通过修正损失,降低对高相似度但无标签的样本的惩罚力度,或者用半监督方法给它们分配软标签。

  4. 模态内对比:不仅跨模态对比,还在同一模态内做对比,拉近同语义的不同表达(文本到文本,图像到图像),使表示空间更结构化。

  5. 语义级负样本生成:通过替换关键词或属性词,将正样本改写成语义不同的“负样本”,并用对比损失推远,直接教模型区分细微语义差异。

核心是提供细粒度的语义监督信号,让模型关注语义内容而非表层统计特征。


Cycle Contrastive Loss 的目的与循环一致性

Cycle Contrastive Loss 常用于图像-文本跨模态匹配,如 CAMP、ViLCo 等。其目标是增强跨模态对齐的一致性,避免单向对齐中的信息丢失或模态崩塌。

目的:

  • 不仅要求图像与文本在正向匹配(图像找文本)时对齐,还要求从文本返回图像时也能找回原始图像。双向匹配形成一个闭环,如果两个模态的嵌入空间完美对齐,循环回来的结果应该是一致的。

  • 可以惩罚那些单向匹配正确但反向匹配错误的样本,迫使模型学习更精确的双向对齐。

实现形式:

给定一个 batch,通常有两条循环路径:

  • Image→Text→Image:图像 IiIi 匹配到最佳文本 TiTi,然后用 TiTi 去检索最佳图像,循环一致性要求检索到的图像是 IiIi 自身(或其同语义样本)。

  • Text→Image→Text:类似。

损失函数可以设计为:在两种循环路径上分别计算对比损失,使循环回归的相似度最大化。例如,在图像→文本→图像路径中,对 IiIi,它与所有文本的相似度分布为 p(T∣Ii)p(TIi),再计算该分布下对图像的期望分布,然后用 KL 散度约束它接近 one-hot 自身。

循环一致性的保证:

通过额外的一致性正则项,模型不仅要在单向对比中判别,还要保证两个模态的映射互为逆映射,促进了嵌入空间的循环一致性,提升了检索和定位的精度。


预训练阶段损失权重的动态调整方法

损失权重调整方法旨在让不同任务或损失项在训练过程中保持适当的量级和学习速度。

Uncertainty Weighting(Kendall et al.): 将每个损失视为回归到固定常数的任务,通过最大化同方差不确定性的高斯似然推导出损失形式:L=12σ2Ltask+log⁡σL=2σ21Ltask+logσ。学习率作用于 σσ,网络自动平衡各损失的相对权重,防止某一项噪声大而过拟合。

GradNorm: 根据各任务梯度的大小动态调整权重,目标使所有任务的学习速度(梯度范数)相对均衡。通过计算每个任务的梯度 GiGi 和平均梯度,调整权重使得加权梯度的变异系数最小。

image.png

手动阶梯调度:

在固定训练步数时改变权重,如前期注重对比学习建立全局对齐,后期增加生成损失权重以学习细节。这种方法最简单,但需要经验。

在多模态预训练中,Uncertainty Weighting 和 GradNorm 都已被成功应用,使训练过程更鲁棒,无需大量手动调参。


文本到图像检索与图像到文本检索的对称性及非对称设置的影响

在标准的多模态对比预训练中,使用的对称 InfoNCE 损失天然使两个方向的检索能力对称发展,因为损失函数中 LI→TLI→T 和 LT→ILT→I 权重相等。但在实际应用中,由于数据特性、任务需求或训练设计不同,可能会产生非对称。

对称设置:两个方向性能接近,适用于需要双向检索的场景。

非对称设置的影响:

  1. 单方向训练:如果只训练 I→T 而忽略 T→I,会导致文本到图像检索能力显著差于反向。即使只在单个方向上应用,通常也推荐对称损失,因为双向对比信号可以增强特征的通用性。

  2. 数据集中存在不对称:例如,每张图片对应多个文本描述,而每个文本通常只描述一张图片。这会导致 T→I 任务相对简单(一个文本对应唯一图像),而 I→T 可能有多个正确匹配。此时若不加处理,I→T 的难度会被低估。改进方法包括:在 I→T 中将同一图片的所有正确描述都作为正样本(多正样本对比损失),或者使用软标签。

  3. 温度系数不对称:有时可以在两个方向使用不同的温度系数,以调整不同方向的梯度强度,但这种情况较少。

  4. 负样本挖掘不对称:在构造难负样本时,一个方向可能更容易获得难样本,导致优化偏向。

总体而言,维持对称设计并处理好正样本的多样性,是保证双向检索性能的基础。非对称设置应根据具体数据分布和任务需求谨慎使用。