扩散模型(六)| Stable Diffusion
High-Resolution Image Synthesis with Latent Diffusion Models
https://arxiv.org/pdf/2112.10752.pdf
https://github.com/CompVis/latent-diffusion
动机
Diffusion models(DMs)通常在像素空间操作,因此训练DMs消耗巨大的GPU资源,基于序列化生成的推理过程代价也比较高。为了使DM能够在有限的计算资源下训练,并且保持优越的生成质量和灵活性,本文将DM应用在预训练好的自编码器的潜在空间中,相比pixel-based DM极大地减小计算需求。并且由于是在潜在空间训练模型,它在空间维度方面展现更好的缩放特性。
引入cross-attention层,使得模型可以更灵活的根据不同类型条件输入进行图像生成。
方法
代码diffusers库实现
https://github.com/xiaohu2015/nngen/blob/main/models/stable_diffusion/stable_diffusion.ipynb
...
扩散模型(五)| Imagen
Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
Google-https://arxiv.org/pdf/2205.11487
参考:https://www.zhangzhenhu.com/aigc/imagen.html#
创新(1)在text-only语料数据上训练的大语言模型(如T5)对text-to-image生成有非常重要的影响,增大大语言模型的size比增大图像diffusion模型更能提高生成样本质量。
(2)引入动态阈值,可以让diffusion模型在推理采样时利用更高的guidance权重生成更现实主义和细节的图像。
(3)提出Efficient U-Net架构,使模型更简洁、收敛更快、显存占用更小。
概览Imagen,一个text-to-image diffusion模型,同时结合大语言模型和扩散模型的优势。
Imagen架构如下图所示:使用一个frozen text encoder(T5-XXL)来将输入文本编码成text embeddings。一个 ...
扩散模型(四)| DALL-E2(unCLIP)
OpenAI - Hierarchical Text-Conditional Image Generation with CLIP Latents
论文:https://arxiv.org/pdf/2204.06125
参考:
https://blog.csdn.net/xiqiao_ce/article/details/132769442
https://www.bilibili.com/video/BV17r4y1u77B/?spm_id_from=333.999.0.0&vd_source=f16d47823aea3a6e77eec228119ddc27
https://zhuanlan.zhihu.com/p/394467135
https://zhuanlan.zhihu.com/p/648389187
文生图模型时间线上面是闭源相关,下面是开源相关模型。
历史生成式方法GANGAN包含生成器(Generator)和判别器(Discriminator)。
生成器根据随机噪音z生成图片x’;生成图片x’和真实图片x被送入判别器中,判别是真图片还是假图片。
...
扩散模型(三)| Classifier Guidance & Classifier-Free Guidance
学习笔记,学习资料:
https://zhuanlan.zhihu.com/p/660518657
https://zhuanlan.zhihu.com/p/642519063
https://www.zhihu.com/question/582965404/answer/3380307490
Classifier Guidance思想:给定一个分类模型中存在的类别,让模型生成这个类别的东西。
比如指定模型生成图像的类别是“狗”,模型就生成一张狗的图。所以这种方式是条件生成,条件是 $y$,扩散过程中的生成图像是 $x_t$。
公式上,用贝叶斯定理将条件生成概率进行对数分解:
第二个等号后面最后一项消失了,因为当我们要求模型生成“狗”的图像时,扩散过程始终 $y$不变,对应的梯度也是0,可以抹掉。
第三个等号后面两项中,第一项是扩散模型本身的梯度引导,新增的只能是第二项,即classifier guidance只需要额外添加一个classifier的梯度来引导。
1234567891011121314151617181920#加载一个训练好的图像分类模型classifier ...
扩散模型(二)| IDDPM
学习笔记
论文:https://arxiv.org/pdf/2102.09672.pdf
代码:https://github.com/openai/improved-diffusion
参考:
https://blog.csdn.net/weixin_42486623/article/details/130505935
https://zhuanlan.zhihu.com/p/641013157
https://zhuanlan.zhihu.com/p/557971459
https://www.youtube.com/watch?v=JbfcAaBT66U
https://zhuanlan.zhihu.com/p/109342043、https://zhuanlan.zhihu.com/p/655398520
生成模型的评价指标FID(Fréchet Inception Distance)把真实的图像和生成的图像分别送入分类器中,可以得到两个不同的特征分布。假设这两种分布都是高斯分布,利用Fréchet距离可以求出两个分布的距离。FID距离越小代表生成的分布和真实分布越接近 ...
扩散模型(一)| DDPM & DDIM
学习笔记,主要参考:
https://zhuanlan.zhihu.com/p/666552214
https://www.youtube.com/watch?v=ifCDXFdeaaM(hong-yi Lee Diffusion Model原理剖析)
https://www.bilibili.com/video/BV1Zh411A72y/?spm_id_from=333.999.0.0&vd_source=f16d47823aea3a6e77eec228119ddc27
https://www.zhihu.com/question/545764550/answer/2670611518
https://zhuanlan.zhihu.com/p/627616358
https://zhuanlan.zhihu.com/p/639540034
https://zhuanlan.zhihu.com/p/599887666
优化目标学习一个网络,使得该网络生成的图像集的分布和真实的图像集的分布越接近越好(生成图像集的分布和真实图像集的分布的KL散度越小越好)。从最大似然估计角 ...
NAS|AutoFormer & AutoFormer++
AutoFormer
AutoFormer: Searching Transformers for Visual Recognition(21 ICCV-microsoft)
https://github.com/microsoft/Cream/tree/main/AutoFormer
动机设计Transformer是有挑战性的。depth、embedding dimension、number of heads能够影响视觉transformer的性能。先前的工作这些特征依赖人工设定。然而,如下图所示,简单地增加depth(d), head number(h)和MLP ratio(r)在初始可以帮助模型达到更高的性能,然而在达到峰值后模型变得过拟合。增加embedding dimension(e)可以提高模型的性能,但对于较大的模型,精度会停滞不前。
本工作提出一个one-shot架构搜索框架AutoFormer,专用于发现好的视觉Transformer模型。该方法主要解决Transformer搜索中的2项挑战:
如何较好地结合transformer模型中的关键因素,如网络深度、嵌 ...
模型架构|MQA & GQA 调研
MQA(Multi-Query Attention)
Fast Transformer Decoding: One Write-Head is All You Need (Google)
https://arxiv.org/pdf/1911.02150.pdf
动机Transformer在训练过程中可以并行处理所有序列,所以其训练过程是快速高效的;但是其推理过程是串行的,其需要重复地加载大的键值对,加载键值对的过程耗时耗力,对内存带宽(memory-bandwidth)需求大,造成计算瓶颈(计算过程很快,但是数据加载过程慢,处理单元在空等数据,导致计算力的浪费)。本文提出MQA,键和值在所有不同注意力头中共享,需要加载的key和value矩阵的参数量变小,从而减少了增量解码过程对内存带宽的需求,提高推理速度,同时性能相比baseline只有轻微的下降。
方法
MHA(Multi Head Attention): 多头注意力中query、key、value都有h个头。
MQA(Multi Query Attention): 只有query是h个,其余key和value都是1个。MQ ...
模型架构|移动端基础模型架构设计
移动端基础模型目标针对资源有限的移动设备,在控制模型大小和模型推理时间等前提下实现卓越的模型性能。
评价指标
Parameter
模型训练中需要训练的参数总数,用于衡量模型的大小(空间复杂度)。
考虑到移动设备越来越便宜和更大的存储空间,参数量的限制已经大大放松。
FLOPs(floating-point operations)
浮点运算次数,乘法和加法的数量,可以理解为计算量,用来衡量模型的时间复杂度。
MACs(Multiply-Accumulate Operations)
乘加累积操作。1MACs包含一个乘法操作和一个加法操作,大约相当于2个FLOPs。MACs和MAdds同义。
仅仅使用FLOPs来估测模型速度是不准确的,内存访问成本、模型并行度、平台架构等都会影响模型速度。
MAC(memory access cost)
内存访问成本。在强计算资源如GPUs下,算力不是问题,而内存访问成本可能成为模型瓶颈。
Inference Speed
单位Batches/sec,模型推理时每秒成功处理的批次数。
下图展示GPU上,batchsize=8,相 ...