没有配对照片,还能学会夏天变冬天吗?
现在手里有两组独立照片:夏景四张,冬景五张。数量、顺序和摆放都不代表配对。我们知道两组各是什么季节,却不知道哪张夏景应当转换成哪张冬景。这类数据减轻了逐图采集与对齐的要求,也留下一个缺口:目标域分布告诉我们冬景通常像什么,没有直接说明这栋房子的冬景是哪一张。
CycleGAN 增加两种互补检查。第一种看外观:夏景转成的候选要像冬景,反方向候选要像夏景。第二种看往返:先把 A 的夏景变成冬景候选,再变回夏景,应恢复最初的 A。这里比较的是每条循环的起点和终点;中间并没有一张指定的冬景照片供逐像素批改。
为什么还要做另一方向?只检查夏→冬→夏,主要约束的是从夏域出发的信息是否可恢复;从冬域出发也做冬→夏→冬,才能把相应的要求加在另一域的数据上。训练因此涉及两个转换器、两种域外观反馈以及双向循环。使用时若只要把一张夏景变成冬景,通常只走夏→冬这一条;训练中的检查部件不必全部留在单次使用路径里。
“变回来连原图都一样了,中间怎么还能错?” 往返成功说明保留了足以恢复起点的信息,却没有单独证明中间图保持了房屋身份。想象一个翻译者把甲的名字换成乙,另一个翻译者懂这套暗号,再把乙换回甲:回得来,但中途说的对象变了。
网络结构、数据中的不对称性及其他约束,可能帮助真实任务得到有用结果;不能由一个逻辑缺口推出方法完全无效。反过来,不能把实践中的好样例提升为“循环必然确定语义对应”的保证。课堂季节图只说明检查的职责,并非实际训练的 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|可逆不等于语义正确
先预测:边际匹配、循环正确与语义正确是否等价,再看有限形状世界的精确枚举。
先看:“三个判断分开计算”
