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

33 篇文章 1 订阅
22 篇文章 0 订阅

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

在这里插入图片描述

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 模型既能够生成高质量的图像,又能够根据特定的条件生成符合要求的图像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值