学习信号与表示 限制可见信息,怎样构成可验证的重建任务?
解码阶段恢复位置,再预测内容;目标从原图来,误差只在隐藏集合比较。
P21 学习表示机制图,状态 2 P21 学习表示机制图,状态 2 解码端:所有位置加入 pᵢ;隐藏位置共用一个 mask 向量 M h0+p0 M+p1 M+p2 h3+p3 M+p4 M+p5 M+p6 M+p7 M+p8 h9+p9 M+p10 M+p11 M+p12 M+p13 h14+p14 M+p15 4 个 h + 12 个 M 轻量解码器 ŷ0 ŷ1 ŷ2 ŷ3 ŷ4 ŷ5 ŷ6 ŷ7 ŷ8 ŷ9 ŷ10 ŷ11 ŷ12 ŷ13 ŷ14 ŷ15 各位置的像素预测(符号示意) 原图目标 x L = (1/12) Σ隐藏块 MSE(ŷᵢ, xᵢ) 橙框:12 个计入 loss 的位置 预训练后留下编码器;重建用解码器不必进入下游系统。 4个编码结果和12个共享mask加位置线索进入解码器;输出是16个符号像素预测,橙框只标隐藏位置,原图小图为目标。 查看对应图解状态 查看完整图解 来到解码阶段,编码结果和缺失位置的占位向量一起形成完整的位置集合。解码器根据这些信息预测像素,训练时拿原图中被隐藏的内容作目标。
于是答案的来源很清楚:我们先把它挡住,再让模型预测,不需要另外请人标“这是一只猫”。原始 MAE 的损失计算在被遮住的图块上,不能只靠复制已经看见的部分完成任务。
更重要的是,预训练结束后,我们关心的是留下的编码器表示;为重建服务的解码器不必成为后续分类或检测系统的一部分。这也解释了为什么编码端和解码端可以承担不同重量。接下来要问:重建完成得好,是否就说明留下的表示什么都适合?
用4个位置缩小算例。原位置是[0,1,2,3],随机顺序为[2,0,3,1],取前两项进入编码器。得到[z2,z0]后,解码阶段先加两个mask项:[z2,z0,M,M]。逆排列为[1,3,0,2],按它取值后成为[z0,M,z2,M]。
这时我们只是恢复了“谁在什么位置”。位置1和3仍未知,M不是正确像素;解码器要结合可见内容及各位置线索作预测,再与原图相应位置比较。
如果忘了逆排列,模型可能把正确形状放到错误坐标,loss也会对错位置。LAB 08的索引热身正好检查这个对应关系;后面的卷积重建才包含参数学习。不要把数组重排成功写成模型学会了补图。
M 为共享学习向量,各位置还需位置线索;h 为相应可见块的编码结果(进入解码前可投影维度)。ŷ_i 是预测像素向量的符号占位,图中的原图小图是监督目标而不是重建结果。展示未归一化像素MSE;原论文亦比较逐块像素归一化目标。loss 的求和与平均仅在隐藏位置。
学习信号与表示 限制可见信息,怎样构成可验证的重建任务?
令隐藏集合为 M \mathcal M M ,每个patch含P个像素值。一个清晰的口径是先在patch内平均,再在隐藏patch间平均:L = ∣ M ∣ − 1 ∑ i ∈ M P − 1 ∑ p = 1 P ( x ^ i p − x i p ) 2 L=|\mathcal M|^{-1}\sum_{i\in\mathcal M}P^{-1}\sum_{p=1}^{P}(\hat x_{ip}-x_{ip})^2 L = ∣ M ∣ − 1 ∑ i ∈ M P − 1 ∑ p = 1 P ( x ^ i p − x i p ) 2 。16块中隐藏12块时,外层分母就是12。
若把已知可见像素直接拼回预测图,它们误差天然为零。此时对整图平均会使指标更小,却没有改善隐藏预测。图像面板可以为方便阅读拼回可见真值,但必须说明;数值则继续评价隐藏集合。
原论文还讨论对每个patch的像素做归一化后作为目标。比较不同实验时,要同时核对预测位置、像素缩放及归一化;同样叫“MSE”的数,分母和目标一变就未必可比。
学生: “遮住的地方没有像素,为什么解码器还有16项?”
教师: “我们不知道内容,但知道问题要问哪个位置。可见位置放编码表示,隐藏位置放共同的mask占位,再给每项自己的位置线索。占位不是答案,位置告诉模型答案该落在哪儿。”
学生: “既然原图有答案,为什么不直接把它送进去?”
教师: “原图由损失端保存。若把隐藏像素作为输入,模型就可能复制,遮挡任务被取消了。看图时把编码器入口和损失比较端分开。”
教师: “那说明重建这件事做得更好。下一页再冻住编码器,另用标签做读出;只有测到那份结果,才能说明表示对分类有用。”