Embeddings | LoRa | Hypernetwork概念簡析,懂了才

第六課:AI繪畫進階模型
*喜歡的話可以一鍵三連
筆記下載看這篇專欄CV25267334

一、文本嵌入(Embeddings)
(一)作用:指向某一種特定的形象,除了能幫AI更好地畫好字典里已經(jīng)有的東西以外,有時候也可以幫我們實現(xiàn)特定形象的呈現(xiàn)
如:用于去除特定的不想要的畫面(手部錯亂等)
在C站一些模型網(wǎng)站上是另一種形式表述:Textual Inversion - “文本倒置"
(二)特點:文件占用空間非常小,小到可能只有kb,原因在于不包含信息,只是一個標記。
就像大字典(Checkpoint)里面的一個小“書簽”,能夠精準的為你指向個別字、詞的含義,提供高效的索引
*Embeddings在深度學習領(lǐng)域的全稱叫做“嵌入式向量",向量在數(shù)學里的含義指一個帶有方向、指向性的“量”

(三)解釋:
讓AI畫“貓又”,字典里雖然沒有這個偏僻的概念,但AI知道“貓”、“人”、 “妖怪”怎么畫。在字典里記有這些概念的夾上一片書簽(標記),當提到”貓又“這個詞時,把這帶有書簽的頁面的信息匯總在一起,就知道“貓又”是個什么東西了
*貓又,俗稱貓妖、貓股,在日本神話中是一種有著兩條尾巴的黑貓形象。耳朵大而尖,牙齒為雙面鋸齒型,是貓妖的一種,據(jù)說能直立行走。
(四)用法:
C站上就有很多基于特定動漫角色形象訓(xùn)練的Embeddings

1.位置:Embeddings放置路徑:根目錄/embeddings
文件后綴一般和vae一樣是“ .pt ”
2.使用:Embeddings不需要特別調(diào)用,只需要在提示詞里用特定的“咒語“去召喚它,一般它們的Model Card里都會標注


3.對比:
不使用Embeddings前:

使用后:

*一個小功能的補充
不知道如何寫提示詞,可以導(dǎo)入圖片通過圖生圖里面的反推提示詞功能反推提示詞

DeepBooru和CLIP可以算是兩種不同的圖像識別算法,DB會更快一些

出來的提示詞自己確認無誤后加到文生圖提示詞里面
4.優(yōu)缺點:
(1)
優(yōu)點:對于一些更為廣泛、容錯率更高的形象概念,Embeddings的表現(xiàn)會好很多
缺點:對于角色形象上可能不完全像,也只是讓A去按圖索驥而已(習慣讓LoRa去做)
例如:



它其實就是把這種幾個人物朝向并列的圖片結(jié)構(gòu),作為一種“書簽”輸入到了AI的字典里
(2)例子的做法:
Embeddings的作者也給出了一個基本的提示詞格式

前一個什么什么描述人物本身的特質(zhì),后一個著重描寫服飾

一些標準化或內(nèi)容型的提示詞可以被保留下來

我還添加了這一系列提示詞以及作者提供的一個描述句來固定生成圖片的格式

可以同時在一次生成里激活多個Embeddings,它們不至于沖突,但產(chǎn)生的化學反應(yīng)是需要你自己觀察的

記得開啟高清修復(fù),能讓你的圖片變得更加清晰且精致


當然還是有些問題的,比如在人物細節(jié)的穩(wěn)定性以及轉(zhuǎn)身動作的具體幅度上面

上面問題在后面我們接觸了ControlNet、 LoRa等更為進階的操作手法以后,都能得到更好的實現(xiàn)
5.解決肢體問題
(1)Embeddings常常被我們用于解決AI繪畫過程中的一個巨大的痛點:AI不會畫手(不光手部問題)
因為AI是用擴散的方式來實現(xiàn)圖像生成的,對人的正常身體結(jié)構(gòu)并沒有一個完整的認知,它只知道人有兩只手兩只腳,有時候卻不知道它們是怎么拼到一起的


(2)Negative Embeddings(負面詞嵌入)
①
以EasyNegative為例子,它需要把提示詞“EASYNEGATIVE”放到“負面提示詞”里面激活
未加前:

加提示詞后:

實際上EasyNegative能解決的問題遠不止多一只手或少幾根手指。
它是一種綜合的、全方位的基于負面樣本的提煉,解決的問題可能還包括肢體錯亂、顏色混雜、噪點和灰度異常等(但不一定100%解決)
②不同的嵌入詞會有所區(qū)別:
EasyNegative是基于Counterfeit去訓(xùn)練的,作者測試了對大多數(shù)二次元模型都有效
DeepNegative則主要是針對真人模型來訓(xùn)練的
二、LoRa(秩適應(yīng)模型)
(一)作用:
在于幫助你向A傳遞、描述某一個特征準確、主體清晰的形象(固定特征點)
(二)概念:
讓AI畫一只“小豬佩奇”,可AI沒有接觸過這些概念。雖然可以通過很多個書簽讓它東找西找湊出一個佩奇來,但效果不一定很好

如果說Embeddings是輕薄便利的小書簽,LoRa就好像是一張夾在里面的彩頁一樣,上面把“佩奇”是什么,有什么特點,用什么方式去呈現(xiàn),全寫出來了。這樣AI對“佩奇”的理解是更加全面且準確的
(三)位置:根目錄/models/Lora
(四)使用與實例:
1.觸發(fā)LoRA:
在提示詞里輸入<lora:"LoRA名稱">
例:<lora:dVaOverwatch_v3>

一些LoRA也會提供觸發(fā)提示詞(Trigger Word),可以把提示詞也加上

出圖對比效果:

2.使用過程中的小問題:
因為它的訓(xùn)練圖源復(fù)雜,所以一般也會對畫風構(gòu)成些微影響
(上面那張圖Counterfeit帶來的那種水彩涂抹的精致感就弱了一些)
3.解決問題:
可以適當降低LoRa作為一個關(guān)鍵詞的權(quán)重
0.5~0.8之間都可以確切地保留特征但減弱對畫面風格的影響
(LoRa、Embeddings等的提示詞權(quán)重調(diào)整方式與普通提示詞一致)
大部分LoRa作者也會給出他們認為合適的LoRa權(quán)重,抄作亞的時候還可以參考其他創(chuàng)作者繪制的效果

對比:

(想更加深入了解LoRa,觀看第九課)
三、Hypernetwork(超網(wǎng)絡(luò))
(一)概念:
超網(wǎng)絡(luò)的原理與LoRA不同,但最后能實現(xiàn)的效果其實和LoRa是差不多的
說LoRa是傳單,可以把Hypernetwork理解成一張小卡片,都差不多
(二)有點小區(qū)別:
Hypernetwork一般被用于改善生成圖像的整體風格,這個畫風比Checkpoint所定義的畫風要更為精細一些
(三)位置:根目錄/models/hypernetwork
(四)例子:
Waven Chibi Style

1.如何使用超網(wǎng)絡(luò):
(1)設(shè)置—附加網(wǎng)絡(luò)—將超網(wǎng)絡(luò)(Hypernetwork)添加到提示詞—選擇對應(yīng)的超網(wǎng)絡(luò)添加到提示詞里
(2)另外超網(wǎng)絡(luò)可以使用類似于Lora的詞條模式直接激活
格式為: <hypernet:模型名.pt:0.8(權(quán)重)>
(設(shè)置完記得點擊上面的保存)


2.其他情況:
(1)網(wǎng)上多數(shù)研究者對于Hypernetwork在圖像生成方面的評價并不好,至少不如LoRa和Embeddings那么好
(2)超網(wǎng)絡(luò)的作用可以部分被LoRa取代的

(3)在需要實現(xiàn)特定藝術(shù)風格時,超網(wǎng)絡(luò)仍然可以給你提供不少幫助

例如雕塑風格、像素畫、抽象畫等,推薦你換幾個不同的風格多做嘗試

四、總結(jié)

