DiT论文精读Scalable Diffusion Models with Transformers CVPR2023

server/2024/10/22 8:09:25/

Diffusion_Models_with_Transformers%09CVPR2023_0">Scalable Diffusion Models with Transformers CVPR2023

Abstract

idea
将UNet架构用Transformer代替。并且分析其可扩展性。
并且实验证明通过增加transformer的宽度和深度,有效降低FID
我们最大的DiT-XL/2模型在classconditional ImageNet 512、512和256、256基准上的性能优于所有先前的扩散模型,在后者上实现了2.27的最先进FID。

在这里插入图片描述

Related Work

本文的相关工作,作者分别介绍了一下Transformer和Unet结构

Transformer

UNet架构

在这里插入图片描述

在评估图像生成文献中的架构复杂性时,通常的做法是使用参数计数。一般来说,参数计数不能很好地代表图像模型的复杂性,因为它们不能考虑图像分辨率等对性能有显著影响的因素。
相反,本文中的大部分分析都是通过计算的视角进行的。
这使我们与架构设计文献保持一致,在这些文献中,失败被广泛用于衡量复杂性。在实践中,黄金度量标准将取决于特定的应用程序场景。改进扩散模型的开创性工作与us-there最为相关,他们分析了U-Net架构类的可扩展性属性。在本文中,我们主要关注变压器类。

Diffusion_Transformers_36">Diffusion Transformers

Diffusion formulation

前向扩散过程是将x0逐步加噪

q(xt|x0)是已知的

在这里插入图片描述

在这里插入图片描述
是一个超参数

在这里插入图片描述

根据t,x0求xt的过程也叫做采样

关于后验p也就是神经网络需要进行预测的内容

在这里插入图片描述
在这里插入图片描述

逆向过程是用x0的对数似然的变分下界来训练。

该模型可以使用预测的噪声(xt)与实际抽样的高斯噪声(Lsimple)之间的简单均方误差进行训练

在这里插入图片描述

Classifier-free guidance

条件扩散模型将额外的信息作为输入,例如类标签c

此条件下,反向网络需要学习p(xt-1|xt,xc)

LDM

Diffusion_Transformer_Design_Space_86">3.2Diffusion Transformer Design Space

他的目的是将transformer用在潜空间中;

DiT也是在Vit基础上进行的

接下来就是描述Dit的forward部分

在这里插入图片描述

总体来说作者的模型是一种混合模型

使用现成的卷积VAE和基于Transformer的DDPMS

在这里插入图片描述

也可以说,DiT仅在DDPM方面做优化

VAE的编码器对img进行压缩后 --> Z–>Noised Latent

在这里插入图片描述

关于Dit的输入规范

在这里插入图片描述

**输入前的Z是32,32,4 I,I,C表示
patch size p,p
最终得到的序列长度为I/p * I/p ,dim dim是自己初始化随机设置即可
Patchify
img大小256,256,3
Z大小32,32,4
它将空间输入转换成T个符号的序列,每个符号都是d维的,
位置编码使用正余弦版本

关于位置编码,RetNet使用旋转空间编码能否优化?

关于patch大小设置
T为序列token长度**

在这里插入图片描述

p减半,T大四倍

对model计算效率影响巨大,改变p对下游参数计数没有任何显著影响

P设计遵从2,4,8

Gflops一种计算资源的表述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用标记t和c两个额外的输入到seq,最为vit的cls,

在这里插入图片描述

可以理解为cls为2 length-two

在这里插入图片描述

在这里插入图片描述

交叉注意力机制多15的Gflops

在这里插入图片描述

在这里插入图片描述

adaLN可以取代Transformer中的层归一化层
随着自适应归一化层在gan和UNet骨干扩散模型中的广泛使用,我们探索用自适应层范数(adaLN)取代变压器块中的标准层范数层。我们不是直接学习维度尺度和移位参数$和%,而是从t和c的嵌入向量的总和中回归它们。在我们探索的三个块设计中,adaLN添加的Gflops最少,因此计算效率最高。
它也是唯一一种限制于将相同函数应用于所有令牌的条件调节机制。

adaLN-Zero block

ResNets 验证:将每个残差块初始化恒等函数是有益的
例如,Goyal等人发现,在监督学习设置下,对每个块中的最终批范数尺度因子$进行零初始化可以加速大规模训练[13]。

其他改进,将γ,β用于回归缩放参数

模型的尺寸。我们采用一系列N个DiT块,每个块在隐藏维度大小d处运行。在ViT之后,我们使用标准变压器配置,共同缩放N, d和注意头[10,63]。具体来说,我们使用四种配置:DiT-S、DiT-B、DiT-L和DiT-XL。它们涵盖了广泛的模型大小和触发器分配,从0.3到118.6 Gflops,允许我们衡量缩放性能。

在这里插入图片描述


http://www.ppmy.cn/server/14895.html

相关文章

谈谈mysql中的各个关键字

1.为什么学习mysql mysql是当今最主流且开放源码的关系型数据库,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低…

21-22 - 线性表的链式存储结构 单链表的具体实现

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 线性表的链式存储结构1.1 定义1.2 逻辑结构1.3 专业术语的统一 2. 链表的基本概念2.1 单链表中的结点定义2.2 单链表中的内部结构2.3 在目标位置处插入数据元素2.4 在目标位置处删除数据元素 3. 链式存储结构线性表的实现3.1 设…

使用Perf诊断PostgreSQL性能问题

1 编译参数 使用perf获取完整的堆栈信息需要下面几个编译参数: -O0:编译器不做优化-ggdb3:增加了为GDB优化的调试信息,级别是3-g3:增加了调试信息,级别是3-fno-omit-frame-pointer:保留完成的…

mybatis实现批量更新修改(性能极佳)

mybatis实现批量修改,性能最好 根据我个人的测试,mybatis实现批量修改的方式有很多,但从既方便又快捷的角度考虑,发现使用下面的写法性能最好,插入大批量的数据速度极快,虽然写起来复杂,数量多…

数字零售力航母-看微软如何重塑媒体

数字零售力航母-看微软如何重塑媒体 - 从2024全美广播协会(National Association of Broadcaster)​​​​​​​展会看微软如何整合营销媒体AI技术和AI平台公司 2024年,微软公司联合英伟达总司,赞助全美广播协会展会。本次展会微软通过搭建…

惠海 H5112B 洗墙灯24V36V48V60V72V100V1.2ALED降压恒流芯片IC PWM无频闪调光

洗墙灯24V36V48V60V72V100V1.2A LED降压恒流芯片PWM无频闪调光是一种特殊的电子元件,专为洗墙灯等LED照明设备设计。以下是关于这种芯片的主要特点和功能: 降压恒流功能:该芯片能够将较高的输入电压(如24V、36V、48V等&#xff0…

MMSeg搭建自己的网络

配置结构 首先,我们知道MMSeg矿机的配置文件很多,主要结构如下图所示。 在configs/_base_下是模型配置、数据集配置、以及一些其他的常规配置和运行配置,四类。 configs/all_config目录下存放,即是将四种配置聚合在一起的一个总…

异常处理 android.os.NetworkOnMainThreadException

android.os.NetworkOnMainThreadException 是一个在 Android 开发中常见的异常,它发生在你的应用尝试在主线程上进行网络操作时。从 Android 6.0 (API level 23) 开始,默认情况下,应用程序的主线程(UI线程)不允许执行网…