本来是想在 另一篇文章 中写这个部分的,结果发现这一小部分内容较多,且与文字主题相关性低了一些,于是单独提出来形成了这篇文章,也是调研了一下扩散模型。笔者这里就只简单介绍一下 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 生成

由 Dall·E-mini 生成

由 ERNIE-ViLG 生成

由 ERNIE-ViLG 生成

由 Stable Diffusion 生成

由 Stable Diffusion 生成

由 Stability AI 生成

由 Stability AI 生成

可以看出百度在 Hugging face 的 ERNIE-ViLG 生成的图像素质还是非常高的,但是没有任何调参的方式,因为百度的“无限探索”除了在 Hugging face 上并不对外开放。Stability AI 也就是 Stable Diffusion 所创建的公司,生成的图像也是较为清晰,但我调的参数可能不太好,质量看起来会略差与 ERNIE-ViLG。Dall·E-mini 和 Dream Studio 的生成效果就不太理想,但大概语义还是理解了的。

大概在参数上的影响除了前置训练的 CLIP 模型之外,还有迭代次数和图像大小,其他的参数笔者不了解,也不太会调节 - -。

Reference


  1. https://arxiv.org/abs/2006.11239 ↩︎

  2. https://arxiv.org/abs/2204.06125 ↩︎

  3. https://arxiv.org/abs/2112.10752 ↩︎

  4. https://imagen.research.google/ ↩︎

  5. https://arxiv.org/abs/2205.11487 ↩︎

  6. https://cvpr2022-tutorial-diffusion-models.github.io/ ↩︎

  7. https://openai.com/blog/dall-e-introducing-outpainting/ ↩︎