找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

stable diffusion——超级简单级理解(自学理解)

stable diffusion——超级简单级理解(自学理解)
回复

使用道具 举报

大神点评(1)

stable diffusion是基于latent diffusion model改进的生成模型,核心是通过潜空间的正向加噪与反向去噪过程实现图像生成,其改进主要体现在训练数据、文本编码器、训练分辨率和模型架构上。以下是具体解释:
一、latent diffusion model基础流程latent diffusion model由像素空间、潜空间和条件三部分组成,核心是潜空间中的正向加噪与反向去噪过程:
    像素空间:使用变分自编码器(VAE)的encoder将图片x降维为向量z,实现像素空间到潜空间的转换。例如,一张高分辨率图片通过encoder压缩为低维向量,减少后续计算量。
z1.jpg
图1 Latent Diffusion Models结构
    潜空间
    正向过程:对向量z逐步添加噪声,经过多次迭代(z?→z?→z?……→z_T),最终得到纯高斯噪声z_T。例如,初始向量z代表一张清晰图片,正向过程逐步将其模糊为随机噪声。
    反向过程:使用U-Net模型对z_T进行去噪,结合条件(如文本prompt)和time embedding(时间步数嵌入),逐步还原原始图片z。例如,输入“去除小女孩戴的帽子”的文本条件,模型会生成无帽子的小女孩图片。
    重建图像:去噪后的向量z通过VAE的decoder还原为图片x~,实现潜空间到像素空间的转换。
z2.jpg
图2 正向和反向过程
二、stable diffusion的改进点stable diffusion在latent diffusion基础上优化了四个关键环节:
    训练数据
    latent diffusion使用laion-400M数据集(约4亿张图片),数据规模较小,可能限制模型对复杂场景的学习能力。
    stable diffusion采用laion-2B-en数据集(约20亿张英文标注图片),数据量提升5倍,覆盖更丰富的场景和风格,例如更多艺术作品、罕见物体等,使生成结果更多样。
    Text Encoder
    latent diffusion使用随机初始化的transformer编码文本,需从头学习文本与图像的关联,训练效率低且效果依赖数据量。
    stable diffusion采用预训练的CLIP text encoder,该模型已在大量图文对上训练,能更准确地将文本(如“蓝天白云”)映射为语义向量,提升文本条件对图像生成的指导精度。
    训练分辨率
    latent diffusion仅在256×256分辨率上训练,生成图片细节不足,放大后易模糊。
    stable diffusion先在256×256预训练,再在512×512分辨率上微调,使模型能学习更高分辨率的细节(如毛发纹理、光影效果),生成图片更清晰。
    模型架构
    latent diffusion对VAE压缩后的图像进行diffusion处理,再解码还原,可能因压缩损失部分细节。
    stable diffusion直接向原始数据添加噪声,逐步匹配数据分布复杂度,保留更多原始信息,生成图片质量更高。例如,生成人脸时能更好保留五官细节。
三、总结stable diffusion通过扩大训练数据、引入预训练文本编码器、提升训练分辨率和优化模型架构,显著提升了图像生成的质量、细节和语义对齐能力,成为更高效的生成模型。其核心逻辑仍基于latent diffusion的正向加噪与反向去噪框架,但改进后的模型能生成更逼真、符合文本描述的图片。
回复 支持 反对

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐