2023 鐵人賽:AIGC 三十天

30 篇 · 生成模型原理 → Stable Diffusion 實作

2023 年的 iThome 鐵人賽,作者用三十篇的篇幅把生成式 AI 的技術脈絡梳理了一遍,編排邏輯是「先懂原理、再動手」。前段回到模型本身:VAE、GAN、Pixel RNN、Flow、Diffusion、Transformer、NeRF、CLIP 依序登場,每一篇說明該模型為了解決什麼問題而出現,以及在實務上留下哪些限制。

後段轉入實作:Stable Diffusion 的安裝與基礎操作、Embedding 與 Dreambooth 的微調概念、LoRA 與 HyperNetwork 的原理差異,接著是 Civitai、HuggingFace 等資源站、基礎與進階插件、ControlNet 的條件控制、SwinIR 的影像重建,最後以 Checkpoint 與 LoRA 的訓練流程、SDXL 的演進收尾。

適合已經在玩生成式 AI、但對「為什麼這個參數有效」還想弄清楚的讀者。

共 30 篇,依發佈順序排列

緣起

2023 鐵人賽三十天系列的第一篇:說明為什麼選圖像生成式 AI 當主題、這三十篇要涵蓋哪些內容(從 AIGC 基礎、五大生成模型到 Stable Diffusion 實作),以及這系列適合誰讀。

2023年9月16日
5 min
Gen AI
AIGC
2023 鐵人賽

哎呀!? AIGC 是什麼東東

從 ChatGPT 與 Stable Diffusion 的爆紅說起,回頭把 AIGC 講清楚:它跟 LLM 是什麼關係、由哪些技術組成、GAI 的運作模式長什麼樣,以及構成一個 AIGC 應用需要哪些要件。

2023年9月17日
8 min
Gen AI
AIGC
2023 鐵人賽

AIGC 的特色與應用

承襲 LLM 的架構,AIGC 有哪些其他技術沒有的特色?這篇從定義往外延伸,談 AIGC 在文字、圖像、影音各領域的實際應用,以及背後形成的生態系,幫你先建立一張學習地圖。

2023年9月18日
7 min
Gen AI
AIGC
2023 鐵人賽

AIGC 的演進

延續前一篇的應用場景,這篇回頭補上脈絡:AI 模型是怎麼一路演進的、生成式 AI 的歷史上有哪些關鍵轉折,以及從 GAN 到 Diffusion 的演算法演進路線。

2023年9月19日
8 min
Gen AI
AIGC
2023 鐵人賽

VAE,好久不見

要講 VAE 之前,得先講 AE。這篇先回顧自編碼器的原理與稀疏、去噪等幾種常見變體,再帶到變分自編碼器的數學原理,說明它如何用潛在變數的機率分佈生成新的樣本。

2023年9月20日
10 min
Gen AI
Deep Learning
2023 鐵人賽

GAN,聽說你最強,參數很難調

生成對抗網路(GAN)由生成器與判別器互相對抗來訓練,效果驚人但參數極難調。這篇從 GAN 的基本原理講起,梳理它一路演進出的幾個關鍵變體,也會說明訓練時常見的失敗模式與調整方向。

2023年9月21日
8 min
Gen AI
Deep Learning
2023 鐵人賽

Pixel RNN,簡單,卻不失優雅

Pixel RNN 的做法很直白:把圖像當成一串像素,用已知的像素去預測下一個相鄰像素。這篇從 RNN 的基本結構講起,說明 Pixel RNN 的架構與生成方式,再和其他生成模型比較優劣。

2023年9月22日
7 min
Gen AI
Deep Learning
2023 鐵人賽

Flow,神秘的流派

Normalizing Flow 是生成模型裡相對小眾的一支。這篇談它的架構怎麼做到可逆轉換、有哪些常見的 Flow 種類,以及在什麼情況下會選它而不是 GAN 或 Diffusion。

2023年9月23日
6 min
Gen AI
Deep Learning
2023 鐵人賽

Diffusion,終於見到你

系列走到核心:DDPM 到底是什麼。這篇講清楚前向的擴散過程怎麼把高斯雜訊一層層加進圖片,反向過程又怎麼從純雜訊一步步還原出一張圖,以及背後的演算法與近期發展。

2023年9月24日
8 min
Gen AI
Deep Learning
2023 鐵人賽

Transformer,就決定是你了

Transformer 是這幾年深度學習最大的分水嶺。這篇從它是 seq2seq 模型講起,說明 Attention 與自編碼器架構怎麼結合,再回顧近年模型演進,理解它為何成了通用骨幹。

2023年9月25日
8 min
Gen AI
Deep Learning
2023 鐵人賽

NeRF,聽說你是建模達人

NeRF 是一種用神經網路記住一個場景的建模方法:把場景表示成神經輻射場,就能從沒拍過的角度合成畫面。這篇說明它的演算法怎麼運作,以及它跟傳統建模比起來的特色。

2023年9月26日
10 min
Gen AI
Deep Learning
2023 鐵人賽

CLIP,文字圖像你都會?

CLIP 是把文字與圖像接在一起的關鍵:它會自動分類影像、用 prompt 標記,而且具備 zero-shot 能力。這篇講它的概念從何而來、演算法怎麼做到跨模態,以及能拿來做什麼。

2023年9月27日
8 min
Gen AI
Deep Learning
2023 鐵人賽

常見的圖像生成工具

市面上常見的 AI 生圖工具一次攤開:Midjourney、Stable Diffusion、DALL·E 2、Leonardo AI 等八款,逐一介紹特色,再依用途與上手難度比較,幫你判斷該從哪個開始。

2023年9月28日
6 min
Gen AI
Stable Diffusion
2023 鐵人賽

Stable Diffusion,來吧

鋪陳了十三天,終於講到系列主角:Stable Diffusion 到底怎麼運作。這篇拆解它的架構與演算法,說明它相對前面介紹過的幾種生成模型,到底強在哪裡、又犧牲了什麼。

2023年9月29日
8 min
Gen AI
Stable Diffusion
2023 鐵人賽

Stable Diffusion 的安裝

從安裝開始手把手把 Stable Diffusion 跑起來:先確認自己的電腦配置夠不夠、該選本機還是雲端環境,再到 AUTOMATIC1111 WebUI 的安裝步驟,第一次裝就上手。

2023年9月30日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

Stable Diffusion 的基礎使用

Stable Diffusion 入門的第一篇:從 WebUI 介面怎麼看、文生圖與圖生圖的參數各自在做什麼,到第一次產出可用的圖該怎麼設定,把最基礎的操作流程完整走一遍。

2023年10月1日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

來看看文本倒置是要倒轉什麼: Embedding

Embedding 又叫 Textual Inversion,做法是不動模型本身的參數,只找出一個新詞的向量表示,就讓 SD 學會新概念。這篇談它的原理、跟 LoRA 等方法的差異與實際用法。

2023年10月2日
8 min
Gen AI
Stable Diffusion
2023 鐵人賽

Dreambooth,夢幻般的驚嘆調

DreamBooth 是 Google 2022 年提出的訓練方式,少量圖片就能讓模型記住特定主體。這篇說明它跟 LoRA、Embedding、HyperNetwork 的差別、訓練流程,以及實際使用的注意事項。

2023年10月3日
8 min
Gen AI
Stable Diffusion
2023 鐵人賽

LoRA,微調方法的新突破

LoRA 是微軟 2021 年提出的微調方法:凍結原本訓練好的權重,只訓練額外加入的低秩矩陣,就能用很低成本把模型導向特定風格。這篇講它的演算法、為何有效與實際限制。

2023年10月4日
10 min
Gen AI
LoRA
2023 鐵人賽

HyperNetwork,感覺很高級

HyperNetwork 是用神經網路去生成模型參數的微調方法,由早期參與 Stable Diffusion 開發的 Novel AI 提出。這篇說明它怎麼從模型內部找出相似參數生成同風格圖片,以及跟 LoRA 的差別。

2023年10月5日
8 min
Gen AI
Stable Diffusion
2023 鐵人賽

歡樂下載站:Civitai 及 HuggingFace

玩 SD 一定會用到的兩個模型站:Civitai 與 HuggingFace。這篇說明兩邊各自擅長什麼、怎麼挑選與下載模型,以及一個容易踩的坑:SD XL 要搭配對應的 LoRA 才會生效。

2023年10月6日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

Stable Diffusion 基礎插件

SD 本體功能有限,外掛才是生產力來源。這篇先介紹三個基礎插件:Image Browsing 把生成結果整理成可搜尋圖庫、Prompt all in one 統一管理提示詞、Translation 負責中翻英。

2023年10月7日
8 min
Gen AI
Stable Diffusion
2023 鐵人賽

Stable Diffusion 進階插件

接著介紹三個進階插件:ControlNet 用邊緣與姿勢控制人物姿態、After Detailer 自動補修臉部與手部細節、Civitai Browser Plus 直接在介面裡瀏覽與下載模型。

2023年10月8日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

ControlNet,控制狂人?

ControlNet 讓圖像生成從「抽卡」變成「指定」:只要給一張骨架圖、深度圖或線稿,就能控制畫面構圖。這篇說明它的原理、演算法與實際特色,最後再補幾個同場加映的應用場合。

2023年10月9日
12 min
Gen AI
Stable Diffusion
2023 鐵人賽

SwinIR,圖像重建的突破

SwinIR 是把模糊圖放大的重建演算法,它把卷積神經網路與 Swin Transformer 的長處結合在一起。這篇說明它的架構怎麼運作、為何效果比傳統超解析度好,以及實際使用的限制。

2023年10月10日
6 min
Gen AI
Deep Learning
2023 鐵人賽

SD 的進階使用技巧

會用基本功能之後,這篇把進階操作需要的套件整理成一張清單:每個套件在做什麼、怎麼安裝、實際怎麼用,最後串成一套能重複使用的工作流程,省掉每次重新摸索的時間成本。

2023年10月11日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

SD 訓練 Checkpoint

想讓 SD 徹底學會一種風格,就得訓練自己的 Checkpoint。這篇整理目前常見的訓練方法、HuggingFace 上可用的資源與指令,以及實際訓練 Checkpoint 的步驟與注意事項。

2023年10月12日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

SD 訓練 LoRA

LoRA 是微調 SD 最實用的方式,但 WebUI 本身沒有提供訓練功能,所以得另外準備。這篇比較目前兩種常見的訓練途徑,再走一遍實際的訓練流程與每一步的設定項目。

2023年10月13日
12 min
Gen AI
Stable Diffusion
LoRA
2023 鐵人賽

SD XL:SD 的限界突破

SD XL 並不是單純換模型:更大的網路架構帶來畫質與細節的提升,同時也改變了幾件事。這篇說明它改良的三個方向、演算法上的差異,以及實際使用時真正要留意的地方。

2023年10月14日
10 min
Gen AI
Stable Diffusion
2023 鐵人賽

AIGC 的前世今生

三十天系列的最終篇,把整趟路重看一遍:從 AIGC 的定義出發,回顧理論篇的五大生成模型與 Stable Diffusion,再整理應用篇玩過的工具與技巧,收成一張完整學習地圖。

2023年10月15日
8 min
Gen AI
AIGC
2023 鐵人賽