stable diffusion相关好文

记录自己学习过程中的笔记,可能存在一些错误,欢迎讨论交流。

链接1:十分钟读懂Diffusion:图解Diffusion扩散模型 - 知乎 (zhihu.com)

学习完链接1,可知道:

1,stable diffusion的前向扩散过程,是不断地往原图X0里面添加噪声,一直到T步之后得到XT;反向扩散过程,是从XT,预测XT-1到XT的噪声,然后用XT-预测得到的第T步的噪声得到XT-1,不断重复该过程得到X0。

2,训练的loss,是网络预测的噪声与真实的噪声的L2损失。

链接2:扩散模型之DDPM - 知乎 (zhihu.com)

链接2是关于扩散模型的公式推导,较难理解,看完之后暂且先记住了以下内容:

1,如果每一步所添加的方差序列β1-βT都知道了,那么加了T次噪声之后的图片可以直接由X0计算得到:

2,这里借用链接2中的一张图片,左边是训练时候的样子,由1可知,红色框内的公式就是XT,将XT和时间步长t作为输入,去预测噪声,并将预测得到的噪声与添加的真实的噪声计算损失。

右边是从XT还原到X0,预测每一步的噪声,然后用XT一次次减去预测的噪声,可得到X0.

链接3:AIGC专栏3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例_Bubbliiiing的博客-CSDN博客

链接3详细介绍了stable diffusion的各部分构成。有以下点需要注意:

1,VAE变分自编码器是提前训练好的,它其中的encoder会将图片进行压缩,而decoder会将压缩后的图片进行还原。

2,文本编码和时间步长编码可以通过两种方式融合到图片潜在空间(也就是压缩后的图片),一是使用torch.cat直接堆叠,二是使用cross Attention。

3,选择在压缩后的图片上进行扩散过程,占用的显存和内存都比较小,可以在一般的设备上运行(显存6G左右即可顺利运行)

链接4:[零基础] Stable Diffusion 原理详解_哔哩哔哩_bilibili

链接4是一个视频,其中讲到了刚才没有说到的CFG,classifier free guidance,是为了解决在加入了文本特征之后,网络比较难以注意到本文特征的问题。首先,用U-Net预测没有文本特征引导的原图X0,然后用U-Net预测有文本特征引导的原图X0_word,利用(X0_word - X0)我们可以得到文本特征的区域,提高它的权重,并将其加到X0上,比如这个权重是8,那么最终的输出就是X0+8*(X0_word - X0)。

链接4还有的知识点,利用正向提示词预测得到的噪声,减去负向提示词得到的噪声,使得我们预测输出的噪声更加靠近正向提示词,远离负向提示词。

其它有关的链接:

链接5,B站上发布一键部署stable diffusion的up主,感谢:秋葉aaaki的个人空间_哔哩哔哩_bilibili

链接6,DDPM的学习:DDPM解读(一)| 数学基础,扩散与逆扩散过程和训练推理方法 - 知乎 (zhihu.com)

链接7,stable diffusion的一些说明与使用:文生图模型之Stable Diffusion - 知乎 (zhihu.com)

 链接8,扩展学习,XT到XT-1为什么预测的是噪声而不是XT-1,可以简单解释,我们在训练过程中不想让每个XT都最终对应到同一个X0上,所以改成预测噪声,更加具有随机性。扩散模型(diffusion model)为什么不训练一个模型,使用x(t)预测x(t-1)? - 知乎 (zhihu.com)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值