同一个潜空间,支持重建、插值与采样
潜表示首先提供了可操作的生成入口:编码一张图再解码是重建;沿两个表示之间移动并解码是插值;从约定分布抽取起点再解码是采样。三种操作用同一个解码器,却分别观察输入信息、局部路径与采样覆盖。本页椅子是教学示意,具体曲线与量值到LAB02观察。 两把椅子的表示之间,可以选一条路径,逐次观察输出是否平滑变化。图中的三张椅图是在说明这种展示方式,不是已经测得的连续插值轨迹。若一次真实演示确实平滑,它的价值在于:它说明这条特定路径上的表示能被解码,也展示了沿途哪些属性发生变化。但它没有走到的地方,仍然没有被检查。
重建、插值和随机生成对应不同问题。重建从一张已知图像的编码出发,检查输入信息是否保住;插值沿人为选定的路径走,检查这条路径上的连续变化;先验采样按事先规定的分布抽新起点,检查生成入口实际会遇到哪些成功与失败。前两项漂亮,不能代替第三项。
因此,应在看输出之前约定起点怎么选,并保留所有结果,而不是先生成很多、再挑最好看的六张。眼前的六个位置是在解释这种检查方法,不是某个真实模型的性能统计。真正评价还要交代样本数量、任务条件和失败标准;有限抽样同样没有穷尽整个空间。
另一个问题更容易被结构图遮住:模型真的使用了潜变量吗?固定其他输入,只替换、打乱或固定潜变量,再看输出中的任务相关属性是否跟着改变。一个很强的解码器可能从其他条件完成大部分工作,即使架构里画着潜变量,实际依赖也很弱。
“换了潜变量,图像有几个像素变了,算不算用了?” 要看任务想保留或控制什么。若希望改变椅型,只抖动几个噪点没有回答这项要求;若输出几乎不变,也不能立刻认定变量完全无效,还需检查替换范围、其他条件是否已固定结果,以及解码是否有多对一关系。
有效的解释应能接受这样的干预,而不只是给某个模块命名。下一页把连续潜变量换成离散地址,进一步分清变量的编号与真正送入解码器的内容。
画面怎样推进
第1步
输入可以被编码为一个表示;沿表示空间中的路径改变起点,再用同一解码器得到一串结果,这提供了插值与连续变化的观察入口。一条手选路径只说明走过的区域,不能代表整个空间。
打开这一停点第2步
生成时可以从约定的分布取得新起点,再交给同一解码器产生候选。预先约定采样办法并保留全部结果,才能检查这个生成入口实际覆盖哪些变化、出现哪些失败。
打开这一停点第3步
固定解码器和其他条件,只改变潜变量,观察输出是否出现任务相关变化;这检查解码器有没有利用该变化。几乎不变值得进一步检查,像素变化也不自动等于有用信息。
打开这一停点学习材料
与当前画面直接相关
同一解码器,三种操作分别检验什么?
拿 LAB07 的测试数字作具体对象。重建把一张数字 x 编码为 μ(x),再显示 decoder(μ);后验抽样仍固定这张 x,但改变 ε,由 q(z|x) 得到不同 z。两者都借助真实输入,不是无输入生成,decoder(μ) 也不等于所有后验输出的平均。
插值先编码数字 3 与 8,指定 z(α)=(1−α)μ₃+αμ₈,再显示 11 个位置的结果。中点是潜向量的中点,未必等于两张输出图片逐像素平均;平滑只说明这条路径上的响应。先验采样则取消端点输入,用预先固定的 25 个标准正态 z;保存图展示其中前十个,包含模糊和重复。
自检:清晰重建加平滑插值,是否证明先验入口好用?不能,两项展示都从输入图得到起点。先比较初始化与训练后的同输入、同先验起点,再读失败样本。还应分清解码器输出的灰度图是 Bernoulli 概率,按它逐像素再抽 0/1 才是完整观测;原始数据灰度与二值训练输入是另外两行。均匀潜网格也不是高斯采样。
连续阅读
CLS 03 · 潜变量:从重建到生成
按连续正文理解这条方法的训练信号、使用过程与算例;数学与实践在相关问题旁展开。
先看:第3章,从对象和问题开始
阅读与实践
LAB 07 · 图像 VAE:重建与可用起点
先比较原图与重建,再看同一先验起点。只改变 KL 权重,读取重建与编码区域的权衡。
先看:先看保存结果与读图解释
在 Deepnote 阅读与运行LAB 02 · VAE:ELBO 缺口与重参数化
先读本册保存结果,再按实现顺序核对一个算例;最后只改一个变量。
先看:先看保存结果与读图解释
在 Deepnote 阅读与运行来源与进一步阅读
Variational Autoencoder
把展示分成重建、选定插值和先验采样三类,再为“任务使用了潜变量”提出一次可反驳的干预。
先看:第32–48页:重建与生成;回看第23–31页的潜变量关系
