【扩散模型(一)】Stable Diffusion中的重建分支(reconstruction branch)和条件分支(condition branch)

06-25 1002阅读

Stable Diffusion 是一种基于扩散模型的生成模型,用于生成图像等数据。在解释 Stable Diffusion 的过程中,经常会提到两个主要的分支:重建分支(reconstruction branch)和条件分支(condition branch)。这两个分支有助于理解 Stable Diffusion 如何从噪声中逐渐生成符合特定条件的图像。

【扩散模型(一)】Stable Diffusion中的重建分支(reconstruction branch)和条件分支(condition branch)

1. 重建分支(Reconstruction Branch)

上图中 Pixel Space 和 Latent Space 的部分

重建分支的目的是从噪声数据逐渐去噪,重建出清晰的图像。这个过程可以概括为一个反向扩散过程,它从初始的纯噪声开始,通过一系列的步骤逐步减少噪声,最终得到清晰的图像。这些步骤通常包括以下几个方面:

  • 噪声添加(Forward Process): 在训练过程中,通过向原始图像逐渐添加噪声,得到一系列带有不同噪声水平的图像。
  • 去噪过程(Reverse Process): 在生成过程中,从一个随机的噪声图像开始,通过反向扩散模型逐步去除噪声,重建出清晰的图像。

    重建分支的关键是学习如何从不同噪声水平的图像中恢复原始图像,这通常通过一个神经网络来实现,该网络被训练用来估计给定噪声图像的去噪版本。

    2. 条件分支(Condition Branch)

    上图中 右侧条件输入模块(Conditioning) 和 Latent Space 中的跨注意力机制模块(Cross-attention,QKV)部分

    条件分支用于在生成图像时引入额外的条件或信息,从而使生成的图像符合特定的要求或描述。条件分支可以包括多种形式的条件,比如文本描述、类别标签、部分图像等。这些条件通过以下几种方式影响生成过程:

    • 条件输入(Conditional Input): 将条件信息(例如文本描述)作为额外的输入提供给模型,模型会根据这些条件来指导图像的生成过程。
    • 条件嵌入(Conditional Embedding): 将条件信息嵌入到生成模型的各层中,使得生成过程在每一步都受到条件的影响。
    • 损失函数的调整(Adjusting Loss Function): 在训练过程中,损失函数可以包含条件相关的项,使得模型在生成图像时更加符合条件的要求。

      通过条件分支,Stable Diffusion 能够生成满足特定条件的图像,例如根据给定的文本描述生成相应的图像,或根据部分图像的内容完成图像的其余部分。

      总结

      Stable Diffusion 模型通过重建分支和条件分支的协同工作,从噪声中逐步生成符合特定条件的图像:

      • 重建分支 负责从噪声中逐步重建出清晰的图像。
      • 条件分支 则引入额外的信息或条件,指导图像的生成过程,使得生成结果符合特定的要求。

        这种结构使得 Stable Diffusion 模型既能够生成高质量的图像,又能够根据特定的条件生成符合要求的图像。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]