补回位置与补回像素,是两件事
课堂上下文:从哪个问题来
解码阶段恢复位置,再预测内容;目标从原图来,误差只在隐藏集合比较。
用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的索引热身正好检查这个对应关系;后面的卷积重建才包含参数学习。不要把数组重排成功写成模型学会了补图。
可见表示和mask token回到完整位置,所有位置有各自的位置线索。 查看对应图解状态
- 解码端:所有位置加入 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 的位置
- 预训练后留下编码器;重建用解码器不必进入下游系统。