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的结果。

相关推荐
热心市民小汪几秒前
管理conda下python虚拟环境
开发语言·python·conda
程序员Linc3 分钟前
计算机视觉 vs 机器视觉 | 机器学习 vs 深度学习:核心差异与行业启示
深度学习·机器学习·计算机视觉·机器视觉
不去幼儿园3 分钟前
【启发式算法】Dijkstra算法详细介绍(Python)
人工智能·python·算法·机器学习·启发式算法·图搜索算法
McQueen_LT9 分钟前
聊天室Python脚本——ChatGPT,好用
开发语言·python·chatgpt
飞30010 分钟前
TP-LINK图像处理工程师(深圳)内推
图像处理·计算机视觉·业界资讯
云卓SKYDROID13 分钟前
无人机投屏技术解码过程详解!
人工智能·5g·音视频·无人机·科普·高科技·云卓科技
zy_destiny20 分钟前
【YOLOv12改进trick】三重注意力TripletAttention引入YOLOv12中,实现遮挡目标检测涨点,含创新点Python代码,方便发论文
网络·人工智能·python·深度学习·yolo·计算机视觉·三重注意力
自由的晚风21 分钟前
深度学习在SSVEP信号分类中的应用分析
人工智能·深度学习·分类
大数据追光猿22 分钟前
【大模型技术】LlamaFactory 的原理解析与应用
人工智能·python·机器学习·docker·语言模型·github·transformer
Start_Present34 分钟前
Pytorch 第七回:卷积神经网络——VGG模型
pytorch·python·神经网络·cnn·分类算法