Stable Diffusion 是 2022 年发布的深度学习文字到图像生成模型。它主要用于根据文字的描述产生详细图像,能够在几秒钟内创作出令人惊叹的艺术作品。
我本人给出快速认识了解的描述,如下:
Stable Diffusion是一种基于diffusion(扩散模型)的开源人工智能图像生成工具\\框架。
Stable Diffusion 本身不是一个模型,而是一套图像生成框架。它包含了图像编码器、文本编码器、Diffusion模型以及图像解码器等组件。在《原理》章节会详细谈到.
传统的生成模型是直接预测像素值,即直接生成图片。而diffusion模型是从噪声开始,然后逐步优化这个噪声图片,让它变得更加清晰真实。这样的优化过程可以得到更高质量的图片。 例如,我们要生成一张人物图片。传统模型会直接预测这个人物的每个像素点的颜色和位置。而diffusion模型会首先生成一张随机噪声图片,然后反复优化这个图片,让眼睛、嘴巴、鼻子等人物特征逐渐变清晰,最终生成逼真的人物图片。这种逐步优化的方式更加稳定,可以得到更好的结果。
编码器会将文本或标签encode into一个图像特征向量,也就是一个数字向量。解码器会将这个向量decode into一个图片。 So 整个模型是一种编码器-解码器结构。 例如,输入文本描述“一位笑着的年轻女性”,编码器会编码成一个512维的数字向量。解码器会解码这个向量成一张符合描述的人物图片。
Stable Diffusion使用CLIP模型作为编码器。CLIP通过学习大量文本和图片,可以将文本和图片encode into一个共同的向量空间。这样就可以通过文本对应的向量来生成图片。 例如,CLIP学习到“人”这个词和很多人物图片对应的向量表示。所以当输入“一位笑着的年轻女性”这个文本时,CLIP可以将其映射到与“年轻女性”图片相近的向量,从而生成相应图片。
解码器使用渐进式生成网络,可以通过不断blurring和unblurring图片来生成清晰真实的图片。 例如,解码器会从噪声图片开始,先生成一张blurry的人物图片。然后重复unblur这张图片,使其变得更加清晰,然后再blur,再unblur,如此循环,最终生成清晰的人物图片。这个迭代过程可以生成更加真实的图片。
任何人都可以使用自己的数据集训练模型。这使其成为一种 very powerful的工具,可以用于艺术创作或其他不同应用。
对于某些类别如动漫图片或抽象画,效果还不够理想。未来的发展可能会提高在这些应用上的表现。