前言
當我在civitai上面逛模組,發現美圖時,都會把
這張圖的提示詞複製下來玩玩看。有時候有些圖會有額外的參數,其中最常看到的就是CLIP Skip 2這個東西。
- 我也發現在一些模組的說明,會推薦你使用CLIP Skip 2來取得不同的效果。例如DreamShaper模組就有提到他的某些圖有使用這個參數。網路上一些文章討論到這個參數能讓你跑出來的圖更有創意,或出現更好的效果。到底CLIP Skip 2是什麼,為什麼能出現更好的效果,根據什麼原理,要怎麼使用。
我學到的心得:
- CLIP Skip 2適用於1.5版的衍生模型,2.1及其以後版本不適用。
- CLIP Skip 2在模組推薦時使用效果最好,否則只是讓你的提示詞無效化。
- CLIP Skip 2在使用過擬合的LoRA時也可以使用,降低LoRA鎖定整體畫風的程度。
什麼是CLIP Skip
CLIP是我們在使用Automatic1111時,1.5版模組的預設文字編碼器(text embedding model),意思是,當你的提示詞要輸入Stable Diffusion時,第一關就是要在CLIP裡面將你的文字轉化成一個向量矩陣。略過細節,簡單說,就是你的每個提示詞會經過一個超大的分類器,將你的提示詞變成一個能讓AI認得的編號。
而CLIP內部有十二層結構,由上往下分類越來越仔細,例如第X層規定了person(人物)的編碼,X+1層就規定了諸如man(男人),woman(女人),1girl(一個女孩)的編碼。當然實際上比這個複雜許多,但是你可以在概念上類比這種分層分類概念。
而所謂的CLIP Skip,就是告訴AI在某層之後就不再往下繼續細分。例如你想要一個老年男子有白鬍穿白袍戴白帽手拿魔杖的巫師。在CLIP Skip 2的情況下,AI可能省略白鬍,或者白袍,或者巫師的概念。在CLIP Skip越高的情況下AI就會省略越多的分類細項。到了CLIP Skip 12的最高值,所有分層都被省略,AI會完全忽略你的提示詞自由創作。
Stable Diffusion 1.5版的文字分類器是使用OpenAI的CLIP,而2.1之後的版本換成了OpenCLIP,這兩個東西的結構不同,所以CLIP Skip這個參數只對1.5版的衍生模組有用,到了2.1版之後的衍生模組是無效的。
怎麼啟用與使用CLIP Skip
在Automatic1111底下,選擇Setting,選擇User Interface,裡面有個Quicksettings list的選項,把值更換成:
sd_model_checkpoint,sd_vae,CLIP_stop_at_last_layers
Quicksettings list就是我們要改的地方
然後重新啟動Automatic1111,就會在網頁最上方多出兩個新選項,分別是VAE模組,以及CLIP Skip的滑桿。預設是1。
從左至右是模組選擇,VAE模組選擇,CLIP Skip
當你算圖時,只要CLIP Skip的值不是1,產出的圖片都會附上CLIP Skip的數值作為PNG Info貼在圖片上。
何時使用CLIP Skip
在使用CLIP Skip 2之前,要先了解為何需要告訴AI省略更細的分類。
一般來說,普通的模組並不需要省略任何的CLIP層,否則你只會得到一個省略你大部分提示詞的圖,並不是你想要的結果。但是對於特化訓練的模組與LoRA,就能避免過擬合(overfitting)的結果。
簡單來說,模組作者在訓練模組的時候,是根據某些類型的偏好特意挑選訓練圖片,例如動漫向模組就拿動漫片圖片,真人向就拿Cosplayer現場照片,漫畫向就拿日本漫畫圖片。這些類型模組被有意塑造出特定偏好,也就是偏見(Bias)。所以在真人向模組裡,1girl提示詞就會出現化妝年輕女孩照片等級的圖,漫畫向就會出現日漫名家等級的美少女。這是被故意訓練進模組裡面的,但同時間也訓練進了許多不想要的特徵。例如半身像(half body portrait)出來的永遠是那幾個站姿與角度,人物表情不跟隨你的其他提示詞而變動,服裝出現的基礎類型與配色都差不多,這都是跟模組訓練時取材的新圖的偏好有強烈相關。
LoRA也是一樣道理,而且他對畫風的限制與影響更大,因為LoRA用的訓練圖更少更專一。
為了破除這個侷限,CLIP Skip 2就是一個很好的方法。藉由忽略最下面兩層規定過分細節的編碼,AI在算圖時也就能不那麼被模組與LoRA強烈的偏好限制住,從而帶給大家更驚喜的結果。
例如下面這個對比:
(best quality), (realistic), (photorealistic), extremely detailed, RAW photo,
real face, real skin, realistic face, realistic skin, detailed eyes, detailed facial features, detailed clothes features, detailed face and breast, beautiful eyes, detailed eyes, perfect body, perfect breasts, perfect face,
Vallaria wearing headband,
detailed background, ((fantasy)), resting by campfire, night, dark, forest
<lora:VallariaV2:0.3>
在這邊我使用了我的自製LoRA,要她表現出在夜晚昏暗的森林裡,在營火旁休息的場景,而這是我在不設定CLIP Skip與設為2的比較:
可以看到,在CLIP Skip 1的時候,五張輸出的圖畫,角色都符合我的LoRA的訓練圖的特徵,而在CLIP Skip 2的時候,髮色已經開始丟失,從我設定的銀色變成金色或黑色,臉型也開始改變。
但是同時,LoRA給畫風造成的影響,例如過度明亮的光,強制鎖定在白天或傍晚的場景,也在CLIP Skip 2的影響下變成了我提示詞要求的dark與night。
也就是說,在這兩種場合,使用CLIP Skip 2反而能得到比較順從你的提示詞的結果:
- 模組下載頁面建議你使用CLIP Skip 2,因為作者自己測試也發現模組過擬合了。
- 使用了會強烈影響畫風,甚至無視提示詞的LoRA時。雖然可能會損失一些你需要的特徵,但是可以藉由加上關鍵字補回來。
參考文件
進階技巧目錄: