擴散模型逆向過程詳解:如何從噪聲中恢復數據?

在擴散模型中,逆向過程的目標是從噪聲數據逐步恢復出原始數據。本文將詳細解析逆向條件分布 q(zt?1∣zt,x)q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x})q(zt?1?zt?,x)的推導過程,揭示擴散模型如何通過高斯分布實現數據重建。


1. 核心問題

在擴散模型中,我們希望學習如何從含噪數據 (zt(\mathbf{z}_t(zt?) 逐步恢復原始數據 x\mathbf{x}x。直接求逆向分布 q(zt?1∣zt)q(\mathbf{z}_{t-1} \mid \mathbf{z}_t)q(zt?1?zt?) 是困難的,但若額外已知原始數據 x\mathbf{x}x,則條件分布 q(zt?1∣zt,x)q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x})q(zt?1?zt?,x)可以簡化為高斯分布。


2. 貝葉斯定理的應用

利用貝葉斯定理,將條件分布分解為:
q(zt?1∣zt,x)=q(zt∣zt?1,x)q(zt?1∣x)q(zt∣x) q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x}) = \frac{q(\mathbf{z}_t \mid \mathbf{z}_{t-1}, \mathbf{x}) q(\mathbf{z}_{t-1} \mid \mathbf{x})}{q(\mathbf{z}_t \mid \mathbf{x})} q(zt?1?zt?,x)=q(zt?x)q(zt?zt?1?,x)q(zt?1?x)?

關鍵簡化
  • 馬爾可夫性質:前向過程中,zt\mathbf{z}_tzt?僅依賴zt?1\mathbf{z}_{t-1}zt?1?,因此:
    q(zt∣zt?1,x)=q(zt∣zt?1) q(\mathbf{z}_t \mid \mathbf{z}_{t-1}, \mathbf{x}) = q(\mathbf{z}_t \mid \mathbf{z}_{t-1}) q(zt?zt?1?,x)=q(zt?zt?1?)
    此項由前向過程的定義給出(公式 20.4):
    q(zt∣zt?1)=N(zt;1?βtzt?1,βtI) q(\mathbf{z}_t \mid \mathbf{z}_{t-1}) = \mathcal{N}\left(\mathbf{z}_t; \sqrt{1-\beta_t} \mathbf{z}_{t-1}, \beta_t \mathbf{I}\right) q(zt?zt?1?)=N(zt?;1?βt??zt?1?,βt?I)

  • 擴散核q(zt?1∣x)q(\mathbf{z}_{t-1} \mid \mathbf{x})q(zt?1?x)是前向過程的閉式解(公式 20.6):
    q(zt?1∣x)=N(zt?1;αt?1x,(1?αt?1)I) q(\mathbf{z}_{t-1} \mid \mathbf{x}) = \mathcal{N}\left(\mathbf{z}_{t-1}; \sqrt{\alpha_{t-1}} \mathbf{x}, (1-\alpha_{t-1}) \mathbf{I}\right) q(zt?1?x)=N(zt?1?;αt?1??x,(1?αt?1?)I)
    其中αt?1=∏s=1t?1(1?βs)\alpha_{t-1} = \prod_{s=1}^{t-1} (1-\beta_s)αt?1?=s=1t?1?(1?βs?)

  • 分母的忽略:分母 q(zt∣x)q(\mathbf{z}_t \mid \mathbf{x})q(zt?x)zt?1\mathbf{z}_{t-1}zt?1?無關,可視為常數。


3. 高斯分布的推導

分子部分是兩個高斯分布的乘積:
q(zt∣zt?1)?q(zt?1∣x) q(\mathbf{z}_t \mid \mathbf{z}_{t-1}) \cdot q(\mathbf{z}_{t-1} \mid \mathbf{x}) q(zt?zt?1?)?q(zt?1?x)
通過配方法(completing the square),可以合并指數項,得到一個新的高斯分布:
q(zt?1∣zt,x)=N(zt?1;mt(x,zt),σt2I) q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x}) = \mathcal{N}\left(\mathbf{z}_{t-1}; \mathbf{m}_t(\mathbf{x}, \mathbf{z}_t), \sigma_t^2 \mathbf{I}\right) q(zt?1?zt?,x)=N(zt?1?;mt?(x,zt?),σt2?I)

均值和方差的計算
  • 均值 (\mathbf{m}_t)
    mt(x,zt)=αt?1βt1?αtx+1?βt(1?αt?1)1?αtzt \mathbf{m}_t(\mathbf{x}, \mathbf{z}_t) = \frac{\sqrt{\alpha_{t-1}} \beta_t}{1-\alpha_t} \mathbf{x} + \frac{\sqrt{1-\beta_t} (1-\alpha_{t-1})}{1-\alpha_t} \mathbf{z}_t mt?(x,zt?)=1?αt?αt?1??βt??x+1?αt?1?βt??(1?αt?1?)?zt?
    這是原始數據x\mathbf{x}x和當前噪聲數據zt\mathbf{z}_tzt?的線性組合。

  • 方差 σt2\sigma_t^2σt2?
    σt2=(1?αt?1)βt1?αt \sigma_t^2 = \frac{(1-\alpha_{t-1}) \beta_t}{1-\alpha_t} σt2?=1?αt?(1?αt?1?)βt??
    僅依賴噪聲調度參數βt\beta_tβt?和累積系數αt\alpha_tαt?


4. 直觀理解

  • 給定x\mathbf{x}x的重要性:若已知原始數據x\mathbf{x}x,則從 zt\mathbf{z}_tzt?推斷 zt?1\mathbf{z}_{t-1}zt?1?是一個確定性更強的去噪問題,解為高斯分布。
  • 物理意義:均值 mt\mathbf{m}_tmt?是“部分去噪”的結果,方差 σt2\sigma_t^2σt2?表示剩余的不確定性。

5. 與逆向過程的關系

實際訓練中,我們無法直接使用 x\mathbf{x}x(因需生成新數據),因此:

  1. 用神經網絡 pθ(zt?1∣zt)p_\theta(\mathbf{z}_{t-1} \mid \mathbf{z}_t)pθ?(zt?1?zt?)近似q(zt?1∣zt,x)q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x})q(zt?1?zt?,x)
  2. 網絡通過預測均值 mt\mathbf{m}_tmt? 或噪聲 ?\boldsymbol{\epsilon}?來學習去噪。

6. 總結

  • 數學本質:通過貝葉斯定理和高斯分布的性質,顯式推導出條件逆向分布的閉式解。
  • 實際意義:指導神經網絡學習去噪步驟的理論基礎。
  • 關鍵公式
    q(zt?1∣zt,x)=N(zt?1;mt(x,zt),σt2I) q(\mathbf{z}_{t-1} \mid \mathbf{z}_t, \mathbf{x}) = \mathcal{N}\left(\mathbf{z}_{t-1}; \mathbf{m}_t(\mathbf{x}, \mathbf{z}_t), \sigma_t^2 \mathbf{I}\right) q(zt?1?zt?,x)=N(zt?1?;mt?(x,zt?),σt2?I)

這種推導是擴散模型理論的核心,確保了從噪聲中生成數據的數學嚴謹性。


在這里插入圖片描述

這張圖(圖20.3)展示了擴散模型中逆向分布的計算過程,以下是詳細解析:


1. 圖的組成與含義

(1) 左子圖:前向噪聲過程q(zt∣zt?1)q(z_t|z_{t-1})q(zt?zt?1?)
  • 橫軸:噪聲數據 ztz_tzt?
  • 縱軸:概率密度
  • 曲線特征:以 zt?1z_{t-1}zt?1?為中心的高斯分布(鐘形曲線)
  • 關鍵參數:方差βt\beta_tβt?較大 → 曲線"寬泛"(平坦)
  • 物理意義:表示單步加噪時,ztz_tzt? 可能取值的范圍較大
(2) 右子圖:邊緣分布q(zt?1)q(z_{t-1})q(zt?1?)
  • 橫軸:數據 zt?1z_{t-1}zt?1?
  • 縱軸:概率密度
  • 紅色曲線:三個高斯分布的混合(多峰結構)
  • 物理意義:反映數據在t?1t-1t?1 步的整體分布(可能對應不同模態的真實數據)
(3) 藍色曲線:逆向分布q(zt?1∣zt)q(z_{t-1}|z_t)q(zt?1?zt?)
  • 生成方式:通過貝葉斯定理將左、右子圖的分布相乘并歸一化
  • 特征:復雜多峰結構(多個局部最大值)
  • 物理意義:給定當前噪聲ztz_tzt?,可能對應多個潛在的 zt?1z_{t-1}zt?1?狀態

2. 關鍵句解析

“由于左側分布(對應大方差βt)相對寬泛,導致逆向分布q(zt?1∣zt)q(zt?1|zt)q(zt?1∣zt)呈現出復雜的多峰結構。”

(1) 因果關系
  • 大方差 βt\beta_tβt? → 前向分布 q(zt∣zt?1)q(z_t|z_{t-1})q(zt?zt?1?) 平坦 → 允許 ztz_tzt? 偏離 zt?1z_{t-1}zt?1?更遠
  • 結果:一個 ztz_tzt?可能由多個不同的zt?1z_{t-1}zt?1?生成 → 逆向分布出現多峰
(2) 多峰結構的含義
  • 每個峰:對應一個可能的zt?1z_{t-1}zt?1? 來源
  • 示例:若原始數據包含"貓"和"狗"兩類,加噪后的ztz_tzt?可能無法確定源自哪類 → 逆向分布同時保留兩種可能
(3) 數學解釋

貝葉斯定理中:
q(zt?1∣zt)∝q(zt∣zt?1)?寬泛分布?q(zt?1)?多峰分布 q(z_{t-1}|z_t) \propto \underbrace{q(z_t|z_{t-1})}_{\text{寬泛分布}} \cdot \underbrace{q(z_{t-1})}_{\text{多峰分布}} q(zt?1?zt?)寬泛分布q(zt?zt?1?)???多峰分布q(zt?1?)??

  • 寬泛的似然q(zt∣zt?1)q(z_t|z_{t-1})q(zt?zt?1?)不會壓制q(zt?1)q(z_{t-1})q(zt?1?) 的多峰性
  • 最終逆向分布繼承q(zt?1)q(z_{t-1})q(zt?1?) 的多峰特征

3. 對擴散模型的意義

  1. 理論挑戰:多峰性說明直接計算逆向分布極其困難
  2. 解決方案
    • 用神經網絡pθ(zt?1∣zt)p_\theta(z_{t-1}|z_t)pθ?(zt?1?zt?)近似為單峰高斯
    • 通過訓練使網絡學會選擇"最可能"的峰(對應高質量生成)
  3. 設計啟示
    • 需控制βt\beta_tβt?大小:方差過大導致多峰性增強,訓練難度增加
    • 多峰性也賦予模型捕捉數據多樣性的能力

4. 實例說明

假設:

  • 右子圖的三個峰對應zt?1=?1,0,1z_{t-1} = -1, 0, 1zt?1?=?1,0,1(三種潛在狀態)
  • 觀測到zt=0.5z_t = 0.5zt?=0.5(左子圖中心在某個 zt?1z_{t-1}zt?1?
  • 藍色曲線可能在zt?1=0z_{t-1} = 0zt?1?=0zt?1=1z_{t-1} = 1zt?1?=1處各有一個峰
    → 說明zt=0.5z_t = 0.5zt?=0.5可能由zt?1=0z_{t-1} = 0zt?1?=0111 加噪得到

5. 總結

該圖揭示了擴散模型中逆向過程的本質困難:
前向噪聲的隨機性(大方差)導致逆向推斷存在歧義,而模型必須通過學習解決這種歧義,才能實現高質量生成。這一現象也解釋了為什么擴散模型需要復雜的網絡結構和訓練技巧。


在這里插入圖片描述
在圖20.4中,左圖展示了條件概率分布q(zt∣zt?1)q(z_t | z_{t-1})q(zt?zt?1?),其方差βt\beta_tβt?較小,這意味著分布更窄。右圖展示了相應的逆過程分布q(zt?1∣zt)q(z_{t-1} | z_t)q(zt?1?zt?)

為什么分布更窄并不意味著變化更明顯?

  1. 方差與變化幅度

    • 方差是衡量數據分布的離散程度的指標。較小的方差意味著數據點更集中在均值附近。
    • 在條件概率分布 q(zt∣zt?1)q(z_t | z_{t-1})q(zt?zt?1?)中,較小的方差表示在給定 zt?1z_{t-1}zt?1? 的情況下, ztz_tzt? 的取值更集中在某個特定值附近ztz_tzt? 的變化幅度較小
  2. 逆過程分布

    • 右圖中的藍色曲線 q(zt?1∣zt)q(z_{t-1} | z_t)q(zt?1?zt?)展示了在給定 ztz_tzt?的情況下, zt?1z_{t-1}zt?1? 的分布。
    • 由于左圖中的 q(zt∣zt?1)q(z_t | z_{t-1})q(zt?zt?1?) 分布較窄,意味著 ztz_tzt? 的取值相對集中,因此在逆過程中, zt?1z_{t-1}zt?1? 的分布也相對集中,接近高斯分布。
  3. 變化幅度與學習難度

    • 分布更窄意味著在每一步變換中,潛在變量的變化幅度較小。這種微小的變化使得模型更容易學習如何逆轉這些變換,因為每一步的變換都是可預測的、穩定的。
    • 如果方差較大,潛在變量的變化幅度會更大,這會增加模型學習逆過程的難度,因為每一步的變換更加不可預測。

總結

  • 分布更窄(方差較小)意味著潛在變量的變化幅度較小,而不是變化更明顯。
  • 這種微小的變化使得逆過程更容易學習和預測,因為每一步的變換都是相對穩定和可預測的。
  • 因此,較小的方差有助于簡化模型的學習過程,但可能需要更多的步驟來達到顯著的總體變化。

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

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

相關文章

2025年7月份實時最新獲取地圖邊界數據方法,省市區縣街道多級聯動【文末附實時geoJson數據下載】

動態生成最新行政區劃 GeoJSON 數據并結合 ECharts 實現地圖下鉆功能 在開發基于地圖的數據可視化應用時,一個常見的挑戰是獲取準確且最新的行政區劃邊界數據(GeoJSON)。許多現有的在線資源可能數據陳舊,無法反映最新的行政區劃調…

Spark實現WorldCount執行流程圖

spark可以分區并行執行,同時并行執行也可以基于內存完成迭代代碼對于大部分spark程序來說都是以driver開始driver結束,中間都是executor分布式運行

編程與數學 03-002 計算機網絡 02_網絡體系結構與協議

編程與數學 03-002 計算機網絡 02_網絡體系結構與協議一、網絡體系結構的基本概念(一)分層體系結構的優點(二)協議、接口與服務的概念二、OSI參考模型(一)七層模型的層次劃分及功能(二&#xff…

Flutter 提取圖像主色調 ColorScheme.fromImageProvider

從圖像中提取主色調,用于動態適配顏色主題或者界面顏色。之前在 Flutter 應用里一直用的 palette_generator 插件,可以分析圖像顏色,從中提取一系列主要的色調。最近發現這個谷歌官方的插件竟然不維護了,后續沒有更新計劃了。 查找…

51c自動駕駛~合集8

自己的原文哦~ https://blog.51cto.com/whaosoft/11618683 #Hierarchical BEV BEV進入定制化時代!清華Hierarchical BEV:創新多模塊學習框架,無痛落地無縫量產!? 論文思路 自動駕駛指通過傳感器計算設備、信息通信、自…

Excel——重復值處理

識別重復行的三種方法方法1:COUNTIF公式法在E2單元格輸入公式:COUNTIF($B$2:$B2,B2)>1下拉填充至所有數據行結果為TRUE的即為重復行(會標出第二次及以后出現的重復項)方法2:排序IF公式法按商機號排序(數…

華普微Matter模塊HM-MT7201,打破智能家居生態孤島

隨著智能家居滲透率與認可度的持續提升,消費者對于智能家居的功能訴求正從具備聯網控制、遠程控制與語音遙控等基礎交互能力,升級為能通過單一的家居生態平臺APP無縫控制所有的品牌設備,從而實現真正意義上的統一調度。這種從“單一設備聯網控…

如何使用 minio 完成OceanBase社區版的歸檔和備份

自OceanBase社區版4.2.1BP7版本起,OceanBase的歸檔與備份功能開始兼容AWS S3及S3協議的對象存儲服務,因此,許多用戶選擇采用 MinIO 作為其備份存儲介質。因為 MinIO 兼容AWS S3云存儲服務接口,成為了一個輕便的服務選項。 本文將…

Nacos-服務注冊,服務發現(二)

Nacos健康檢查 兩種健康檢查機制 Nacos作為注冊中?, 需要感知服務的健康狀態, 才能為服務調??提供良好的服務。 Nacos 中提供了兩種健康檢查機制: 客?端主動上報機制: 客?端通過?跳上報?式告知服務端(nacos注冊中?)健康狀態, 默認?跳間隔5…

手寫PPO_clip(FrozenLake環境)

參考:白話PPO訓練 成功截圖 算法組件 四大部分 同A2C相比,PPO算法額外引入了一個old_actor_model. 在PPO的訓練中,首先使用old_actor_model與環境進行交互得到經驗,然后利用一批經驗優化actor_model,最后再將actor_m…

人形機器人指南(八)操作

八、環境交互與操作能力——人形機器人的“靈巧雙手”環境交互與操作能力是人形機器人區別于移動平臺的核心能力標志。通過仿生學設計的運動鏈與智能控制算法,機器人得以在非結構化環境中執行抓取、操縱、裝配等復雜任務。本章將系統解析機械臂運動學架構、靈巧手設…

管理 GitHub Pages 站點的自定義域(Windows)

管理 GitHub Pages 站點的自定義域(Windows) 你可以設置或更新某些 DNS 記錄和存儲庫設置,以將 GitHub Pages 站點的默認域指向自定義域。 誰可以使用此功能? GitHub Pages 在公共存儲庫中提供 GitHub Free 和 GitHub Free for organizations,在公共和私有存儲庫中提供 Gi…

【PCIe 總線及設備入門學習專欄 5.1.3 -- PCIe PERST# 時序要求】

文章目錄 Overview 什么是PERST# 第一條要求 術語解釋 要求含義 第二條要求 術語解釋 要求含義 Perst 示例說明 過程如下 總結 Overview 首先我們看下 PCIe x協議對 PERST 的要求: A component must enter the LTSSM Detect state within 20 rms of the end of Fundamental R…

圖像認知與OpenCV——圖像預處理

目錄 一、顏色加法 顏色加法 顏色加權加法 示例 二、顏色空間轉換 RGB轉Gray(灰度) RGB轉HSV HSV轉RGB 示例 三、灰度化 最大值法 平均值法 加權平均值法 四、圖像二值化處理 閾值法 反閾值法 截斷閾值法 低閾值零處理 超閾值法 OTSU…

Vue 3 組件通信全解析:從 Props 到 Pinia 的深入實踐

引言 Vue 3 作為現代前端框架的代表之一,以其靈活性和高效性受到開發者的廣泛喜愛。在 Vue 3 中,組件是構建用戶界面的核心單元,而組件之間的通信則是實現動態交互和數據流動的關鍵環節。無論是簡單的父子組件通信,還是復雜的跨組…

CodeBuddy IDE實戰:用AI全棧能力快速搭建課程表網頁

聲明:本文僅是實踐測評,并非廣告 1.前言 在數字化開發的浪潮中,工具的革新往往是效率躍遷的起點。騰訊云 CodeBuddy IDE 是 “全球首個產設研一體 AI 全棧開發平臺” ,它不僅打破了產品、設計與研發的職能壁壘,更重新…

11. HTML 中 DOCTYPE 的作用

總結H5 的聲明HTML5 的 DOCTYPE 聲明 HTML5 中的 <!DOCTYPE html> 聲明用于告訴瀏覽器當前文檔使用的是 HTML5 的文檔類型。它必須是文檔中的第一行內容&#xff08;在任何 HTML 標簽之前&#xff09;&#xff0c;以確保瀏覽器能夠正確地解析和渲染頁面。DOCTYPE 的作用 …

Linux C 網絡基礎編程

基礎知識在進行網絡編程之前&#xff0c;我們需要簡單回顧一下計算機網絡五層模型的網絡層和傳輸層&#xff0c;這兩層在面向后端編程時用的最多。物理層和鏈路層過于底層&#xff0c;已經完全由內核協議棧實現&#xff0c;不再細述。這里假設讀者已經對計算機網絡有一個大致的…

循環神經網絡--NLP基礎

一、簡單介紹NLP&#xff08;Natural Language Processing&#xff09;&#xff1a;自然語言處理是人工智能和語言領域的一個分支&#xff0c;它涉及計算機和人類語言之間的相互作用。二、NLP基礎概念詞表&#xff08;詞庫&#xff09;&#xff1a;文本數據集出現的所有單詞的集…

【Android】約束布局總結(1)

三三要成為安卓糕手 零&#xff1a;創建布局文件方式 1&#xff1a;創建步驟ctrl alt 空格 設置根元素2&#xff1a;處理老版本約束布局 在一些老的工程中&#xff0c;constrainlayout可能沒有辦法被直接使用&#xff0c;這里需要手動添加依賴implementation androidx.const…