SCLIP: Rethinking Self-Attention for Dense Vision-Language Inference¶
会议: ECCV 2024
arXiv: 2312.01597
代码: https://github.com/wangf3014/SCLIP (有)
领域: 多模态VLM
关键词: CLIP, 语义分割, 自注意力, 零样本, 密集预测
一句话总结¶
发现CLIP在密集预测中失败的根因是自注意力机制导致的空间位置错配(spatial-invariant features),提出Correlative Self-Attention(CSA)机制——仅用一个投影矩阵计算token间相关性作为注意力分数,无需任何训练/额外参数即可将CLIP的零样本语义分割mIoU从14.1%提升至38.2%(8个基准平均),大幅超越现有SOTA的33.9%。
研究背景与动机¶
- 领域现状:CLIP在零样本分类上表现出色(ImageNet 70%+),但在语义分割等密集预测任务上表现极差(ADE20k仅3.1% mIoU,COCO-Stuff仅5.7%)。
- 定性观察:CLIP实际上能正确识别图像中存在哪些物体(如flamingo、water),但将它们的位置搞反了(如在flamingo区域预测water)——这是空间不对齐问题,而非语义理解不足。
- 根因分析:CLIP的self-attention学到了空间不变特征(spatial-invariant)——不同位置的token共享相似的attention pattern。这对图像级分类有利(全局表征),但对像素级密集预测有害(需要空间协变特征)。
- 核心洞察:self-attention中Q·K^T的乘法形式让CLIP倾向于学习全局关系,不鼓励token关注自身位置。如果改用"自相关"——即token与自身的相似度天然最高——就能自动增强对角注意力,实现空间协变。
- 核心idea:抛弃Q·K^T的传统注意力,改为Q·Q^T + K·K^T的相关性注意力(CSA),不需要训练直接复用CLIP预训练权重。
方法详解¶
整体框架¶
SCLIP = CLIP + 在最后一个transformer层将原始self-attention替换为CSA模块。仅修改注意力分数的计算方式,其他所有组件(值矩阵、FFN、其他层)完全不变。无需训练、无需额外参数。
关键设计¶
-
原始Self-Attention的问题:
- 标准公式:Attn = Softmax(X·W_q·W_k^T·X^T / √d)
- W_q和W_k是两个不同的投影矩阵,乘积W_q·W_k^T不保证是对称半正定的
- 这意味着token的"自相关"(i=j时的对角元素)不一定最大
- 导致CLIP学到空间不变特征:每个位置的attention map长得差不多
-
Correlative Self-Attention (CSA):
- 基本公式:Attn = Softmax(X·W_r·W_r^T·X^T / τ)
- 关键:使用同一个矩阵W_r的内积W_r·W_r^T,天然保证对称半正定
- 对角元素增强:token i与自身的相关性天然最大(归一化向量的自相关=1)
- 语义相关性:相似语义的token间也获得高注意力分数
-
实际实现(使用预训练权重):
- 做什么:直接复用CLIP最后一层的W_q和W_k作为W_r
- 公式:Attn = Softmax(X·W_q·W_q^T·X^T/τ) + Softmax(X·W_k·W_k^T·X^T/τ)
- 取Q-Q和K-K相关性的ensemble
- 为什么能work:CSA对投影矩阵不敏感——它只衡量距离度量,改变W_r只改变距离形式
- 实验证明:随机初始化的W_r也能获得竞争性结果!
-
无需后处理:
- 现有方法(如TCL用PAMR、ReCo用DenseCRF)依赖重型后处理来平滑分割结果
- SCLIP中CSA天然产生空间连续的特征:相邻语义相似token获得相似注意力
- 不需要任何refinement或smoothing就能产出好的分割结果
损失函数 / 训练策略¶
- 无需训练:真正的零样本、零参数学习方法
- 仅修改CLIP ViT最后一层的自注意力计算方式
- 推理时将14×14 patch特征与文本embedding计算密集相似度
- 支持任意目标类别集(open-vocabulary)
实验关键数据¶
主实验(8个语义分割基准mIoU%)¶
| 方法 | VOC21 | Context60 | Object | VOC20 | City. | Ctx59 | ADE20k | Stuff | 平均 |
|---|---|---|---|---|---|---|---|---|---|
| CLIP | 18.8 | 9.9 | 8.1 | 49.4 | 6.5 | 11.1 | 3.1 | 5.7 | 14.1 |
| MaskCLIP | 43.4 | 23.2 | 20.6 | 74.9 | 24.9 | 26.4 | 11.9 | 16.7 | 30.3 |
| GroupViT | 52.3 | 18.7 | 27.5 | 79.7 | 18.5 | 23.4 | 10.4 | 15.3 | 30.7 |
| TCL | 51.2 | 24.3 | 30.4 | 77.5 | 23.5 | 30.3 | 14.9 | 19.6 | 33.9 |
| SCLIP | 59.1 | 30.4 | 30.5 | 80.4 | 32.2 | 34.2 | 16.1 | 22.4 | 38.2 |
消融实验¶
| 设计选择 | 平均mIoU |
|---|---|
| 原始CLIP(Q·K^T) | 14.1 |
| MaskCLIP(identity attention) | 30.3 |
| CSA with W_q | 竞争性 |
| CSA with W_k | 竞争性 |
| CSA with random W_r | 仍然竞争性! |
| CSA ensemble (W_q + W_k) | 38.2(最优) |
| 温度τ调节 | √d 默认值最优 |
| 修改哪一层 | 仅最后一层最有效 |
关键发现¶
- 从14.1%到38.2%:一个极其简单的注意力修改带来了24.1个百分点的提升
- SCLIP超越了需要额外训练的GroupViT(30.7%)和TCL(33.9%),且完全免训练
- 随机W_r也能work——证明CSA对投影参数不敏感,其核心优势在于"自相关"机制本身
- 不需要PAMR等后处理——CSA天然产出空间平滑的密集特征
- Attention map可视化:CSA产生的注意力清晰反映物体边界,与原始CLIP的弥散pattern形成鲜明对比
亮点与洞察¶
- 极简但极有效:整个方法仅需修改一行注意力计算公式,效果提升巨大(+24.1% mIoU)
- 根因分析深入:不是简单patch-and-test,而是从self-attention机制深入分析了CLIP密集预测失败的原因
- 零成本迁移:无需训练、无需额外参数、不改变模型大小——真正的"free lunch"
- 重要启发:CLIP的语言监督预训练已经包含了丰富的密集视觉信息,只是被空间不变的注意力机制"锁住"了
局限性 / 可改进方向¶
- CSA仅替换最后一层——修改多层是否能进一步提升?
- 在更大的ViT backbone(如ViT-Large)上效果待验证
- 仅评估语义分割,未测试其他密集预测任务(深度估计、实例分割)
- CSA的对称性假设在某些场景下可能过强
- 与需要训练的方法(如TCL*+PAMR)相比,加入后处理后差距缩小
相关工作与启发¶
- MaskCLIP:丢弃Q-K处理(等价于identity attention),本文更优雅地用相关性注意力
- GroupViT:引入group token学习分割,需要额外预训练
- TCL:需要fine-tuning+PAMR后处理才能竞争
- CLIP Surgery:同期工作,也修改CLIP注意力用于分割
- 启发:其他视觉transformer(如DINOv2、SAM)的self-attention是否也存在类似的空间不变问题?
评分¶
- 新颖性:⭐⭐⭐⭐⭐ (极简修改、深刻洞察)
- 技术深度:⭐⭐⭐⭐ (对注意力机制的分析到位)
- 实验充分性:⭐⭐⭐⭐⭐ (8个基准、多种消融、有/无后处理对比)
- 实用价值:⭐⭐⭐⭐⭐ (零成本、即刻可用)
- 写作质量:⭐⭐⭐⭐⭐ (问题发现→分析→解决的叙事极佳)
相关论文¶
- [ECCV 2024] SiLC: Improving Vision Language Pretraining with Self-Distillation
- [ECCV 2024] LiFT: A Surprisingly Simple Lightweight Feature Transform for Dense ViT Descriptors
- [ECCV 2024] DreamLIP: Language-Image Pre-training with Long Captions
- [CVPR 2025] ResCLIP: Residual Attention for Training-free Dense Vision-language Inference
- [ECCV 2024] GiT: Towards Generalist Vision Transformer through Universal Language Interface