DiTs:Scalable Diffusion Models with Transformers

(图片)+ 类别 ->DDPM-> 条件图片,条件图片

什么是 DiTs ?

  • 使用 Transformers 替换扩散模型中 U-Net 主干网络,分析发现,这种 Diffusion Transformers(DiTs)不仅速度更快(更高的 Gflops),而且在 ImageNet 512×512 和 256×256 的类别条件图片生成任务上,取得了更好的效果,256×256 上实现了 SOTA 的 FID 指标(2.27)

DiTs 的原理?

  • DiTs 的模型和 StableDiffusion 类似,即先使用 VAE 将图片压缩到 32×32×4 的隐空间上,然后使用 DDPM 在隐空间上学习数据分布,生成隐空间后使用 VAE 的 decoder 去生成图片。区别在于将 DDPM 中用于噪声估计的 Unet 替换为 Unet
  • Adaptive layer norm(adaLN)模块:使用 adaLN 替换原生 LayerNorm(NeurIPS 2019 的文章指出 LN 模块中的某些参数不起作用,甚至会增加过拟合的风险。所以提出一种没有可学习参数的归一化技术)
  • adaLN-zero 模块:之前的工作发现 ResNets 中每一个残差模块使用相同的初始化函数是有益的。文章提出对 DiT 中的残差模块的参数 γ、β、α 进行衰减,以达到类似的目的

DiTs 的 adaLN-zero、cross-attention、in-contenxt 比较?

  • adaLN-Zero 方法明显好于 cross-attention 和 in-contenxt

DiTs 的 model size and patch size 评估?

  • 模型越大、patch size 越小生成图像质量越好

DiTs 的计算开销和模型效果的关系?

  • Gflops 越大模型效果越好,同样如上图右所示,模型越大计算约高效(相同计算量下模型效果越好)
  • 不同扩散模型的效果对比如下( DiT-XL/2 (118.6 Gflops) is compute-efficient relative to latent space U-Net models like LDM-4 (103.6 Gflops) )

参考:

  1. Scalable Diffusion Models with Transformers(DiTs)论文阅读 - 知乎
  2. DiT:Transformers 与扩散模型强强联手 - 知乎