小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

通俗易懂!十分鐘搞懂 Stable Diffusion 的基礎(chǔ)概念

 _八月天_ 2023-09-11

圖片

今天給大家介紹下 Stable Diffusion 的一些基礎(chǔ)概念。

所謂磨刀不誤砍柴工,只有把刀磨鋒利了,砍起柴來才能得心應(yīng)手,才能順利的砍到所需的柴火??巢袢绱耍匠W鍪虑橐彩沁@樣,我們要做好一件事,首先就要打好基礎(chǔ),找出核心的方面,搞懂相關(guān)原理,理清楚其中的利害關(guān)系,然后才能加以利用,進(jìn)而得到滿意的結(jié)果。

我是6月份開始接觸 Stable Diffusion 的,當(dāng)時(shí)參加了一個(gè)社區(qū),有老師專門教AI繪畫,然后我就按照教程一步一步的做,最后出圖的時(shí)候特別有成就感,那個(gè)感覺就像掌控了整個(gè)世界,也有點(diǎn)類似于剛拿到汽車駕照的感覺。

但是,跟著別人做的時(shí)候很順利,按照自己的想法繪圖時(shí)就遇到很多問題,經(jīng)常搞很久都不能得到滿意的結(jié)果,各種參數(shù)調(diào)來調(diào)去,一遍遍的生成,花費(fèi)很多的時(shí)間,也拿不到想要的結(jié)果,如果電腦有感情,可能都要崩潰了。

后來我意識到,不能再這樣搞下去了,這樣搞下去成不了專家(哈哈)。我之所以很難拿到結(jié)果,是因?yàn)槲覍?Stable Diffusion 的認(rèn)識太簡單太膚淺,很多參數(shù)都是一知半解,很多時(shí)候都是按照自己想當(dāng)然的方法各種亂試,沒有抓住要領(lǐng),沒有搞懂原理,這樣就很難用好這個(gè)工具,我操之過急了。

然后我開始詳細(xì)了解 Stable Diffusion 的各種概念,盡量去理解相關(guān)的原理,去查詢各個(gè)參數(shù)的作用,然后再去實(shí)踐,遇到搞不清楚的地方,再去搜索查詢,如此反復(fù),終于搞明白了一些事情,也能生成一些想要的圖片了。因?yàn)槲疫@些認(rèn)識也是從別人那里學(xué)來的,本著人人為我,我為人人的精神,我也把自己學(xué)到的一些東西分享出來。

本文就和大家分享一下我了解到的一些 Stable Diffusion 的基礎(chǔ)概念,相關(guān)說明在保持基本正確的情況下會盡量通俗易懂,希望能幫助到身處困惑中的同學(xué)。

模型

理解模型這個(gè)詞需要一點(diǎn)初中數(shù)學(xué)知識,可以把每個(gè)模型看成一個(gè)數(shù)學(xué)函數(shù):y=f(x),輸入?yún)?shù) x,得到返回值 y。只不過這個(gè)函數(shù)可能特別復(fù)雜,里邊會有很多的子函數(shù),這些子函數(shù)通過各種規(guī)則進(jìn)行連接。

在使用 Stable Diffusion 生成圖片時(shí),我們會遇到很多的模型,最基礎(chǔ)的就是 Stable Diffusion 大模型,比如Anything、realisticVision等等,對于此類模型,我們可以簡單的認(rèn)為模型的參數(shù)就是提示詞、圖片尺寸、提示詞引導(dǎo)系數(shù)、隨機(jī)數(shù)種子等等,返回值就是圖片數(shù)據(jù)。

除了大模型,平常使用較多的還有 Lora 模型、嵌入式模型。Lora 模型是一種微調(diào)模型,可以用來生成某種特色圖片,比如一些機(jī)甲、插畫風(fēng)格的模型。嵌入式模型通常使用單個(gè)輸入代表一組數(shù)據(jù),從而可以節(jié)省一些配置,比如常用的負(fù)面提示詞模型  EasyNegative。

除了 Stable Diffusion 自身支持的模型,很多插件也需要模型才能正常運(yùn)行,比如ADetailer,就需要下載修臉、修手的模型。

模型文件的后綴名有很多種,比如常用的 Stable Diffusion 大模型文件名后綴一般是 .safetensors 和 .ckpt,.safetensors 文件比 .ckpt 文件更安全和快速,有這個(gè)的時(shí)候推薦用這個(gè)。還有一些模型的后綴名是 .pt、.pth、.onnx等等,它們一般由不同的機(jī)器學(xué)習(xí)框架訓(xùn)練而來,或者是包含的信息格式存在差異。

Stable Diffusion

Stable Diffusion 是一種很先進(jìn)的生成技術(shù),集算法與模型為一身,2002年8月由 Stability AI 開源。Stable Diffusion 有時(shí)候會被簡稱為SD。

先來認(rèn)識下這兩個(gè)單詞:

  • Diffusion 本意指的是分子從高濃度區(qū)域向低濃度區(qū)域的轉(zhuǎn)移過程。Stable Diffusion 有兩種擴(kuò)散,前向擴(kuò)散和后向擴(kuò)散。

    • 圖片

    • 前向擴(kuò)散就是向清晰的圖片不斷中增加噪音,讓它變模糊,變成一張?jiān)胍魣D。這種噪音的分布需要符合自然圖像的統(tǒng)計(jì)特性,使得圖像的特征數(shù)據(jù)分布的更加廣泛和均勻,從而能夠增加生成圖片的變化和多樣性,更接近真實(shí)圖像。

    • 后向擴(kuò)散描述的是從噪聲圖到清晰圖的轉(zhuǎn)化過程。隨著擴(kuò)散步驟的增加,噪聲逐漸被去除,圖像逐漸清晰。去噪就是去除不應(yīng)該出現(xiàn)在畫面中的像素點(diǎn)。

  • Stable 是穩(wěn)定的意思,無論輸入的文本提示詞如何,經(jīng)過訓(xùn)練的模型都可以穩(wěn)定地生成符合文本提示詞的圖像,而且這些圖像的質(zhì)量通常是穩(wěn)定的,不會出現(xiàn)明顯的波動。

下面再介紹下 Stable Diffusion 的基本原理,分成兩個(gè)方面:訓(xùn)練和生成。其核心就是在一個(gè)特殊的潛在空間中擴(kuò)散。

圖片

潛在空間:Stable Diffusion 訓(xùn)練和生成圖片并不是基于圖片像素空間,而是在一個(gè)潛在空間中進(jìn)行,這個(gè)潛在空間的維度比圖片像素的維度要低很多,比如一個(gè)尺寸為 768*512 的圖像,其像素維度為 768*512=393216,而 Stable Diffusion 模型的潛在空間維度通常在 768 維左右,可見潛在空間顯著降低了對算力和顯卡性能的要求,訓(xùn)練和生成圖片的速度更快。

訓(xùn)練:指的是使用帶有文本描述的圖片構(gòu)建生成模型的過程。

  • 訓(xùn)練程序首先將文本描述通過一個(gè)編碼器轉(zhuǎn)換為潛在空間中的向量,文本描述向量的每一個(gè)維度都代表了文本描述的一個(gè)特征或者屬性,例如顏色、形狀、大小等。同時(shí)訓(xùn)練程序也會將原始圖像轉(zhuǎn)換到潛在空間中。

  • 然后使用上面提到的“前向擴(kuò)散”方法基于文本描述向量逐步生成噪聲圖像;

  • 然后使用上面提到的“后向擴(kuò)散”方法去除這個(gè)噪聲圖像中噪聲,盡量恢復(fù)到原始圖像的向量表示;

  • 將得到的圖片向量表示與原始圖片的向量表示進(jìn)行比對,計(jì)算損失值,然后調(diào)整模型的參數(shù),以盡可能地減小損失。

這個(gè)過程重復(fù)多次,直到損失值無法再降低或者可降低的幅度非常??;同時(shí)文本描述轉(zhuǎn)換的向量還會通過學(xué)習(xí)不斷接近原始圖片的信息。最終得到一個(gè)相對高質(zhì)量的模型。

向量:就是具有大小和方向的量,比如加速度。向量還可以用來表示一組數(shù)值,例如圖像的像素值、文本的單詞頻率等,使用向量可以方便地對數(shù)據(jù)進(jìn)行操作和計(jì)算,比如通過計(jì)算兩個(gè)文本向量之間的夾角得到它們的相似度。

生成:指的是模型使用者使用文本提示詞+模型生成圖片的過程。

生成時(shí)還是需要先將文本提示詞轉(zhuǎn)換為潛在空間中的向量。

然后使用“前向擴(kuò)散”方法基于這個(gè)向量生成符合向量語義的噪聲圖像。

然后使用“后向擴(kuò)散”方法去除這個(gè)噪聲圖像中的噪聲,最終得到清晰的圖片。

Stable Diffusion WebUI

一個(gè)最流行的開源 Stable Diffusion 整合程序,用戶安裝后可以直接通過 Web 頁面使用 Stable Diffusion。

Stable Diffusion WebUI 的核心功能是 文生圖 和 圖生圖,這兩個(gè)功能也就是 Stable Diffusion 的核心能力。

Stable Diffusion WebUI 的其它功能,比如ControlNet、高清放大、模型訓(xùn)練等等都是其它第三方開發(fā)的,有的已經(jīng)內(nèi)置到 WebUI 中,隨著 WebUI 的發(fā)布而發(fā)布,有的還需要用戶手動安裝。

除了Stable Diffusion WebUI,還有一些使用量比較大的整合程序:SD.Next、ComfyUI 等。

大模型

圖片

這里說的是 Stable Diffusion 大模型,有時(shí)也稱為主模型、基礎(chǔ)模型。Stability AI 官方發(fā)布了一個(gè)基礎(chǔ)模型,但是因?yàn)楸容^通用,兼顧的方面比較多,特點(diǎn)不足,所以大家一般很少使用。比如有的人喜歡二次元、有的人喜歡真實(shí)、有的人喜歡3D,用官方模型出圖的效果不是最優(yōu)的,所以很多組織或者個(gè)人就專門訓(xùn)練某方面的模型,并發(fā)布到社區(qū)給大家使用。

同時(shí)因?yàn)榇竽P偷挠?xùn)練成本很高,所以基本上沒人會重頭開始,這些模型一般基于 Stability AI 發(fā)布的官方模型二次訓(xùn)練而來。訓(xùn)練方法常見的有DreamBooth,DreamBooth模型可以將目標(biāo)對象與新場景結(jié)合,生成創(chuàng)意新圖片;訓(xùn)練這種模型可以只需要少量的目標(biāo)對象的圖片,也能達(dá)到較好的效果。

因?yàn)榇竽P陀?xùn)練時(shí)使用了大量的圖片,累積了比較多的數(shù)據(jù),所以模型文件很大,通常都在2G-7G。

對于 Stable Diffusion WebUI,大模型的安裝默認(rèn)目錄是:<stable-diffusion-webui>\models\Stable-diffusion ,不過這個(gè)目錄是可以通過啟動參數(shù)更改的,注意確認(rèn)你自己的大模型目錄。

VAE模型

上面提到 Stable Diffusion 生成圖片時(shí)會在一個(gè)潛在空間中進(jìn)行處理,圖片數(shù)據(jù)和潛在空間數(shù)據(jù)的轉(zhuǎn)換就是由VAE模型處理的。VAE模型在這個(gè)轉(zhuǎn)換過程中能夠?qū)W習(xí)到一些圖像特征的處理方式,使得生成的圖像顏色更加鮮艷、細(xì)節(jié)更加銳利,可以用來解決圖片發(fā)灰模糊的問題。

很多大模型會自帶VAE模型,這時(shí)候我們就不需要再給它搭配一個(gè)VAE,當(dāng)然也有不自帶的,這時(shí)就需要搭配一個(gè),在 Stable Diffusion WebUi 中可以無腦選擇“自動識別”。

在秋葉整合包中提供了四個(gè)選項(xiàng),如下圖所示,我一般都選“自動識別”,除了 vae-ft-mse-840000-ema 比較通用,animevae 是專門優(yōu)化二次元圖片的。一般這兩個(gè)VAE模型就夠了。

圖片

對于 Stable Diffusion WebUI,Vae 模型的安裝默認(rèn)目錄是:<stable-diffusion-webui>\models\Vae ,注意替換 <stable-diffusion-webui> 為你自己的安裝目錄。不過這個(gè)目錄是可以通過啟動參數(shù)更改的,注意確認(rèn)你自己的 Lora 目錄。

Lora模型

這是一種基于大模型的風(fēng)格模型,也就是說它不能單獨(dú)使用,必須配合一個(gè)大模型才行。比如我們畫小姐姐的時(shí)候,可以用一些Lora模型來控制人物的服裝、頭飾;生成機(jī)械四肢的時(shí)候,可以用一些Lora模型來強(qiáng)化肢體上覆蓋的機(jī)甲樣式;畫風(fēng)景圖的時(shí)候,可以用一些Lora模型來控制繪畫的風(fēng)格。

這種模型訓(xùn)練成本不高,往往只需要幾十張圖片就可以訓(xùn)練得到,比較方便普通用戶試玩。

與 Lora 模型作用和使用方式類似的還有一種超網(wǎng)絡(luò)模型,不過效果上較 Lora 模型差,社區(qū)中很少這種模型。

對于 Stable Diffusion WebUI,Lora 模型的安裝默認(rèn)目錄是:<stable-diffusion-webui>\models\Lora ,初始狀態(tài)下里邊是空的,注意替換 <stable-diffusion-webui> 為你自己的安裝目錄。不過這個(gè)目錄是可以通過啟動參數(shù)更改的,注意確認(rèn)你自己的 Lora 目錄。

提示詞

對圖像的描述,也就是想畫一幅什么樣的畫。比如我上邊使用的:a girl,但是這個(gè)提示詞過于簡單,AI雖然畫出了一個(gè)女孩,但是他不知道你腦子里的女孩長什么樣子,如果要畫的更符合你的需求,你還要告訴他更多細(xì)節(jié)才好,比如女孩的頭發(fā)是什么顏色、穿著什么衣服、站著還是坐著、在戶外還是室內(nèi)等等。

提示詞在AI繪畫中特別重要,一個(gè)常見的編寫套路是:風(fēng)格、主體、細(xì)節(jié)。風(fēng)格就是圖片是照片、水墨畫,還是白描;主體就是你想畫什么,比如1個(gè)女孩、1棵樹、或者1條狗子;細(xì)節(jié)就是你的主體長什么樣子,是長發(fā)還是短發(fā),黑色頭發(fā)還是粉色頭發(fā),眼睛是藍(lán)色還是黃色等等。

另外我們還可以使用一些質(zhì)量提示詞提升圖片的質(zhì)量,比如: masterpiece、best quality、ultra-detailed、8K等,不過這對于新版的SDXL這些提示詞沒什么意義了,SDXL會努力做到最好;還有就是可以使用權(quán)重?cái)?shù)字強(qiáng)化或弱化某個(gè)提示詞對生成圖片的影響,比如: red hair:1.31 ,這可以強(qiáng)化輸出照片中頭發(fā)顏色為紅色的概率。

在 Stable Diffusion 中文本提示詞會被轉(zhuǎn)換為潛在空間中的向量,然后參考這個(gè)向量生成噪聲圖像,然后再對噪聲圖像進(jìn)行采樣去噪處理,逐步生成清晰的圖像。

反向提示詞

不想在圖片中出現(xiàn)的東西,比如樹、桌子、6根手指、缺胳膊斷腿等等,在上邊的示例中我使用了“EasyNegative”,這是一個(gè)嵌入式模型的代號,可以認(rèn)為它代表了一些常見的反向提示詞,使用它就不用一個(gè)個(gè)輸入了,且只使用一個(gè)提示詞的數(shù)量額度。

提示詞引導(dǎo)系數(shù)

圖片

在 Stable Diffusion 中,提示詞引導(dǎo)系數(shù)實(shí)際上影響的是噪聲圖像,通過調(diào)整該參數(shù),可以改變噪聲圖像與原始文本的相關(guān)性。這個(gè)參數(shù)的值越小生成圖像越自由,越大則更注重文本信息的影響。

采樣器和采樣步數(shù)

圖片

采樣就是去除噪音。在上面介紹 Stable Diffusion 時(shí),提到過“反向擴(kuò)散”這個(gè)概念,采樣器就是在反向擴(kuò)散時(shí)去噪用的算法程序。

Stable Diffusion WebUI 中默認(rèn)已經(jīng)集成了很多采樣器,比如:Euler a、DPM++、DDIM和Restart等等,它們在圖像生成的效果和速度上存在一定的差異。比如:

Euler a:默認(rèn)選中的就是這個(gè),是最簡單、最快的采樣器,以較少的步數(shù)可以產(chǎn)生很大的多樣性,不同的步數(shù)可能有不同的結(jié)果。但是,當(dāng)步數(shù)過高時(shí)(超過30步),圖像的質(zhì)量可能不會有所提高。

DPM++:在圖像的質(zhì)量上表現(xiàn)不錯,但相較于其他采樣器,其耗時(shí)可能會相應(yīng)增加。

隨機(jī)數(shù)種子

圖片

隨機(jī)數(shù)種子是AI繪畫的魅力之一。在其它參數(shù)都相同的情況下,只要隨機(jī)數(shù)不同,每次生成就會產(chǎn)生有些差異的圖片,創(chuàng)意幾乎無窮無盡;反過來使用相同的隨機(jī)數(shù)則可以生成完全相同的圖片,這也是很多人都對收集 Stable Diffusion 生圖參數(shù)樂此不疲的原因。-1 代表每次使用不同的隨機(jī)數(shù)。

在Stable Diffusion內(nèi)部,隨機(jī)數(shù)種子會影響潛在空間中的噪聲圖像。當(dāng)其他參數(shù)完全相同時(shí),相同的隨機(jī)數(shù)種子將會生成相同的噪聲圖像,從而生成相同的像素圖像。


OK,以上就是本文的主要內(nèi)容,介紹了 Stable Diffusion 的一些基礎(chǔ)概念。如果有感覺沒講清楚的地方,歡迎留言溝通;因能力有限,以上有些說法可能不準(zhǔn)確或者存在錯誤,如有問題還望指正。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多