一文带你搞懂DiT(Diffusion Transformer)

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。

针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。

总结链接如下:《AIGC 面试宝典》(2024版) 正式发布!


本文将从DiT的本质、DiT的原理、DiT的应用三个方面,带您一文搞懂 Diffusion Transformer|DiT。
在这里插入图片描述

一、DiT的本质

DiT的定义:Diffusion Transformer是一种结合了Transformer架构的扩散模型,用于图像和视频生成任务,能够高效地捕获数据中的依赖关系并生成高质量的结果。

在这里插入图片描述

扩散模型的定义:Diffusion Models是一种新型的、先进的生成模型,用于生成与训练数据相似的数据,可以生成各种高分辨率图像。

在这里插入图片描述

扩散模型的定义

扩散模型的核心思想:Diffusion Models是一种受到非平衡热力学启发的生成模型,其核心思想是通过模拟扩散过程来逐步添加噪声到数据中,并随后学习反转这个过程以从噪声中构建出所需的数据样本。

在这里插入图片描述

扩散过程

DiT的本质:Diffusion Transformer是一种新型的扩散模型,结合了去噪扩散概率模型(DDPM)和Transformer架构。

在这里插入图片描述

去噪扩散概率模型(DDPM)

DiT的核心思想:Diffusion Transformer的核心思想是使用Transformer作为扩散模型的骨干网络,而不是传统的卷积神经网络(如U-Net),以处理图像的潜在表示。

在这里插入图片描述

DiT的核心思想

二、DiT的原理

DiT的架构:DiT架构基于Latent Diffusion Model(LDM)框架,采用Vision Transformer(ViT)作为主干网络,并通过调整ViT的归一化来构建可扩展的扩散模型。如下图所示:

在这里插入图片描述

DiT的架构

DiT的核心组件:DiT有三种变种形式,分别与In-Context Conditioning、Cross-Attention、adaLN-Zero相组合。

在这里插入图片描述

ViT的核心组件

对应Diffusion Transformer模型架构图中由右到左的顺序:

  1. 上下文条件(In-context conditioning):这是模型处理输入数据的一种方式,允许模型根据给定的上下文信息生成输出。

  2. 交叉注意力块(Cross-Attention):该模块允许模型在生成过程中关注输入数据中的特定部分,从而提高生成的准确性。

  3. 自适应层归一化块(Adaptive Layer Normalization, AdaLN):这是一个归一化技术,有助于加速模型的训练并提高性能。

在这里插入图片描述

DiT的三种变形形式

DiT的工作流程:通过引入噪声并训练神经网络来逆转噪声增加的过程,结合Transformer模型,实现图像或视频的生成与变换。这个过程涉及数据预处理、噪声引入、模型训练以及最终的图像或视频生成。

  1. 数据预处理:将输入的图像或视频数据转换为模型可以处理的格式,如将图像切分成固定大小的patches(小块),然后将这些patches转换为特征向量。

  2. 噪声引入:在数据预处理后的特征向量上逐步引入噪声,形成一个噪声增加的扩散过程。这个过程可以视为从原始数据到噪声数据的转换。

  3. 模型训练:使用引入了噪声的特征向量作为输入,训练Diffusion Transformer模型。模型的目标是学习如何逆转噪声增加的过程,即从噪声数据恢复出原始数据。

  4. 图像或视频生成:在模型训练完成后,可以通过输入噪声数据(或随机生成的噪声)到模型中,经过模型的处理后生成新的图像或视频。这个生成过程利用了模型学习到的从噪声到原始数据的映射关系。

在这里插入图片描述

DiT的工作流程

三、DiT的应用

Sora的定义:Sora模型是一种先进的视觉技术模型,以其独特的方式生成视频,通过逐步去除噪声来形成最终画面,使得生成的场景更加细致,并具备学习复杂动态的能力。

视频生成模型作为世界模拟器(Video generation models as world simulators)。

Sora

Sora的核心组件:Sora模型的核心组成包括Diffusion Transformer(DiT)、Variational Autoencoder(VAE)和Vision Transformer(ViT)。

DiT负责从噪声数据中恢复出原始的视频数据,VAE用于将视频数据压缩为潜在表示,而ViT则用于将视频帧转换为特征向量以供DiT处理。

  1. Diffusion Transformer(DiT):DiT结合了扩散模型和Transformer架构的优势,通过模拟从噪声到数据的扩散过程,DiT能够生成高质量、逼真的视频内容。在Sora模型中,DiT负责从噪声数据中恢复出原始的视频数据。

  2. Variational Autoencoder(VAE):VAE是一个生成模型,它能够将输入的图像或视频数据压缩为低维度的潜在表示(latent representation),并通过解码器将这些潜在表示还原为原始数据。在Sora模型中,VAE被用作编码器,将输入的视频数据压缩为DiT的输入,从而指导DiT生成与输入视频相似的视频内容。

  3. Vision Transformer(ViT):ViT是一种基于Transformer的图像处理模型,它将图像视为一系列的patches(小块),并将这些patches转换为特征向量作为Transformer的输入。在Sora模型中,ViT可能被用作预处理步骤或作为模型的一个组件。

在这里插入图片描述

技术交流群

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了算法岗技术与面试交流群, 想要大模型技术交流、了解最新面试动态的、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

想加入星球也可以如下方式:

方式①、微信搜索公众号:机器学习社区,后台回复:星球
方式②、添加微信号:mlc2040,备注:星球

面试精选

  • 一文搞懂 Transformer

  • 一文搞懂 Attention(注意力)机制

  • 一文搞懂 Self-Attention 和 Multi-Head Attention

  • 一文搞懂 BERT(基于Transformer的双向编码器)

  • 一文搞懂 GPT(Generative Pre-trained Transformer)

  • 一文搞懂 Embedding(嵌入)

  • 一文搞懂 Encoder-Decoder(编码器-解码器)

  • 一文搞懂大模型的 Prompt Engineering(提示工程)

  • 一文搞懂 Fine-tuning(大模型微调)

  • 一文搞懂 LangChain

  • 一文搞懂 LangChain 的 Retrieval 模块

  • 一文搞懂 LangChain 的智能体 Agents 模块

  • 一文搞懂 LangChain 的链 Chains 模块

相关论文

  • 《Scalable Diffusion Models with Transformers》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/661380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件架构设计属性之三:结构性属性浅析

文章目录 引言一、结构性属性的定义二、结构性属性的关键要素1. 组件化2. 模块化3. 层次化4. 接口定义5. 数据流6. 依赖管理 三、结构性属性的设计原则1. 高内聚低耦合2. 松耦合3. 清晰的接口4. 可维护性5. 可扩展性 四、结构性属性的实现策略1. 组件划分2. 模块化设计3. 接口设…

100道面试必会算法-26-删除排序链表中的重复元素

100道面试必会算法-26-删除排序链表中的重复元素|| 链表是一种常见的数据结构,它以节点的形式存储数据,每个节点包含数据以及指向下一个节点的引用。链表在插入和删除操作上有较高的效率,因此在许多应用中得到了广泛的使用。然而&#xff0c…

基于51单片机的交通灯设计

一.硬件方案 本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。按键可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等功能。共四个二位阴极数码管,东南西…

电脑怎么清理c盘垃圾文件 电脑运行内存不足怎么清理

和Windows系统电脑文件分区不同,苹果电脑并不分区,默认只有C盘,当C盘垃圾文件过多,电脑运行内存不足时,手动清理电脑垃圾文件毫无头绪,可以尝试使用苹果电脑清理软件——CleanMyMac来清理 。 一、电脑怎么…

动态规划part03 Day43

LC343整数拆分(未掌握) 未掌握分析:dp数组的含义没有想清楚,dp[i]表示分解i能够达到的最大乘积,i能够如何分解呢,从1开始遍历,直到i-1;每次要不是j和i-j两个数,要不是j和…

JetLinks物联网平台初步使用——TCP接入

基于上一篇,完整的搭建了前后端整个系统,可以在windows 7完美的运行使用。 目录 1、创建网络组件 2、创建协议管理 3、创建网关 ​4、创建产品 ​5、创建设备 6、模拟对接 1、创建网络组件 进入平台后(用户名密码都是admin&#xff…

【leetcode——栈的题目】——1003. 检查替换后的词是否有效python

题目: 给你一个字符串 s ,请你判断它是否 有效 。 字符串 s 有效 需要满足:假设开始有一个空字符串 t "" ,你可以执行 任意次 下述操作将 t 转换为 s : 将字符串 "abc" 插入到 t 中的任意位置…

[ C++ ] 深入理解模板( 初 阶 )

函数模板 函数模板格式 template <typename T1, typename T2,......,typename Tn> 返回值类型 函数名(参数列表){} 注意&#xff1a; typename是用来定义模板参数关键字&#xff0c;也可以使用class(切记&#xff1a;不能使用struct代替class) 函数模板的实例化 模板参数…

车载电子电器架构 —— 智能座舱标准化意义

车载电子电器架构 —— 智能座舱标准化意义 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消…

YOLO-10更快、更强

YOLO-10简介 主要贡献&#xff1a; 无NMS的一致双分配 YOLOv10提出了一种通过双标签分配而不用非极大值抑制NMS的策略。这种方法结合了一对多和一对一分配策略的优势&#xff0c;提高了效率并保持了性能。 高效的网络设计 轻量化分类头&#xff1a;在不显著影响性能的情况下&a…

人工智能初识

&#x1f31e;欢迎来到人工智能基础的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年5月1…

一篇文章讲透排序算法之快速排序

前言 本篇博客难度较高&#xff0c;建议在学习过程中先阅读一遍思路、浏览一遍动图&#xff0c;之后研究代码&#xff0c;之后仔细体会思路、体会动图。之后再自己进行实现。 一.快排介绍与思想 快速排序相当于一个对冒泡排序的优化&#xff0c;其大体思路是先在文中选取一个…

如何找出真正的交易信号?Anzo Capital昂首资本总结7个

匕首是一种新兴的价格走势形态&#xff0c;虽然不常见&#xff0c;但具有较高的统计可靠性。它通常预示着趋势的持续发展。该模式涉及到同时参考两个不同的时间周期进行交易&#xff0c;一个是短期&#xff0c;另一个是长期&#xff0c;比如一周时间框架与一天时间框架、一天时…

【芯片验证方法】

术语——中文术语 大陆与台湾的一些术语存在差别&#xff1a; 验证常用的英语术语&#xff1a; 验证&#xff1a;尽量模拟实际应用场景&#xff0c;比对芯片的所需要的目标功能和实现的功能 影响验证的要素&#xff1a;应用场景、目标功能、比对应用场景、目标功能&#xff…

最长递增子序列,交错字符串

第一题&#xff1a; 代码如下&#xff1a; int lengthOfLIS(vector<int>& nums) {//dp[i]表示以第i个元素为结尾的最长子序列的长度int n nums.size();int res 1;vector<int> dp(n, 1);for (int i 1; i < n; i){for (int j 0; j < i; j){if (nums[i]…

深入解析Web前端三大主流框架:Angular、React和Vue

Web前端三大主流框架分别是Angular、React和Vue。下面我将为您详细介绍这三大框架的特点和使用指南。 Angular 核心概念: 组件(Components): 组件是Angular应用的构建块,每个组件由一个带有装饰器的类、一个HTML模板、一个CSS样式表组成。组件通过输入(@Input)和输出(…

海外社媒账号如何运营安全稳定?

由于设备与网络原因&#xff0c;通常一个海外社媒账号尤其是多账号的稳定性都有一定限制&#xff0c;错误的操作或者网络都可能使得账号被封&#xff0c;前功尽弃。本文将为大家讲解如何通过IP代理来维持账号稳定与安全&#xff0c;助力海外社媒矩阵的搭建。 一、社媒账号关联…

Docker安装nginx详细教程

详细教程如下&#xff1a; 1. 拉取Nginx镜像 docker pull nginx默认拉最新的&#xff08;也可以根据自己的需求指定版本&#xff09; 2. 运行Nginx容器 docker run --name my-nginx -d -p 80:80 nginx--name my-nginx&#xff1a;容器名称&#xff0c;便于管理。-d&#xf…

使用C语言实现学生信息管理系统

前言 在我们实现学生信息管理系统的过程中&#xff0c;我们几乎会使用到C语言最常用最重要的知识&#xff0c;对于刚学习完C语言的同学来说是一次很好的巩固机会&#xff0c;其中还牵扯到数据结果中链表的插入和删除内容。 实现学生信息管理系统 文件的创建与使用 对于要实现…

【国产中颖】SH79F9202U单片机驱动LCD段码液晶学习笔记

1. 引言 因新公司之前液晶数显表产品单片机一直用的是 C51单片机(SH79F9202U9)&#xff0c;本人之前没有接触过这款单片机&#xff0c;为了维护老产品不得不重新研究研究这款单片机。 10位ADC LCD的增强型8051微控制器 SH79F9202是一种高速高效率8051可兼容单片机。在同样振…