版本說明:本系列以 MIT 6.S184 的 IAP 2026 版為基準。課程網站另有 2025 版頁面,影片不同,本系列不混用。所有事實都在 2026-09-30 打開官方材料核對:課程網站、講義 PDF(84 頁)、5 份 slides、6 支錄影,以及 labs repo 的 2026 branch。存取等級 A3 足以自學。
系列位置:系列起點|下一篇 L1:生成就是取樣,ODE 與 SDE 是機器
Stable Diffusion 3、Meta Movie Gen 這類圖片與影片生成器,底層多半是 diffusion model 或 flow matching。網路上的教學通常二選一:要嘛只給程式碼,要嘛直接丟一堆隨機微分方程。MIT 6.S184 走中間路線:只教「剛好夠用」的 ODE/SDE 數學,再一步步把這些數學變成一個能跑的 latent diffusion model。
這篇是系列入口,不做任何推導。讀完你會知道這門課教什麼、材料在哪、缺什麼,以及該按什麼順序讀。
這門課是什麼
課程網站上的正式課名是 6.S184: Generative AI with Stochastic Differential Equations,網站標題則是 Flow Matching and Diffusion Models。labs repo 的 README 寫的是跨列課號 6.S184/6.S975,註明「as taught at MIT over IAP 2026」。
網站簡介把目標講得很清楚:講課教理解 diffusion model 需要的核心數學,包括隨機微分方程和 Fokker–Planck 方程,並逐一拆解模型的每個元件;lab 陪著每一講動手做。課程結束時,學生會從零建出一個 latent diffusion model。
人員分工(課程網站 Instructors 與 Acknowledgements 區):
- 授課:Peter Holderrieth
- Labs:Ron Shprints、Ezra Erives
- 指導與贊助:Tommi Jaakkola
講義作者是 Peter Holderrieth 與 Ezra Erives,網站給的引用格式附了 arXiv 2506.02070。
先修:網站列的是線性代數、多變數微積分、基礎機率,外加熟悉 Python、有一些 PyTorch 經驗。講義 §1.2 另外說,主題偏技術,建議有一定數學成熟度,特別是機率;所以講義附錄 A 放了一份機率複習。機率生疏的話,可以先翻本站的 Stanford CS109 導讀。
公開程度:A3,但有兩個缺口
用 全球 AI/CS 課程地圖 的分級,6.S184 是 A3 足以自學:
| 材料 | 狀態 |
|---|---|
| 講義 | 完整公開,84 頁(§1–7 正文+附錄 A–E)。網站說它是課程骨幹,自成一體 |
| Slides | 5 份全部公開(第 3 講的 3-A、3-B 共用一份) |
| 錄影 | 6 支全部在 YouTube |
| Lab | 3 個 notebook 公開 |
| 官方解答 | 公開,在 labs repo 的 solutions/ |
兩個缺口要先講清楚:
- 沒有評分回饋。 網站寫的繳交方式是「把 notebook 匯出 PDF,透過 Canvas 交到 Gradescope」,這只有 MIT 修課生能用。校外讀者只能拿官方解答自己對。
- 第 5 講沒有 lab。 3 個 lab 分別對應 L1、L2–L3、L3–L4。講義 §1.2 也把 §7(離散擴散)標成 Optional。
另外,網站沒有正式行事曆,也沒有考試。slides 檔名帶日期(20260120、20260122、20260123、20260128、20260130),但那是檔名,不是官方公布的課表。L1 slides 的 Logistics 頁說,要通過這門課得來上課並完成 labs(「necessary to pass」)。
講義的七節地圖
講義 §1.2 用一句話概括每一節,這也是整個系列的骨架:
| 講義章節 | 回答的問題 |
|---|---|
| §1 Generative Modeling as Sampling | 「生成一張狗的圖」精確來說是什麼意思?答:從機率分佈取樣 |
| §2 Flow and Diffusion Models | 生成的機器是什麼?答:模擬 ODE 與 SDE |
| §3 Flow Matching | 怎麼訓練這台機器?一個簡單、可規模化的演算法 |
| §4 Score Matching | score function 是什麼、怎麼學;它同時打開 SDE 取樣與 guidance |
| §5 Guidance | 怎麼讓生成聽 prompt 的話:classifier-free guidance |
| §6 Latent Spaces, Neural Network Architectures | 大型圖片/影片生成器怎麼搭:網路架構、latent space、現役模型案例 |
| §7(Optional)Discrete Diffusion Models | 怎麼把同一套原理搬到語言這種離散資料 |
附錄是 A 機率複習、B Fokker–Planck 方程證明、C 連續時間馬可夫鏈的存在唯一性、D VAE 的其他觀點、E diffusion 文獻導覽。
材料對照表
一講一列。講義頁碼取自講義目錄。
| 講 | 主題 | 講義 | Slides | 錄影 | Lab | 本系列 |
|---|---|---|---|---|---|---|
| 1 | Flow and Diffusion Models | §1.3、§2(pp.4–13) | Slides 1 | L1 | Lab 1 | L1、Lab 1 |
| 2 | Flow Matching | §3(pp.14–24) | Slides 2 | L2 | Lab 2 | L2 |
| 3-A | Score Functions and Score Matching | §4(pp.25–33) | Slides 3 | L3A | Lab 2 | L3A、Lab 2 |
| 3-B | Classifier-free Guidance | §5(pp.34–40) | Slides 3 | L3B | Lab 3 Part 2 | L3B |
| 4 | Latent Spaces and Neural Network Architectures | §6(pp.41–53) | Slides 4 | L4 | Lab 3 | L4、Lab 3 |
| 5 | Discrete Diffusion Models | §7(pp.54–65,Optional) | Slides 5 | L5 | 無 | L5 |
三個 lab 在網站上的名稱:Lab 1 Working with ODEs and SDEs、Lab 2 Flow Matching and Score Matching、Lab 3 Diffusion Transformer and VAEs。網站給的入口是 Colab/Google Drive 連結;本系列以 GitHub 上的 notebook 為準,因為解答也在同一個 repo。
怎麼排自學
網站和講義 Remark 1 給的建議是:講義自成一體,錄影帶你走過每一節,lab 讓你親手寫。照這個分工,一講的節奏可以是:
- 先讀講義對應章節。 看不懂的公式先跳過,把 Key Idea、Theorem 的敘述、Algorithm 框讀懂。
- 再看錄影。 錄影是講義的口語版,適合補直覺。
- 做 lab。 網站流程是從 GitHub 下載
.ipynb,用 Jupyter 或 Colab 打開,做完所有題目。 - 對官方解答。 打開
solutions/lab_*_complete.ipynb,逐題比對。這是校外讀者唯一的回饋來源。
本系列的順序依講義的依賴關係排:L1 → Lab 1 → L2 → L3A → Lab 2 → L3B → L4 → Lab 3 → L5。Lab 2 放在 L3A 後面,因為它要算 conditional score;Lab 3 放在 L4 後面,因為它同時用到 CFG 和 DiT/VAE。
今晚就能做的事:打開 講義 PDF,讀完 §1(pp.3–6,四個 Key Idea),然後到 Lab 1 notebook 確認你的環境能跑 PyTorch。
一個一定要記住的慣例:t=0 是雜訊,t=1 是資料
講義從頭到尾用同一個時間方向:t=0 是初始分佈 p_init(通常是標準高斯 N(0, I_d)),t=1 是資料分佈 p_data。生成就是從 t=0 模擬到 t=1。
很多 diffusion 文獻的方向剛好相反。講義附錄 E 特別提醒:流行的寫法是 t=0 對應 p_data,跟講義相反。讀 DDPM 系論文,或本站的 CMU 11-785 L23 diffusion 導讀 時,先確認時間方向再比對公式,否則會一路對不上。
授權
課程網站頁尾標明 CC BY-NC-SA。本系列只做導讀與摘要,公式與演算法編號都指回講義原文。
系列目錄
- L1:生成就是取樣,ODE 與 SDE 是機器
- Lab 1:模擬 ODE 與 SDE
- L2:Flow matching,從條件路徑學邊際向量場
- L3A:分數函數、SDE 取樣與 score matching
- Lab 2:親手寫 flow matching 與 score matching
- L3B:Guidance 與 classifier-free guidance
- L4:U-Net、DiT 與 latent space
- Lab 3:DiT、VAE 到 latent diffusion
- L5:離散擴散,用 CTMC 生成語言
延伸閱讀
- 課程在地圖上的位置:全球 AI/CS 課程地圖、MIT AI/ML 課程地圖
- 生成模型入門:MIT 6.S191 L4:生成模型
- DDPM 視角(時間方向相反):CMU 11-785 L23:Diffusion
- 離散擴散語言模型:CME295:Diffusion LLM
- 深度學習整體:MIT 6.7960 導讀
參考資料
- MIT 6.S184 課程網站(IAP 2026) — 課程簡介、5 講主題、slides 與錄影、3 個 lab、繳交方式、人員、先修、CC BY-NC-SA
- MIT 6.S184 課程網站(2025 版) — 本系列不採用,僅說明存在
- Holderrieth & Erives, An Introduction to Flow Matching and Diffusion Models(講義 PDF, 2026) — §1.1 Remark 1、§1.2 課程結構、目錄頁碼、附錄 E 時間慣例
- arXiv 2506.02070 — 講義的 arXiv 版本
- Slides 1、Slides 2、Slides 3、Slides 4、Slides 5
- 錄影:L1、L2、L3A、L3B、L4、L5
- eje24/iap-diffusion-labs(branch 2026) — lab notebook、官方解答、README changelog
Loading...