【圖像生成1】Latent Diffusion Models 論文學習筆記

一、背景

本文主要記錄一下使用 LDMs?之前,學習 LDMs 的過程。

二、論文解讀

Paper:[2112.10752] High-Resolution Image Synthesis with Latent Diffusion Models?

1.? 總體描述

????????LDMs 將傳統 DMs 在高維圖像像素空間(Pixel Space)上的 diffusion 操作轉移到低維潛空間(Latent Space)進行,大大降低了訓練和推理所需計算資源,生成的圖像細節更豐富,更真實,且能用于生成高分辨率(百萬級像素)圖像;同時引入的條件控制機制 Conditioning Mechanisms 使模型能夠用于多種條件圖像生成任務,如圖像超分、圖像修復、語義合成(文生圖、圖生圖,布局生圖)。

????????后面這幾位作者又提出了檢索增強擴散模型(Retrieval Augmented Diffusion Models, RDMs)并將其用于 LDMs 的文生圖任務中,大概作用就是進一步降低生成圖像所需計算資源,提升生成圖像的質量。

2. LDMs

2.1 主體框架

????????通過框架圖可知,在 LDMs 之前需要先訓練一個 Autoencoder,包含一個編碼器??和一個解碼器?,輸入圖像??經過編碼器??得到其潛在空間的特征表示?,解碼器 ?再將??從潛在空間重構回像素空間得到生成后的?,上述過程(對應框架圖左部)可表示為:

Encode:

Decode:

其中降采樣因子?,且為 2 的冪次,即?

????????正向擴散(加噪)過程和反向去噪(重構)過程均發生在潛在空間,重構過程中通過加入一個條件降噪自編碼器??(UNet??cross attention,對應框架圖中部)可以將輸入條件??擴展到不同形態(對應框架圖右部),比如文本、語義圖、圖像等,進而可以實現如文生圖、布局生圖、圖生圖等多種生成任務。

2.2 感知圖像壓縮(Perceptual Image Compression)

????????現有 DMs 的生成過程可以視為一個壓縮比(感知有效 bit 與圖像維度之比)和失真率的平衡問題(如上圖所示),壓縮比越低(高),說明圖像中感知有效的 bit 越少(多),因而生成的圖像失真程度越大(小)。其學習過程大致可分為兩個階段:感知壓縮階段和語義壓縮階段。在感知壓縮階段,模型會舍棄圖像中的高頻信息而只學習一些語義變化,在語義壓縮階段,生成模型會學習數據的語義和概念信息(高維抽象的信息)。

????????DMs 雖然可以忽略圖像中一些在感知上無關緊要的信息,但模型的計算和優化過程仍然在像素空間中,這就導致如果合成一些高分辨率圖像,空間維度就會非常高,在計算時間和計算資源上的花費會非常昂貴(heavy cost)。?

????????于是作者提出了對圖像的感知壓縮,使用一個 Autoencoder,該 Autoencoder (論文中叫感知壓縮模型)結合了感知損失和基于 patch 的對抗樣本進行訓練。在圖像生成之前會先學習一個與圖像空間感知等效(perceptually equivalent)的低維空間,即潛在空間,在這個空間中進行擴散過程和后續操作,有效降低模型計算復雜性,提高計算效率。

????????為了避免潛在空間的高方差,導致重構圖像與輸入圖像偏離過大,作者使用了兩種正則化方法,KL-reg. 和 VQ-reg.。使用 KL-reg. 的感知壓縮模型相當于一個 VAE,而使用了 VQ-reg. 的感知壓縮模型與一個 VQGAN 的工作過程類似。

????????代碼中提供了使用 KL(AutoencoderKL 類)和 VQ(VQModel 類)正則配合不同降采樣因子的 AE。

2.3?潛在擴散模型(Latent Diffusion Models)

????????傳統 DMs 在對服從正態分布的變量逐漸去噪的過程中學習其數據分布?,可以看做是基于時序的降噪自編碼器(an equally weighted sequence of denoising autoencoders)?,其中??是輸入樣本??的加噪版本,而 DMs 的任務就是學習如何從加噪版樣本??中預測去噪版的?,這個??是輸入樣本??的變體,二者不完全一樣。對應目標函數可表示如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(公式1)

其中??均勻采樣自序列??。

????????LDMs 與DMs 相比,其訓練過程在計算高效的低維空間中進行,且模型會聚焦于圖像中的語義信息,丟棄高頻和感知無效的細節。該模型的 backbone 本質上是一個時序條件 UNet(time-conditional UNet),訓練時由編碼器??生成潛在空間表示?,解碼器??將采樣自??的樣本解碼回圖像空間,得到重建后的?。目標函數表示如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? (公式2)

可以看出 LDMs 就是將擴散過程由圖像空間??轉移到潛在空間?

2.4?條件機制(Conditioning Mechanisms)?

????????上面主要介紹的是 LDMs 的無條件生成機制,本章節介紹了如何實現 LDMs 的多模態條件生成,如文生圖、圖生圖、圖像轉換(image-to-image translation)等。

????????擴散模型原則上能夠對形如??的條件分布建模,借助一個條件降噪自編碼器(conditional denoising autoencoder)?可以將生成過程中的控制條件擴展到多種形式,如文本、語義圖(semantic maps)、圖像等。

????????在圖像生成任務中,如果 DMs 的條件輸入是除了類別標簽(class-label)和模糊版圖像(blurred variants of the input image,指圖像超分)的其它形式,那 DMs 的生成能力還有待探索(隨后本文就進行了探索)。

????????通過在 UNet 中加入交叉注意力機制,使得 DMs 能夠應對多種不同的條件輸入模態(比如prompts)。為了處理條件輸入?,作者引入了一個域專用編碼器(domain specific encoder),將??映射為一個中間表示(intermediate representation),之后通過交叉注意力層將其送入 UNet 的中間層(如框架圖中展示的)。

?

?

其中??是 UNet(執行后)的一個中間表示,?和??為映射矩陣。

????????借助圖像-條件對,條件控制 LDM 的學習可表示如下:

? ? ? ? ? ? ? ? ? ? (公式3)

與公式 2 相比多了一個條件?。?

3. 實驗

????????為了驗證 LDMs 的效果,作者進行了大量實驗,包括對下采樣因子??的調節,無條件圖形生成(基于 CelebA-HQ,FFHQ,LSUN-Churches 和 LSUN-Bedrooms 數據集,生成圖像分辨率為256256) ,有條件圖像生成(文生圖、語義圖生圖、圖像超分、圖像修復等),基于多種評價指標分析生成圖像的質量和效果。45 頁的論文(加附錄)有 90% 的篇幅屬于實驗分析,可謂相當有說服力了。

????????實驗部分就不做過多記錄了,就簡單整理一下實驗類型和實驗結論。(主要還是能力有限,很多分析看不大懂,只能通過圖示來直觀感受了 - -)

3.1 感知壓縮的權衡(On Perceptual Compression Tradeoffs)

????????作者使用了 6 種下采樣因子()來分析其對圖像生成的影響,當?時,LDMs 就是 DMs。

?越小({1-2})訓練時間越長,?過大({32})?導致信息損失過多,進而導致生成圖像質量差,?時平衡效果最好。

????????在兩個數據集上比較了不同采樣速度對 FID 分數的影響,當??時同樣的采樣速度下 FID 最低。所以綜合分析來看,?時模型性能最好。

3.2 無條件圖像生成(Image Generation with Latent Diffusion)

????????作者在四個數據集上訓練無條件 LDMs,基于 FID 和 PR 兩個指標評價生成圖像的質量。

在 CelebA-HQ 數據集上 LDM 的 FID 分數達到最優,在另外幾個數據集上也表現優秀。

在各數據集上生成圖像的效果:

3.3 條件 LDM(Conditional Latent Diffusion)?

3.3.1 引入Transformer 編碼器的LDM

????????作者使用了 BERT-Tokenizer,并將?(前面提到的域專用編碼器)作為一個 transformer 來生成潛在特征,通過多頭交叉注意力將潛在特征映射到 UNet。

(1)文生圖

????????作者在 LAION-400M 數據集上,以 prompts 為條件輸入,訓練了一個條件 LDM(使用 KL 正則優化),并在 MS-COCO 驗證集上進行驗證。

????????LDM-KL-8-G(加入 classifier-free diffusion guidance) 的表現與當時的 SOTA 表現相當,但參數量明顯更少。

生成效果展示

(2) 布局生圖

????????作者在 OpenImages 數據集(語義布局圖,semantic layouts)上訓練,在 COCO 數據集上微調。

生成結果展示:

(3)類別條件圖像生成(ImageNet)?

結論也是:指標表現媲美 SOTA,參數量更少。?

3.3.2 卷積采樣(Convolutional Sampling Beyond )?

????????以語義圖(semantic maps)生成為例,作者在分辨率為??的圖像上訓練模型,但模型卻可以生成分辨率更高的圖像。

3.4 圖像超分(Super-Resolution with Latent Diffusion)?

????????作者使用的是在 OpenImages 數據集上預訓練的 Autoencoder(使用 VQ 正則優化,),條件輸入??為低分圖像(對原圖做 4 倍下采樣),在 ImageNet 上訓練 LDM。

LDM-SR 的 FID 分數超過 SR3,參數量最少。

超分效果展示

????????然后作者又做了一個觀察者實驗,向受試者展示兩張高分辨率圖像(分別由 LDM-SR 和對比模型生成)和二者之間的一張低分圖像,?然后統計受試者對這兩張圖像的評價,結果顯示由 LDM-SR 生成的超分圖像評價更高。

更多效果展示

?

3.5 圖像修復(Inpainting with Latent Diffusion)

????????作者在 Places 數據集上訓練和驗證模型。首先分析了在第一階段選擇不同可調因子(降采樣因子、正則化項、注意力機制)對生成結果的影響。總體來說,LDM 與普通 DM(?的LDM)相比,速度上至少 2.7倍+,FID 分數高了 1.6倍+。

????????加入注意力機制之后提高了生成圖像的質量(從 FID 分數上反應)。從之前的觀察者實驗結果表中也可以反映 LDM 修復的圖像質量更佳。

?修復效果展示


????????實驗部分梳理完畢(信息量確實太大了 - -)。后面作者提到了 LDMs 存在的局限性(順序采樣比 GANs 慢,生成高精度圖像的能力等)以及模型可能造成的社會影響(生成假數據等)。

????????以上就是基于本人目前水平對論文所做的解讀,會有很多地方理解不夠準確,建議大家看原文更有助于理解。

三、總結

????????這篇文章屬于無意之舉,畢竟沒有涉獵過圖像生成相關領域,原本只是想記錄一下使用 LDMs 的過程,但在看別人教程還是 github 的過程中有很多概念不太理解,就去搜搜看看,慢慢看得多了就想說要不干脆學習一下論文,原理上多理解一些對于后面模型使用也有好處。

????????這一讀不要緊,越讀不懂的越多,搜的越多,費的時間越多,斷斷續續花了好幾天才算把論文主要內容看完,配上自己粗淺的理解,才算有了這篇文章。說實話自己可能也就理解了一半,還有很多東西看不懂,比如什么是 ddpm,ddim?什么叫卷積采樣?等等,留待以后再慢慢學習吧。

????????Stable Diffusion 大火那會自己也是第一時間上手試玩,當時來說確實很驚艷,但也只是會用,不知道背后竟然是 LDMs,又轉回來了。

參考資料

[1]?[論文筆記] Semi-parametric Image Synthesis -知乎

[2]?Retrieval-Augmented Diffusion Models -知乎

[3]?Latent Diffusion Models論文解讀 -知乎

[4]?stable diffusion原始論文翻譯(LDM latent diffusion model) -知乎

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

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

相關文章

通信安全堡壘:profinet轉ethernet ip主網關提升冶煉安全與連接

作為鋼鐵冶煉生產線的安全檢查員,我在此提交關于使用profinet轉ethernetip網關前后對生產線連接及安全影響的檢查報告。 使用profinet轉ethernetip網關前的情況: 在未使用profinet轉ethernetip網關之前,我們的EtherNet/IP測溫儀和流量計與PR…

TIFS2024 | CRFA | 基于關鍵區域特征攻擊提升對抗樣本遷移性

Improving Transferability of Adversarial Samples via Critical Region-Oriented Feature-Level Attack 摘要-Abstract引言-Introduction相關工作-Related Work提出的方法-Proposed Method問題分析-Problem Analysis擾動注意力感知加權-Perturbation Attention-Aware Weighti…

day 20 奇異值SVD分解

一、什么是奇異值 二、核心思想: 三、奇異值的主要應用 1、降維: 2、數據壓縮: 原理:圖像可以表示為一個矩陣,矩陣的元素對應圖像的像素值。對這個圖像矩陣進行 SVD 分解后,小的奇異值對圖像的主要結構貢…

符合Python風格的對象(對象表示形式)

對象表示形式 每門面向對象的語言至少都有一種獲取對象的字符串表示形式的標準方 式。Python 提供了兩種方式。 repr()   以便于開發者理解的方式返回對象的字符串表示形式。str()   以便于用戶理解的方式返回對象的字符串表示形式。 正如你所知,我們要實現_…

springboot配置tomcat端口的方法

在Spring Boot中配置Tomcat端口可通過以下方法實現: 配置文件方式 properties格式 在application.properties中添加:server.port8081YAML格式 在application.yml中添加:server:port: 8082多環境配置 創建不同環境的配置文件(如app…

DeepSeek指令微調與強化學習對齊:從SFT到RLHF

后訓練微調的重要性 預訓練使大模型獲得豐富的語言和知識表達能力,但其輸出往往與用戶意圖和安全性需求不完全匹配。業內普遍采用三階段訓練流程:預訓練 → 監督微調(SFT)→ 人類偏好對齊(RLHF)。預訓練階段模型在大規模語料上學習語言規律;監督微調利用人工標注的數據…

Maven 插件擴展點與自定義生命周期

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

ecmascript 第6版特性 ECMA-262 ES6

https://blog.csdn.net/zlpzlpzyd/article/details/146125018 在之前寫的文章基礎上,ES6在export和import的基礎外,還有如下特性 特性說明let/const塊級作用域變量聲明>箭頭函數Promise異步編程

CT重建筆記(五)—2D平行束投影公式

寫的又回去了,因為我發現我理解不夠透徹,反正想到啥寫啥,盡量保證內容質量好簡潔易懂 2D平行束投影公式 p ( s , θ ) ∫ ∫ f ( x , y ) δ ( x c o s θ y s i n θ ? s ) d x d y p(s,\theta)\int \int f(x,y)\delta(x cos\theta ysi…

記一次緩存填坑省市區級聯獲取的操作

先說緩存是什么? 緩存主要是解決高并發,大數據場景下,熱點數據快速訪問。緩存的原則首先保證數據的準確和最終數據一致,其次是距離用戶越近越好,同步越及時越好。 再說我們遇到的場景: 接手項目后&#…

無法加載文件 E:\Program Files\nodejs\npm.ps1,因為在此系統上禁止運行腳本

遇到“無法加載文件 E:\Program Files\nodejs\npm.ps1,因為在此系統上禁止運行腳本”這類錯誤,通常是因為你的 PowerShell 執行策略設置為不允許運行腳本。在 Windows 系統中,默認情況下,出于安全考慮,PowerShell 可能會阻止運行未…

OpenWebUI新突破,MCPO框架解鎖MCP工具新玩法

大家好,Open WebUI 迎來重要更新,現已正式支持 MCP 工具服務器,但 MCP 工具服務器需由兼容 OpenAPI 的代理作為前端。mcpo 是一款實用代理,經測試,它能讓開發者使用 MCP 服務器命令和標準 OpenAPI 服務器工具&#xff…

松下SMT貼片機選型與高效應用指南

內容概要 在電子制造領域,SMT貼片機作為核心生產設備,其選型與應用直接關系到企業產能與產品質量。本文聚焦松下SMT貼片機系列,通過系統性梳理設備選型邏輯與技術特性,為制造企業提供多維度的決策參考。重點涵蓋主流機型性能參數…

計算機網絡(1)——概述

1.計算機網絡基本概念 1.1 什么是計算機網絡 計算機網絡的產生背景 在計算機網絡出現之前,計算機之間都是相互獨立的,每臺計算機只能訪問自身存儲的數據,無法與其他計算機進行數據交換和資源共享。這種獨立的計算機系統存在諸多局限性&#…

React學習(二)-變量

也是很無聊,竟然寫這玩意,畢竟不是學術研究,普通工作沒那么多概念性東西,會用就行╮(╯▽╰)╭ 在React中,變量是用于存儲和管理數據的基本單位。根據其用途和生命周期,React中的變量可以分為以下幾類&…

完整卸載 Fabric Manager 的方法

目錄 ? 完整卸載 Fabric Manager 的方法 1?? 停止并禁用服務 2?? 卸載 Fabric Manager 軟件包 3?? 自動清理無用依賴(可選) 4?? 檢查是否卸載成功 ? 補充(僅清除服務,不刪包) ? 完整卸載 Fabric Mana…

ABP vNext 多租戶開發實戰指南

🚀 ABP vNext 多租戶開發實戰指南 🛠? 環境:.NET 8.0 ABP vNext 8.1.5 (C# 11, EF Core 8) 📚 目錄 🚀 ABP vNext 多租戶開發實戰指南🏠 一、什么是多租戶?📦 二、ABP 多租戶的核…

【WIN】筆記本電腦忘記密碼解決辦法/筆記本電腦重裝系統筆記/bitlocker忘記密碼的解決辦法

通過安全模式下的CMD命令找回 具體的步驟就是: 首先通過筆記本的對應的一個進入安全模式的一個方式 進入安全模式之后,一直點著這個診斷,然后高級選項進去就可以看到了。 但是這種方法應該是屬于安全漏洞,所以只適合老版本。如果是…

人工智能100問?第25問:什么是循環神經網絡(RNN)?

目錄 一、通俗解釋 二、專業解析 三、權威參考 循環神經網絡(RNN)是一種通過“記憶”序列中歷史信息來處理時序數據的神經網絡,可捕捉前后數據的關聯性,擅長處理語言、語音等序列化任務。 一、通俗解釋 想象你在和朋友聊天,每說一句話都會根據之前的對話內容調整語氣…

實驗八 基于Python的數字圖像問題處理

一、實驗目的 ? 培養利用圖像處理技術解決實際問題的能力。 ? 培養利用圖像處理技術綜合設計實現的能力。 ? 掌握在Python環境下解決實際問題的能力。 ? 熟練掌握使用cv2庫對圖像進行處理 ? 熟練掌握使用區域生長法提取圖片中感興趣的區域 二、實驗內容 本次實驗內容為…