学习Stable Diffusion

将文本特征、噪声图、噪声步(如50,表示逐步添加了50次的噪声)输入U-Net网络,得到当前预测的噪声图,分为有文本特征引导的噪声图和没有文本特征引导的噪声图,将文本引导的噪声图和没有文本引导的噪声图相减--》得到差异图(也就是文本特征所造成的差异)。通过将差异图放大(比如放大7.5倍,就是weiui中的guidance scale的参数,一般在6-7左右)在加上没有文本引导的噪声就可以得到一个加强了文本引导的噪声图(加大了文本干预生成图的效果,)

不同guidance scale的效果:

得到当前步(如50)的预测的噪声图之后,就可以将原始的噪声图和预测的噪声图相减得到当前步去噪的图片(可以理解为预测的噪声图就是对生成文本引导的图片来说是有害的,或者说是和文本原意相反的噪声,去掉了有助于更好的生成图片)。这一步就结束了,那么在第49步,就需要将第50步去噪的图片再加上原来第49步的噪声作为第49步的噪声图,经过处理得到第49步预测的噪声图。。。如此反复迭代直到没有噪声,就得到了最终生成的结果。

为什么要加前一步的噪声图??

答:噪声一般是黑白的所以减去的噪声可以理解为把每个像素格的RGB三通道减去同样的数值,但这样一直减肯定是不行的最后会成为一张黑色的图片(所有像素格三通道的数值都为0了),所以需要加上之前的步骤(如49步加上噪声的图)补全信息,这样即达到了预测的效果又会在加减中把图片中的细节体现出来。

关于正向提示词和负向提示词:

在通过unet预测噪声时,会同时生成的正常提示词和噪声和负向提示词的噪声,通过将正向提示词噪声减去负向提示词噪声得到有文本引导的噪声,也就是说通过相减的方式,使得预测更加远离负向提示词的图像。

总体概括:

训练过程:

1.把训练集的数据图像输入给VAE编码器得到潜在空间的特征,可以选择不同的策略(逐步按量增加,先加少后加多,先加多后加少。。。等等策略)来添加噪声得到噪声图。

2.将得到的噪声和文本特征输入U-Net中预测每步的噪声图,将输入的原始噪声图和预测的噪声图相减实现去噪的效果(注意去噪之后还要加上前一步的噪声图,从而实现在补全信息的同时避免逐步去掉噪声导致像素点均为0的问题),如此迭代得到没有噪声的图像。

3.最终通过VAE解码器将特征映射回像素图。

推理过程:

对于文生图而言,初始的噪声图是随机生成的。也就是说,随机生成的噪声图和文本特征输入U-Net中预测噪声----》去噪----》预测噪声----》去噪。。。。如此迭代实现逐步去噪的过程,最后通过VAE解码器得到图片。

学习于:

[零基础] Stable Diffusion 原理详解_哔哩哔哩_bilibili

相关推荐
慧知AI16 分钟前
Kimi 2.6 技术深度解析:5秒响应背后的架构突破
人工智能
卷卷说风控26 分钟前
单独一个工具再强,不如一套工具链协同|卷卷养虾记 · 十二篇
人工智能
黑金IT32 分钟前
vLLM本地缓存实战,重复提交直接复用不浪费算力
人工智能·缓存
七七powerful34 分钟前
运维养龙虾--Tmux 终端复用器完全指南:从入门到 AI Agent 远程操控
运维·服务器·人工智能
七夜zippoe38 分钟前
OpenClaw 飞书深度集成:文档操作
人工智能·飞书·集成·文档·openclaw
databook39 分钟前
从写代码到问问题:2026年,AI如何重构数据科学工作流
人工智能·后端·数据分析
深山技术宅44 分钟前
OpenClaw 系统架构深度解析
人工智能·ai·系统架构·openclaw
skilllite作者1 小时前
AI 自进化系统架构详解 (一):重新定义 L1-L3 等级,揭秘 OpenClaw 背后的安全边界
人工智能·安全·系统架构
m0_694845571 小时前
CRUD (Nestjsx)部署教程:自动生成RESTful接口
服务器·人工智能·后端·开源·自动化·restful
瑶光守护者1 小时前
【一文读懂】OpenClaw系统架构分析:自主人工智能智能体的范式迁移与技术底座分析
人工智能·笔记·学习·系统架构·边缘计算·openclaw