• 35张图,直观理解Stable Diffusion


    00fb013f62023d0b0f883747c83475f9.png

    作者|Jay Alammar

    翻译|杨婷、徐佳渝

    最近,AI图像生成引人注目,它能够根据文字描述生成精美图像,这极大地改变了人们的图像创作方式。Stable Diffusion作为一款高性能模型,它生成的图像质量更高、运行速度更快、消耗的资源以及内存占用更小,是AI图像生成领域的里程碑。

    在接触了AI图像生成以后,你可能会好奇这些模型背后的工作原理。

    下面是对Stable Diffusion工作原理的概述。

     be7144b37f5e5360d34b6df2be22ca9d.png

    Stable Diffusion用途多样,是一款多功能模型。首先它可以根据文本生成图像(text2img)。上图是从文本输入到图像生成的示例。除此之外,我们还可以使用Stable Diffusion来替换、更改图像(这时我们需要同时输入文本和图像)。

    46b9cdd12867eb6ea168dca9b5674a0b.png

    下面是Stable Diffusion的内部结构,了解内部结构可以让我们更好地理解Stable Diffusion的组成、各组成部分的交互方式、以及各种图像生成选项/参数的含义。

    1
    Stable Diffusion的组成

    Stable Diffusion并不是一个单一模型,而是由多个部分和模型一起构成的系统。

    从内部来看,首先我们可以看到一个文本理解组件,这个组件将文本信息转化为数字表示(numeric representation)以捕捉文本意图。

    dcbc99553671c0e96e94cd596fbfe0a5.png

    这部分主要对ML进行大概介绍,文章后续还会讲解更多细节。可以说这个文本理解组件(文本编码器)是一个特殊的Transformer语言模型(严格来说它是一个CLIP模型的文本编码器)。将文本输入到 Clip 文本编码器得到特征列表,对于文本中的每一个word/token 都有会得到一个向量特征。

    然后将文本特征作为图像生成器的输入,图像生成器又由几部分组成。

    9ac18052b6b6a5a2a3710085bbc3e39d.png

    图像生成器两步骤:

    1-图像信息创建器(Image information creator)

    图像信息创建器是Stable Diffusion特有的关键部分,也是其性能远超其他模型的原因。

    图像信息创建器运行多个step生成图像信息。Stable Diffusion接口(interfaces)和库(libraries)的step参数一般默认为50或100。

    图像信息创建器完全在图像信息空间(亦称潜在空间)上运行,这让Stable Diffusion比以前在像素空间(pixel space)上运行的扩散模型速度更快。从技术上讲,图像信息创建器由UNet神经网络和调度算法组成。

    “扩散”一词描述了图像信息创建器中发生的事情。因为图像信息创建器对信息作了逐步处理,所以图像解码器(image decoder)才能随后产出高质量图像。

    3e942dfb22dd60214bde725c8fc22df9.png

    2-图像解码器(Image Decoder)

    图像解码器根据图像信息创建器的信息绘制图像,它只用在过程结束时运行一次,以生成最终的像素图像。

    39d21fb2c648f60789765a534ca4310e.png

    这样就构成了Stable Diffusion的三个主要组成部分,每个部分都有自己的神经网络:

    • ClipText: 用于文本编码。输入: 文本。输出: 77个token embeddings向量,每个向量有768维。

    • UNet+调度程序: 在信息(潜在)空间中逐步处理信息。输入: 文本embeddings和一个初始化的多维数组(结构化的数字列表,也称为

  • 相关阅读:
    又发现了一个Jupyter Notebook的黑科技,Visual Python支持无代码开发!
    LoadingCache
    Linux基础操作命令详解
    抖音真机抓包frida脚本
    02-Linux
    【NoSQL】redis之持久化(RDB、AOF)
    百数服务商——顶杰云,为建筑行业数字化转型“添砖加瓦”
    FreeRTOS学习笔记-任务通知
    【八大排序算法】插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序
    使用CXF调用WSDL(二)
  • 原文地址:https://blog.csdn.net/OneFlow_Official/article/details/128681586