C10:掌握擴散模型的取樣器與排程器:全面指南

在使用擴散模型時,理解取樣器和排程器的機制對於獲得最佳結果至關重要。這些元件會影響如何從潛在空間中去除雜訊,從而塑造最終輸出的品質和特徵。本指南將深入探討取樣器的工作原理,解釋它們的重要性,並提供可行的步驟,幫助您為工作流程選擇最佳的取樣器-排程器組合。



什麼是取樣器?

取樣器是引導擴散過程的演算法,而擴散過程是擴散模型中影像生成的基礎。從宏觀上看,擴散模型從一片隨機雜訊開始,逐步細化以生成連貫的影像。取樣器透過控制每一步的雜訊去除過程來決定細化的方式。

取樣器的工作原理

  1. 潛在空間表示:
    擴散模型在潛在空間中運行——這是影像的高維表示。最初,潛在空間中充滿了隨機雜訊。
  2. 迭代細化:
    取樣器透過一系列數學運算迭代地從潛在空間中去除雜訊。這些運算由取樣演算法定義,決定了雜訊去除的速度和方式。
  3. 雜訊注入(可選):
    某些取樣器(例如祖先取樣器)會在每一步注入額外的雜訊。這種隨機方法引入了隨機性,使模型能夠探索更多樣化的可能性並解析更精細的細節。
  4. 收斂與發散:
    • 收斂型取樣器:逐步細化潛在空間,使後面的步驟與前面的步驟非常接近,從而產生更平滑、更可預測的結果。
    • 發散型取樣器:引入隨機性,使後面的步驟可以偏離前面的步驟,從而產生更自然或更詳細的輸出。
  5. 最終解碼:
    細化過程完成後,使用特定於模型的解碼器(例如 DAE 解碼器)對潛在空間進行解碼,以生成最終影像。

為什麼取樣器很重要

取樣器至關重要,因為它們直接影響:

  • 影像品質:平滑度、細節解析度和偽影的有無取決於所使用的取樣器。
  • 模型相容性:並非所有取樣器都適用於每個擴散模型。選擇不相容的取樣器可能導致結果不佳,甚至輸出無法使用。
  • 處理時間:某些取樣器的計算量比其他取樣器更大,會影響影像生成所需的時間。

ComfyUI 工作流程中的取樣器
取樣器名稱描述使用案例優點缺點
Euler一種簡單快速的取樣器,使用尤拉方法去除雜訊。基本工作流程、快速測試和低複雜度模型。速度快,計算效率高。可能產生細節較少或品質較低的結果。
Euler_Cfg_PP將 Euler 取樣器與 CFG(無分類器引導)配對,以實現更好的控制。需要對影像生成進行精確引導的情境。對最終輸出提供更好的控制。比基本的 Euler 取樣器稍慢。
Euler_AncestralEuler 的一個變體,引入隨機性以產生更多樣化的輸出。需要輸出變化的創意工作流程。產生多樣化且獨特的結果。可能在輸出中引入雜訊或不一致。
Euler_Ancestral_Cfg_PP將 Euler Ancestral 與 CFG 相結合,產生有引導但多樣化的輸出。具有受控隨機性的創意工作流程。有效平衡多樣性與控制。可能更慢,計算強度也更大。
Heun一種使用 Heun 方法的取樣器,可提高雜訊去除的準確性。需要比 Euler 更高準確性的情境。產生更平滑、更精細的結果。由於準確性提高,比 Euler 稍慢。
DPM_2一種二階去噪擴散機率模型(DPM)取樣器。需要精細結果的高品質工作流程。產生具有精細細節的高品質輸出。計算強度大且速度較慢。
DPM_2_Ancestral為 DPM_2 取樣器引入隨機性,以產生多樣化的輸出。需要輸出多樣性的創意工作流程。在保持品質的同時產生多樣化的輸出。可能產生不一致的結果。
DPM_Fast一種為速度而設計的更快的 DPM 變體。需要快速出結果且品質可接受的工作流程。比其他 DPM 變體更快。可能為了速度而犧牲一些細節和品質。
DPM_Adaptive在擴散過程中動態調整雜訊去除過程。需要自適應細化的複雜工作流程。產生均衡且自適應的結果。計算要求高。
DPM++_2S_Cfg_PP一種有引導的 DPM++ 取樣器,針對高品質輸出進行了最佳化。注重精度、需要有引導細化的工作流程。產生高度精細且詳細的結果。速度較慢,需要仔細調校。
DPM++_SDE一種基於隨機微分方程(SDE)的 DPM++ 取樣器。需要雜訊控制和平滑輸出的情境。產生平滑且無偽影的結果。計算強度大且速度較慢。
DPM++_2M一種二階多步 DPM++ 取樣器。需要多步細化的高品質工作流程。產生詳細且高品質的結果。計算要求高。
DDIM用於更快推理的去噪擴散隱式模型(DDIM)取樣器。需要更快出結果且品質可接受的情境。比傳統擴散取樣器更快。可能產生細節略少的輸出。
Uni_PC一種使用 Uni-PC(均勻預測-校正)方法的取樣器。需要均衡去除雜訊的工作流程。產生均衡且可預測的結果。在複雜工作流程中的彈性有限。
Uni_PC_BH2Uni-PC 的一個變體,雜訊去除能力更強。需要平滑輸出的高精度工作流程。產生比 Uni-PC 更平滑、更精細的結果。計算要求高。
IPNDM迭代機率雜訊擴散模型取樣器。需要精確控制雜訊的迭代工作流程。產生高度詳細且精細的輸出。由於迭代處理,速度較慢。
DEIS基於擴散的高效推理取樣器。需要高效快速推理的情境。速度快,計算效率高。可能為了速度而犧牲一些品質。
Gradient_Estimation一種專注於在擴散過程中估計梯度的取樣器。需要梯度分析的研究型工作流程。提供詳細的梯度資訊。未針對通用影像生成進行最佳化。

什麼是排程器?

排程器透過定義每一步如何去除雜訊來控制取樣過程。取樣器決定了用於細化的演算法,而排程器則決定了雜訊去除的速度和模式。

Stable Diffusion 的排程器

排程器的工作原理

排程器透過下列方式協調整個取樣過程:

  1. 雜訊去除策略:
    決定是在每一步去除相同數量的雜訊,還是動態調整去除速率。
  2. 步驟調整:
    控制隨著步驟數量的增加,細化過程如何演變。例如:
    • 均勻排程器在每一步去除固定數量的雜訊。
    • 動態排程器隨著過程的推進減少的雜訊越來越少,從而可以在後面的步驟中進行更精細的調整。
  3. 提升取樣器效能:
    將取樣器與合適的排程器配對,可以顯著提高影像品質並減少偽影。

排程器描述使用案例優點缺點
Normal預設排程器,套用標準的均勻雜訊去除過程。基本工作流程和通用影像生成。易於使用,與大多數取樣器廣泛相容。如果沒有與最佳取樣器配對,可能會產生有雜訊的結果或偽影。
Karras一種動態排程器,逐步調整雜訊去除,通常能改善結果。需要高品質、無偽影輸出的進階工作流程。減少偽影,提高影像品質。可能需要針對特定取樣器進行微調。
Exponential以指數模式逐漸減少雜訊,強調早期步驟。早期細化至關重要的情境。在潛在空間中產生更平滑的過渡。可能難以在後面的步驟中解析精細細節。
SGM_Uniform一種針對隨機梯度方法客製的排程器,套用均勻雜訊去除。適用於隨機工作流程和針對 SGM 技術最佳化的模型。確保在所有步驟中一致地去除雜訊。對於需要動態調整雜訊的模型,可能缺乏彈性。
Simple一種簡單直接、複雜度極低的排程器。快速測試和偏好簡單性的工作流程。速度快,易於設定。針對高品質輸出的最佳化能力有限。
DDIM_Uniform一種專為 DDIM(去噪擴散隱式模型)設計的排程器,採用均勻雜訊去除。需要一致降低雜訊的基於 DDIM 的工作流程。確保與 DDIM 取樣器的相容性。可能無法與非 DDIM 取樣器很好地配合。
Beta使用 Beta 分布來控制雜訊去除,強調某些步驟。需要特別強調擴散過程某些階段的情境。對雜訊去除模式提供更大的控制。需要詳細設定並理解 Beta 分布。
Linear_Quadratic結合線性和二次模式去除雜訊。需要漸進式和激進式降噪相結合的複雜工作流程。平衡平滑過渡與銳利細化。如果沒有與合適的取樣器配對,可能會產生不一致的結果。
KL_Optimal一種使用 KL 散度最佳化的排程器,可最大限度地減少雜訊偽影。需要將雜訊和偽影降至最低的高精度工作流程。產生高品質、無偽影的輸出。計算強度大,可能需要仔細調校。

Karus Scheduler

  • 工作原理:根據步驟數動態調整雜訊去除速率,最佳化細化過程以獲得更平滑的結果。
  • 優點:提高取樣器效能,尤其適用於如下取樣器:dpmpp_2m.
  • 限制:可能需要透過實驗才能找到特定工作流程的最佳設定。

實作工作流程:選擇取樣器和排程器

逐步流程

  1. 選擇取樣器:
    • 先從 Euler 這樣的標準取樣器開始,以獲得平滑且可預測的結果。
    • 切換到 Euler Ancestral 或 UniPC,以獲得更自然或更高對比度的輸出。
    • 對於進階任務,可以嘗試 DPM 系列取樣器。
  2. 測試相容性:
    • 確保取樣器與您的擴散模型相容。例如,使用 Juggernaut XL 時應避免使用 LMS。
  3. 執行工作流程:
    • 使用選定的取樣器執行影像生成過程。
    • 觀察結果,注意偽影、收斂或發散現象。
  4. 調整排程器:
    • 如果輸出雜訊較多或偽影嚴重,請切換到 Karus 這樣的動態排程器。
    • 重新執行工作流程並比較結果。
  5. 比較輸出:
    • 使用佇列面板在不同取樣器-排程器組合產生的影像之間導覽。
    • 評估細節、對比度和偽影解析方面的差異。

範例:比較取樣器和排程器

情境設定

  • 提示詞: “A vibrant sunset over a mountain range with clouds, realistic style.”
  • 固定種子: 599869489844012
  • CheckPoint: Realistic Vision 5.1
  • 步數: 50
  • CFG 比例: 7.5
  • 解析度: 512×512

比較表

取樣器與排程器組合結果描述優點缺點
Euler + Normal產生一幅基本影像,日落和山脈清晰,但缺乏精細細節。速度快,計算效率高。雲朵可能顯得扁平,色彩可能不夠鮮豔。
Euler_Ancestral + Karras產生色彩更鮮豔的影像,雲層柔和且隨機成形。為影像增添多樣性和藝術氣息。可能在山體形狀上引入輕微的不一致。
DPM++_2M + Exponential產生高度精細逼真的影像,山體邊緣銳利,雲層平滑。產生高品質、照片級逼真的結果。計算強度大且速度較慢。
DDIM + Linear_Quadratic產生均衡的影像,細節良好,元素之間過渡平滑。比 DPM++ 變體更快,同時保持不錯的品質。可能缺乏 DPM++ 取樣器的極致細化效果。
DPM++_2S_Cfg_PP + KL_Optimal產生令人驚嘆的逼真日落,雲層細節錯綜複雜,山體紋理銳利。提供最高的細化程度和無偽影的輸出。需要大量計算資源和更長的處理時間。
DPM_Fast + Beta產生細節相當不錯、色彩和紋理良好的影像。比大多數基於 DPM 的取樣器更快。可能為了速度而犧牲一些細節和銳度。
Gradient_Estimation + Karras產生一幅藝術影像,日落與山脈之間呈現漸變般的過渡。非常適合創意或研究型工作流程。可能不適合照片級逼真的輸出。
DEIS + Normal快速產生細節適中、品質可接受的影像。速度極快,計算效率極高。雲朵和山脈可能顯得過於簡化。

視覺化比較範例

1. Euler + Normal

  • 輸出:基本影像,山脈和雲朵清晰可見,但缺乏精細的紋理。
  • 使用案例:快速原型製作或測試。

2. Euler_Ancestral + Karras

  • 輸出:色彩鮮豔,雲層隨機成形,偏向藝術化詮釋。
  • 使用案例:注重多樣性的創意工作流程。

3. DPM++_2M + Exponential

  • 輸出:山脈和雲朵高度精細,過渡平滑,光照效果逼真。
  • 使用案例:高品質、照片級逼真的影像生成。

4. DDIM + Linear_Quadratic

  • 輸出:均衡的影像,細節良好,漸變平滑,適合通用用途。
  • 使用案例:更快的工作流程,同時不會犧牲太多品質。

重點摘要

快速取樣器(Euler、DEIS):

非常適合快速出結果,但可能缺乏細節和細化效果。

適用於原型製作或資源有限的環境。

高品質取樣器(DPM++ 變體):

產生逼真、詳細的影像,但計算強度大。

非常適合最終生產或需要高精度的工作流程。

創意取樣器(祖先變體):

引入隨機性和多樣性,使其非常適合藝術化輸出。

可能為了創意而犧牲一致性或真實感。

排程器的影響:

Normal:標準結果,沒有重大改進。

Karras:提高鮮豔度並減少偽影。

Exponential:平滑過渡和早期細化。


優化取樣器和排程器選擇的技巧

  1. 實驗是關鍵:
    測試多種取樣器-排程器組合,為您的模型和使用案例找到最佳配對。
  2. 了解模型需求:
    研究您的擴散模型與特定取樣器和排程器的相容性。例如,DPM 系列取樣器通常需要動態排程器才能獲得最佳效果。
  3. 使用祖先取樣器獲得多樣性:
    如果您的目標是產生多樣化且自然的輸出,可以考慮使用 Euler Ancestral 這樣的祖先取樣器。
  4. 利用動態排程器:
    將取樣器與 Karus 這樣的動態排程器配對,以提高效能並減少偽影。

結論

取樣器和排程器是擴散模型的基礎,塑造著生成影像的品質和特徵。透過理解它們的機制並嘗試不同的組合,您可以充分釋放工作流程的潛力。無論您是使用收斂型取樣器細化平滑輸出,還是使用祖先變體解析錯綜複雜的細節,合適的排程器都能帶來巨大的差異。

發表留言