無分類器引導(Classifier-free Guidance)是什麼?

一種條件生成技術,不依賴外部分類器,通過在無條件生成過程中注入條件信息來控制生成結果,常用於文本到圖像等多模態任務。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Classifier-free Guidance
主題標籤
生成式AI、深度學習、大型語言模型
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
無分類器引導(Classifier-free Guidance)是什麼? 生成式AI深度學習
術語快查

搜尋意圖: 如果你在找「無分類器引導 是什麼」或「無分類器引導 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 一種條件生成技術,不依賴外部分類器,通過在無條件生成過程中注入條件信息來控制生成結果,常用於文本到圖像等多模態任務。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

一種條件生成技術,不依賴外部分類器,通過在無條件生成過程中注入條件信息來控制生成結果,常用於文本到圖像等多模態任務。

核心概念

無分類器引導(Classifier-free Guidance, CFG)解決的是在條件生成過程中如何有效地注入和控制條件信息的問題。在條件生成中,模型不僅學習無條件分佈,還要根據給定的條件(如文本描述)生成數據。

CFG 的核心思想基於一個簡單但強大的觀察:可以將有條件生成和無條件生成的預測進行線性插值,從而增強條件的影響。設 ε_θ(x_t, c) 是有條件的噪音預測,ε_θ(x_t) 是無條件的噪音預測,CFG 在推理時使用: ε_pred = ε_θ(x_t) + w · (ε_θ(x_t, c) - ε_θ(x_t)) 其中 w 是引導權重,控制條件的影響強度。當 w = 0 時,完全無條件;當 w = 1 時,完全受條件控制;當 w > 1 時,條件的影響被放大。

CFG 不需要訓練額外的分類器。相反,它在訓練時同時對有條件和無條件預測進行建模。這可以通過條件丟棄(Conditional Dropout)實現:在訓練時,以某個概率(通常 10-20%)隨機丟棄條件信息,迫使模型同時學習有條件和無條件預測。

相比傳統的分類器引導,CFG 有以下優勢:

  1. 無需訓練額外的分類器
  2. 推理時更靈活,引導強度可以動態調整
  3. 條件的表示和生成在同一模型中,避免了模態不匹配
  4. 實踐中生成質量通常更好

運作原理

無分類器引導的實現涉及訓練和推理兩個階段。

在訓練階段,模型同時學習有條件和無條件生成。對於有條件的擴散模型(如文本到圖像),架構通常包括一個編碼器將條件(如文本)轉換為向量表示,然後通過交叉注意力機制與去噪網路整合。

訓練損失為: L = L_cond + L_uncond

其中 L_cond 是有條件預測的損失(噪音預測誤差),L_uncond 是無條件預測的損失。無條件預測通過條件丟棄實現:以概率 p_uncond(如 0.15)完全丟棄條件信息,使模型學習在無任何條件下的生成。

在推理階段,模型需要進行兩次前向傳播:一次有條件,一次無條件。然後根據引導公式混合預測。

CFG 的另一個關鍵方面是引導權重 w 的選擇。較小的 w(如 1-5)會產生多樣但可能與條件不太相關的結果。較大的 w(如 7-15)會產生更緊密遵循條件但多樣性較低的結果。應用中通常需要根據具體任務調整 w。

實際應用

CFG 在文本到圖像生成中取得了突破性成果。DALL-E 2 和 Stable Diffusion 等先進模型都使用了 CFG。通過 CFG,這些模型可以根據詳細的文本描述生成高質量的多樣圖像,同時避免了訓練額外分類器的複雜性。

在文本到視頻生成中,CFG 使得模型可以根據文本或視頻草圖生成連貫的視頻序列。

在圖像編輯中,CFG 用於引導編輯過程,使得用戶輸入(如文本指令或參考圖像)能有效地控制編輯結果。

在語音合成中,CFG 被應用於文本到語音,實現對說話人風格、情感等的精細控制。

在 3D 生成中,CFG 用於根據文本或圖像生成 3D 模型和場景。

在圖像超解析度中,CFG 提供了一種方式在多種超解析度結果之間權衡,同時考慮輸入圖像的保真度和輸出的清晰度。

CFG 的靈活性使得它易於適應各種新的應用場景,只要模型能夠同時學習有條件和無條件預測。

常見誤區

一個常見的誤區是認為引導權重越大越好。實際上,過大的引導權重會導致生成結果過度遵循條件,失去多樣性,甚至可能導致圖像質量下降。引導權重需要根據應用場景精心選擇,通常在 5-15 範圍內。

另一個誤區是認為 CFG 一定比分類器引導好。實際上,兩者各有優缺點。在某些情況下(如條件非常明確),分類器引導可能更高效。但在多數應用中,CFG 的靈活性和效果使其更受歡迎。

還有人誤以為 CFG 只適用於擴散模型。雖然 CFG 最初在擴散模型中提出,但這個思想可以應用於其他生成模型,如自回歸模型和流模型。

與相關技術的比較

CFG 與分類器引導都是條件生成控制方法。分類器引導使用一個訓練好的分類器的梯度來引導生成,而 CFG 不需要額外分類器。CFG 在實踐中通常更簡單、更有效。

與注意力機制相比,CFG 是一個推理時的混合策略,而注意力機制改變了模型的架構。CFG 和注意力機制可以結合使用,進一步增強條件控制。

與條件歸一化技術相比,CFG 在推理時操作,而條件歸一化在訓練和推理都進行。CFG 的靈活性和簡潔性使其在許多應用中更受歡迎。

與提示工程相比,CFG 是一個數學上更堅實的條件控制方法,而提示工程是一種啟發式的方法。CFG 提供了對條件強度的精確控制,而提示工程更依賴於設計師的經驗和創意。

常見問題

無分類器引導中,引導權重應該設置為多少?

引導權重 w 的選擇是一個權衡多樣性和條件遵從性的過程。通常,w = 7.5 到 15 是一個合理的起點。較小的 w(如 3-5)產生更多樣的結果,但可能與條件描述的相關性較低。較大的 w(如 15-20)產生更符合條件的結果,但多樣性降低,有時甚至導致圖像質量下降(出現失真或不自然的視覺效果)。最優的 w 值取決於具體應用、模型訓練方式和用戶偏好。在實踐中,建議進行實驗找到最佳平衡點。許多應用允許用戶調整引導強度,從而自由選擇所需的多樣性-保真度權衡。

條件丟棄概率應該設置為多少?

條件丟棄概率是訓練無分類器引導模型的一個關鍵超參數。常見的設置範圍是 10-20%。例如,DALL-E 2 和 Stable Diffusion 使用約 10% 的丟棄概率。較低的丟棄概率(如 5%)意味著模型更多時候學習有條件生成,可能導致無條件生成能力較弱,進而限制了推理時的引導靈活性。較高的丟棄概率(如 30%)意味著模型經常進行無條件生成,可能削弱有條件生成的能力。在實踐中,10-15% 是一個好的折衷點,既確保了有條件和無條件生成的平衡學習,也不會過度浪費計算資源在無條件生成上。

CFG 相比分類器引導有什麼優勢?

無分類器引導相比傳統分類器引導有幾個關鍵優勢。首先,CFG 不需要訓練額外的分類器,簡化了訓練流程和部署複雜度。訓練一個強大的分類器可能需要大量資源和時間,而 CFG 只需在同一生成模型中訓練。第二,CFG 的引導強度在推理時可以動態調整,而分類器引導通常在推理時固定。這使得 CFG 對不同應用場景更加靈活。第三,在實踐中,CFG 通常取得更好的生成質量和更強的條件控制。第四,CFG 避免了模式不匹配的問題(分類器和生成器可能對條件的理解不同)。這些優勢使得 CFG 已經成為現代條件生成模型的標準選擇。