---
# System prepended metadata

title: 【生成式AI】淺談圖像生成模型 Diffusion Model 原理

---

# 【生成式AI】淺談圖像生成模型 Diffusion Model 原理

本講主要介紹 **Diffusion Model**（擴散模型）的核心運作機制，特別聚焦於經典的 **DDPM (Denoising Diffusion Probabilistic Model)** 架構。內容涵蓋了圖像生成的「反向過程 (Reverse Process)」、模型內部的「雜訊預測器 (Noise Predictor)」設計理由、訓練資料的構建方式（Forward Process），以及如何引入文字條件（Text Conditioning）來實現文生圖功能。同時也探討了支撐現代 AI（如 Stable Diffusion, DALL-E）背後的龐大數據集（LAION）。

<br>

## 01. 擴散模型的推論過程 (Inference / Reverse Process)

### 01-01. 核心概念與知名應用

* **核心定位**：Diffusion Model 是目前影像生成領域的主流技術，知名的系統如 DALL-E、Google Imagen、Stable Diffusion 皆基於類似的原理（主要是 DDPM 的變形）。
* **生成起點**：生成一張圖片的第一步是從 **Gaussian Distribution (常態分佈)** 中採樣出一個全是雜訊的向量 (Vector)。
* **維度對應**：採樣出的向量維度必須與目標圖片大小一致（例如：若要生成 $256 \times 256$ 的圖片，就要採樣 $256 \times 256$ 的雜訊矩陣）。

### 01-02. 去噪過程 (Denoise)

* **運作機制**：將雜訊向量輸入一個 **Denoise Network**，它會濾除部分雜訊。重複多次後，原本的雜訊圖會逐漸浮現出物體輪廓（如貓的形狀），最終變成清晰圖片。
* **步驟編號 (Step ID)**：
    1. 整個去噪過程是分步驟進行的，我們給每個步驟一個編號。
    2. 編號通常從大到小排列（例如從 Step 1000 到 Step 1），Step 1000 代表剛開始全是雜訊，Step 1 代表最後一步，接近完成圖。

![截圖 2026-01-27 下午3.24.48](https://hackmd.io/_uploads/rkhSO1L8Zl.png)


* **術語定義**：這個從「雜訊」還原回「圖片」的過程稱為 **Reverse Process**。

:::info
💡 **舉例：米開朗吉羅的雕刻哲學**
講者引用米開朗吉羅的名言：「雕像本來就在大理石裡面，我只是把不要的部分拿掉。」
* **類比**：Diffusion Model 做的事情一模一樣。圖片本來就藏在雜訊裡，模型只是負責把「構成雜訊」的部分濾除。
* **講者實測**：講者曾嘗試用 Midjourney 畫出「大衛像藏在石頭裡」的意境，但因詠唱（Prompting）技巧不足，未能完美呈現，這也側面說明了文字與圖像對應的複雜性。
:::

<br>

## 02. 去噪模型的內部架構 (Denoise Model Architecture)

### 02-01. 模型的共用與條件輸入

* **單一模型重複使用**：在整個 Reverse Process 中，我們使用的是**同一個** Denoise Model，並非每個步驟用不同模型。
* **輸入差異問題**：由於 Step 1000（純雜訊）與 Step 1（微小雜訊）的輸入差異極大，單一模型難以直接處理。
* **解決方案**：模型除了接收「當前的圖片」外，還必須接收一個 **Step ID (Time Step)**。
    1. 輸入 `1000`：告訴模型現在雜訊非常嚴重。
    2. 輸入 `1`：告訴模型現在雜訊很小，只需微調。

![截圖 2026-01-27 下午3.26.55](https://hackmd.io/_uploads/Hyqp_JU8Wg.png)


### 02-02. 核心組件：雜訊預測器 (Noise Predictor)

* **運作邏輯**：Denoise Model 內部並非直接輸出「去噪後的乾淨圖」，而是包含一個 **Noise Predictor**。
    1. **輸入**：(1) 含雜訊的圖片 + (2) Step ID。
    2. **輸出**：預測這張圖裡「包含了什麼樣的雜訊」。
    3. **最終計算**：`去噪結果 = 原圖 - 預測出的雜訊`。

![截圖 2026-01-27 下午3.28.04](https://hackmd.io/_uploads/SyGGYy8L-g.png)


* **設計理由**：為什麼不直接預測乾淨圖 (End-to-End)？
    1. 直接畫出一隻貓（生成圖片）很難。
    2. 但從雜訊圖中「預測雜訊長什麼樣」相對簡單。
    3. 目前學界主流作法多採用 Noise Predictor，因為訓練難度較低。

:::info
💡 **舉例：任務難度的差異**
* **End-to-End**：就像要求你在一張白紙上直接畫出一隻完美的貓。
* **Noise Predictor**：就像給你看一張充滿雜點的貓，問你「哪些點是雜點？」，你只需要把這些點挑出來即可。後者顯然比無中生有更容易學習。
:::


<br>

## 03. 模型的訓練方法 (Training / Forward Process)

### 03-01. 訓練資料的製造 (Diffusion Process)

* **需求**：訓練 Noise Predictor 需要「有雜訊的圖」當輸入，以及「該雜訊的真值 (Ground Truth)」當標準答案。

* **Forward Process (擴散過程)**：
    1. 從資料庫拿出一張乾淨圖片。
    2. 隨機從 Gaussian Distribution 採樣雜訊加入圖片。
    3. 重複加噪，直到圖片變成完全無法辨識的純雜訊。

![截圖 2026-01-27 下午3.29.09](https://hackmd.io/_uploads/HkMIF1LIZe.png)

* **資料成對 (Pairing)**：
    1. **Input**：加噪後的圖片 + Step ID (例如第 2 步)。
    2. **Ground Truth (Label)**：剛剛「加進去的那組雜訊」。

 ![截圖 2026-01-27 下午3.29.51](https://hackmd.io/_uploads/HJg0uKkIIZx.png)


### 03-02. 訓練目標

* 告訴模型：「當你看到這張加噪圖 (Input) 且知道現在是第幾步 (Step ID) 時，你要吐出這個雜訊 (Output)。」
* 透過一般的 Network Training 流程（如 Minimize Loss）進行訓練。



<br>

## 04. 文字生成圖片 (Text-to-Image)

### 04-01. 數據集的規模與重要性 (Dataset Scale)

* **成對資料需求**：要訓練文生圖模型，必須擁有大量的「圖片-文字」成對資料。
* **ImageNet vs. LAION**：
    1. **ImageNet**：約 100 萬張圖，僅有類別標籤（如 "Cat"），缺乏詳細描述。
    2. **LAION**：現代模型（Stable Diffusion, Midjourney）的主要數據來源。
        * 擁有 **58.5 億 (5.85 Billion)** 張圖片。
        * 包含多語言對應（中、日、英等）及各種內容（包括名人照片）。


![截圖 2026-01-27 下午3.31.48](https://hackmd.io/_uploads/Skgl5kL8bx.png)


* **現象解釋**：為何模型認得川普或看得懂中文？因為 LAION 數據集裡什麼都有，模型在訓練時已經看過這些關聯。

### 04-02. 整合文字條件 (Text Conditioning)

* **推論階段 (Inference)**：
    1. Denoise Model 增加第三個輸入：**文字敘述 (Text Prompt)**。
![截圖 2026-01-27 下午3.32.38](https://hackmd.io/_uploads/ByBQ5kIL-e.png)
    3. Noise Predictor 根據 (1) 圖片、(2) Step ID、(3) 文字，來預測雜訊。
![截圖 2026-01-27 下午3.33.25](https://hackmd.io/_uploads/BkGU9kULWe.png)
  

* **訓練階段 (Training)**：
    1. 準備含有文字描述的圖片數據。
    2. 對圖片做 Forward Process 加噪。
    3. **輸入**：加噪圖 + Step ID + **對應的文字**。
    4. **目標**：預測雜訊。

![截圖 2026-01-27 下午3.33.52](https://hackmd.io/_uploads/Bk6w9JUIZg.png)

* **總結**：DDPM 的演算法本質上就是「預測雜訊並扣除」，加入文字只是多了一個參考條件 (Condition)。

![截圖 2026-01-27 下午3.34.15](https://hackmd.io/_uploads/HJQF5yIIZl.png)

<br>

## 🎯 總結與行動 (Key Takeaways)

* **關鍵術語表**：
    1. **Reverse Process**：從雜訊逐步還原成圖片的過程（推論/生成）。
    2. **Forward Process (Diffusion Process)**：對乾淨圖逐步加噪以製造訓練資料的過程。
    3. **Noise Predictor**：Diffusion Model 的核心神經網路，負責預測圖片中的雜訊分佈，而非直接生成圖片。
    4. **LAION**：包含 58.5 億張圖文對應的超大規模數據集，是現代生成式 AI 的基石。

* **一句話總結**：Diffusion Model 透過學習「如何預測並去除雜訊」（Reverse Process），並利用龐大的圖文數據集（如 LAION）作為知識庫，將隨機雜訊一步步雕刻成符合文字描述的清晰影像。