Scalable Diffusion Models with Transformers

  1. 问题引入
  • transformer架构的latent diffusion model,有较好的延展性并是sota;
  1. methods
    在这里插入图片描述
  • patchify:原图片 I ∈ R H × W × 3 I\in\mathbb{R}^{H\times W\times 3} IRH×W×3经过autoencoder之后得到 z ∈ R H 8 × W 8 × 4 z\in\mathbb{R}^{\frac{H}{8}\times \frac{W}{8}\times 4} zR8H×8W×4,之后经过patchify,得到 T × d T\times d T×d的sequence,其中 d d d是每一个patch的embedding的维度, T T T由patch的大小 p p p来决定,之后会有position encoding(frequency-based positional embeddings (the sine-cosine version)),之后就是一系列transformer sequence;
  • 除noisy latents以外额外的输入:timesteps t, class labels c, natural language, etc,分别尝试了四种变种:
  • In-context conditioning:对t和c进行embedding之后将其作为输入额外的token,和image token同等看待,类似与vit的cls tokens;
  • Cross-attention block:将t和c的embedding进行concat,之后再transformer block中的self attention之后添加cross attention,在这部分参与计算;
  • Adaptive layer norm (adaLN) block:用adaLN替换transfromer block中的layernorm layer,不是直接学习dimensionwise scale and shift parameters γ , β \gamma,\beta γ,β,而是将t和c的embedding进行相加之后经过mlp回归得到;
  • adaLN-Zero block:除了回归 γ , β \gamma,\beta γ,β,还回归dimensionwise scaling parameters α \alpha α,在residual connection之前使用,初始化mlp使得初始输入 α \alpha α为0vector,该操作相当于将dit block初始化为identity矩阵;
  • 最后dit block的输出为noise和diagonal covariance prediction;
  1. 实验
  • 数据:imagenet
  • B, S, L and XL + patch size p = 2, 4, 8
### 关于扩散模型的相关论文 #### Diffusion Models Beat GANs on Image Synthesis 该研究展示了扩散模型在图像合成方面超越了GAN的表现。通过一系列实验验证,证明了扩散模型不仅能在质量上胜过GAN,在多样性方面也有显著优势[^1]。 #### Classifier-Free Diffusion Guidance 此工作提出了无需分类器指导的扩散模型方法论,简化了传统依赖额外分类网络实现条件控制的方式,提高了生成效率与效果稳定性。 #### Denoising Diffusion Implicit Models (DDIM) DDIM引入了一种新的视角来看待扩散过程——即作为隐式模型下的去噪操作。这种方法允许更灵活地调整采样步数而不影响最终输出的质量,并且可以得到具有不同属性的结果集[^3]。 #### Scalable Diffusion Models with Transformers 为了应对大规模数据集带来的挑战,这项研究表明如何利用Transformer架构构建可扩展性强、计算资源消耗低的大规模扩散模型。这为解决实际应用场景中的复杂问题提供了可能途径。 #### Denoising Diffusion Probabilistic Models (DDPM) DDPM定义了一个基于马尔科夫链结构的生成流程,其中前向传播逐渐增加噪音直到完全随机化输入;而后向传播则相反,旨在从未知状态恢复原始信号。这种机制被广泛认为是现代扩散模型的基础之一[^2]。 ```python import torch.nn as nn class DDPM(nn.Module): def __init__(self, timesteps=1000): super().__init__() self.timesteps = timesteps def forward(self, x_0): # 前向过程:加噪声 pass def reverse(self, noisy_x_t, timestep): # 后向过程:去除噪声 pass ``` #### LafitE: Latent Diffusion Model with Feature Editing LafitE提出了一套完整的框架用于异常检测任务。它结合了潜在空间上的扩散建模技术和特征级编辑策略,在保持良好泛化能力的同时实现了精准的目标定位功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值