https://jalammar.github.io/images/stable-diffusion/diffusion-steps-all-loop.webm https://jalammar.github.io/images/stable-diffusion/stable-diffusion-steps-2-4.webm diffusion扩散模型是如何运作的? 假设有一张图片,同时生成一些噪声,并将噪声添加到图片中。 这就是一个训练样本,使用同样的方式可以创建大量...
我们先从提示词开始吧,我们输入一段提示词a black and white striped cat(一条黑白条纹的猫),clip会把文本对应一个词表,每个单词标点符号都有相对应的一个数字,我们把每个单词叫做一个token,之前stablediffusion输入有限制只能75个单词(...
图像信息创建器完全在图像信息空间(或潜空间)中运行,这一特性使得它比其他在像素空间工作的Diffusion模型运行得更快;从技术上来看,该组件由一个UNet神经网络和一个调度(scheduling)算法组成。 扩散(diffusion)这个词描述了在该组件内部运行期间发生的事情,即对信息进行一步步地处理,并最终由下一个组件(图像解码器)生成...
早期的 Stable Diffusion 模型只是插入 OpenAI 发布的预训练 ClipText 模型。未来的模型可能会切换到新发布的、更大的CLIPOpenCLIP变体(2022 年 11 月更新:确实如此,Stable Diffusion V2 使用 OpenClip)。这个新批次包括大小高达 354M 参数的文本模型,而不是 ClipText 中的 63M 参数。 CLIP 是如何训练的 CLIP ...
实际上,整个生成过程包括三个主要步骤。我会先概述这三个步骤,让大家对 Stable Diffusion 有一个整体的认识,然后再详细讲解其中的细节: 首先,用户输入的 Prompt 会经过一个称为Text Encoder(文本编码器)的模型,将其编译成词特征向量。这一步生成 77 个等长的向量,每个向量有 768 个维度。可以先简单地理解为「将...
latent diffusion论文中实验了不同参数下的autoencoder模型,如下表所示,可以看到当较小和较大时,重建效果越好(PSNR越大),这也比较符合预期,毕竟此时压缩率小。 论文进一步将不同的autoencoder在扩散模型上进行实验,在ImageNet数据集上训练同样的步数(2M steps),其训练过程...
辅助loss主要是为了确保重建的图像局部真实性以及避免模糊,具体损失函数见latent diffusion的loss部分。同时为了防止得到的latent的标准差过大,采用了两种正则化方法:第一种是KL-reg,类似VAE增加一个latent和标准正态分布的KL loss,不过这里为了保证重建效果,采用比较小的权重(~10e-6);第二种是VQ-reg,引入一个VQ ...
粉色的模块是Stable Diffusion的核心,也是Stable Diffusion和其他diffusion模型最大的区别,很多性能上的提升就来源于此。 首先,最需要明确的一点:图片信息生成器不直接生成图片,而是生成的较低维度的图片信息,也就是所谓的隐空间信息(information of latent space)。这个隐空间信息在下面的流程图中表现为那个粉色的4*3的...
其实Stable Diffusion 本身并不是一个模型,而是一个由多个模块和模型组成的系统架构,它由三大核心部件组成,每个组件都是一个神经网络系统,也称为三大基础模型: 1. CLIPText 用于文本编码,使文本数字化: Input:输入文本(提示词 Prompt); Output:77 token embeddings vectors,每个 token 向量有 768 个维度; ...
这里将解释一下扩散模型中最火的stable diffusion,一般我们谈论生成扩散模型,或者是AI绘画时一般谈论的也是它.事实上这个模型的由来涉及到三组研究人员分别来自stability.ai,runwayml以及CompVis.当你下载stable diffusion模型时一般就会从stability以及compvis里下载.模型介绍 稳定扩散(Stable Diffusion)具有多种用途,可以...