U-ViT(CVPR2023)——ViT与Difussion Model的结合

这篇具有很好参考价值的文章主要介绍了U-ViT(CVPR2023)——ViT与Difussion Model的结合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        扩散模型(Diffusion Model)最近在图像生成领域大火。而在扩散模型中,带有U-Net的卷积神经网络居于统治地位。U-ViT网络是将在图像领域热门的Vision Transformer结合U-Net应用在了Diffision Model中。本文将从Vision Transformer出发,分析U-ViT这篇CVPR2023的Paper并记录一些感想。

Paper:All are Worth Words: A ViT Backbone for Diffusion Models

Code:https://github.com/baofff/U-ViT    

一、Vision Transformer(ViT)

        ViT是第一个将标准的transformer block应用在了视觉领域中的网络。在视觉领域中应用transformer最大的难点在于,如果将图片的每个像素点看作一个单词,那么整张图像的像素点太多,会导致序列太长,训练起来十分昂贵或者说根本无法训练。以224x224x3的图像为例,宽W,高H分别为224,可见光有RGB三个通道(channel)。那么一张图片的长度L即为15w+。显然这是不可接受的。

        ViT对此的解决方法呢是借鉴了Jean-Baptiste Cordonnier, Andreas Loukas, and Martin Jaggi. On the relationship between self attention and convolutional layers. In ICLR, 2020.这篇论文的思想。将一幅224x224的图像进行Patch化操作,也就是将一副图片分为若干个小块。如图1中左下角所示。

U-ViT(CVPR2023)——ViT与Difussion Model的结合,论文研读,深度学习,人工智能,计算机视觉

图1  ViT的结构

举个例子更方便理解。假设图像X的shape为[224, 224, 3],Patch Size为16,shape为[16, 16, 3],那么小Patch块的数量N= HW/PP =(224x224)/(16x16)= 196,也就是有196个小Patch块,输入的图片(单词)长度L为197(加1因为还要加上一个可学习的class embedding,用于分类)。每个Patch块的像素总量为16x16x3=768,768即为d_model。然后再经过一个线性投影层Linear Projection,获得图片的特征,最后获得的Patch Embedding的shape为[197, 768]。这样就可以输入transformer进行训练了。

ViT的数据流总的来说如图2所示。在此就不赘述了。如果有误,可以在评论区,欢迎指正!

U-ViT(CVPR2023)——ViT与Difussion Model的结合,论文研读,深度学习,人工智能,计算机视觉

U-ViT(CVPR2023)——ViT与Difussion Model的结合,论文研读,深度学习,人工智能,计算机视觉

图2  ViT的数据流

其中,E是Linear Project的shape,可以根据d_model变换,主要用于提取图像的特征以及将图片映射(map)到Patch Embedding中。注意,位置为0的embedding就是class token,用于分类。多头自注意力最后进行的是concat操作而不是add,将12个k,q,v组合在一起恢复原来的shape。

二、U-ViT

        U-ViT的创新点是在于将transformer替换掉了Difussion Model中原来的带有U-Net设计的CNN,并且在transformer中也应用了U-Net的long skip结构。实现了利用transformer进行图像生成的任务。U-ViT的结构图如图3所示。

U-ViT(CVPR2023)——ViT与Difussion Model的结合,论文研读,深度学习,人工智能,计算机视觉

图3  U-ViT的结构

同样的,也是和ViT类似,对图片进行一个Patch化的操作。不同的是引入了time和condition作为新的token进行输入。并且在浅层的transformer和深层的transformer中引入long skip,为的是将低水平的特征在深层也可以得到应用,这是有利于Difussion Model的像素级预测任务。

作者对long skip的设置方式、time的加入方式、放置3x3Conv的位置、Patch Embedding和Positional Embedding进行了消融实验(也就是通过对比,看看怎样设置更好)。实验结果图我就不放上来了,直接说结论。

设hm,hs分别为主支和侧支的Embeddings,有五种情况。

  1. Linear[ Concat(hm,hs) ],先组合再线性层。
  2. Add(hm,hs),直接相加。
  3. Add[ hm,Linear(hs) ],hm加上linear后的hs。
  4. Linear[ Add(hm,hs) ],先相加再线性层。
  5. 无long skip,也就是只有hm。

其中,方法1效果最好,方法2最差。对于方法5,方法3和4均有提升。也就是说,long skip是必要的,但是对于hs需要获得它线性投影后的信息,因为在transformer中的加法器具有残差结构,已经可以获得低水平的线性信息了。

对于time token的加入方式尝试了两种。一种是直接作为token,另一种是自适应层归一化AdaLN。自适应层归一化是将time先经过一个Linear Proj得到ys和yb。再利用这两个参数和其他embedding做相关计算。第一种效果更好。

对于模型最后输出层的3x3卷积,也有两种位置。第一种是放在Linear Proj之后,第二种是之前。放在前面效果好。对于Patch Embedding,通过Linear Proj将Patch映射到Embedding的效果比用3x3 、1x1的Conv的方式要好。对于Positional Embedding,1d的位置编码比2d的效果更好,并且对比不用位置编码,使用位置编码生成的图像更合理。这也证明了Positional Information的重要性。

后续再阅读一下代码,看看数据流是如何实现的并利用MNIST数据集复现一个小型的U-ViT。

研0不能提前去学校,先用一下自己的1650学习先...文章来源地址https://www.toymoban.com/news/detail-716737.html

到了这里,关于U-ViT(CVPR2023)——ViT与Difussion Model的结合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文合集】CVPR2023年 部分论文

    参考: CVPR 2023 最全整理:论文分方向汇总 / 代码 / 解读 / 直播 / 项目(更新中)【计算机视觉】-极市开发者社区 (cvmart.net) amusi/CVPR2023-Papers-with-Code: CVPR 2023 论文和开源项目合集 (github.com)   [7]Fine-Grained Face Swapping via Regional GAN Inversion paper [6]Cross-GAN Auditing: Unsupervised Identifica

    2024年02月12日
    浏览(52)
  • CVPR2023(论文笔记)

    基于抽象的鲁棒图像分类模型高效训练与验证方法: 针对问题: 深度神经网络在面对对抗性攻击时的鲁棒性问题 提出了一种基于抽象的、经过认证的训练方法,用于提高深度神经网络对抗性攻击的鲁棒性;提出黑盒验证方法,该方法与神经网络的大小和架构无关,可扩展到

    2024年02月09日
    浏览(59)
  • 【CVPR 2023】FasterNet论文详解

    论文名称:Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks 论文地址:https://arxiv.org/abs/2303.03667 作者发现由于效率低下的每秒浮点运算,每秒浮点运算的减少并不一定会导致类似水平的延迟减少。提出通过同时减少冗余计算和内存访问有效地提取空间特征。然后基于PConv进

    2023年04月14日
    浏览(45)
  • CVPR2023对抗攻击相关论文

    Feature Separation and Recalibration for Adversarial Robustness 论文链接:http://arxiv.org/abs/2303.13846v1 代码地址:GitHub - wkim97/FSR: Feature Separation and Recalibration (CVPR 2023) 摘要:由于特征层面的扰动积累,深度神经网络容易受到对抗性攻击,许多研究通过停用导致模型错误预测的非鲁棒特征激活

    2024年02月09日
    浏览(42)
  • CVPR 2023 论文和开源项目合集

    向AI转型的程序员都关注了这个号👇👇👇 Backbone CLIP MAE GAN GNN MLP NAS OCR NeRF DETR Diffusion Models(扩散模型) Avatars ReID(重识别) 长尾分布(Long-Tail) Vision Transformer 视觉和语言(Vision-Language) 自监督学习(Self-supervised Learning) 数据增强(Data Augmentation) 目标检测(Object Detection) 目标跟踪(Visual

    2024年02月07日
    浏览(33)
  • CVPR 2023 | VoxelNeXt实现全稀疏3D检测跟踪,还能结合Seg Anything

    在本文中,研究者提出了一个完全稀疏且以体素为基础的3D物体检测和跟踪框架VoxelNeXt。它采用简单的技术,运行快速,没有太多额外的成本,并且可以在没有NMS后处理的情况下以优雅的方式工作。VoxelNeXt在大规模数据集nuScenes、Waymo和Argoverse2上表现出很好的速度和精度;在

    2024年02月09日
    浏览(46)
  • CVPR2023论文及代码合集来啦~

    以下内容由马拉AI整理汇总。 下载 :点我跳转。  狂肝200小时的良心制作,529篇最新CVPR2023论文及其Code,汇总成册,制作成《CVPR 2023论文代码检索目录》,包括以下方向: 1、2D目标检测 2、视频目标检测 3、3D目标检测 4、人物交互检测 5、显著性目标检测 6、车道线检测 7、异

    2023年04月26日
    浏览(47)
  • CVPR 2023 医学图像分割论文大盘点

    点击下方 卡片 ,关注“ CVer ”公众号 AI/CV重磅干货,第一时间送达 点击进入— 【医学图像分割】微信交流群 被催了很久,CVer 正式开启 CVPR 2023 论文大盘点系列 ! Amusi 一共搜集了13篇医学图像分割论文 ,这应该是目前各平台上 最新最全面的CVPR 2023 医学图像分割盘点资料

    2024年02月14日
    浏览(40)
  • CVPR2023 | 70+目标检测论文及代码整理

    目标检测是当下应用最广的计算机视觉任务之一。本文整理了CVPR 2023 目标检测相关论文72篇,覆盖包括2D目标检测、3D目标检测、视频目标检测、人物交互检测、异常检测、伪装目标检测、关键点检测、显著性目标检测、车道线检测、边缘检测等10个细分任务。并且每篇论文都

    2024年02月10日
    浏览(36)
  • CVPR 2023 | 美团技术团队精选论文解读

    本文精选了美团技术团队被CVPR 2023收录的8篇论文进行解读。这些论文既有自监督学习、领域自适应、联邦学习等通用学习范式方面的技术迭代,也涉及目标检测、跟踪、分割、Low-level Vision等典型视觉任务的性能,体现了美团在基础通用技术和垂直领域技术上的全方位创新。

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包