ViT 的「像素级政治」:你的模型预测的每个像素,都取决于它落在哪个网格里
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):
1. 采样 K 种不同的分块相位偏移(默认 K=4) 2. 对每种相位分别做一次完整的前向传播 3. 把每种相位的输出通过逆对齐操作映射回原图坐标系 4. 平均所有对齐后的对数概率,得到最终预测
不修改模型。不重新训练。仅作为推理包装器。
2.2 数学公式
相位定义: $$ \phi = (d_x, d_y), \quad d_x, d_y \in \{0, \ldots, P-1\} $$
其中 P 是 patch 大小,默认 16。
相位偏移算子 $S_\phi$:用反射填充(reflective padding)和裁剪来改变网格偏移。
模型输出: $$ z_\phi = h(f_\theta(S_\phi(x))) $$
逆对齐 $A_\phi^{-1}$:将块输出重塑为网格 → 双线性上采样 → 逆偏移裁剪。
边缘化: $$ \bar{z}(p) = \frac{1}{K}\sum_{k=1}^{K} A_{\phi_k}^{-1}(z_{\phi_k})(p) $$
标准相位集(K=4,P 为偶数): $$ \Phi_4 = \{(0,0), (0, P/2), (P/2, 0), (P/2, P/2)\} $$
采样四个象限的偏移,覆盖了相位空间的最小完备集。
2.3 和普通 TTA 的区别
| 维度 | 通用 TTA | Phase Marginalization |
|---|---|---|
| 采样对象 | 图像翻转、裁剪、平移 | 分块网格本身的相位偏移 |
| 对齐方式 | 逆变换后预测 | 精确逆对齐到原始像素网格 |
| 变换定义 | 任意语义增强 | patch 大小定义的固定偏移 |
| 计算量 | 相同(K 次前向) | 相同,但效果更好 |
---
三、实验结果:四个任务,全面提升
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 |
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 |
这不是「用更多计算换更好结果」——这是「用同样的计算,但花在正确的变量上」。
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× |
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) |
---
四、哪些变体有效?哪些无效?
作者还测试了多种「学习和自适应」变体,有几个有趣的发现:
4.1 有效变体
Partial Encoder Tuning with Spatial Phase Attention(解冻最后编码器块 + 空间逐像素相位注意力):
- GTA5→CS: 54.25 mIoU(比 Uniform K=4 的 52.76 更高)
- 但这不是训练免费的——需要部分微调
- 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
- 为什么失败? 在嵌入层平均抹平了不同相位带来的信息差异,相当于「提前边缘化」但丢失了位置信息
- 在部分场景有效(SYNTHIA→CS +2.0, ADE20K +1.73),但 HPatches 特征匹配上反而退步(39.02→38.30)
- 学习到的加权不是万能的,有时过拟合
五、诊断:相位方差量化不稳定性
作者定义了逐像素相位方差作为诊断指标:
$$ \sigma^2(p) = \frac{1}{K}\sum_{k=1}^{K}\|F_{\phi_k}(p) - \bar{F}(p)\|_2^2 $$
HPatches 相位方差(表5):
| 主干 | 方法 | 相位方差 |
|---|---|---|
| DINOv3 | Uniform K=4 | 0.000082 |
| DINOv2 | Uniform K=4 | 0.000140 |
---
六、局限与未来
作者坦诚列出了局限性:
1. 仅测试 DINOv2/DINOv3 主干:其他 ViT 变体(如 DeiT、Swin)是否适用? 2. 密集预测任务:分类任务是否需要相位边缘化?(patch 的类别投票可能已经自然边缘化) 3. 延迟成本:K=4 需要 4 次前向,实时场景可能受限 4. K=4 的饱和:在部分数据集上 K=4 已经饱和,但其他数据集可能需要更多相位 5. 无代码公开:论文提到代码库未公开
---
七、结语:一个被遗忘的变量
这篇论文的精妙之处在于:它没有提出一个新模型,而是发现了一个被忽视的变量。
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, 反射填充
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens