U-ViT【All are Worth Words: A ViT Backbone for Diffusion Models】

Motivation

Diffusion中常用的Backbone是UNet,使用 resnettransformer 交替进行的,这样内存memory存储 其实也是不断shuffle变化的,resnet 以 feature 看 memory,而 transformer 以 token 看memory。如果可以统一memory的计算架构,那么memory的view就会好看很多。

用ViT结构代替UNet结构来做扩散模型

U-ViT的一篇同期工作 DiT: Scalable Diffusion Models with Transformers 也提出了使用ViT代替U-Net的思想,不同的是DiT中没有引入long skip connection也依然取得了杰出的效果,且DIT用ViT做 class-label 的 conditional image generation,U-ViT则进一步完成了ViT的 class-label、text、image等任意 的 conditional image generation。

Method

如下图所示,U-ViT 延续了 ViT 的方法,将带噪图片划分为多个patch之后,将时间t条件c图像patch,视作token输入到Transformer block,同时加上position encoding,同时在网络浅层和深层之间引入long skip connection。经过 5 层 transformer block,得到输出的token,经过Linear Layer将token变为patch,最后经过3x3的Conv得到最终的pred_noise image

Ablation Study


可以看出,long skip connection对于图像生成的FID分数是至关重要的。




总结

U-ViT是一种简单且通用的基于ViT的扩散概率模型的主干网络,U-ViT把所有输入,包括图片、时间、条件都当作token输入,并且引入了long skip connection。U-ViT在无条件生成、类别条件生成以及文到图生成上均取得了可比或者优于CNN的结果。

相关推荐
qzhqbb9 分钟前
基于统计方法的语言模型
人工智能·语言模型·easyui
冷眼看人间恩怨34 分钟前
【话题讨论】AI大模型重塑软件开发:定义、应用、优势与挑战
人工智能·ai编程·软件开发
2401_8830410835 分钟前
新锐品牌电商代运营公司都有哪些?
大数据·人工智能
魔道不误砍柴功39 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
AI极客菌2 小时前
Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5。
人工智能·计算机视觉·ai作画·stable diffusion·aigc·flux·人工智能作画
阿_旭2 小时前
一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理
人工智能·深度学习·计算机视觉·cross-attention·self-attention
王哈哈^_^2 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
Power20246663 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp