详解Stable Diffusion 原理图

参考英文文献:The Illustrated Stable Diffusion – Jay Alammar – Visualizing machine learning one concept at a time.

 

 

在这个Stable Diffusion模型的架构图中,VAE(变分自编码器)模型对应的是图中的 E 和 D 部分。

具体来说:

  1. E(Encoder): 这是VAE的编码器部分。它接收输入图像 x0,并将其编码为潜在空间表示 z0。
  2. D(Decoder): 这是VAE的解码器部分。它接收潜在空间表示 z0,并将其解码回图像空间,重构出输入图像。

在Stable Diffusion的工作流程中:

  • 训练阶段,VAE用于将高维图像数据压缩到低维潜在空间。
  • 生成阶段,扩散模型在这个低维潜在空间中工作,生成新的潜在表示。
  • 最后,VAE的解码器 D 用于将生成的潜在表示转换回可视化的图像。

τ_θ(tau theta)通常是指文本编码器,它用于将输入的文本提示编码成模型可以理解的向量表示。

  • CLIP(Contrastive Language-Image Pre-training)是由 OpenAI 开发的模型,用于连接文本和图像。
  • 在 Stable Diffusion 中,CLIP 的文本编码器部分被用作 τ_θ(tau theta),即用来将文本提示转换为模型可理解的向量表示。

  • UNet的作用:
    • UNet是一个神经网络模型,专门用于预测和去除图像中的噪声。
    • 在每个步骤中,UNet接收当前的噪声图像,并预测应该去除多少噪声。
  • Scheduler的作用:
    • Scheduler控制整个去噪过程的节奏和强度。
    • 它决定在每个步骤中应该去除多少噪声,以及如何调整这个过程。
  • 配合过程: a. 初始化:从完全随机的噪声开始。 b. 迭代过程(重复50次):
    • UNet分析当前的噪声图像,预测应该去除的噪声。
    • Scheduler根据当前步骤和UNet的预测,计算实际应该去除的噪声量。
    • 将计算出的噪声从当前图像中减去,得到稍微清晰一点的图像。
    c. 逐步优化:
    • 在早期步骤,Scheduler可能会让UNet去除较多噪声,以快速形成图像的大致轮廓。
    • 在后期步骤,Scheduler可能会减缓去噪速度,让UNet更专注于细节的优化。
  • 文本引导:
    • 文本编码的信息会输入到UNet中,影响它对噪声的预测。
    • 这使得去噪过程能够朝着符合文本描述的方向进行。
  • 适应性调整:
    • Scheduler可以根据去噪的进展动态调整过程,确保生成的图像既符合文本描述,又保持高质量。

这个过程是逐步进行的。每一步都添加了更多相关信息。为了直观地了解这个过程,我们可以检查随机潜变量数组,看看它是如何转化为视觉噪音的。在这种情况下,视觉检查是通过图像解码器进行的。

扩散发生在多个步骤中,每个步骤在一个输入潜变量数组上操作,并生成另一个潜变量数组,更好地反映输入文本以及模型从训练中捕获的所有图像信息。


 

相关推荐

  1. Unity3D 实现大世界地的技术原理详解

    2024-07-20 18:26:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 18:26:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 18:26:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 18:26:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 18:26:02       55 阅读

热门阅读

  1. Python数据类型转换:掌握数据形态的转换艺术

    2024-07-20 18:26:02       19 阅读
  2. Spring Boot与JPA:无缝集成,轻松管理数据库】

    2024-07-20 18:26:02       15 阅读
  3. 分享遇到的异步问题合集

    2024-07-20 18:26:02       16 阅读
  4. 【高考志愿】音乐与舞蹈学

    2024-07-20 18:26:02       18 阅读
  5. B端产品方向(五)

    2024-07-20 18:26:02       17 阅读
  6. Canvas总结二

    2024-07-20 18:26:02       18 阅读
  7. 二叉树---从中序与后序遍历序列构造二叉树

    2024-07-20 18:26:02       18 阅读
  8. 冒泡排序代码

    2024-07-20 18:26:02       18 阅读
  9. qt log 输出为文件,每分钟换一个log文件

    2024-07-20 18:26:02       15 阅读