## 只编码四个可见块,同时保留原始位置 ## 解释、算例与证据 # P20 · 十六个图块,只有四个进入编码器 固定16块与4个可见位置,让编码器输入可以逐项指认;计算节省与隐藏比例的关系留在本页说明。 图内标签与数值:P20 学习表示机制图,状态 2;MAE 教学网格 · 16 块中保留 0、3、9、14;0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;4 块可见,12 块隐藏;块 0;位置 0;块 3;位置 3;块 9;位置 9;块 14;位置 14;编码器只处理这 4 块;隐藏位置不送入 mask token;4 / 16 是输入块数量;并不等于整个系统必然加速 4 倍。 4×4共16块,固定可见0、3、9、14四块携位置进入编码器,12个隐藏块不输入。 - MAE 教学网格 · 16 块中保留 0、3、9、14 - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 4 块可见,12 块隐藏 - 块 0 - 位置 0 - 块 3 - 位置 3 - 块 9 - 位置 9 - 块 14 - 位置 14 - 编码器只处理这 4 块 - 隐藏位置不送入 mask token - 4 / 16 是输入块数量;并不等于整个系统必然加速 4 倍。4×4共16块,固定可见0、3、9、14四块携位置进入编码器,12个隐藏块不输入。 [查看对应图解状态](/#/l3-r2-p20/1)[查看完整图解](/course/figures/l3-r2-p20-1.html) ## 课堂讲述 为便于观察,把这张图分成十六个图块,遮掉十二个,也就是四分之三。编码器只处理剩下四块,而不是把全部十六个位置都送进去再告诉它哪些是空的。 每个可见图块变成向量,并保留位置线索。这里我们只需要把编码器理解成将可见块组织成表示的网络,不在今天打开 Transformer 内部。 这个结构同时回应学习与计算:任务要求根据少量可见内容推测隐藏部分;昂贵的编码器又少处理了很多输入。注意,十六变四不代表整个系统必然加速四倍,其他计算仍然存在。现在先看清信息流,再看缺失位置怎样回到解码端。 ### 16 块中,编码器真的只看见 4 块 [独立阅读](/course/blocks/mae-visible-patch-input.html) 当前图把原图切为4×4网格,位置编号0–15,可见集合固定为{0,3,9,14},其余12块隐藏。原图仍由数据管线保存,供损失比较;它不作为完整输入偷偷进入编码器。 可见patch转换成向量,并带着原始位置线索进入编码器。这里的位置不能压成“现在队列中的第1、2、3、4项”:位置0与位置14在原图的含义不同。输出表示还要能够放回原来的空间位置。 4/16是课堂上说明75%遮挡的简单图。随机遮挡会让训练中的可见集合变化;当前固定集合是便于逐项追踪的一个样本。原MAE的非对称设计关键在于让较重编码器只处理可见项,而不是在完整图编码之后才把12块涂黑。 ### 少看图块为何省计算,又为何不是固定加速比 [独立阅读](/course/blocks/mae-compute-not-sixteen-times.html) 16块只保留4块,编码器处理的项数变为四分之一。一些逐项计算随项数下降;涉及两两位置的计算从16²降为4²,是原来的1/16。这可以解释为什么高遮挡率有计算价值,但不需要在本讲展开注意力算法。 整个训练还包含patch转换、其他网络层、解码器、损失和硬件调度。解码器重新处理完整位置,因此端到端耗时不等于某个二次项的比值。课堂上“16倍”只可描述这个构造的两两项数变化,不能宣称实际训练快16倍。 当前LAB 08用稠密卷积网格加mask通道,仍处理完整8×8图像;它能教遮挡目标与评价,但不能复现原MAE可见token编码器的计算节省。方法机制与教学模型的对应范围应这样逐项标清。 ## 沿这个问题继续 对照LAB 08最后的原MAE比较表,明确教学ConvAE仍处理稠密网格;不要拿它测原MAE加速。 **出处:**[MAE 原论文 §3(2021)](https://arxiv.org/html/2111.06377v3) #### 图示条件与公式约定 块索引按从左到右、从上到下的0至15。可见集合={0,3,9,14},隐藏比例=12/16=.75。现实预训练随机采样,此处固定采样结果以便追踪。 #### 这条线索的展开与后续阅读 - [MAE:只编码可见块,再回到完整位置](/supplement.html?return=l3-r2-p20/0#/l3-mae/0) 本页说明