生成式 AI - 擴散模型 (Diffusion Model)

生成式 AI - 擴散模型 (Diffusion Model)

從 GAN 到 VAE,生成模型的霸主終於換人。本文將揭開 Diffusion Model 的神秘面紗,探索 AI 如何從純雜訊中「無中生有」畫出高品質影像。


1. 前言:為什麼 GAN 失寵了?

在前兩天,我們學到了:

  • GAN (Day 19):畫質好,但訓練很不穩定。
  • VAE (Day 20):訓練穩定,但畫質模糊。

2020 年後,一位新霸主橫空出世:Diffusion Model (擴散模型)。它結合了兩者的優點:畫質極高訓練穩定。現在最紅的 Stable DiffusionDALL-E 3Midjourney 全部都是基於這個原理。


2. 核心概念:加噪與去噪

Diffusion 的靈感來自物理學的「擴散現象」(例如一滴墨水滴入水中,慢慢擴散開來)。

Loading Diagram...

核心過程

  1. Forward Process (前向過程 - 加噪)

    • 破壞:把一張清晰的照片,慢慢加入雜訊 (Gaussian Noise),最後變成一張完全看不出原本長相的「雪花屏」。
    • 比喻:把一塊精緻的積木城堡,慢慢拆散成一堆散落的積木。
  2. Reverse Process (逆向過程 - 去噪)

    • 創造:從一張純雜訊開始,讓 AI 猜「原本的樣子」,一步步把雜訊拿掉,最後變回清晰的圖片。
    • 比喻:看著那堆散落的積木,讓它們一步步自動組回城堡。

3. 核心原理:AI 到底在學什麼?

數學上我們無法從雜訊還原圖片,但我們可以訓練 AI 去尋找 「資料的分佈方向」。這不再只是簡單的「猜雜訊」,而是關於 「機率梯度 (Gradient)」 的藝術。

核心概念:Score Function (引力場)

與其說 AI 在「猜雜訊」,不如說它在學習一個指向真實數據的 「引力場 (Gravity Field)」

  • 引力源 (Data Points):想像每一張真實的圖片(如:手寫數字 7)都是一顆隱藏在黑暗中的 「強力磁鐵」
  • 鐵粉 (Noise):隨機生成的雜訊就像撒在桌面上的 「鐵粉」,原本雜亂無章。
  • 引力導航 (Score):AI 學習的就是這股 「磁力線」。當你丟出隨機雜訊時,AI 會測量周圍的磁場強度,並告訴鐵粉:「往左邊挪動一點,那邊的引力更強。

這就是去噪的本質:雜訊粒子並非被「修正」,而是被 「吸引」 回了真實數據所在的分佈區域。

為什麼要「加噪」?(數據平滑化)

原始數據的分佈通常非常稀疏(例如:100x100 的圖,只有極少數組合是人臉)。

  • 問題:在沒資料的地方,AI 根本不知道該往哪走(梯度消失)。
  • 解法:透過逐步加噪,我們把原本孤立的資料點「暈染」開來。

生成過程:從混沌到秩序

去噪的過程是一場 「機率引導的隨機漫步」

  1. 隨機起點:在雪花屏中隨機選一個點。
  2. 坡度預測:詢問 U-Net:「這裡的梯度是多少?」
  3. 受控步進:根據梯度移動一小步,重複幾十次後,雜訊就會自動「凝聚」成一個符合資料分佈、但世界上從未出現過的全新物件。

4. 實戰:用 Diffusion 生成手寫數字

我們透過 MNIST 實驗,看看 AI 如何從混沌中創造秩序。

Diffusion MNIST Sampling Progression
  • 現象:由於 Diffusion 是「慢工出細活」,生成的背景非常乾淨,筆畫也比 VAE 紮實許多。
  • 創意來源:因為雜訊的組合是無限的,AI 每次「腦補」出的細節都不同。這就是它能無中生有、創造世界上不存在圖片的原因。

5. 生成模型三巨頭比較

特性GANVAEDiffusion
原理偽鈔犯 vs 警察 (博弈)壓縮 vs 還原 (機率)加噪 vs 去噪 (物理)
畫質低 (模糊)極高
訓練穩定度不穩定穩定穩定
生成速度 (一次生成) (一次生成) (需多次去噪)

6. 總結

Diffusion Model 的成功在於它不急著一次畫好,而是透過「不斷修正」來追求完美。

下一關我們將進入 Reinforcement Learning (強化學習) 的世界。這是不一樣的 AI:它不是看資料學習,而是像玩遊戲一樣,透過「獎勵與懲罰」來學習!