本来是想在 另一篇文章 中写这个部分的,结果发现这一小部分内容较多,且与文字主题相关性低了一些,于是单独提出来形成了这篇文章,也是调研了一下扩散模型。笔者这里就只简单介绍一下 Diffusion 模型的原理和历史,还有自己对相关知识的整合。
什么是扩散模型?
这里还请让我偷个懒,有关内容可以去看李沐老师的 视频,还有苏神有关扩散模型的 博客,有非常深入的数学原理,笔者这里就不再赘述了。
但说白了还是从一个随机噪声或初始值生成出一张完整的画,训练的时候确是反正进行的,从一幅幅完整的话不断变成随机噪声,DDMP 的第一个 D 就是 Denosing。
扩散模型的简史
被玩出花的生成模型简史
军备简史
- 2020.6.19 Ho et al. 发表了 DDPM 的论文 《Diffusion Probabilistic Models for Image Generation》1。
- 2022.4.13 OpenAI 表了 Dall·E 2 的论文 《Hierarchical Text-Conditional Image Generation with CLIP Latents》2。
- 2022.4.13 Stable Diffusion 发表了论文《High-Resolution Image Synthesis with Latent Diffusion Models》3。
- 2022.5.30 Google Brain 发布 Imagen4 5。
- 2022.6.19 Google & NVIDIA 在 CVPR 2022 发布 Tutorial 《Denoising Diffusion-based Generative Modeling: Foundations and Applications》6。
- 2022.8.30 OpenAI 发了一篇 Blog,讲的是用 Dall·E 进行的图像补全7。
各种模型试玩
由于笔者并不太了解图像生成领域的 metrics,同时由于各种模型能够提供的参数不同,在生成性能和迭代次数上存在差异。笔者只进行了一些模型的试玩,并不能作为严格的性能指标,只能说明他们提供的 demo 效果如何。
所有的图像使用同一 Prompt 进行生成: On a black starry background, Pikachu stands with a star stick in his right hand
各模型试玩地址如下,这些也都是免费的版本:
- Dall·E-mini: https://huggingface.co/spaces/dalle-mini/dalle-mini
- ERNIE-ViLG: https://huggingface.co/spaces/PaddlePaddle/ERNIE-ViLG
- Stable Diffusion: https://huggingface.co/spaces/stabilityai/stable-diffusion
- Dream Studio: https://beta.dreamstudio.ai/dream
生成效果:
可以看出百度在 Hugging face 的 ERNIE-ViLG 生成的图像素质还是非常高的,但是没有任何调参的方式,因为百度的“无限探索”除了在 Hugging face 上并不对外开放。Stability AI 也就是 Stable Diffusion 所创建的公司,生成的图像也是较为清晰,但我调的参数可能不太好,质量看起来会略差与 ERNIE-ViLG。Dall·E-mini 和 Dream Studio 的生成效果就不太理想,但大概语义还是理解了的。
大概在参数上的影响除了前置训练的 CLIP 模型之外,还有迭代次数和图像大小,其他的参数笔者不了解,也不太会调节 - -。