← 返回 2026-04-20

TIPSv2:通过增强的 Patch-Text 对齐推进视觉-语言预训练 TIPSv2: Advancing Vision-Language Pretraining with Enhanced Patch-Text Alignment

Bingyi Cao, Koert Chen, Kevis-Kokitsi Maninis, Kaifeng Chen, Arjun Karpur, Ye Xia, Sahil Dua, Tanmaya Dabral, Guangxing Han, Bohyung Han, Joshua Ainslie, Alex Bewley, Mithun Jacob, René Wagner, Washington Ramos, Krzysztof Choromanski, Mojtaba Seyedhosseini, Howard Zhou, André Araujo 📅 2026-04-13 👍 15 2026-07-13 08:36
ViT 图像分割 密集预测 自监督学习 视觉-语言预训练

TIPSv2 提出 iBOT++ 损失与多粒度文本增强,显著提升 ViT 视觉编码器的 patch-text 对齐。

前置知识

Vision Transformer (ViT)

ViT 是将 Transformer 架构应用到图像领域的模型。它把图像切分成固定大小(如 14×14 或 16×16 像素)的 patch,把每个 patch 线性投影成 token 后送入标准 Transformer 编码器。一个图像通常被切成数百个 patch token,外加一个 [CLS] token 代表全局语义。ViT 的输出既包含 [CLS] 的全局特征,也包含每个 patch 的局部特征。

本文核心是 patch 级的语义对齐,理解 ViT 既能输出全局特征又能输出 patch 局部特征是看懂 iBOT++ 的前提。

对比学习与图像-文本预训练 (CLIP/SigLIP)

CLIP/SigLIP 等模型通过 InfoNCE 或 Sigmoid 损失在大规模图像-文本对上做对比学习,让匹配的图像和文本在共享嵌入空间中靠近、不匹配的推远。CLIP 用 softmax 归一化的 InfoNCE,SigLIP 用 sigmoid 二分类损失。训练出的 [CLS] 图像特征天然与文本对齐,但 patch 特征通常没有显式的语言对齐。

TIPSv2 的训练目标 $L = L_{CLIP} + L_{DINO} + L_{iBOT++}$ 中 $L_{CLIP}$ 就是 SigLIP 风格的对比损失,patch-text 对齐的难点就来自全局对比学习对 patch 局部语义没有直接监督。

掩码图像建模 (MIM) 与 iBOT

MIM 把图像 patch 随机遮住一部分,让模型根据可见 patch 预测被遮住的内容。iBOT 采用 student-teacher 框架:teacher 看到原图,student 看到被遮住的图,student 必须把被遮 patch 的特征预测成 teacher 看到原图时该位置的 patch 特征。传统 iBOT 只在被遮住的 patch 上计算损失,对可见 patch 没有任何直接约束。

本文提出的 iBOT++ 正是对 iBOT 损失的关键修改,让可见 patch 也参与损失,这是理解核心创新的关键。

自蒸馏与 EMA 教师

自蒸馏方法(如 DINO、iBOT、DINOv2)通常维护一个 teacher 网络是 student 网络的指数移动平均 (EMA)。teacher 提供稳定的预测目标,防止 student 收敛到平凡解。这种方式需要在前向和反向传播中保留两份完整参数的副本,对显存和算力开销巨大。

本文的 head-only EMA 创新是只对投影头做 EMA、共享编码器参数,将可训练参数减少约 42%(以 ViT-B 为例),是工程上很重要的优化。

零样本语义分割 (Zero-shot Segmentation)

零样本分割指模型在没有任何像素级标注的情况下,把图像中每个 patch 的特征与所有候选类别的文本嵌入(比如 "cat", "dog")做余弦相似度比较,把相似度最高的类别作为该 patch 的预测。常用基准是 PASCAL VOC (21 类)、PASCAL Context (59/60 类)、ADE20K (150 类),指标是 mIoU。

零样本分割直接衡量 patch 级别文本对齐质量,是 TIPSv2 改进效果最显著的指标(PC59 mIoU 从 11.4 提升到 28.6)。

研究动机

视觉-语言预训练在 2024-2025 年虽然百花齐放,但一个根本性的痛点是:旗舰大模型(如 TIPS ViT-g、SigLIP2 ViT-g)在零样本密集分割上反而比它们蒸馏出来的小模型更差。具体到 TIPS ViT-g 在 PC59、PC60、VOC21、ADE150 上 mIoU 只有 11.4、10.8、19.7、2.6,而被它蒸馏出来的 ViT-L 学生却高达 33.5、30.4、30.5、20.8,反差高达 2-8 倍。这种『大模型全局强、密集弱』的矛盾是 Perception Encoder 等工作已经指出过的老问题,但即使 TIPS、SigLIP2 这些 2025 年的 SOTA 统一模型也没能解决。其根本原因在于:iBOT 风格的 MIM 损失只对被遮住的 patch 施加约束,可见 patch 的特征可以任意发展,只要它们能把被遮位置『猜对』就行。这导致最后一层 transformer 实际上变成了『全局对比解码器』,局部语义在预训练阶段就被稀释了。

本文的目标是本文要直接提升视觉编码器的 patch-文本对齐能力,让大模型在零样本语义分割、深度估计、法向量估计、检索、分类等 9 类任务 20 个数据集上都取得 SOTA 或接近 SOTA 的成绩,同时把训练成本显著降低。具体的可量化目标包括:(1)零样本分割 ADE150 mIoU 提升到 20+(TIPS ViT-g 仅 2.6);(2)在不损失其他指标的前提下,将训练可训练参数减少约 42%(ViT-B 上 head-only EMA 的效果);(3)综合在 dense 与 global 任务上同时取得领先,避免 PE-core 那种『dense 弱』的偏科。

与已有工作不同的是,之前的所有工作(包括 CLIP、PE、SigLIP2、TIPS、DINOv3、SILC)要么只在全局层面做对比学习(patch 对齐靠蒸馏或者外挂文本编码器后处理),要么在自监督阶段只用 iBOT 风格的 MIM(只监督被遮 patch)。本文的独特切入点是:通过详细消融发现蒸馏过程中『把所有 patch 都在 teacher 上对齐』这个不起眼的细节才是密集文本对齐的关键,然后把这个发现反过来改写预训练阶段的 iBOT 损失,提出 iBOT++ 让可见与被遮的 patch 都被显式监督。这是一个『从蒸馏经验反哺预训练设计』的逆向工程视角,区别于 DINOv3 用 Gram anchoring 改进密集特征图、或者 MaskAlign 用 frozen 模型对齐的路径。

核心方法

TIPSv2 的整体思路可以用一个比喻来理解:传统 iBOT 像『完形填空』,只检查被挖空的词是否被正确还原,对剩下的字没要求;iBOT++ 则像『全文抄写校对』,学生不仅要把挖空处填对,还要保证自己写的每个字都和老师写的一模一样。这样每个 patch 的语义都被显式对齐到 teacher,从根源上避免了最后一层退化为全局解码器。在此基础上,TIPSv2 还做了两个工程改进:第一,因为对比损失 $L_{CLIP}$ 已经能稳定训练防崩溃,所以 teacher 编码器不再需要 EMA,只需对投影头做 head-only EMA,参数和显存直接减半;第二,把原来单一来源的 PaliGemma 合成描述替换成『网页 alt-text + PaliGemma + Gemini』三种粒度的多源描述,让文本监督信号更丰富、更多样。

核心创新点就一个:iBOT++ 损失 $\mathcal{L}_{iBOT++} = -\sum_{i=1}^{N} h_t(f_t(I)_i)^T \log h_s(f_s(I^{mask})_i)$ ——和原始 iBOT 损失在公式上只差一个 mask 指示 $m_i$。原始 iBOT 把 $m_i$ 乘在损失前面,意味着只有被遮 patch($m_i=1$)才贡献梯度;iBOT++ 去掉这个 mask,让 $N$ 个 patch 全部参与损失。和已有方法的本质区别:(1)DMAE、SimMIM 也预测可见 patch 但预测的是像素值,不涉及与 teacher 的对齐;(2)MaskAlign 和 MR-MAE 虽然也对齐可见 patch,但需要 frozen 预训练模型作为 teacher;(3)TIPS 的蒸馏阶段虽然实现了『所有 patch 对齐』但只在蒸馏阶段。iBOT++ 是首次把这个想法移植到预训练阶段,让大模型从一开始就有强 patch 对齐。

方法步骤详情

TIPSv2 的训练流程分四步:第一步是输入构造,对每张图 $I$ 应用三层文本监督,包括原始网页 alt-text、PaliGemma 合成的短描述、Gemini 1.5 Flash 合成的长描述,三种描述按随机比例在两个 [CLS] token 上做监督。第二步是图像增广,应用多尺度 crops:低分辨率阶段用 1 个 224×224 全局 crop 加 6 个 98×98 局部 crop,高分辨率适配阶段把全局升到 448×448、局部升到 140×140;增广只用随机 resize、crop、flip。第三步是损失计算,整体损失为 $\mathcal{L} = \mathcal{L}_{CLIP} + \alpha \mathcal{L}_{DINO} + \beta \mathcal{L}_{iBOT++}$,其中 $\alpha=1.0$,$\beta=2.0$。第四步是 head-only EMA 更新,teacher 编码器直接和 student 共享($f_t = f_s$),但 teacher 投影头 $h_t$ 是 student 投影头 $h_s$ 的 EMA。预训练分两阶段:低分辨率 90k 步、batch size 8192,然后高分辨率适配 9k 步、batch size 4096;ViT-g 模型在 512 块 TPUv5 上训练 2 天即可完成。最终发布 ViT-B、ViT-L、ViT-SO、ViT-g 四个尺寸,ViT-g 直接预训练,其他三个通过 patch 级蒸馏得到。

技术新颖性

技术新颖性体现在三个层面:第一,方法论上,把『蒸馏带来 patch 对齐』这个原本被忽略的现象提升为可设计的预训练目标,iBOT++ 是首个在 MIM 预训练阶段同时对可见和被遮 patch 做 teacher 对齐的损失,消融表明去掉 mask 单这一个改动就能让 ADE150 零样本分割 mIoU 从 3.5 涨到 17.6(+14.1)。第二,工程上,head-only EMA 在有对比损失的设置下是首创,以往的 SSL(iBOT、DINOv2)和对比方法(CLIP、SigLIP)都不敢共享编码器参数因为担心模型崩溃。第三,数据上,多粒度描述(alt-text + PaliGemma + Gemini)的混合采样是首次系统地用于视觉编码器预训练,相对单用 PaliGemma 在 I→T Flickr 上从 92.0 提升到 95.0。

TIPSv2 对掩码图像建模预训练策略的改进。
Figure 1: TIPSv2 对掩码图像建模预训练策略的改进。
iBOT++ 中可见 token 的 patch 级 loss 下降情况。
Figure 2: iBOT++ 中可见 token 的 patch 级 loss 下降情况。
TIPSv2 预训练框架总览。
Figure 3: TIPSv2 预训练框架总览。
不同粒度的图像描述示例。
Figure 4: 不同粒度的图像描述示例。

实验结果

实验围绕 9 类任务 20 个数据集展开,核心数据如下。**零样本分割(Dense)**是 TIPSv2 受益最大的方向:表 5 显示 ViT-L/14 在 PC59/PC60/VOC21/ADE150 上分别取得 37.1/33.9/44.4/24.7 mIoU,相对 TIPS 同尺寸(33.5/30.4/30.5/20.8)分别提升 +3.6/+3.5/+13.9/+3.9,相对 SigLIP2 SO/14 平均翻倍以上。**全局图文任务**:表 6 中 TIPSv2 g/14 在 COCO I→T 75.7、T→I 60.7、DOCCI I→T 68.9、T→I 72.8 全部 SOTA;PE-core G/14 参数量比 TIPSv2 多 56%,训练图像对数量多 47 倍。**纯图像任务**:表 7 中 TIPSv2 g/14 在 PASCAL 分割 85.1、ADE20k 分割 51.6、NYUv2 深度 0.334、UnED 检索 67.0、KNN ImageNet 83.7 全部第一或并列第一。**与 DINOv3 对比**:表 8 中 TIPSv2 L/14 在 6 个指标中胜 4 个,DINOv3 用 7B 参数 + 15 倍图像的训练规模,TIPSv2 用 1.1B 参数 + 116M 图像,性价比优势明显。**消融**:表 4 在 7 项任务上逐步累加 iBOT++、多粒度描述、head-only EMA,ADE150 零样本分割从 3.5 涨到 19.1(+15.6)。

大教师模型与其蒸馏学生的零样本分割对比。
Table 1: 大教师模型与其蒸馏学生的零样本分割对比。
蒸馏阶段的初始化和 masking 消融。
Table 2: 蒸馏阶段的初始化和 masking 消融。
预训练阶段 iBOT vs iBOT++ 对比。
Table 3: 预训练阶段 iBOT vs iBOT++ 对比。
TIPSv2 预训练技术消融研究。
Table 4: TIPSv2 预训练技术消融研究。
密集图文任务评测。
Table 5: 密集图文任务评测。
全局图文任务评测。
Table 6: 全局图文任务评测。
纯图像任务评测。
Table 7: 纯图像任务评测。
TIPSv2 与 DINOv3 的对比。
Table 8: TIPSv2 与 DINOv3 的对比。
PCA 可视化对比。
Figure 5: PCA 可视化对比。
零样本分割可视化对比。
Figure 6: 零样本分割可视化对比。
查看结构化数据
任务指标本文基线提升
零样本分割 (PC59) mIoU TIPSv2 L/14: 37.1 TIPS L/14: 33.5 +3.6
零样本分割 (PC60) mIoU TIPSv2 L/14: 33.9 TIPS L/14: 30.4 +3.5
零样本分割 (VOC21) mIoU TIPSv2 L/14: 44.4 TIPS L/14: 30.5 +13.9
零样本分割 (ADE150) mIoU TIPSv2 L/14: 24.7 TIPS L/14: 20.8 +3.9
COCO 图到文检索 Recall@1 TIPSv2 g/14: 75.7 PE-core G/14: 75.4 +0.3 (新 SOTA)
COCO 文到图检索 Recall@1 TIPSv2 g/14: 60.7 TIPS g/14: 59.4 +1.3
DOCCI 图到文检索 (长文) Recall@1 TIPSv2 g/14: 68.9 TIPS g/14: 57.2 +11.7
PASCAL VOC 线性分割 mIoU TIPSv2 g/14: 85.1 TIPS g/14: 83.6 +1.5
NYUv2 深度估计 RMSE (越低越好) TIPSv2 g/14: 0.334 DINOv2 g/14: 0.372 -0.038 (相对误差降低约 10%)
ImageNet 0-shot 分类 Top-1 TIPSv2 g/14: 80.7 TIPS g/14: 79.9 +0.8 (但弱于 PE-core 的 85.4)
DINOv3 对比 (NYUv2 深度) RMSE TIPSv2 L/14: 0.339 DINOv3 L/16: 0.352 -0.013
DINOv3 对比 (零样本分割 ADE150) mIoU TIPSv2 L/14: 25.1 DINOv3 L/16: 24.7 +0.4 (使用 TCL 滑窗协议)

局限与改进

作者坦诚的限制有:(1)iBOT++ 的高 masking ratio(75%)仍然是 MIM 取得好性能的关键,去掉 mask 反而不利于预训练,这意味着 iBOT++ 不能简单替代『先大模型预训练再蒸馏』的范式。(2)ImageNet 分类不是 TIPSv2 的强项,KNN 83.7、linear 86.8 都不如 PE-core 的 86.8、89.5,原因是优化目标偏向通用能力而非分类。(3)head-only EMA 在没有对比损失的纯 SSL 中会『severe training instability』,没法推广到纯 SSL 场景。我观察到的额外限制:(1)TIPSv2 在 ImageNet 分类上的相对落后说明『dense 和 global 都很强』这个目标还没完全达成;(2)零样本分割评测依赖 PASCAL/ADE20K 的英文类名,没评估中文或多语言场景;(3)TIPSv2 训练 batch size 8192 配 512 TPUv5,这个算力门槛对小团队几乎不可复现;(4)iBOT++ 与 $L_{CLIP}$ 耦合很紧,单独拿出来做大规模验证可能有困难。

独立分析的弱点

我独立分析后认为 TIPSv2 还有以下可改进点:(1)**iBOT++ 与 $L_{CLIP}$ 的耦合太紧**:head-only EMA 完全依赖对比损失防止编码器崩溃,无法直接复用到 DINOv3、WebSSL 等纯 SSL 大模型;改进方向是把 head-only EMA 推广到 SSL 场景,比如给编码器加一个轻量级辅助自监督损失替代对比损失。(2)**ImageNet 分类相对落后**:TIPSv2 g/14 KNN 83.7 远弱于 PE-core 86.8;改进方向是增加分类专用的 linear fine-tune 阶段。(3)**多粒度描述的混合策略过于人工**:当前 Gemini 描述只在第二个 [CLS] 上采样,比例是手动调的;改进方向是用路由器网络根据图像内容自动决定使用哪种粒度。(4)**PASCAL Context mIoU 仍不极致**:TIPSv2 L/14 PC60 33.9 比 SigLIP2 SO/14 低 14 分;改进方向是在高分辨率适配阶段加入 mask-based 的 dense 监督。(5)**小模型蒸馏代价没说清楚**:附录说 ViT-B/L/SO 都从 ViT-g 蒸馏,但没说蒸馏要多少 TPU 小时,复现门槛难以评估。

未来方向

作者明确提出的未来方向有:(1)把 TIPSv2 扩展到视频和 3D 场景以验证 iBOT++ 的通用性;(2)探索更细粒度的 captioning 策略如 LocCa 风格的位置感知描述;(3)将 head-only EMA 思想扩展到更复杂的 SSL 框架中。基于本文成果可延伸的方向有:(1)**iBOT++ 的理论分析**:为什么去掉 mask 的 MIM 能在预训练阶段 work(不同于蒸馏阶段)?可以从信息瓶颈或条件熵角度给出解释;(2)**iBOT++ 与 LLM 结合**:把 patch-text 对齐强的视觉编码器接到更强的 LLM(如 Gemini 2.5)上做 VLM;(3)**动态 masking 策略**:让模型在训练中后期把更多注意力放在难 patch 上;(4)**多语言 patch 对齐**:把多粒度描述扩展到多语言场景;(5)**iBOT++ 在具身智能/机器人场景的应用**:NAVI 等 3D 数据集已经纳入评测,可以用于 affordance grounding、open-vocabulary 抓取等任务。

复现评估

复现可行性整体是『中等偏低』。**开源情况**:作者明确说明 code 和 models 通过项目页 https://gdm-tipsv2.github.io/ 发布,TIPS 本身已开源(ICLR 2025),从 TIPS 仓库 fork 后替换损失函数可以低成本实现。**数据集**:使用 Google 内部的 WebLI 数据集的 116M 过滤子集,这个数据集完整版本需要 Google 授权,116M 子集是否完全公开不确定;PaliGemma 描述公开,Gemini 1.5 Flash 描述需要 Gemini API 访问。**算力需求**:ViT-g 预训练是 512 块 TPUv5 跑 2 天(约 24,576 TPU·小时),加上高分辨率适配和蒸馏,粗略估计完整复现 ViT-g 至少需要 30,000+ TPUv5·小时;TPUv5 是 Google 内部硬件,外部研究者只能用 TPUv4 或 A100/H100 替代,时长会再翻几倍。**复现难度**:iBOT++ 改动简单(去掉一个 mask 乘法),核心消融可以在小模型上 100k 步重跑;完整复现的最大障碍是 WebLI 数据集和 512 TPUv5;附录 A.1 显示 iBOT++ 在 CLIP 上的可移植性已经验证(CLIP ViT-L 零样本分割从 4.3 涨到 22.9)。**总体建议**:个人研究者建议从 CLIP+iBOT++ 这个简化实验入手(数据公开、算力门槛低、能验证核心想法)。