一、 CLIP 的核心架构:多模态对比表征

Contrastive Language-Image Pre-training (CLIP) 的本质是在高维流形上寻找图像与文本的最大互信息 (Mutual Information) 估计。

1.1 双塔架构与投影空间

CLIP 采用非对称的双塔架构。令 为输入图像, 为对应的描述文本。

  • 图像编码器 (Image Encoder): ,通常为特征提取能力极强的 ViT (Vision Transformer) 或 ResNet。其输出为

  • 文本编码器 (Text Encoder): ,采用 Transformer 架构,输出为

为了实现跨模态对齐,需将不同维度的特征映射至共享的单位超球面

其中 是可学习的线性投影矩阵。映射后的向量满足

Intuition(图文对齐的物理意义)

将图文投影到单位超球面 的核心动机在于消解模态间的度量异构性。图像特征的欧式距离反映的是像素级纹理性差异,而文本特征的欧氏距离反映的是语义类簇间差异。通过 L2-Normalization + 线性投影,我们将两者都映射到同一黎曼流形——单位超球面,此时余弦相似度 成为统一的度量标准。

从几何视角看,对比学习本质上是将配对样本 的表示 拉近至同一邻域(正样本距离趋近于 1),同时将所有非配对样本 推远至超球面的对立极点(负样本距离趋近于 -1)。这等价于在高维球面上进行的有监督流形学习。

1.2 对比学习损失函数:InfoNCE

CLIP 的训练目标是最大化 个配对样本的余弦相似度,同时最小化 个非配对样本的相似度。其损失函数采用对称的 InfoNCE (Information Noise-Contrastive Estimation)

其中 表示相似度分数, 是 CLIP 官方固定温度系数。

温度系数 的深度解析

是一个关键的超参数,控制注意力权重分布的熵。

  • 物理机制:定义缩放后的 logits ,则 softmax 输出的概率分布为
  • 温度变小( 幅值拉大,分布熵降低,只聚焦最高分正样本,强化正样本权重
  • 温度变大(:分数被压缩,分布熵升高,正负样本权重趋于平均
  • CLIP 固定 :属于小温度,刻意压低熵、强化正样本权重,增强正负样本区分度

困难负样本 (Hard Negatives) 的物理机制:小温度( 偏小)才能凸显困难负样本梯度惩罚——当某个负样本 与正样本 在语义上接近时(如”白猫”vs”灰猫”),其 较高,在小温度下梯度惩罚会显著增强,推动模型学习更细粒度的语义边界。

关键澄清:CLIP 官方版本固定温度 ,极少做自适应学习。动态 是 FLIP 等后续改进工作的设计,非原生 CLIP 原始设定。


二、 极致硬核的训练细节

2.1 大规模 Batch 的数学意义

CLIP 的训练使用了极大的 Batch Size ()。从互信息下界的角度看:

负采样强度分析:对比学习的性能在很大程度上取决于负样本的数量。 的增大意味着对于每一个正样本,模型必须从 个干扰项中识别出正确匹配。这极大地强化了特征的判别性,使得模型能够学习到细粒度的语义差异而非简单的低频特征。

2.2 优化器策略与权重衰减

  • AdamW 配置:采用解耦的权重衰减(Weight Decay)。

  • 差异化策略:对于所有线性层应用 的 Weight Decay,但对 LayerNorm 和 Bias 参数不予衰减。这保证了在极深的网络中,激活值的均值和方差保持稳定。

  • LR Schedule:采用 Linear Warmup(前 2000 步)配合 Cosine Annealing 衰减。

2.3 分布式并行与数值稳定性

在处理 的相似度矩阵时,内存占用极大。

  • 混合精度 (Mixed Precision):使用 FP16 进行前向传播以节省带宽,但在计算损失函数和更新梯度时回退到 FP32 以避免溢出。

  • DDP 与 Sharding:利用分布式数据并行,将 Batch 分散在多个 GPU 节点上,并仅在计算相似度矩阵时进行全局的全收集 (All-gather) 操作。


三、 对接 Stable Diffusion:从表征到引导

Stable Diffusion (SD) 并不直接使用 CLIP 的分类能力,而是将其作为语义条件注入器

3.1 隐空间桥梁:为什么选择倒数第二层?

在 SD 中,通常提取 CLIP Text Encoder (ViT-L/14) 的 Penultimate Layer (倒数第二层) 输出。

  • 理论支撑:最后一层特征经过了对比损失的极致压缩,旨在实现全局对齐,丢失了大量局部空间语义。倒数第二层保留了更多的 token-level 细粒度信息,更有利于 U-Net 进行精细的图像重建。

3.2 Cross-Attention 机制的数学注入

CLIP 的文本 Embedding 作为外部条件注入 U-Net 的计算流。对于 U-Net 中的中间特征图

  1. 查询矩阵 (Query):

  2. 键矩阵 (Key):

  3. 值矩阵 (Value):

这里 完全源自 CLIP 特征,这意味着生成的每一步都在根据文本语义对像素流形进行重塑。

CLIP 零样本分类数学形式

其中 是类别 的文本描述(如 “a photo of a {class}”)。

补充说明:InfoNCE 本质是批量对比损失,利用 batch 内样本全自动构建正负样本对,无需额外采样。原生 CLIP 无自适应温度,动态 是 FLIP 等改进模型的设计。

3.3 Classifier-Free Guidance (CFG) 引导

为了强化语义一致性,SD 引入了 CFG:

其中 为引导系数。数学本质 实际上是条件分布 的梯度方向。CLIP 提供的特征向量决定了这个梯度的“准确性”,从而在扩散过程中不断将潜在变量推向符合 prompt 描述的区域。


四、 潜在问题与技术局限

4.1 词袋效应 (Bag-of-Words Property)

尽管 CLIP 具有强大的表征能力,但在处理复杂逻辑关系时表现欠佳。

  • 成因分析:InfoNCE 目标函数倾向于提取全局统计语义,而忽略了 Transformer 内部的序列结构。即使打乱 Prompt 的词序,其在单位超球面的投影点依然极其接近。

  • 后果:SD 在处理“A 在 B 左边”或“不仅有 A 而且有 B”等空间/逻辑关系时经常崩溃。

4.2 特征坍缩 (Feature Collapse)

在极大规模 Batch 训练下,若数据噪声过高,模型可能陷入局部最优解

  • 现象:模型通过学习图像的背景频率或特定伪影(如水印)来实现对齐,导致特征向量集中在超球面的极小区域,丧失泛化性。

4.3 分辨率瓶颈与零样本Gap

CLIP 在 224x224 分辨率下训练,而 SD 通常生成 512+ 分辨率的图像。

  • 挑战:ViT 的位置编码 (Positional Embedding) 在外推至高分辨率时会产生畸变,导致生成的图像在宏观结构上与文本对齐,但在微观细节上存在语义漂移。

结论:CLIP 的成功在于其将多模态问题转化为一个简洁的对齐优化问题,为生成式模型提供了稳健的语义先验。然而,其对语义结构理解的缺失,仍是当前 Generative AI 领域亟待攻克的数学高地。