一文帶你搞懂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》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15139.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15139.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15139.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ArcGIS中分割與按屬性分割的區別

1、分割ArcGIS批量導出各個市的縣級行政邊界 視頻教學: ArcGIS批量導出各個市的縣級行政邊界002 2、ArcGIS批量導出全國各省的邊界 視頻教學: ArcGIS導出全國各省的邊界003 推薦學習: ArcGIS全系列實戰視頻教程——9個單一課程組合系列直播回…

[書生·浦語大模型實戰營]——第二節:輕松玩轉書生·浦語大模型趣味 Demo

1. 部署InternLM2-Chat-1.8B 模型進行智能對話 1.1配置環境 創建開發機 Intern Studio 官網網址:https://studio.intern-ai.org.cn/ 進入官網后,選擇創建開發機,填寫 開發機名稱 后,點擊 選擇鏡像 使用 Cuda11.7-conda 鏡像&am…

CSS中的Flex布局

目錄 一.什么是Flex布局 二.Flex布局使用 2.1Flex使用語法 2.2基本概念 三.容器的屬性 3.1所有屬性概述 3.2flex-direction 3.3flex-wrap 3.4flex-flow 3.5justify-content 3.6align-items 3.7align-content 四.項目(子元素)的屬性 4.1所有屬性概述 4.2order 4…

遺傳算法(Genetic Algorithm, GA)哪些步驟該丟給GPU

遺傳算法(Genetic Algorithm, GA)是一種啟發式搜索算法,受到生物進化的啟發。在遺傳算法中,種群中的每個個體代表問題的一個候選解,通過迭代選擇、交叉和變異操作,來模擬自然選擇和遺傳過程,從而…

九、OpenAI之圖片生成(Image generation)

學習用DALL.E的API怎樣生成和操作圖片 1 介紹 圖片API提供3個方法來和圖片進行交互: 從0開始基于文字提示創建圖片(DALL.E 3 and DALL.E2)基于一個新的提示詞,通過讓模型替換已有圖像的某些區域來創建圖像的編輯版本;(DALL.E2)…

【FPGA】Verilog:解碼器 | 編碼器 | 多路復用器(Mux, Multiplexer)

0x00 什么是解碼器 解碼器是根據輸入信號在多個輸出位中選擇一個輸出位的裝置。例如,當解碼器接收2位二進制值作為輸入時,它可以接收00、01、10、11四種輸入值,并根據每個輸入值在4個輸出位中選擇一個,輸出為1000、0100、0010、0001中的一種。這樣的解碼器被稱為高電平有效…

ICML 2024 Mamba 論文總結

2024ICML(International Conference on Machine Learning,國際機器學習會議)在2024年7月21日-27日在奧地利維也納舉行 🌟【緊跟前沿】“時空探索之旅”與你一起探索時空奧秘!🚀 歡迎大家關注時空探索之旅 …

【數據結構與算法 | 基礎篇】數組模擬棧

1. 前言 前文我們剛提及了如何用單向鏈表來模擬棧. 我們還可以用數組來模擬棧.使用棧頂指針top來進行棧頂的操作. 2. 數組模擬棧 (1). 棧接口 public interface stack<E> {//壓棧boolean push(E value);//彈棧, 棧非空返回棧頂元素E pop();//返回棧頂元素, 但不彈棧E…

IntelliJ IDEA常用快捷鍵 + 動圖演示!

本文參考了 IntelliJ IDEA 的官網&#xff0c;列舉了IntelliJ IDEA &#xff08;Windows 版&#xff09; 的所有快捷鍵。并在此基礎上&#xff0c;為 90% 以上的快捷鍵提供了動圖演示&#xff0c;能夠直觀的看到操作效果。 該快捷鍵共分 11 種&#xff0c;可以方便的按各類查找…

【通義千問—Qwen-Agent系列2】案例分析(圖像理解圖文生成Agent||多模態助手|| 基于ReAct范式的數據分析Agent)

目錄 前言一、快速開始1-1、介紹1-2、安裝1-3、開發你自己的Agent 二、基于Qwen-Agent的案例分析2-0、環境安裝2-1、圖像理解&文本生成Agent2-2、 基于ReAct范式的數據分析Agent2-3、 多模態助手 附錄1、agent源碼2、router源碼 總結 前言 Qwen-Agent是一個開發框架。開發…

Excel提取某一列的唯一值

點擊【篩選】&#xff08;【高級篩選】&#xff09;&#xff0c;參數里&#xff1a; 列表區域&#xff1a;為需要選擇唯一值的那一列復制到&#xff1a;生成唯一值的目標區域 據說新版本的excel有了unique()函數&#xff0c;可以很快捷的選擇某一列的唯一值&#xff0c;但是博…

儀器校準中移液器的使用規范,應當注意哪些細節?

校準行業中&#xff0c;移液器的使用是非常多的&#xff0c;尤其是理化室&#xff0c;經常需要借助到移液器來校準。作為常規的溶液定量轉移器具&#xff0c;其在校準過程中的使用也需要遵守規范&#xff0c;既是保證校準結果準確低誤差&#xff0c;也是為了規范實驗室校準人員…

類與對象:接口

一.概念 接口&#xff08;英文&#xff1a;Interface&#xff09;&#xff0c;在JAVA編程語言中是一個抽象類型&#xff0c;是抽象方法的集合&#xff0c;接口通常以interface來聲明。 二.語法規則 與定義類相似&#xff0c;使用interface關鍵詞。 Idea可以在開始時直接創建…

高德地圖PlaceSearch標記點清除

在開發過程中發現引入 AMap.PlaceSearch 插件之后 增加map屬性之后&#xff0c;地圖上會出現自帶的marker點&#xff0c; 這時通過 searchNearBy()成員方法獲取到的地點值含有省市區等詳細信息 但是將map屬性注釋掉之后 發現不返回省市區&#xff0c;但是又不想關聯上展示mar…

動靜態庫

說明&#xff1a;使用動靜態庫&#xff0c;一般直接安裝即可&#xff0c;其他使用方法了解即可 靜態庫 靜態庫&#xff08;Static Library&#xff09;是一種將代碼和數據打包成一個單獨的文件的庫文件&#xff0c;主要用于編譯時的鏈接&#xff0c;而不是運行時。靜態庫通常…

Android Studio 所有歷史版本下載

一、官網鏈接 https://developer.android.google.cn/studio/archive 操作 二、AndroidDevTools地址 https://www.androiddevtools.cn/ 參考 https://blog.csdn.net/qq_27623455/article/details/103008937

Mybatis源碼剖析---第二講

Mybatis源碼剖析—第二講 那我們在講完了mappedstatement這個類&#xff0c;它的一個核心作用之后呢&#xff1f;那下面我有一個問題想問問各位。作為mappedstatement來講&#xff0c;它封裝的是一個select標簽或者insert標簽。但是呢&#xff0c;我們需要大家注意的是什么&am…

社交媒體數據恢復:soma messenger

步驟1&#xff1a;檢查備份文件 首先&#xff0c;我們需要確認您是否已開啟Soma Messenger的自動備份功能。若已開啟&#xff0c;您可以在備份文件中找到丟失的數據。 步驟2&#xff1a;清除緩存并重啟應用 有時候&#xff0c;清除Soma Messenger的緩存文件可以幫助恢復丟失的…

為什么股票市場里有認賊為父的現象?

文章大綱&#xff1a;&#xff08;本文2648字&#xff0c;完整版本應該3500以上&#xff0c;耗時一個鐘&#xff09; 1、前言&#xff1a;邏輯與博弈 2、直覺引入博弈焦點 3、上周4-5的市場博弈視角 4、下周一視角能看到的東西 5、視角背后看到的情緒周期市場共識下的博弈…