“ Stable Diffusion的工作原理:深入解析Stable Diffusion通过两个主要阶段进行操作:**前向扩散**和**反向扩散**。
**前向扩散:**此过程涉及向训练图像添加噪声,逐渐将其转换为完全随机的噪声图像。关键在于,此过程使得无法确定原始图像,这对模型的学习至关重要。
**反向扩散:**这是Stable Diffusion的核心。从噪声图像开始,模型学会逆转扩散过程,逐渐去除噪声以重建原始图像。这是使用一个称为**噪声预测器**的神经网络模型实现的,通常是U-Net模型。
**训练噪声预测器:**U-Net模型被训练来预测在前向扩散过程的每一步添加到图像中的噪声量。通过调整噪声预测器的权重,模型学会准确估计和去除噪声,从而实现反向扩散过程。
**潜在扩散:**与早期直接在图像空间中操作的扩散模型不同,Stable Diffusion使用**潜在空间**。这意味着图像首先使用**变分自编码器(VAE)**压缩到低维潜在空间。这大大降低了计算需求,使过程更快、更有效。例如,一张512x512像素的图像可能在4x64x64的潜在空间中表示,这比原始像素空间小48倍。
“ 条件控制:文本提示及其他Stable Diffusion通过**条件控制**实现从文本提示生成特定图像的能力。这涉及引导噪声预测器生成与给定文本一致的图像。该过程涉及几个步骤:
**分词:**首先对文本提示进行分词,使用CLIP等分词器将每个单词转换为数值表示。
**嵌入:**然后将每个标记转换为一个768维向量,称为嵌入。这些嵌入捕获单词的语义信息,使模型能够理解它们之间的关系。
**文本Transformer:**嵌入由文本Transformer处理,为噪声预测器使用做准备。
**注意力机制:**U-Net利用注意力机制,包括自注意力和交叉注意力,来理解提示中单词之间的关系并生成相应的图像特征。自注意力识别单词之间的关系,而交叉注意力则弥合了文本和图像生成之间的差距。
“ Stable Diffusion模型:v1 vs v2 vs SDXLStable Diffusion已经经历了几个版本,每个版本都有其优点和缺点:
**Stable Diffusion v1:**在LAION-2B数据集上训练,使用OpenAI的CLIP ViT-L/14进行文本嵌入。它以其灵活性和易用性而闻名。
**Stable Diffusion v2:**使用OpenCLIP进行文本嵌入,并在LAION-5B数据集的过滤子集上进行训练。虽然它提供了改进的图像质量,但在控制风格和生成特定个人的图像方面可能更具挑战性。
**SDXL:**一个拥有66亿参数的更大模型,SDXL由基础模型和精炼模型组成。它在图像质量和细节方面有了显著的改进,默认图像尺寸为1024x1024像素。SDXL结合了最大的OpenClip模型(ViT-G/14)和OpenAI的CLIP ViT-L,使其更容易引导和训练。
原始链接:https://www.cnblogs.com/flydean/p/18235713
评论(0)