L19|Dropout 與 DDPM 擴散模型
介紹 Dropout 與測試時 dropout;和 Tanishq、Johno 一起實作擴散模型的基礎 DDPM:前向加雜訊、反向去雜訊、用神經網路預測雜訊。
L19|Dropout 與 DDPM 擴散模型(DDPM and Dropout)
零基礎提示
- 這一課不用額外數學
- Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
- 字幕:離線網站選「中英」(電腦翻譯,大意正確)
- 看不懂的詞查 白話小辭典
介紹 Dropout 與測試時 dropout;和 Tanishq、Johno 一起實作擴散模型的基礎 DDPM:前向加雜訊、反向去雜訊、用神經網路預測雜訊。 (Dropout and test-time dropout, then with Tanishq and Johno, implement DDPM, the foundation of diffusion models: forward noising, reverse denoising and a network that predicts noise.)
| 項目 | 內容 |
|---|---|
| 所屬 | Part 2:Deep Learning Foundations to Stable Diffusion |
| 影片 | YouTube |
| 對應書本章節 | 無對應章節(Part 2 以 notebook 為主) |
| 原始頁面 | Lessons/lesson19 |
| 難度(F3 視角) | ★★★★★ 大學程度(F3 只求理解概念) |
影片
本課重點
- Dropout:訓練時隨機把部分激活值設為 0,減少過擬合。
- 測試時 dropout:預測時也開著 dropout、跑很多次,結果差異大代表模型不確定,可以用來衡量信心。
- DDPM 前向過程:對一張清楚的圖逐步加入高斯雜訊,在第 T 步時變成幾乎純雜訊。可以畫出不同時間步的雜訊圖。
- DDPM 反向過程:訓練一個神經網路(U-Net),輸入加了雜訊的圖和時間步,預測加入的雜訊,損失是預測雜訊與真實雜訊的 MSE。生成時從純雜訊開始,一步步減去預測的雜訊。
- 改進與加速:嘗試其他雜訊排程、繼承 Callback 與 Diffusers 的 UNet2DModel 的替代寫法、實驗初始化與優化器,並預告混合精度訓練。
關鍵概念
| 英文術語 | 中文 | 一句話解釋 |
|---|---|---|
| DDPM | 去雜訊擴散機率模型 | 逐步加雜訊、再學會逐步去雜訊的生成模型 |
| Forward process | 前向過程 | 逐步往圖片加雜訊 |
| Reverse process | 反向過程 | 從雜訊一步步還原圖片 |
| Noise schedule | 雜訊排程 | 每個時間步加多少雜訊 |
| Timestep | 時間步 | 目前在加雜訊/去雜訊過程中的第幾步 |
| Test-time dropout | 測試時 dropout | 預測時保留 dropout 多跑幾次來估計不確定性 |
認識關聯圖與重點圖
練習題
- DDPM 的模型在訓練時要預測什麼?損失函數是什麼?
- 前向過程和反向過程哪個需要訓練神經網路?為什麼?
- 測試時開著 dropout 跑 10 次,如果 10 次預測差很多,代表什麼?
- 中文學生作答:L19_中文F3學生_202611041526
- English student answers: L19_EN_F3_Student_202611041526