生成模型

一个要求,怎样产生多个合理结果?

一个器形镂空模版展开为三个不同的完整器物,蓝色结构由金色纸带连接。

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

自回归与VAE:逐步决定与潜表示

GAN:反馈、约束与编辑

扩散及延展:从局部改进到跨段生成

World Model、语言与全课回收

本页说明

学习材料

没有配对照片,还能学会夏天变冬天吗?

现在手里有两组独立照片:夏景四张,冬景五张。数量、顺序和摆放都不代表配对。我们知道两组各是什么季节,却不知道哪张夏景应当转换成哪张冬景。这类数据减轻了逐图采集与对齐的要求,也留下一个缺口:目标域分布告诉我们冬景通常像什么,没有直接说明这栋房子的冬景是哪一张。

CycleGAN 增加两种互补检查。第一种看外观:夏景转成的候选要像冬景,反方向候选要像夏景。第二种看往返:先把 A 的夏景变成冬景候选,再变回夏景,应恢复最初的 A。这里比较的是每条循环的起点和终点;中间并没有一张指定的冬景照片供逐像素批改。

为什么还要做另一方向?只检查夏→冬→夏,主要约束的是从夏域出发的信息是否可恢复;从冬域出发也做冬→夏→冬,才能把相应的要求加在另一域的数据上。训练因此涉及两个转换器、两种域外观反馈以及双向循环。使用时若只要把一张夏景变成冬景,通常只走夏→冬这一条;训练中的检查部件不必全部留在单次使用路径里。

回得来,房子就一定对了吗?A 夏 · 起点A 冬 · 跨域候选A 夏 · 重建冬景外观?与本行起点比重建B 冬 · 起点B 夏 · 跨域候选B 冬 · 重建夏景外观?与本行起点比重建
两条循环各自回到本行起点,中间域外观没有给出逐图语义答案。

“变回来连原图都一样了,中间怎么还能错?” 往返成功说明保留了足以恢复起点的信息,却没有单独证明中间图保持了房屋身份。想象一个翻译者把甲的名字换成乙,另一个翻译者懂这套暗号,再把乙换回甲:回得来,但中途说的对象变了。

网络结构、数据中的不对称性及其他约束,可能帮助真实任务得到有用结果;不能由一个逻辑缺口推出方法完全无效。反过来,不能把实践中的好样例提升为“循环必然确定语义对应”的保证。课堂季节图只说明检查的职责,并非实际训练的 CycleGAN 输出。

下一页把这个疑问变成可逐项检查的反例:三栋房子组成一个有限世界,让域外观和往返都通过,却故意把每栋房子配错。

画面怎样推进

第1步

两组独立照片只提供域信息,没有逐图对应答案。

打开这一停点

第2步

夏到冬的候选接受冬景外观检查,回程接受与本行夏景起点的重建比较。

打开这一停点

第3步

反向循环对冬域起点施加同类检查;两种回环都正确仍不保证跨域身份对应。

打开这一停点

学习材料

与当前画面直接相关

为什么夏→冬→夏还要再配一条反向循环?

记G把夏景变为冬景,F把冬景变为夏景。F(G(x))≈x检验从夏域出发能否恢复原图;G(F(y))≈y则把同样要求加到冬域输入。每条循环知道起点,并据此批改终点,中间没有一张唯一指定的另一季照片。

两种域判别器检查中间图像是否像目标季节;循环检查信息能否恢复。二者结合比只要求“看起来像冬天”更强,却仍没有指定同一栋房屋的跨季对应。使用时若只需夏转冬,一般只走G,训练检查部件无需全部参与出图。

接着读:两种域反馈与双向循环究竟比较什么。

连续阅读

CLS 04 · 对抗反馈与图像翻译

按连续正文理解这条方法的训练信号、使用过程与算例;数学与实践在相关问题旁展开。

先看:第4章,从对象和问题开始

阅读与实践

LAB 08 · 生成器与判别器的真实反馈

固定生成起点比较训练前中后;改变 D:G 更新比,分别读近模式比例与模式覆盖。

先看:先看保存结果与读图解释

在 Deepnote 阅读与运行

LAB 03 · CycleGAN:可逆不等于语义正确

先读本册保存结果,再按实现顺序核对一个算例;最后只改一个变量。

先看:先看保存结果与读图解释

在 Deepnote 阅读与运行

来源与进一步阅读

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

沿双生成器和双循环阅读,分别找域外观与起点重建各自在比较什么。

先看:第3节、图2

相关材料

LAB 03|可逆不等于语义正确

先预测:边际匹配、循环正确与语义正确是否等价,再看有限形状世界的精确枚举。

先看:“三个判断分开计算”