给学生捋 GAN,我一般顺着 StyleGAN 这条线往下走

一上来就甩极小极大公式,学生当场走神,所以我讲 GAN 从来不从公式开始。

就说两个人互相拆台:生成器造假,判别器鉴伪,谁也占不到便宜的时候训练就算到位了。这么讲比公式好懂得多。

然后顺着 StyleGAN 往下捋,这一支才真把控制权交出来。第一代把隐码映射成分层的 style,高层属性和随机细节能分开;第二代重做归一化,加了路径长度正则,那些烦人的水滴斑块没了,反演也好做;第三代干脆从信号处理的角度处理混叠,平移旋转缩放之下画面不再抖。

ControlNet 走的是另一条路:主干锁死不动,用零卷积从零长出可训练参数,边缘、深度、分割、姿态都能当条件塞进去,底模原来学过的东西也不会被冲掉。

最后对照一句:GAN 一次前向就出图,快,但容易塌成几种花样;扩散一步步去噪,贵,样本更杂。两边解决的本来就不是同一个问题。

我讲 StyleGAN 前会先带一句 PGGAN 的渐进式训练,不然学生不知道分层 style 从哪冒出来的,接上之后三代的改动就顺了

1 个赞

码住

水滴伪影那个我当年调了半天,一直以为是自己数据脏

模式崩塌到现在也没根治吧,只是大家不太用 GAN 了 :thinking:

现在入门直接上扩散,GAN 这条线快变考古学了

考古也得讲一遍,不然学生连判别器是干嘛的都不清楚,后面对抗那套全听不懂