All are Worth Words: A ViT Backbone for Diffusion 论文阅读

date
Apr 1, 2023
Last edited time
Apr 1, 2023 06:20 AM
status
Published
slug
U-VIT论文阅读
tags
DL
CV
summary
type
Post
Field
Plat
💡
U-ViT是一个适用于Diffusion的Backbone,简单替换了VIT的输入。它将所有输入(包括时间、Condition和噪声图像patch)都视为token,并使用浅层和深层之间的长跳过连接。实验(调参)部分很详细(CVPR2023)。

Abstract

我们提出了U-ViT,这是一种用于扩散模型图像生成的简单通用架构。U-ViT将所有输入(包括时间、Condition 和噪声图像 patch)都视为 token,并使用浅层和深层之间的长跳过连接。我们在无条件和类条件图像生成以及文本到图像生成任务中评估了U-ViT。我们的结果显示,与类似大小的基于CNN的U-Net相比,U-ViT是可比甚至更优的。
特别是,在ImageNet 256x256的类条件图像生成中,U-ViT实现了创纪录的FID得分为2.29,在MS-COCO上的文本到图像生成中,实现了5.48的FID得分,而在生成模型训练期间没有访问大型外部数据集。这些结果表明,长跳过连接对基于扩散的图像建模至关重要,而CNN-based U-Net中的下采样和上采样运算符并不总是必要的。
notion image

Method

U-ViT 是图像生成扩散模型的简单而多功能的骨干结构(图1)。具体来说,U-ViT在参数化噪声预测网络 时,将时间 、条件 和噪声图像 作为输入,预测注入到 中的噪声。遵循ViT的设计方法,图像被分成 patch,U-ViT将所有输入,包括时间、条件和图像 patch,都视为 token。
受基于 CNN 的 U-Net 在扩散模型中的成功启发,U-ViT 也采用了类似的浅层和深层之间的长跳连接。直观地说, 中的目标涉及对像素级的预测任务,这对低级特征非常敏感。长跳连接为低级特征提供了捷径,从而简化了噪声预测网络的训练。
U-ViT 提供了一个可选的 3x3 卷积块,用于在输出之前防止 Transformer 生成的图像出现潜在的伪像。我们的实验表明,这个块可以提高 U-ViT 生成样本的视觉质量。

Implementation Details

notion image
The way to combine the long skip branch.
在将两个 Transformer 块的输出馈送到下一个块之前,我们考虑结合它们的几种方法。这些方法包括:(1)将输出连接起来并进行线性投影,如图1所示:;(2)直接将输出相加:;(3)对 进行线性投影,然后将其添加到 中:;(4)将输出相加,然后进行线性投影:。我们还将这些方法与删除长跨接线的情况进行比较。
The way to feed the time into the network
有两种将 输入网络的方式。第一种方式是将其视为 token。第二种方式是在 Transformer 中使用层归一化后加入时间,类似于U-Net中使用的自适应组归一化。

Effect of Depth, Width and Patch Size

notion image

Result

notion image
notion image
notion image
notion image

© Lazurite 2021 - 2024