SD(Stable Diffusion)是由初创公司 StabilityAI、CompVis 与 Runway 合作开发,2022 年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像。
Stable Diffusion 是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model; LDM)。SD 的代码模型权重已公开发布,可以在大多数配备有适度 GPU 的电脑硬件上运行。当前版本为 2.1 稳定版(2022.12.7)。
SD 的工作原理是生成随机噪声,并一步一步地更改噪声,以尝试并努力获得与提示一致的图像。具体来说,SD 包括 encoder+diffusion+decoder 的流程。其中,encoder 是将输入的文本或图像信息转换为低维度的潜在表示,diffusion 是通过随机噪声和前一步的潜在表示来生成新的潜在表示,decoder 是将潜在表示转换为输出的图像。
在训练过程中,SD 会学习如何根据输入的文本或图像信息来生成与之相关的图像。在推理过程中,SD 会根据输入的文本或图像信息来生成新的图像。
总的来说,SD 是一种非常强大的图像生成模型,可以根据输入的文本或图像信息来生成高质量的图像。
The Illustrated Stable Diffusion – Jay Alammar – Visualizing machine learning one concept at a time.(jalammar.github.io)贴博客是因为它解释得很清楚很好了。其次要了解Stable Diffusion的工作原理是生成随机噪声,并一步一步地更改噪声,以尝试并努力获得与提示一致的图像。work like thistext2img和img2img1.text2img2.img2img现在才进入正题!有以上img2img、text2img的流程可以看到,基本结构就是encoder+diffusion+decoder的流程。这是解释以上过程的论文的流程图。Checkpoint就是记录某个训练周期这整个diffusion/可能加上encoder decoder的参数。vae就是encoder decoder的参数,在SDXL等大型模型里vae要配对不然容易出现中间diffusion过程正常后面最后decode的时候花屏现象。接下来看ControlNet。这里的unet结构就是上面论文图中4个QKV的两片甲板的。左上这个prompt进入text encoder在每个模块上加入text information(token embeddings)。这里embedding模型就是这么用的咯,像字典一样。对token取对应的embedding。Time encoder是为了记录noise amount,第几步step。右边是controlnet插入。LoRA模型的训练逻辑是首先冻结SD模型的权重,然后在SD模型的U-Net结构中注入LoRA模块,并将其与CrossAttention模块结合,并只对这部分参数进行微调训练。也就是以上的sd encoder block和sd decoder block的权重参数进行调整。
首先是关于Stable Diffusion的工作原理,就好比你现在想学画画,学梵高的风格,那么你肯定要先去看梵高的画,然后一幅幅的临摹。一幅画起码要临摹个一百遍吧,从一开始完全不像,到慢慢找到要领,要想画到出神入化以假乱真的地步,一个月的时间够短了吧。梵高一生有接近500幅画,全部学完大概四十年吧,然后你就可以开始接单画梵高风格的画了。当然,客户的要求肯定不是让你画一模一样的梵高《向日葵》,而是说我要一幅梵高的《西瓜》,并且考虑到你已经很熟练了,给你半个小时的时间画出来,应该不难吧。于是,你吭哧吭哧地画完,客户看完之后立马给了你一个大嘴巴子,说你这个画的是神马东西,立马再给我画一幅。然后你强忍着泪水继续画,好不容易画完了,客户看完之后略有所思,说这一稿还行,但是这个颜色不太好,你再用黄色、紫色、粉红色各微调一版给我。于是,你又花了两个小时,改了三稿给客户,客户看完沉吟了许久,说我可能不太喜欢梵高了,你给我来一幅毕加索风格的吧。。。。。。于是,我打开了AI,花了一分钟的时间画完了这两幅画。
SD是Stable Diffusion的简称。是它是由初创公司StabilityAI、CompVis与Runway合作开发,2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像。Stable Diffusion是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model; LDM)。SD的代码模型权重已公开发布,可以在大多数配备有适度GPU的电脑硬件上运行。当前版本为2.1稳定版(2022.12.7)。<br>|源代码库:github.com/Stability-AI/stablediffusion|我们可以通过一系列的工具搭建准备,使用SD进行想要的图片aigc(心想事成的魔法施与)。