Stable diffusion 学习过程
diffusion model
讲解:
【较真系列】讲人话-Diffusion Model全解(原理+代码+公式)_哔哩哔哩_bilibili
stable diffusion【CVPR2022】
原始论文: https://arxiv.org/pdf/2112.10752
代码:
GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model
Imagen【NeurIPS 2022】
论文:https://arxiv.org/pdf/2205.11487
讲解:https://zhuanlan.zhihu.com/p/640941181
其实挺简单的,就是在后面加入了一个超分的部分。
1. 文本编码:T5模型
2. classifier-free guidance:
3. 对unet进行改进,减小训练过程的计算开销。
4. text-image(base model:64*64);image-image(超分model:64*64->256*256);image-image(超分model:256*256->1024*1024) 三个模块。
在两个超分模块中,除了text embeddings作为条件外,作者还将低分辨率的输出图像作为控制生成过程的条件之一。而对于文本编码的使用,则是先concat到图像后面,然后再作cross attention处理
Dreambooth【CVPR 2023】
论文:https://arxiv.org/pdf/2208.12242v1
讲解:【文生图】DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation-CSDN博客
感觉就是sd换了一个损失函数,然后又加上了sr模块。
语言模型也是使用的T5
IP-Adapter【未发表】
其实还挺简单的,它是有两个prompt,分别是image和text(可以不要)
两个prompt分别经过cross-attn,并把结果相加后输入到unet中。
SnapFusion【NeurIPs 2023】
讲解:https://zhuanlan.zhihu.com/p/650739412
论文:https://arxiv.org/pdf/2306.00980
创新点:
1. 改进unet,将里面的结构去掉,分析效果,然后找到去掉结构后对网络影响最小的那几块使用;
2. 蒸馏,对DDPM的步数进行蒸馏
3. VAE Decoder 优化,使用蒸馏
感觉改进不是很多。
对于文本编码器,好像是用的clip,和sd一样,没有重点在文章中找。
ControlNet 【ICCV 2023】
论文:https://arxiv.org/abs/2302.05543
讲解:https://zhuanlan.zhihu.com/p/617017935
代码:https://github.com/lllyasviel/ControlNet
motivation:基于文本的输入是否满足日常使用的要求
提出了一个网络,其实就是在unet中添加了下图这个结构(controlnet)
然后下面是unet的结构
大致上输入是这样的:
DeepCache【CVPR2024】
论文:https://arxiv.org/pdf/2312.00858
讲解:https://zhuanlan.zhihu.com/p/673114336
代码:GitHub - horseee/DeepCache: [CVPR 2024] DeepCache: Accelerating Diffusion Models for Free
创新点:
找的角度很好,改进并不大,效果很好,就是将上一时刻的特征缓存下来,然后后续直接使用。
对于文本编码器,使用的是clip。
DiT【ICCV 2023】
论文:https://arxiv.org/pdf/2212.09748
DiT只能按照类别进行图片生成,可以生成imagenet中的1000类。主要的创新点感觉就是改进了一个transformer,其余的没有什么太大的变化.应证了实习的时候和同事们聊的,多模态现在几乎使用一个mlp进行编码了。这边也是将文本数据进行mlp编码。
Stable diffusion3
讲解:https://zhuanlan.zhihu.com/p/685457842
论文:https://arxiv.org/pdf/2403.03206
视频:Stable Diffusion 3 论文技术解析,架构细节大揭秘!_哔哩哔哩_bilibili
一是关于flow matching的改进;另一方面是在Diffusion Transformer上的具体设计
flow matching的改进 只是改变了损失函数的weight
Rectified Flow基础知识:https://zhuanlan.zhihu.com/p/687740527
原本rf的loss:
本文只是改变了前面的weight
w和lamda根据不同的形式进行修改。 (文中都给出了)
其次,由于timestamp 不均匀分布,在中间的过程比较困难,所以需要对时间有一个非均匀采样(中间的多)
Π(t)是一个分布函数
使用不同的方法有不同的公式。(文章都有给出)
sd的相关改进设计使用的是dit的模型,而把相应的文本输入和图像输入变成两个分支。
InstanceDiffusion【CVPR 2024】
讲解:InstanceDiffusion论文笔记-CSDN博客
论文:https://arxiv.org/pdf/2402.03290
实例级别的diffusion model,主要其实就是
这个图。
在原始的模型中加了个unifusion,处理不同的instance,和对应的text。
scaleu则是一个对unet的优化
原文地址:https://blog.csdn.net/m0_52945258/article/details/142300478
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!