SCLIP: Rethinking Self-Attention for Dense Vision-Language Inference¶
会议: ECCV 2024
arXiv: 2312.01597
代码: https://github.com/wangf3014/SCLIP
领域: 语义分割 / 视觉-语言
关键词: CLIP, self-attention, zero-shot segmentation, spatial covariance, training-free
一句话总结¶
发现 CLIP 的密集预测失败源于自注意力导致的空间位置错位问题,提出 Correlative Self-Attention (CSA) 机制——仅修改最后一层自注意力的计算方式(无需训练),将 CLIP 的零样本语义分割从 14.1% 平均 mIoU 提升至 38.2%,超越所有已有方法。
研究背景与动机¶
领域现状:CLIP 在图像级零样本分类中表现出色(ImageNet >70%),但直接将其 patch 特征用于密集预测(如语义分割)时效果很差——ADE20k 上仅 3.1% mIoU。
现有痛点:已有适配方法(MaskCLIP、GroupViT、TCL)或需要额外训练数据、或需要复杂后处理(PAMR、DenseCRF),且性能仍有限(最高 33.9% 平均 mIoU)。
核心矛盾:CLIP 其实能识别图像中有什么物体,但把它们放错了位置(例如把"水"标成火烈鸟的位置)——这是一个空间对齐问题而非语义理解问题。
本文发现:通过可视化 CLIP 最后一层注意力图,发现不同空间位置的注意力模式高度相似(空间不变性),这说明 CLIP 学到的是全局整体表示而非位置敏感表示。
切入角度:密集预测需要空间协变特征(每个位置的表示应反映该位置的视觉内容),而非空间不变特征。需要修改自注意力机制使其鼓励位置敏感的特征。
核心 idea:用成对相关性(correlative)注意力替代传统 QK 注意力,让 token 自然地关注自身及语义相似的位置,无需训练即可将 CLIP 转化为强密集预测模型。
方法详解¶
整体框架¶
SCLIP 在预训练 CLIP 模型(ViT-Base/16)上做最简修改:仅将视觉编码器最后一个 Transformer 层的自注意力块替换为 Correlative Self-Attention (CSA),其余所有层和参数保持不变。推理时直接用替换后的模型提取 patch 级特征,与文本 embedding 做余弦相似度匹配即可得到分割结果。整个过程不引入任何新参数、不需要任何微调。
关键设计¶
-
空间不变性问题诊断
- 功能:分析 CLIP 密集预测失败的根本原因
- 核心思路:标准自注意力 \(\text{Attn} = \text{Softmax}(XW_qW_k^TX^T/\sqrt{d})\) 中,\(W_q\) 和 \(W_k\) 是两个不同矩阵,它们的乘积 \(W_qW_k^T\) 不保证对称性/自相关性。CLIP 训练目标是图像级分类,鼓励所有 token 提取全局信息 → 注意力图在不同位置高度相似 → 空间不变特征
- 设计动机:仅识别问题根源是自注意力的空间不变性,才能找到最小化修改方案
-
Correlative Self-Attention (CSA)
- 功能:用成对相关性替代标准 QK 交叉注意力来计算注意力分数
- 核心思路:使用同一个投影矩阵 \(W_r\) 的转置乘积:\(\text{Attn} = \text{Softmax}(XW_rW_r^TX^T/\tau)\)。由于 \(W_rW_r^T\) 是半正定矩阵,对角线元素(自相关)天然最大,保证每个 token 最关注自身位置。同时语义相似的 token 也会获得高注意力分数,实现了"关注自己 + 关注语义相似位置"的效果
- 设计动机:对角线增强 → 特征局部化 → 空间协变;语义相关性保持 → 平滑、鲁棒的分割结果。这比 MaskCLIP 的粗暴做法(强制 Attn=I)既保留了全局感受野,又避免了噪声
-
投影矩阵的复用策略
- 功能:利用 CLIP 已有的 \(W_q\) 和 \(W_k\) 作为 CSA 的投影矩阵,避免额外参数
- 核心思路:将 \(W_q\) 和 \(W_k\) 分别作为 \(W_r\) 使用并集成两个 CSA 的注意力分数:\(\text{Attn} = \text{Softmax}(XW_qW_q^TX^T/\tau) + \text{Softmax}(XW_kW_k^TX^T/\tau)\)
- 设计动机:CSA 对 \(W_r\) 的选择不敏感(随机矩阵也能工作),因此可以直接复用 CLIP 预训练参数 → 完全免训练。实验证明即使单个随机投影也能在 VOC 上达到 57.1%
-
无后处理设计理念
- 功能:不依赖 PAMR/DenseCRF 等后处理策略
- 核心思路:CSA 机制天然考虑了语义相关性,产生的注意力图已经有清晰的物体边界,不需要外部平滑
- 设计动机:后处理策略引入大量计算开销且掩盖了模型本身的推理能力
损失函数 / 训练策略¶
- 无需训练:SCLIP 是完全 training-free 的方法,直接修改 CLIP 的注意力机制即可使用
- 推理协议:输入图像短边缩放到 336,使用 224×224 滑窗、stride 112 进行滑动推理
实验关键数据¶
主实验(8 个语义分割基准平均 mIoU)¶
| 方法 | VOC21 | Ctx60 | 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 |
消融实验(CSA 投影矩阵选择)¶
| 投影方式 | VOC | Context | Stuff | 说明 |
|---|---|---|---|---|
| Identity | 57.5 | 33.0 | 21.5 | 直接用输入自相关 |
| 单 \(W_q\) | 58.2 | 33.5 | 21.7 | 用 CLIP 的 query 矩阵 |
| 单 \(W_k\) | 58.4 | 33.1 | 21.8 | 用 CLIP 的 key 矩阵 |
| 随机初始化 (n=1) | 57.1 | 32.4 | 20.6 | 随机也能工作 |
| Learned | 60.4 | 34.7 | 22.6 | 64 样本训练得到 |
| \(W_q\)+\(W_k\) 集成 | 59.1 | 34.2 | 22.4 | 默认(免训练最佳) |
替代方案对比¶
| 方法 | VOC21 | Ctx59 | Stuff | 说明 |
|---|---|---|---|---|
| 注意力锐化 τ=2 | 21.7 | 9.5 | 4.1 | 调温度,效果很差 |
| 局部注意力 w=3 | 42.9 | 25.5 | 16.0 | 接近 MaskCLIP |
| 早期层注意力 #3 | 43.0 | 26.4 | 16.2 | 借用早期层 |
| SCLIP | 59.1 | 34.2 | 22.4 | 显著领先 |
关键发现¶
- CSA 对投影矩阵的选择极不敏感——即使完全随机初始化也能达到 57.1% VOC mIoU
- 简单的注意力锐化方法在大多数情况下无法改善甚至恶化 CLIP 的密集预测
- SCLIP 不依赖 PAMR 后处理也能产生平滑、清晰的分割结果
- 加上 PAMR 后 SCLIP 进一步提升至 40.1% 平均 mIoU
亮点与洞察¶
- 极简但极有效的修改:仅改变最后一层自注意力的计算公式(从 \(QK^T\) 改到 \(QQ^T+KK^T\)),不增加参数不需要训练,却带来 24.1% 的绝对 mIoU 提升(14.1→38.2)。这种"最小修改、最大收益"的设计哲学非常值得学习。
- 对 CLIP 空间不变性的深刻洞察:论文清晰地揭示了 CLIP 密集预测失败的机制——不是语义理解不足而是空间定位错位,并通过注意力图可视化提供了直观证据。这种从现象到机理再到修复的逻辑链条非常完整。
- CSA 的数学优雅:\(W_rW_r^T\) 半正定 → 对角线最大 → 自注意力增强 → 特征局部化,同时保持语义相关性的全局推理能力,兼顾了局部化和平滑性。
局限与展望¶
- 目前仅验证了语义分割任务,未探索实例分割、全景分割等更复杂的密集预测
- 仅在 ViT-Base/16 上验证,更大模型(ViT-Large、ViT-G)是否同样有效未知
- CSA 只替换了最后一层,多层替换或渐进式替换策略可能有更大提升空间
相关工作与启发¶
- vs MaskCLIP: MaskCLIP 强制注意力为单位矩阵(窗口=1 的极端局部注意力),丢失了全局信息;SCLIP 的 CSA 保持全局感受野同时实现局部化,效果显著更好(30.3→38.2)
- vs TCL: TCL 需要额外训练(对比学习+PAMR),SCLIP 完全免训练却超越了 TCL 的最佳后处理结果
- vs GroupViT: GroupViT 需要从头训练带分组 token 的视觉编码器,SCLIP 直接用现成 CLIP 即可到 38.2%
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 一个极简修改带来巨大提升,CSA机制的洞察和数学推导都很优雅
- 实验充分度: ⭐⭐⭐⭐ 8个基准全面评估,消融非常细致(投影选择、替代方案、预处理等)
- 写作质量: ⭐⭐⭐⭐⭐ 从现象出发层层递进到解决方案,逻辑清晰,可视化有力
- 价值: ⭐⭐⭐⭐⭐ 证明弱监督预训练模型在密集预测中的巨大潜力,为后续CLIP适配研究提供重要参考
相关论文¶
- [ECCV 2024] SiLC: Improving Vision Language Pretraining with Self-Distillation
- [ECCV 2024] DreamLIP: Language-Image Pre-training with Long Captions
- [CVPR 2025] ResCLIP: Residual Attention for Training-free Dense Vision-language Inference
- [ECCV 2024] SOS: Segment Object System for Open-World Instance Segmentation With Object Priors
- [ECCV 2024] Efficient and Versatile Robust Fine-Tuning of Zero-shot Models