系列文章目錄
本文專門開一節(jié)寫SD原理相關(guān)的內(nèi)容,在看之前,可以同步關(guān)注:
stable diffusion實踐操作
前言
(后期補充)
一、原理說明
1.1、出圖原理
<img src+“” width=600>
1.1.1 AI畫畫不是和人一樣,從0開始,而是一個去噪點的過程:
<img src+“” width=600>
1.1.2 逆向去噪
所有的人圖片都是從一張噪點圖開始的。根據(jù)目標生成一張貓的圖片,將噪點一步步轉(zhuǎn)化為貓
<img src+“” width=600>
1.1.3 AI如何學(xué)會去噪點的
AI首先將圖片一步步加入噪點。
<img src+“” width=600>
所以任何一張圖都可以逆向這個過程
<img src+“” width=600>
<img src+“” width=600>
<img src+“” width=600>
1.2、文生出圖機制
生成圖片,我們需要兩個主要輸入,提示詞prompt和隨機種子
- 將輸入的文字進行編碼傳入潛空間。
- 在潛空間根據(jù)文字的描述,進行圖片的繪制
- 將圖片從潛空間的壓縮態(tài)進行放大,補充細節(jié),提升分辨率
本文知乎鏈接:
入口
clip模型
在 Stable Diffusion 模型中,prompt 是通過引導(dǎo)向量(guidance vector)來控制 U-Net 的。具體來說,prompt 會被編碼成一個文本嵌入向量(text embeddings),然后與其他輸入一起傳遞給 U-Net。這個過程可以分為以下幾個步驟:
- 首先,將 prompt 輸入到一個預(yù)訓(xùn)練的語言模型(例如 GPT)中,以獲得對應(yīng)的文本嵌入向量(text_embeddings)。
- 接下來,將 text_embeddings 與其他輸入(如隱變量 latent_model_input 和時間戳 timestamp)拼接在一起,形成 U-Net 的輸入。
- 將這個輸入傳遞給 U-Net,并計算出有條件的噪聲預(yù)測(noise_pred_text)。同時,也會計算出無條件的噪聲預(yù)測(noise_pred_uncond)。
- 使用一個指導(dǎo)比例因子(guidance_scale)來調(diào)整有條件和無條件噪聲預(yù)測之間的權(quán)重。這個因子可以根據(jù)實際需求進行調(diào)整,以控制 prompt 對生成結(jié)果的影響程度。
- 最后,將加權(quán)后的噪聲預(yù)測傳遞給擴散調(diào)度器(scheduler),并更新隱變量(latents)。
通過這種方式,prompt 能夠影響 U-Net 的輸出,從而在生成過程中引導(dǎo)模型產(chǎn)生符合預(yù)期的結(jié)果,即通過 prompt 產(chǎn)生我們想要的圖。
解開Clip Skip值的秘密
1.2.1 文字編碼 CLIP
計算機不能直接理解文本和圖片
而是通過特征向量來標記
而這一項工作是通過CLIP模型來完成的
clip模型包括文字編碼器和圖片編碼器,將文字和圖片都編碼成向量
所以CLIP設(shè)置的層數(shù)越高,圖片和文字相關(guān)度越低,一般設(shè)置為2就可以了。
1.2.2 圖片繪制
SD繪制圖片內(nèi)容的時候,并不是直接繪制512512的圖片,而是繪制核心內(nèi)容,6464,然后再將圖片放大還原。
所以繪圖的實際過程就是去噪
1.2.2.1 隨機種子和采樣器
SD會根據(jù)隨機種子生成一張正態(tài)分布的噪點圖,然后根據(jù)傳入的文字,加入是狗,去向量數(shù)據(jù)庫中搜索,生成狗的去噪方式。去噪方式又是采樣器進行調(diào)用的
采樣器會調(diào)用Unet模型,對圖片中的噪點預(yù)測,生成噪點預(yù)測圖
讓噪點圖減去預(yù)測出的全部噪點,生成最終的模型圖片
1.2.2.2 迭代步數(shù)
Unet模型在噪點多的時候,預(yù)測并不理想,所以我們并不一次性全部采納其預(yù)測的噪點,而是每次只采用一部分噪點,循環(huán)多次
這個過程就是下面的迭代步數(shù)
設(shè)置過小,圖片與文本匹配度較低,過大,則會畫蛇添足,一般我們設(shè)置為20-40步即可
1.2.2.3 采樣方法
采樣所采用的算法,不同算法消耗的時間不同。
采樣器時間對比
一般推薦大家 使用DPM++ SDE Karas/DPM2++ SDE Karas
對比:
1.2.3放大圖片
在潛空間產(chǎn)生的圖片比較小,我們需要VAE將其放大,優(yōu)化細節(jié)。
這就是整個過程文章來源:http://www.zghlxwxcb.cn/news/detail-691477.html
總結(jié)
例如:以上就是今天要講的內(nèi)容。文章來源地址http://www.zghlxwxcb.cn/news/detail-691477.html
到了這里,關(guān)于stable diffusion實踐操作-SD原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!