Lecture 03 学习讲义
正文
工具
按问题查找
Lecture 03CLS 04 · 重建:约束、位置与表示评价

CLS 04 · 重建:约束、位置与表示评价

按问题继续

词典/PCA数值、线性自编码约束、遮挡索引、masked ConvAE与MAE区别

对应课堂(7 页)

可先阅读已有结果,再决定是否运行。重算时请核对各节记录的数据、参数、环境与日期。

Lecture 03CLS 04 · 重建:约束、位置与表示评价

从P19—22的MAE位置图进入,本册回答:限制什么,才能使重建不只是复制输入?

先读“MAE让昂贵编码器只看少量位置”,手写可见位置、补位顺序和隐藏loss分母;再看LAB 08保存的同图重建与冻结读出。你的产出是一张对照:模型恢复了哪些像素,哪些下游能力另外测过,两者为什么不能互相代替。

PCA、去噪与词典的推导保留在前半部,遇到瓶颈或误差问题再回读。需要一个无需神经网络的实际优化入口时,选LAB 05像素词典。可直接引用隐藏loss分母或重建限制。

如果不提供“猫”“杯子”这样的类别标签,图像还有什么可以当答案?最直接的是图像自身:把它压缩、破坏或遮住一部分,再让模型恢复。困难不在于是否有监督数值,而在于我们允许模型怎样取得它。把输入原样复制到输出可以获得零误差,却没有迫使模型形成有用的表示。重建方法之间真正改变的是限制条件:代码可以取什么值、信息从哪里通过、哪些位置可见,以及误差计算在哪里。

同样是压缩,离散词典与线性子空间留下不同东西

把一个 2×22\times2 灰度 patch 展平为 x∈R4x\in\mathbb R^4。K-means 学习 KK 个中心 ckc_k,用最近中心的索引编码:

a(x)=arg⁡min⁡k∥x−ck∥2,x^=ca(x).a(x)=\arg\min_k\|x-c_k\|^2,\qquad \hat x=c_{a(x)}.

若词典恰为 c1=(1,0,1,0)c_1=(1,0,1,0)、c2=(0,1,0,1)c_2=(0,1,0,1),它可以零误差重建左右两种明暗边,但 (0.5,0.5,0.5,0.5)(0.5,0.5,0.5,0.5) 到两中心的平方距离都为 1,只能按约定任选其一。代码被限制为一个离散索引,约需 log⁡2K\log_2 K bit,另须存储词典;这不是任意实数向量的无损压缩。改变 KK 会改变量化误差与存储成本。原 LAB 05 在真实 MNIST patch 上进行 Lloyd 拟合,可查看中心怎样随数据形成,而非只背“无监督”这个标签。

PCA 改用连续线性坐标。对已减去均值的 xx,选列正交矩阵 U∈Rd×kU\in\mathbb R^{d\times k},编码 z=UTxz=U^Tx,重建 x^=Uz\hat x=Uz。最小化平方重建误差等价于保留协方差最大的 kk 个方向。

用四点 (2,0),(−2,0),(0,1),(0,−1)(2,0),(-2,0),(0,1),(0,-1) 手算。均值为 0,按 1/41/4 计算协方差是 diag(2,0.5)\mathrm{diag}(2,0.5)。只保留一维时选横轴,四点重建为 (2,0),(−2,0),(0,0),(0,0)(2,0),(-2,0),(0,0),(0,0);逐点平方误差为 0,0,1,10,0,1,1,平均 0.5。若选纵轴,平均误差为 2。被丢掉的方向方差小,不代表它对任务不重要:如果标签恰好区分纵坐标正负,PCA 的最优重建轴可能删去标签所需的差异。

PCA 的平方误差与 MAE 的位置恢复

左图按真实坐标画出四点和一维投影;右图展示 patch 的乱序、可见项与恢复位置。两者都在重建,但一个限制子空间,一个限制输入可见性。

PCA 为什么可以看成受约束的线性自编码器

自编码器由 z=fθ(x)z=f_\theta(x) 与 x^=gϕ(z)\hat x=g_\phi(z) 组成,以 ∥x−x^∥2\|x-\hat x\|^2 等重建损失更新参数。令 f(x)=UTx,g(z)=Uzf(x)=U^Tx,g(z)=Uz 并要求 UTU=IU^TU=I,就得到上面的 PCA 形式。一般线性、低秩、平方误差自编码器也能学到 PCA 的主子空间,尽管编码坐标不一定等于标准主成分;平移、旋转等参数化差异要与重建子空间区分。

所以 SVD 可以精确说明一种线性自编码约束,但 SVD 本身没有执行一个另行承诺的非线性网络训练。引入非线性编码器和解码器以后,表示可以适应弯曲的数据结构;也可能凭较大容量记忆训练样本。瓶颈维数、正则化、跳连是否绕过瓶颈、训练与保留误差,都影响我们能否把低损失解释为学到了结构。

去噪自编码器进一步改变训练对:先从破坏分布采样 x~∼q(x~∣x)\tilde x\sim q(\tilde x\mid x),再最小化 E∥g(f(x~))−x∥2\mathbb E\|g(f(\tilde x))-x\|^2。输入是带噪图片,目标仍是干净图片。训练时不给模型干净图,不能在可视化时偷偷把目标的边缘或 mask 喂回去。Gaussian 噪声、置零像素和随机遮块提出不同恢复任务;噪声太轻会接近复制,太重可能留下不足以判断的证据。在 去噪自编码器原论文 中,破坏过程正是组织表示学习的一个关键约束。

平方误差还有一个值得记住的性质:最佳预测是给定输入后的条件均值。若一个被遮挡像素在其余条件相同下等概率为 0 或 1,输出 0.5 的平均平方误差是 0.25,而总是输出 0 或 1 的误差是 0.5。模糊有时来自目标的统计偏好,不一定只是网络没有优化好。下一讲讨论采样时会重新遇到这个问题。

此段独立阅读
Lecture 03CLS 04 · 重建:约束、位置与表示评价

MAE 让昂贵编码器只看少量位置

把图像切为 patch 后,MAE 随机选择可见子集,编码器只处理可见 patch 及其位置;轻量解码器补入 mask token,恢复完整位置顺序,再预测被遮挡的像素目标。原 MAE 的一个关键设计是高遮挡率与这种不对称编码—解码结构,见 MAE §3 与图 1。这里不是先让编码器看完整图,再在输出端涂黑几块。

四个原始位置是 [0,1,2,3]。随机排列 ids_shuffle=[2,0,3,1],只保留前两项,所以编码器看到原位置 2、0。解码器先得到 [z2,z0,M,M],再用逆排列 ids_restore=[1,3,0,2] 取回 [z0,M,z2,M]。位置 1、3 的损失可以按

L=1∣M∣∑i∈M∥x^i−xi∥2L=\frac{1}{|\mathcal M|}\sum_{i\in\mathcal M}\|\hat x_i-x_i\|^2

计算,其中 M\mathcal M 为遮挡位置集合。若补 mask 后忘记恢复顺序,即便预测数值合理,也是在与错误位置的目标比较。排列练习可以证明索引正确;它不能证明编码器已经学会图像语义。

再看计算:16 个 patch 只保留 4 个,编码器注意力的成对位置数由 162=25616^2=256 变为 42=164^2=16,这是二次项的 1/16;线性层、patch embedding、解码器和实际硬件开销不按同样比例缩小。因此不能把这个比例直接称为端到端加速 16 倍。高 mask 比例同时改变任务难度与编码成本,需要一起讨论。

方法 输入受什么限制 代码/表示约束 重建好能支持什么判断
K-means 词典 通常看到完整 patch 一个中心索引 该词典的量化误差小
PCA 通常看到完整向量 低维线性子空间 方差被线性子空间有效保留
去噪自编码器 看到明确破坏后的图 架构、瓶颈及正则化 对指定破坏能恢复保留图像
MAE 编码器只看可见 patch 可见位置及编码—解码设计 能利用上下文预测遮挡目标

这四行都没有自动回答“少量标签能否读出类别”“颜色是否保留”“边界是否准确”。那些是另设的评价问题。LAB 08 把索引检查与图像重建分开:先确认输入—mask—目标位置,再比较输入、重建和误差,最后冻结编码器作读出。划分必须先按原图进行,再生成破坏版本;否则同一原图的干净版和带噪版可能分居训练与测试,给出过于乐观的结果。

已运行的图像重建:恢复更好,表示评价另算

LAB 08 在 2026-09-22 本地 CPU 从头训练卷积自编码器。数据是 sklearn load_digits 的 1797 张 8×8 灰度图,先按原图分层随机划分 1257 训练、540 保留,再生成破坏;没有按书写者分组,因此结论是这个原图随机划分下的数字任务。标签只用于划分与读出,不进入重建损失。16 维瓶颈的去噪网络训练 40 epoch,破坏为 25% 像素丢弃加标准差 0.15 的高斯噪声并裁到 [0,1]。

保留集方法 与干净目标的逐像素 MSE
直接使用带噪输入 0.06244
训练集拟合的 rank-16 PCA 重建 0.04160
学到的卷积去噪自编码器 0.03217

真实输入、破坏、重建与遮挡恢复

另一个两通道卷积模型接收“被遮挡图像+可见性 mask”,在 50% 的 2×2 patch 隐藏率下训练 50 epoch。它处理整张密集网格,不是原论文只编码可见 token 的 ViT MAE。固定每图同一排列、让隐藏集合嵌套,测试 25%/50%/75% 遮挡时,隐藏位置 MSE 分别为 0.03933/0.04341/0.05563;相应训练均值基线为 0.07420/0.07402/0.07390。遮挡增加后重建变难,但这个卷积模型并未获得 MAE 的可见 token 计算节省。

冻结编码器、输入干净保留图像作 5NN,去噪架构由随机初始化的 84.26% 到训练后的 95.00%;遮挡架构由 88.52% 到 92.04%。两种架构输入通道不同,随机基线也应分别保留,不能把它们混成同一个起点。重建改善和读出改善在这次实验中同时出现,但它们仍是两项独立测量。配置、输入 hash 与权重均在 LAB 08 对应材料中。

重建为“保存信息”提供了可计算目标;下一册 CLS 05 会主动要求某些变化在表示中不产生差异。二者的张力是具体的:准确重建颜色需要留下颜色,颜色不变的对比目标却可能鼓励忽略它。好的表示要服务什么,必须由下游问题回答。

此段独立阅读
Lecture 03CLS 04 · 重建:约束、位置与表示评价

读到这里,可以如何继续?

若你能解释“限制输入”与“限制表示”有什么不同,并能给16块示意写出隐藏loss分母,就已完成本册机制主线。接下来选 LAB 08 · 图像重建:遮挡损失与表示评价:先看真实输入、重建、误差,最后读冻结5NN。其模型是masked ConvAE,仍处理稠密网格;原MAE的可见token节省计算由 少看图块为何省计算,又为何不是固定加速比 单独解释。

只想看一个无需神经网络的实际无标签优化,可选 LAB 05 · 像素 patch 词典:拟合与重建 的MNIST patch词典。关于教师目标的旧拓展已由 CLS 06 · 表示的三个检查:目标、信息与新域 统一组织,不需要在词典实验末尾再学一遍。最后回到 P23 本页说明:重建好与新任务好,需要分别测量。

此段独立阅读