ViT 的「像素级政治」:你的模型预测的每个像素,都取决于它落在哪个网格里
一张图,同一个像素,模型能给出完全不同的预测。不是数据问题,不是模型问题,是 ViT 把图像切成 patch 时那个网格偏移的「相位」在作怪。这篇论文找到了一个零训练成本的解法。
一、一个问题:同一张图,同一个像素,两种答案
你有一张街景图。某个像素在路面上,模型预测它是「road」。
你把这张图向右平移 8 个像素,再喂给模型。同一个像素(在物理世界对应同一个位置)现在变成了「sidewalk」。
这不是模型错了。是 ViT 的 patch 网格偏移了。
Vision Transformer 把图像切成固定大小的 patch(比如 16×16)。这些 patch 的网格有一个起始位置——相对于图像左上角偏移几个像素,就是「相位」(phase)。同一个像素,落在不同的 patch 里,经过自注意力和 MLP 的变换,最终输出可能完全不同。
在语义边界附近尤其明显:一个像素是「road」还是「sidewalk」取决于它的 patch 邻居是谁。相位一变,邻居变了,预测变了。
这像什么?像选举中的选区划分(gerrymandering)——同一个选民,划到不同的选区,投票结果就不同。ViT 的 patch 网格就是它的选区边界。
二、相位边缘化:零训练成本的解法
2.1 核心思想
作者 Oğuzhan Ercan 把相位形式化为干扰变量(nuisance variable),然后做事后边缘化(post-hoc marginalization):
- 采样 K 种不同的分块相位偏移(默认 K=4)
- 对每种相位分别做一次完整的前向传播
- 把每种相位的输出通过逆对齐操作映射回原图坐标系
- 平均所有对齐后的对数概率,得到最终预测
不修改模型。不重新训练。仅作为推理包装器。
2.2 数学公式
相位定义:
其中 P 是 patch 大小,默认 16。
相位偏移算子 \(S_\phi\):用反射填充(reflective padding)和裁剪来改变网格偏移。
模型输出:
逆对齐 \(A_\phi^{-1}\):将块输出重塑为网格 → 双线性上采样 → 逆偏移裁剪。
边缘化:
标准相位集(K=4,P 为偶数):
采样四个象限的偏移,覆盖了相位空间的最小完备集。
2.3 和普通 TTA 的区别
| 维度 | 通用 TTA | Phase Marginalization |
|---|---|---|
| 采样对象 | 图像翻转、裁剪、平移 | 分块网格本身的相位偏移 |
| 对齐方式 | 逆变换后预测 | 精确逆对齐到原始像素网格 |
| 变换定义 | 任意语义增强 | patch 大小定义的固定偏移 |
| 计算量 | 相同(K 次前向) | 相同,但效果更好 |
关键区别:普通 TTA 平移整个图像,模型看到的 patch 内容变了;Phase Marginalization 只移动网格,同一个像素在不同相位下被不同的 patch 分组,但patch 内容本身不变。这是纯粹的「架构级量化效应」的修正。
三、实验结果:四个任务,全面提升
3.1 主要结果:Uniform Phase Marginalization K=4(表1)
| 任务 | 数据集 | 主干 | 基线 | K=4 | 提升 |
|---|---|---|---|---|---|
| 语义分割 | GTA5 → Cityscapes | DINOv3/F | 51.94 | 52.76 | +0.82 |
| 语义分割 | SYNTHIA → Cityscapes | DINOv3 | 36.00 | 36.88 | +0.88 |
| 语义分割 | SYNTHIA → Cityscapes | DINOv2 | 32.90 | 33.77 | +0.87 |
| 语义分割 | ADE20K | DINOv3 | 48.82 | 49.58 | +0.76 |
| 语义分割 | ADE20K | DINOv2 | 43.77 | 45.16 | +1.39 |
| 深度估计 | NYU Depth v2 | DINOv3 | 0.6506 | 0.6277 | -0.0229 |
| 局部特征匹配 | HPatches | DINOv3 | 39.02 | 39.98 | +0.96 |
| 局部特征匹配 | HPatches | DINOv2 | 24.43 | 28.18 | +3.75 |
跨域和域内都有效。 DINOv2 在 ADE20K 上提升最大(+1.39 mIoU),说明骨干越老,相位不稳定性越严重。DINOv3 本身可能已经部分缓解了这个问题,但仍有提升空间。
3.2 和通用 TTA 的正面 PK(表2)
| 方法 | 前向次数 | mIoU | 延迟 ms/img |
|---|---|---|---|
| Single pass (K=1) | 1 | 52.90 | 20.77 |
| Random subpatch-shift TTA | 4 | 53.00 | 83.60 |
| Integer-shift TTA | 4 | 53.22 | 82.80 |
| Uniform Phase Marginalization | 4 | 53.53 | 87.52 |
相同计算量下,比普通平移 TTA 强 +0.31 mIoU。
这不是「用更多计算换更好结果」——这是「用同样的计算,但花在正确的变量上」。
3.3 K 缩放:K=4 是最佳性价比(表3)
| K | 前向次数 | mIoU | 延迟 | 性价比 |
|---|---|---|---|---|
| 1 | 1 | 52.90 | 20.77 | 基准 |
| 2 | 2 | 53.22 | 44.08 | +0.32 / 2.12× |
| 4 | 4 | 53.53 | 87.52 | +0.63 / 4.21× |
| 8 | 8 | 53.53 | 176.39 | +0.63 / 8.49× |
| 16 | 16 | 53.58 | 347.16 | +0.68 / 16.71× |
K=4 → K=8 完全无提升(53.53 vs 53.53)。这意味着四个象限的相位已经覆盖了所有关键变化。K=4 是最佳性价比,这是作者推荐默认设置的核心依据。
3.4 边界区域:问题最严重的地方(表4)
| 设置 | 主干 | 方法 | Boundary@5px | Boundary@3px |
|---|---|---|---|---|
| GTA5→CS | DINOv3/F | K=1 | 30.65 | 27.79 |
| GTA5→CS | DINOv3/F | Uniform K=4 | 31.62 (+0.97) | 28.48 (+0.69) |
| GTA5→CS | DINOv2/F-stable | K=1 | 24.45 | 22.27 |
| GTA5→CS | DINOv2/F-stable | Uniform K=4 | 26.42 (+1.97) | 23.97 (+1.70) |
边界指标提升更显著——因为相位不稳定性在语义边界附近最严重。DINOv2 的边界提升几乎是 DINOv3 的两倍,再次说明老模型受这个问题影响更大。
四、哪些变体有效?哪些无效?
作者还测试了多种「学习和自适应」变体,有几个有趣的发现:
4.1 有效变体
Partial Encoder Tuning with Spatial Phase Attention(解冻最后编码器块 + 空间逐像素相位注意力):
- GTA5→CS: 54.25 mIoU(比 Uniform K=4 的 52.76 更高)
- 但这不是训练免费的——需要部分微调
Depth-Specific Confidence-Gated Residual Phase Fusion(深度估计专用):
- NYU Depth RMSE: 0.5750(比 Uniform K=4 的 0.6277 更好)
- 专门为深度估计设计的门控机制有效
4.2 无效变体
Pre-Transformer Patch-Embedding Averaging(在自注意力前平均多相位输入的 patch 嵌入):
- GTA5→CS: 44.48 mIoU
- 远低于 Uniform K=4 的 52.76
- 为什么失败? 在嵌入层平均抹平了不同相位带来的信息差异,相当于「提前边缘化」但丢失了位置信息
Learned Phase-Feature Attention Aggregation(学习特征级注意力加权):
- 在部分场景有效(SYNTHIA→CS +2.0, ADE20K +1.73),但 HPatches 特征匹配上反而退步(39.02→38.30)
- 学习到的加权不是万能的,有时过拟合
五、诊断:相位方差量化不稳定性
作者定义了逐像素相位方差作为诊断指标:
HPatches 相位方差(表5):
| 主干 | 方法 | 相位方差 |
|---|---|---|
| DINOv3 | Uniform K=4 | 0.000082 |
| DINOv2 | Uniform K=4 | 0.000140 |
DINOv3 的相位方差几乎是 DINOv2 的一半——说明新模型在设计上已经部分考虑了相位稳定性。但即便如此,K=4 边缘化仍能进一步降低方差。
六、局限与未来
作者坦诚列出了局限性:
- 仅测试 DINOv2/DINOv3 主干:其他 ViT 变体(如 DeiT、Swin)是否适用?
- 密集预测任务:分类任务是否需要相位边缘化?(patch 的类别投票可能已经自然边缘化)
- 延迟成本:K=4 需要 4 次前向,实时场景可能受限
- K=4 的饱和:在部分数据集上 K=4 已经饱和,但其他数据集可能需要更多相位
- 无代码公开:论文提到代码库未公开
七、结语:一个被遗忘的变量
这篇论文的精妙之处在于:它没有提出一个新模型,而是发现了一个被忽视的变量。
ViT 的 patch 化是一个看似平凡的预处理步骤。但「平凡」不等于「无关」。当图像被切成 16×16 的网格时,网格的起始位置——向左移 0 像素还是 8 像素——会改变哪些像素被分到同一个 patch,进而改变自注意力看到的「邻居」关系。
在图像中心,这种影响可能很小。但在语义边界——路面和路缘的分界线、建筑物和天空的交界处——一个像素的 patch 归属可能决定它被预测为什么。
Uniform Phase Marginalization 的优雅在于:它不是对抗相位不稳定性,而是承认它,然后边缘化它。
就像统计学家面对测量误差时,不是试图消除误差,而是把误差当作随机变量,对结果做平均。这里相位就是误差,K=4 次推理就是四次独立测量,平均就是边缘化。
4 次前向传播,+0.82 mIoU,零训练成本。 对于已经部署的 ViT 密集预测系统,这可能是最便宜的性能提升方式。
参考
- 论文:Ercan, "Phase Marginalization for Patch-Grid Instability in Vision Transformers", arXiv:2606.08132 (2026)
- 主干:DINOv2, DINOv3(冻结编码器)
- 数据集:GTA5→Cityscapes, SYNTHIA→Cityscapes, ADE20K, NYU Depth v2, HPatches
- 默认配置:K=4, patch size 16, 反射填充
#ViT #VisionTransformer #相位边缘化 #语义分割 #密集预测 #DINOv2 #DINOv3 #测试增强 #TTA #计算机视觉
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。