解码稳定扩散:训练、生成新图片和使用给定上下文进行控制
如果您打开了我的文章,您可能使用了DALL-E、Midjourney或Stability AI等服务的文本到图像模型。
嗯,所有这些模型都基于扩散模型。
即使您希望将它们视为一个神奇的黑盒子,了解它们在内部如何工作的直觉将有助于您生成更好的艺术作品。
本文旨在让您对扩散模型如何生成新图像、如何在新数据集上进行训练以及如何根据给定上下文(例如文本、另一张图像、类别等)进行控制有所了解。
我们不会过多涉及技术细节,而是概念上关注使扩散模型工作的主要组件。
目录
- 对扩散模型的工作方式有所了解
- 扩散模型如何生成新图像
- 如何训练扩散模型的简要指南
- 使用给定上下文控制稳定扩散模型
#1. 对扩散模型的工作方式有所了解
我们将以猫的数据集作为示例。
因此,假设我们想要训练一个稳定的扩散模型来生成新的猫。
然后,要:
生成数据集 – 添加高斯噪声
我们将数据集中的每个图像逐渐添加高斯噪声。
现在,我们有多个包含各种噪声水平的图像,用于每个初始猫图像。
训练模型 – 去除噪声
模型的实际工作是接收一个带有噪声的图像,并将噪声从中去除。
因此,在训练扩散模型时:- 它将接收一个带噪声的图像作为输入- 它将尝试去除噪声- 损失是在“清洁”图像与原始无噪声图像之间计算的