当前位置: 首页 > news >正文

基于Transformer结构的扩散模型综述

🎀个人主页: https://zhangxiaoshu.blog.csdn.net
📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️,如有错误敬请指正!
💕未来很长,值得我们全力奔赴更美好的生活!

前言

近年来,计算机科学领域的生成式扩散模型迅猛发展,成为人工智能领域的热门研究方向。这一类模型,如GPT系列,以其强大的语言理解和生成能力,成功地应用于自然语言处理、文本生成、机器翻译等多个领域。扩散模型通常使用一个基于卷积的U-Net网络用于学习噪声并对噪声进行预测,近一年来,越来愈多的研究开始探索基于Transformer的噪声预测网络,本文主要介绍了近年来的一些经典工作。


文章目录

  • 前言
  • 1. U-Net和视觉Transformer
  • 2. DiT
  • 3. U-ViT
  • 4. GenViT
  • 5. DiffiT
  • 总结


1. U-Net和视觉Transformer

视觉Transformer和卷积U-Net网络是两种不同的神经网络架构,通常用于计算机视觉任务,包括图像生成、图像分类和分割等。以下是对它们的简要回顾和比较:

  • 视觉Transformer:
  1. 结构: 基于自注意力机制的Transformer架构,广泛应用于自然语言处理,最近也用于计算机视觉。
  2. 自注意力: 通过自注意力机制实现全局感知,能够捕捉输入序列或图像的长距离依赖关系。
  3. 序列处理: 最初设计用于序列数据,但通过图像划分成块或补充位置编码,也能应用于图像数据。
  4. 扩展性: 具有较强的扩展性,可以处理不同尺寸的输入。
  • 卷积U-Net网络:
  1. 结构: 基于卷积神经网络(CNN)的U-Net结构,专注于图像处理任务,如图像分割。
  2. 卷积操作: 使用卷积层进行局部感知,通过卷积核在图像上滑动,捕捉图像的局部特征。
  3. 图像处理: 主要用于图像处理任务,如图像分割,其中U-Net的编码器和解码器结构有助于保留高分辨率信息。
  4. 适用性: 在处理局部特征和图像之间的空间关系时表现良好。

选择:

  • 如果任务涉及到全局依赖性,尤其是对长距离上下文关系的敏感,视觉Transformer可能更适合。
  • 如果任务涉及到局部特征的捕捉,如图像分割,U-Net可能更适合,特别是在计算资源有限的情况下。

在深度学习领域,扩散模型以其强大的表达能力和高质量的样本生成能力引起了广泛关注,并在各个领域中催生了许多新的应用和用例。这些模型在样本生成任务中表现出色,其核心机制涉及通过迭代去噪生成图像的去噪神经网络。在这一领域,研究者们已经取得了显著的进展,但对于去噪网络架构的深入研究尚未完全展开。目前,大多数工作都倾向于依赖卷积残差U-Net等传统结构,用于设计去噪神经网络,缺乏对其内在机理和优化空间的全面理解。

近期,随着计算机视觉领域对深度学习方法的不断深入,研究者们逐渐开始关注视觉Transformer在基于扩散的生成学习中的潜在优势。视觉Transformer是一种基于自注意力机制的创新架构,最初在自然语言处理领域取得成功,如今在图像生成任务中也呈现出良好的性能。为了进一步探索和提升生成模型的性能,一些研究方向开始尝试结合视觉Transformer和U-Net的优势,创造新的混合模型。这一趋势的目标是在图像生成和其他计算机视觉任务中取得更好的性能,通过充分发挥两者的优势,实现更有效的信息捕获和图像生成。这一前沿的研究领域不仅推动了对生成模型的不断创新,还为深度学习在图像处理和计算机视觉中的应用开辟了新的可能性。通过融合不同的神经网络结构,研究者们致力于提高生成模型的灵活性、适用性和性能,为未来的计算机视觉应用奠定了更为坚实的基础。

2. DiT

论文:Scalable Diffusion Models with Transformers(ICCV 2023)

作者探索了一类基于Transformer架构的新型扩散模型。作者训练了基于图像的潜在扩散模型,将通常使用的U-Net骨干替换为在潜在块上操作的Transformer。通过Gflops测量前向传播复杂性的角度分析了作者提出的Diffusion Transformers(DiTs)的可扩展性。作者发现,具有更高Gflops的DiTs(通过增加Transformer深度/宽度或增加输入令牌的数量)一贯具有较低的FID。除了具有良好的可扩展性属性外,最大的DiT-XL/2模型在类别条件的ImageNet 512x512和256x256基准测试中胜过了所有先前的扩散模型,在后者上取得了2.27的最先进FID。
在这里插入图片描述

扩散Transformer(DiT)架构图如上图所示。左图为训练条件潜在DiT模型。输入的潜在被分解成块,并由多个DiT块处理。右图为文章的DiT块的详细信息。作者尝试了标准Transformer块的变体,通过自适应层规范、交叉注意力和额外的输入令牌来引入条件。自适应层规范效果最佳。

3. U-ViT

论文:All are WorthWords: A ViT Backbone for Diffusion Models(清华大学 CVPR 2023)

代码:https://github.com/baofff/U-ViT

视觉Transformer(ViT)在各种视觉任务中显示出潜力,而基于卷积神经网络(CNN)的U-Net仍然在扩散模型中占主导地位。作者设计了一种简单而通用的基于ViT的架构(称为U-ViT),用于图像生成与扩散模型。U-ViT的特点是将所有输入,包括时间、条件和噪声图像块,都视为令牌,并在浅层和深层之间使用长跳跃连接。

作者在无条件和类条件图像生成以及文本到图像生成任务中评估了U-ViT,在这些任务中,U-ViT与相似规模的基于CNN的U-Net相比,性能相当或更好。特别是,在ImageNet 256x256上,具有U-ViT的潜在扩散模型在类别条件的图像生成中取得了创纪录的FID分数为2.29,在MS-COCO上进行文本到图像生成时为5.48,而且这是在生成模型训练期间没有使用大规模外部数据集的情况下实现的。文章的结果表明,对于基于扩散的图像建模,长跳跃连接是关键的,而基于CNN的U-Net中的下采样和上采样操作并不总是必要的。并且作者提到他们相信U-ViT可以为未来在扩散模型的骨干上进行研究并在大规模跨模态数据集上受益的生成建模提供见解。
在这里插入图片描述
如上图所示为U-ViT用于扩散模型的架构,其特点是将所有输入,包括时间、条件和噪声图像块,都视为令牌,并在浅层和深层之间使用(#Blocks-1)/2个长跳跃连接。

4. GenViT

论文:Your ViT is Secretly a Hybrid Discriminative-Generative Diffusion Model

代码:https://github.com/sndnyang/Diffusion_ViT

扩散去噪概率模型(DDPM)和视觉Transformer(ViT)分别在生成任务和判别任务中取得了显著的进展,迄今为止,这些模型主要在各自的领域中得到了发展。在本文中,作者通过将ViT架构整合到DDPM中,建立了DDPM和ViT之间的直接联系,并引入了一个名为生成ViT(GenViT)的新生成模型。ViT的建模灵活性使我们能够进一步扩展GenViT以进行混合判别生成建模,并引入混合ViT(HybViT)。是首批探索单一ViT同时用于图像生成和分类的研究之一。作者进行了一系列实验,分析了提出模型的性能,并展示了它们在生成和判别任务中优于先前的最先进技术。
在这里插入图片描述

上图为GenViT和HybViT的骨干架构。对于生成建模,带有时间嵌入t的 x t x_t xt被输入模型。对于HybViT中的分类任务,从CLS(类别标志)和输入 x 0 x_0 x0计算 l o g i t s logits logits

5. DiffiT

论文:DiffiT: Diffusion Vision Transformers for Image Generation(NVIDIA)

代码:https://github.com/NVlabs/DiffiT

扩散模型以其强大的表达能力和高质量的样本生成能力,在各个领域中启用了许多新的应用和用例。对于样本生成,这些模型依赖于通过迭代去噪生成图像的去噪神经网络。然而,去噪网络架构的作用尚未得到很好的研究,大多数工作都依赖于卷积残差U-Net。

在本文中,作者研究了视觉Transformer在基于扩散的生成学习中的有效性。具体而言,作者提出了一个新模型,称为Diffusion Vision Transformers(DiffiT),它由一个具有U形编码器和解码器的混合分层架构组成。引入了一种新颖的时间相关的自注意模块,使得注意力层能够以高效的方式在去噪过程的不同阶段自适应其行为。此外还引入了潜在DiffiT,它包括具有提出的自注意层的Transformer模型,用于高分辨率图像生成。

结果表明,DiffiT在生成高保真度图像方面非常有效,并在各种类别条件和无条件合成任务中取得了最先进的性能。在潜在空间中,DiffiT在ImageNet-256数据集上实现了1.73的新的最先进FID分数。
在这里插入图片描述

上图为DiffiT模型的总体架构图。Downsample和Upsample分别表示卷积下采样和上采样层。


总结

欢迎补充,同时文中有不对的地方欢迎指正。

相关文章:

基于Transformer结构的扩散模型综述

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…...

POI操作word表格,添加单元格,单元格对齐方法(不必合并单元格)

添加单元格,直接对row进行create新的cell,则会导致新创建的单元格与前面的单元格不对齐的现象。 //表格信息XWPFTable table doc.createTable();table.setWidth("100%");//第一行XWPFTableRow row0table.getRow(0);XWPFTableCell cell00row0.…...

maven代码规范检查(checkstyle、findbugs)

maven代码规范检查 前言一、使用checkstyle插件1. maven-checkstyle-plugin 介绍2. 接入方式3. 如何排除某个类、包下面的文件不进行检查使用suppressionsLocation 4. 如何关闭 二、使用findbugs插件1.findbugs-maven-plugin介绍2. 接入方式3. 如何排除某个类、包下面的文件不进…...

妙用Java反射,让代码更加优雅

最近在改公司项目bug,需要修改别人的代码。在读别人的源码时感觉到反射真的是能够极大的提高代码的优雅性,在某些特定场景能极大的简化代码的编写。因此写了这篇文章用以记录分享。 我们先还原一下场景,在做数据展示的时候,需要处…...

实习日志10

1.用户信息 1.1.在用户管理中编辑用户信息 1.2.绑定公司id 1.3.显示在页面 2.修改识别逻辑 2.1.分析 先识别,再判断,清空键把识别结果清空 2.2.写码 修改了发票识别逻辑,略... 3.接高拍仪 3.1.js引入报错 分析: 遇到的错误…...

配置alias(设置别名@)

Vite配置alias需要两步进行(TS项目) 1、修改vite.config.ts(让程序支持)2、修改tsconfig.json(让编辑器支持)修改vite.config.ts import { defineConfig } from vite import path from path ​ function…...

【动态规划】【数学】1388. 3n 块披萨

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 LeetCode1388 3n 块披萨 给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨: 你挑选 任…...

CS144--Chapter0--wsl2+docker环境搭建

我的笔记本配置 荣耀magicbook16,容量是500G,芯片是R7-5800 由于笔记本容量较小,因此考虑这个方案,对于台式机用户,建议可以直接用虚拟机或者双系统。 前言 斯坦福官网给出的方法是用他们的镜像(基于Ubu…...

MGRE实验报告二

实验要求: 实验预览图: 实验分析: 1、对R1-R5配置IP地址,同时R1-R5每个路由器各有一个环回 2.1、对R1、R3、R4路由器开启虚拟接口1,分别配置隧道IP、接口封装协议,接口类型、定义封装源、开启伪广播功能&…...

算法设计与分析实验:最短路径算法

一、网络延迟时间 力扣第743题 本题采用最短路径的思想进行求解 1.1 具体思路 (1)使用邻接表表示有向图:首先,我们可以使用邻接表来表示有向图。邻接表是一种数据结构,用于表示图中顶点的相邻关系。在这个问题中&am…...

共用体与枚举法,链表的学习

结构体注意事项: 1.结构体类型可以定义在main函数里面,但是此时的作用域就被限定在该函数中 2.结构体的的的定义的形式:a.先定义类型,后定义变量-----struct stu s b.定义类型的同时,定义了变量:struct…...

SG2520CAA汽车用晶体振荡器

爱普生SG2520CAA是简单的封装晶体振荡器(SPXO),具有CMOS输出,这款SPXO是汽车和高可靠性应用的理想选择,符合AEC-Q200标准,功耗低,工作电压范围为1.8 V ~ 3.3 V类型,宽工作温度-40℃~…...

使用pip将第三方依赖包下载到本地指定位置

pip download -d save_path packages -d:后面接下载包路径(save_path) packages:安装包名称...

C语言探索:水仙花数的奥秘与计算

摘要: 水仙花数,一种特殊的三位数,其各位数字的立方和等于该数本身。本文将详细介绍水仙花数的定义、性质,以及如何使用C语言来寻找100至999范围内的水仙花数。 目录 一、水仙花数的定义与性质 二、用C语言寻找100至999范围内的…...

2024年人工智能应用与先进制造科学国际学术会议(ICAIAAMS 2024)

2024年人工智能应用与先进制造科学国际学术会议(ICAIAAMS 2024) 2024 International Conference on Artificial Intelligence Applications and Advanced Manufacturing Science (ICAIAAMS 2024) 会议简介: 2024年人工智能应用与先进制造科学国际学术会议&#xff…...

计算机图形学 实验

题目要求 1.1 实验一:图元的生成:直线、圆椭区域填充 你需要完成基本的图元生成算法,包括直线和椭圆。 在区域填充中,要求你对一个封闭图形进行填充。你需要绘制一个封 闭图形(例如多边形),并选…...

React + react-device-detect 实现设备特定的渲染

当构建响应式网页应用时,了解用户正在使用的设备类型(如手机、平板或桌面)可以帮助我们提供更优化的用户体验。本文将介绍如何在 React 项目中使用 react-device-detect 库来检测设备类型,并根据不同的设备显示不同的组件或样式。…...

文献速递:肿瘤分割----基于卷积神经网络的系统,用于前列腺癌[68Ga]Ga-PSMA PET全身图像的全自动分割

文献速递:肿瘤分割----基于卷积神经网络的系统,用于前列腺癌[68Ga]Ga-PSMA PET全身图像的全自动分割 01 文献速递介绍 前列腺特异性膜抗原(PSMA)PET/CT成像近年来在前列腺癌检测领域中获得了显著的重视。PSMA是一种在前列腺上皮…...

2024 IC FPGA 岗位 校招面试记录

引言 各位看到这篇文章时,24届校招招聘已经渐进尾声了。 在这里记录一下自己所有面试(除了时间过短或者没啥干货的一些研究所外,如中电55所(南京),航天804所(上海))的经…...

Linux 命令 —— top

Linux 命令 —— top 相对于 ps 是选取一个时间点的进程状态,top 则可以持续检测进程运行的状态。使用方式如下: 用法: top [-d secs] | [-p pid] 选项与参数: -d secs:整个进程界面更新 secs 秒。默认是 5 5 5 秒。…...

【Docker】使用VS创建、运行、打包、部署.net core 6.0 webapi

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Docker容器》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...

抖音短视频矩阵营销系统源头独立开发搭建

开发背景 抖音短视频矩阵系统源码开发采用模块化设计,包括账号分析、营销活动、数据监控、自动化管理等功能。通过综合分析账号数据,快速发现账号的优势和不足,并提供全面的营销方案,以提高账号曝光率和粉丝数量。同时&#xff0c…...

Springboot使用数据库连接池druid

springboot框架中可以使用druid进行数据库连接池,下面介绍druid在springboot中使用和参数配置介绍。 数据库连接池(Druid)是一种用于管理数据库连接的机制,其工作原理和常见使用方法如下: 原理:数据库连接…...

Springboot-前后端分离——第三篇(三层架构与控制反转(IOC)-依赖注入(DI)的学习)

本篇主要对ControllerServiceDAO三层结构以及控制反转(IOC)与DI(依赖注入)进行总结。 目录 一、三层架构: Controller/Service/DAO简介: 二、控制反转(IOC)-依赖注入(DI): 概念介绍: DOC与…...

Open CASCADE学习|曲面上一点的曲率及切平面

曲率(Curvature)是一个几何学的概念,用于描述一个物体的形状在某一点上的弯曲程度。在我们日常生活中,曲率与我们的生活息息相关,如道路的弯道、建筑物的拱形结构、自然界的山脉等等。了解曲率的概念和计算方法&#x…...

CentOS 8最小安装和网络配置

文章目录 简介下载地址VMware 17创建虚拟机最小化安装拥有的外部命令yum源有问题网络配置开启SSH Server服务关闭防火墙设置host配置JDK环境完整参考 简介 CentOS 8的IOS如果下载DVD版本至少有10G 这里我们直接选择最小安装,因此选择最小系统boot版本 CentOS-8.5.21…...

【代码随想录-链表】环形链表 II

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…...

Redis核心技术与实战【学习笔记】 - 7.Redis GEO类型 - 面向 LBS 应用的数据类型

前言 前面,介绍了 Redis 的 5 大基本数据类型:String、List、Hash、Set、Sorted Set,它们可以满足绝大多数的数据存储需求,但是在面对海里数据统计时,它们的内存开销很大。所以对于一些特殊的场景,它们是无…...

银行数据仓库体系实践(17)--数据应用之营销分析

营销是每个银行业务部门重要的工作任务,银行产品市场竞争激烈,没有好的营销体系是不可能有立足之地,特别是随着互联网金融发展,金融脱媒”已越来越普遍,数字化营销方兴未艾,银行的营销体系近些年也不断发展&#xff0c…...

Linux一键部署telegraf 实现Grafana Linux 图形展示

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…...