Vision transformers
(ViT) 在包括low-level
任务在内的各种视觉任务中显示出不错的性能,而U-Net
在score-based
的扩散模型中仍然占主导地位。在本文中,对扩散模型中基于 ViT 的架构进行了系统的实证研究。结果表明,向ViT
添加超长的skip connections
(如U-Net
)对于扩散模型至关重要。新的ViT
架构与其他改进一起被称为U-ViT
。在几个流行的视觉数据集上,U-ViT
实现了与 SOTAU-Net
具有竞争力的生成结果。
1、简介
随着算法的发展,主干网的革命在(score-based
)扩散模型的成功中起着核心作用。一个有代表性的例子是先前工作中使用的 U-Net
架构,它在图像生成任务的扩散模型中仍然占主导地位。一个非常自然的问题是,在此类模型中是否需要依赖 U-Net
。
另一方面,Vision transformers
(ViT
) 已在各种视觉任务(包括 low-level
任务)中显示出前景。与 CNN
相比,ViT
在大规模上更可取,因为它具有可扩展性和效率。尽管基于Score
的扩散模型已经大幅扩大,但仍不清楚 ViT
是否适合Score
建模。
在本文中对扩散模型中基于 ViT
的架构进行了系统的实证研究。将标准 ViT
修改如下:
- 增加超长
skip
连接(如U-Net
); - 在输出前增加一个额外的3×3卷积块;
- 将噪声图像的
time embedding
、label embedding
和patches
等所有内容都视为Tokens
。
生成的架构称为 U-ViT
。在几个流行的视觉数据集上,U-ViT
实现了与 SOTA U-Net
架构相媲美的生成结果,同时需要相当数量的参数和计算,如果不是更少的话。我们的结果表明:
ViT
有望用于基于分数的扩散模型;- 长跳跃连接在扩散模型的成功中起着核心作用;
- 扩散模型不需要下采样和上采样算子。
我们相信,未来大规模或跨模态数据集的扩散模型可能会受益于 U-ViT
。
2、本文方法
作者首先尝试在 CIFAR10
上使用 vanilla ViT
训练扩散模型。为简单起见,将包括 time embedding
、label embedding
和噪声图像的 patches
在内的所有内容都视为 Tokens
。通过仔细调整超参数,大小为 41M 的 13 层 ViT
实现了 FID
5.97,明显优于之前基于 ViT
的扩散模型的 20.20。作者推测这主要是因为模型更大。但是,这显然比类似大小的 U-Net
的 3.17 差。
U-Net
中 skip connections
的重要性在 low-level
视觉任务中已经实现了很长时间。由于所有局部信息在分数建模(或噪声预测)中也至关重要,假设 skip connections
在此类任务中也起着核心作用。因此,向 ViT
添加额外的 skip connections
并获得 4.24 的 FID。
最后,在输出之前添加了一个 3×3 卷积块,以避免 patches
之间的潜在伪影,并获得 3.11 的 FID
,这与 DDPM
的结果具有竞争力。整体架构如图 1 所示,为清楚起见,表 1 总结了消融结果。
3、实验
4、参考
[1].All are Worth Words: a ViT Backbone for Score-based Diffusion Models.
作者: ChaucerG
文章来源:嵌入式AI
推荐阅读
- SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法
- 连夜卷出 | 超越所有YOLO检测模型,mmdet开源当今最强最快目标检测模型!
- 现代中央处理器 (CPU) 是怎样进行分支预测的?
更多嵌入式AI干货请关注 嵌入式AI 专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。