参考blog:深入浅出完整解析AIGC时代中GAN系列模型的前世今生与核心知识
diffusion vs GAN 对比
生成速度
GAN架构通常比Diffusion架构更快,因为GAN只需要一次前向传播即可生成样本,而Diffusion模型需要多次采样迭代来逐步生成最终图像。同时Diffusion模型具有显著的优势,因为它们没有GAN常见的模式崩溃(mode collapse)问题。模式崩溃是指GAN在训练过程中生成多样性不足的问题,即模型可能仅生成少数几种类型的样本,而忽略数据集中其他类型的样本,本质原因是生成内容只需要骗过判别器就行,模型没必要承担更大风险去生成多样内容。相比之下,Diffusion模型能够更稳定地覆盖整个数据分布,从而生成更为多样化的样本。
拟合复杂数据分布
Diffusion模型相比于GAN更具优势,能够模拟更复杂且非线性的分布。GAN通常在特定单一类别的生成任务中表现出色,例如人脸生成,这使得它在特定场景下可以达到极高的生成质量。然而,GAN在处理包含多种不同类别的复杂数据集时,往往难以学习到所有类别的分布特征。Diffusion模型则能够更好地建模复杂、多样化的图像分布。然而,在连续性方面,Diffusion模型可能不如GAN。例如,在视频风格迁移的任务中,Diffusion模型生成的连续帧之间的关联性可能较弱,导致帧间关系差异较大。
可控编辑
以StyleGAN为代表的GAN模型,其生成器的输入是由噪声(noise)和潜在编码(Latent Code,通常表示为w)组成。潜在编码w的存在使得GAN在生成过程中具有更直观的可控性,可以通过调整低维空间中的编码来控制生成的高维数据。比如,GAN可以实现连续的插值操作,或者通过像DragGAN这样的技术来进行精细的图像编辑。与此不同的是,以Stable Diffusion为代表的Diffusion模型,其输入包括噪声潜在空间(noise latent space)和文本嵌入空间(text embedding space)。虽然文本嵌入可以引导生成内容,但其可控性相对w来说没有那么直接,特别是在需要精确控制生成图像的具体特征时。
训练数据要求
此外,Diffusion模型对训练数据的要求通常高于GAN。当前大多数Diffusion模型的训练需要高质量的配对数据(ground truth,GT)来确保模型能够学习到精确的映射关系。
GAN不仅可以用于生成任务,还可以作为其他任务的损失函数,例如用于图像翻译、超分辨率重建等领域,为这些任务提供有效的监督信号。
GAN模型的优势:
比起Stable Diffusion、Midjourney、DALL-E 3等AI绘画大模型,GAN更加轻量化,能够做到实时对图像进行优化生成与处理。
GAN能够很好的辅助Stable Diffusion、Midjourney、DALL-E 3等AI绘画大模型,完成一些模块化和局部的图像生成与处理工作,成为AI绘画工作流中的高性价比模型。
GAN中提取的低维度Latent特征对于语意解偶问题很有价值,这让GAN模型可以作为AIGC时代的AI绘画工作流的一部分,对生成图像进行局部编辑。
GAN在人脸等特征上的表现不错,可以作为AI绘画大模型的后处理模型。
避免GAN训练崩溃的一些经验总结
- 归一化图像输入到(-1,1)之间;Generator最后一层使用tanh激活函数 生成器的Loss采用:min (log
1-D)。因为原始的生成器Loss存在梯度消失问题;训练生成器的时候,考虑反转标签,real=fake, fake=real - 不要在均匀分布上采样,应该在