【深度学习】Diffusion模型

Diffusion基础理论入门

方向:ddpm ==》 ddim 论文

公式推导:科学空间-苏剑林

Diffusion Models

视频唐宇迪——Diffusion
1 t时刻,给图片1增加高斯分布噪声为图片2

2 使用噪声预测模型,输入为t时刻,输出为噪声分布,标签为步骤1中产生的高斯分布噪声

3 将时刻t和图片2作为预测模型(UNet)输入,t-1时刻的图片作为预测模型输出

4 推理时,使用随机(h,w,3)的高斯分布和时刻t(=2000)作为输入,输入为t-1时刻的图片;重复上述步骤2000次,即t-0时刻为生成图片

Latent Diffusion ==》Stable diffusion

Latent Diffusion 论文:https://arxiv.org/abs/2112.10752

Stable diffusion由Stability AI 推出,基于Latent Diffusion制作,无论文。

Code: https://github.com/CompVis/latent-diffusion

原理

PPT1_Math_Reading_Group_Stable_Diffusion.pdf

视频讲解(建议看下面的视频讲解,文章中的图片来源于【2】Lightning AI):

【1】试图做一个正常讲解Latent / Stable Diffusion的成年人

【2】Youtube_Lightning AI——Stable Diffusion Explained

总体训练流程

1 使用VAE模型的Encoder部分对图片进行编码,即生成特征图片1(其符合正太分布?)

VAE模型:下图源于VAE(Variational Autoencoder)简单推导及理解
在这里插入图片描述

2 在 t 时刻对特征图片1添加噪声

3 使用CLIP模型对条件信息进行处理,特征图片中信息作为q 文本或图片信息(condition)作为k和v

4 将特征图片2与条件信息再进行cross attention处理输入去噪UNet网络,重复本次操作 t-1次

5 将处理后的图片输入VAE模型的Decoder部分,生成原始图片

在这里插入图片描述

推理阶段

1 使用CLIP编码条件信息,并生成tN 高斯分布图片A

2 将未加条件信息和加了条件信息的图片输入 UNet网络,输出两张噪声编码图片B C

3 将图片B和C进行信息整合,更新Attention UNet的输入,重复上述2, 3步骤直到 i-1=0

在这里插入图片描述

整体架构在这里插入图片描述

详细

UNet网络

1 使用ResNet和Spatial Transformer替换卷积和Relu激活作为layer结构
在这里插入图片描述

ResNet模块细节

加噪过程?
在这里插入图片描述

Cross Attention机制

QKV来源于不同的特征,Latent Diffusion中Q来源于图片,KV来源于conditions

在这里插入图片描述

各模块应用细节

在这里插入图片描述

  • Number of Resnet+SpatiaTransformers per blockdepends on application.
  • Number of downsamplingand upsampling blocksdepends on application.
  • Timestep embedding enters all Resnets.
  • Context embedding enters all Spatial Transformers.

训练
在这里插入图片描述

VAE

VAE – Reparameterization Trick

在这里插入图片描述

在这里插入图片描述

self-attention

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ENDPGoh0-1678769503337)(diffusion.assets/image-20230308123930650.png)]

训练VAE
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s5e2SF2f-1678769503337)(diffusion.assets/image-20230308124113687.png)]

数据集:LAION-5B

其他

DALL·E 2 解读

神器CLIP

midjourney

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值