生成模型这几年变天了。早些年做图像合成基本是GAN的天下,人脸生成、风格迁移那批应用都靠它撑着,出图是真realistic。但用过的人都知道GAN训起来是真的难伺候。
它本质是生成器和判别器两个人博弈,一个造假一个打假,这个minimax优化天生不稳定。最烦的就是mode collapse,生成器偷懒只会出那么几种花样;再加上训练震荡,两边稍微失衡整个就崩了,对超参、结构特别敏感,调过的都懂那种心态。扩散模型的思路完全不一样,不追求一步到位,而是把加噪再一点点去噪的过程建模出来,稳定性和可扩展性都上了个台阶。所以现在SOTA的系统一水儿换成扩散,不是没道理的。当然GAN也没死透,某些实时场景它那个单步生成的速度优势还在。