Stable Diffusion -- 訓練LoRA(三)

閱讀時間約 11 分鐘

前言

讀書時間到啦!
自從上次我在這篇這篇文章介紹了如何訓練LoRA之後,線上訓練LoRA的Colab頁面又改版了,改變了一些設置,引進了一些模組,所以某些設定不再適用。加上我找到了該Colab的作者寫的,專門討論如何使用他的工具來訓練LoRA的頁面,以及在各個論壇討論如何精確訓練LoRA的文章,我決定把我近來訓練的方法更新在新文章中。讓大家有個參考。

問題

之前使用的方法,的確可以快速產出你要的LoRA,而且不需要任何高強的顯卡,但是這個方法有一些問題:
  • 將訓練圖的提示詞抓出來,依舊需要用本機的Automatic1111來做,而有些時候Automatic1111會出問題,怎麼抓提示詞都是錯的,尤其是deepbooru,我的本機沒成功過。迫使我只能用CLIP來做,在動漫類角色LoRA上問題很大。
  • 常常訓練出過擬合(Overfitting)的LoRA,這種LoRA不只是影響你的角色,它還會影響圖片的整體畫風,迫使你必須將權重放得很低,否則只要一高起來,不管你使用什麼模型,出來的圖都會扭曲,甚至破圖。而你將權重放得過低,產生出來的角色又會變得不像,使得你在出圖時必須反覆調整權重,找出能生出相像的角色,但是又不會嚴重影響畫風的設定,有如在走鋼索。
  • 不知道怎麼檢定產生的LoRA到底品質好不好,如果前前後後產生了好幾個LoRA,要怎樣決定哪個版本更好,在不同模型下要使用什麼權重。
這幾個問題,基本上訓練LoRA的Colab的作者都有在他的專案頁面上講到:
本篇與下一篇就要來討論我如何依照他給的解釋,整合進我自己的人物類LoRA訓練流程。

首先,第一個問題是從訓練圖抓取提示詞的問題,除了使用Automatic1111來抓詞,並且自己進去文字檔一個一個修改之外,holostrawberry大大給了我們一個專門的Colab頁面來處理這個問題,本文稍後會使用到。
第二個問題,過擬合通常有兩個因素,一個是訓練回數太多太久,使得LoRA的權重產生嚴重偏見,讓它可以在訓練時取得良好分數,另一個原因是因為我們沒有提供規範圖(regulation images)。無法在LoRA訓練想取巧時教訓它。
至於什麼是規範圖,我請ChatGPT來回答他的定義:
在圖像生成式AI的訓練中,regulation images的功能是將一些無關的圖像加入到訓練數據中,以增加模型的泛化能力,防止過度擬合。這些無關圖像可能是與訓練數據中的圖像非常相似,但實際上不屬於目標類別的圖像,或是隨機產生的噪聲圖像。
加入regulation images會對模型的品質產生積極影響。如果模型只在訓練數據中學習,那麼它很可能會過度擬合訓練數據,導致在新數據上的表現不佳。然而,當使用regulation images時,模型被迫學習一些與目標類別不完全相關的特徵,這可以幫助模型更好地泛化到新數據上,並且可以減少過度擬合的風險。因此,regulation images可以提高模型的品質和穩健性。
目前看不懂沒關係,我們馬上就要來自己生產規範圖,讓我們從範例中搞懂這是什麼東西。

上傳訓練圖

在這一版的流程中,我們一樣要準備並裁切訓練用的素材圖,請依照我在
Stable Diffusion -- 訓練LoRA(一) 之中的「準備」與「裁切」來料理素材圖。
本次我以訓練一個猛男戰士為目標,準備了他的素材圖:
上傳到Google雲端硬碟的素材圖
並且幫他指名了啟動詞XingBar。原本我使用的詞是Xing,但我發現這個詞已經被Stable Diffusion使用了,是一個東方女子的提示詞,所以若是沒有改名,會在使用時衝突,出現的人物會變來變去,甚至出現陰陽人。所以在取名啟動詞之前,最好用https://lexica.art/ 等網站查詢一下自己的啟動詞會不會叫出一個固定的角色。
素材圖準備好之後,我們不用在這時提煉提示詞,請直接將所有的素材圖上傳到Google雲端硬碟上,由於Colab的作者更新了設定,我們要將它放置在新的路徑格式上:
我的雲端硬碟 -> Loras -> <專案名稱> -> dataset
以我這次的範例,我的目錄位置是:
我的雲端硬碟 -> Loras -> XingBar30 -> dataset
接下來,我們要來生產規範圖。

產生與上傳規範圖

我問了ChatGPT關於規範圖的挑選標準,我覺得很準確:
選擇好的regulation images是非常重要的,因為這將直接影響模型訓練的品質。以下是一些挑選好的regulation images的方法:
1. 選擇高質量的圖像:確保你選擇的圖像是高質量的,可以清晰地顯示出你想要的特徵。
2. 多樣性:選擇多樣的圖像,包括不同的風格、色彩和紋理,這有助於提高生成模型的多樣性。
3. 詳細:選擇能夠呈現你想要特定特徵的圖像。例如,如果你想訓練一個生成寫實風格的模型,那麼你需要選擇那些能夠呈現真實細節的圖像。
4. 數量:通常情況下,regulation images的數量越多越好,因為這能夠提高訓練的品質和多樣性。但是,選擇過多的圖像可能會增加訓練的時間和計算成本。
也就是說,規範圖需要的是一大批跟素材圖同類別,但是又不會太相似,也不會太過不相似的圖
所謂的同類別,例如我的目標是猛男戰士,那同類別就會是男性,男戰士,男野蠻人這種東西。而我上一個訓練的LoRA是銀髮年輕女性,同類別的圖就是女性,女孩等類別。
但我們在挑選規範圖時盡量避免列入太過相似的圖,免得訓練時讓AI困惑。同時也要避免太過不相像,例如你的素材圖是動漫系男性戰士,但你的規範圖是畢卡索或梵谷畫中的男性,甚至是男性玩具士兵的圖片,這樣可能讓整個訓練過程的Loss數值降不下來。或是讓AI將你的啟動詞歸類到不要的類別裡。
產生規範圖的方法有兩種,第一種就是Google搜尋該類別的圖片,找個100張,再裁切成512x512的圖片,然後上傳到Google雲端硬碟。第二種則是自行使用Automatic1111的X/Y/Z plot來大批量生產圖片:
在這邊我以生產男性圖片為例,使用這樣的設置:
自行生產規範圖
然後產生大約150張圖片,挑選其中100張符合條件的圖片上傳雲端硬碟,放在這樣的資料夾下:
我的雲端硬碟 -> Loras -> Man -> dataset
在Google雲端硬碟上,會看起來像這樣:
上傳規範圖到Google Driver

產生提示詞

接下來,我們就要使用Colab來幫助我們快速產生訓練與規範圖的提示詞。請打開這個Colab頁面:
這個頁面提供了從頭產生素材圖輯的整個流程,但我們已經有素材圖了,所以只需要用到它的提示詞產生功能。

規範圖的提示詞

首先我們從簡單的規範圖提示詞開始,在第一步的project_name填入我們的規範圖資料夾Man,而folder_structure則保持不變,使用作者提供的新架構:
指定規範圖專案
按下執行後,它會要求存取你的Google雲端硬碟,授權之後接著跳到第四步(Tag your images)。
在這邊什麼都不用改,直接執行即可,程式會使用Waifu Diffusion的文字圖像對應模型,替你的圖產生提示詞。
(順帶一提,Waifu Diffusion就是當初轟動的維多利亞女僕AI圖使用的模型)
開始幫規範圖找標籤
只要確認程式找到圖,並且產生文件檔之後,我們就來處理比較複雜的素材圖的提示詞。

素材圖的提示詞

一樣打開同一份Colab文件,這次在第一步project_name填入放置素材圖的專案名稱XingBar30,然後執行。一樣跳到第四步,直接執行,確認所有的素材圖都有相對應的文件檔產生,而且Colab會給你一個提示詞與提示詞出現次數的分佈名單:
提示詞分佈名單
之後需要到第五步(Curate your tags)置換你的啟動詞與要融合的詞。
這個步驟,官方的說明是:
編輯你的提示詞:這個步驟對於動畫提示詞來說是可選的,但非常有用。在這裡,你可以為你的 LoRA定義啟動詞。如果你正在訓練風格,你可能不想要任何啟動詞,這樣 LoRA就會一直生效。如果你正在訓練角色,我個人傾向於刪除(修剪)與角色內在特徵有關的常見提示詞,例如身體特徵和頭髮/眼睛顏色。這會導致它們被啟動詞吸收。
在我們的例子中,啟動詞global_activation_tag是XingBar,而remove_tags則是你在第四步的提示詞分佈名單上看到的,想要融合進角色的提示詞,對我的角色而言,就是跟男性、眼睛顏色、髮型、肌肉等相關的提示詞:
brown eyes, long hair, male focus, mature male, muscular, blonde hair, pectorals, muscular male, manly, large pectorals
取代相關的提示詞
其他欄位保持不變,按下執行之後,Colab會將每個文件檔的開頭放進啟動詞,並且將remove_tags列進去的提示詞都移除掉。這樣我們就完成所有的準備步驟了!

驗證提示詞

在Colab頁面最下端的Extras區域,有一個工具Analyze Tags可以檢查剩下的提示詞:
確認了提示詞已經成功整理乾淨,我們就可以在下一篇來訓練,並驗證LoRA的品質!

參照


LoRA目錄:
為什麼會看到廣告
18.1K會員
296內容數
寫奇幻小說,畫圖,心得,各式各樣作品的故鄉。
留言0
查看全部
發表第一個留言支持創作者!
這個方法主要是借用Google Colab的威力。 這次要介紹的LoRA訓練法,特別適用於下列對象: nVidia顯卡不夠高級,跑不動訓練程序 根本不是nVidia顯卡的使用者,Stable Diffusion的訓練程序不支援 不想花錢花電力花顯卡時間訓練
本文教導你如何準備LoRA訓練的素材與選擇合適的提示詞。
奮戰整整三天,終於可以讓妳在任何模組上出現,這感覺真好。😊 來說說為何使用LoRA,還有它的一些特性。
這個方法主要是借用Google Colab的威力。 這次要介紹的LoRA訓練法,特別適用於下列對象: nVidia顯卡不夠高級,跑不動訓練程序 根本不是nVidia顯卡的使用者,Stable Diffusion的訓練程序不支援 不想花錢花電力花顯卡時間訓練
本文教導你如何準備LoRA訓練的素材與選擇合適的提示詞。
奮戰整整三天,終於可以讓妳在任何模組上出現,這感覺真好。😊 來說說為何使用LoRA,還有它的一些特性。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
Stable Diffusion Online是網頁版的Stable Diffusion AI圖像生成工具,省去了繁瑣的安裝和設定步驟,可以無限生成圖片,且不用註冊就可以免費使用,更棒的是還可以商業使用,為使用者提供更便捷的圖像生成體驗。
Thumbnail
在 Stable Diffusion 中有時人物的大小遠近好像很隨機,除了用 ControlNet 其實可以利用 prompt 輸入 拍攝電影的鏡頭控制術語用來控制距離及角度。
Generative models have made remarkable strides in recent years, enabling machines to create diverse and realistic content across various domains. Amon
Thumbnail
stable-diffusion-webui AUTOMATIC1111在近期更新到1.6版了,我在本文中列出較重要的8個有感且實用的更新項目。 而那些較為底層的,或是專給高手使用的更新項目我就不細說了。
Thumbnail
因為最近 Vlad 頻繁出問題,且Img2Img算一張1024x2048、Denoising Strength 0.45 的圖要整整兩個小時,想說暫時先用 A1111 應急。沒想到 A1111 現在也是半斤八兩,沒有 --no-half --no-half-vae u 一定出問題不說,Img2Img
Thumbnail
  可能是這個問題太過基本,所以網路上幾乎沒有人在提問或回答,但我一開始嘗試Stable Diffusion時,常會遇到一個令我困擾的問題----紫色斑塊。
Thumbnail
以下講一些有關stable diffusion webui的幾個小操作,都不難,也都很實用,也許其實你早就知道了,這些都不是什麼驚奇的事,但我發現似乎並不是所有人都知道這些事。 這些真的都是一些雞毛蒜皮的小事,不足以獨立寫成一篇教學文章,所以我就簡單的匯整一下就好。
Thumbnail
本教學使用Automatic 1111介面   AI繪圖風行至今,網上已有不少中文教學,包括教導如何訓練LoRA、LoCon等模型的文章,而訓練上述模型時,通常會經過一道「Preprocess Images」工序,中文稱為「圖片預處理」。
Thumbnail
stable diffusion 是一款AI繪圖軟體,你可以免費把stable diffusion算出來的圖免費拿來商用,但是像我的電腦因為顯卡太舊而無法快速運行,而浪費很多時間,你只要準備一個google帳號即可。
Thumbnail
先說結論:   演算Img2Img時,Sampling Methods(取樣方法)中Karras類型比較忠於原圖,非Karras類型比較放飛自我。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
Stable Diffusion Online是網頁版的Stable Diffusion AI圖像生成工具,省去了繁瑣的安裝和設定步驟,可以無限生成圖片,且不用註冊就可以免費使用,更棒的是還可以商業使用,為使用者提供更便捷的圖像生成體驗。
Thumbnail
在 Stable Diffusion 中有時人物的大小遠近好像很隨機,除了用 ControlNet 其實可以利用 prompt 輸入 拍攝電影的鏡頭控制術語用來控制距離及角度。
Generative models have made remarkable strides in recent years, enabling machines to create diverse and realistic content across various domains. Amon
Thumbnail
stable-diffusion-webui AUTOMATIC1111在近期更新到1.6版了,我在本文中列出較重要的8個有感且實用的更新項目。 而那些較為底層的,或是專給高手使用的更新項目我就不細說了。
Thumbnail
因為最近 Vlad 頻繁出問題,且Img2Img算一張1024x2048、Denoising Strength 0.45 的圖要整整兩個小時,想說暫時先用 A1111 應急。沒想到 A1111 現在也是半斤八兩,沒有 --no-half --no-half-vae u 一定出問題不說,Img2Img
Thumbnail
  可能是這個問題太過基本,所以網路上幾乎沒有人在提問或回答,但我一開始嘗試Stable Diffusion時,常會遇到一個令我困擾的問題----紫色斑塊。
Thumbnail
以下講一些有關stable diffusion webui的幾個小操作,都不難,也都很實用,也許其實你早就知道了,這些都不是什麼驚奇的事,但我發現似乎並不是所有人都知道這些事。 這些真的都是一些雞毛蒜皮的小事,不足以獨立寫成一篇教學文章,所以我就簡單的匯整一下就好。
Thumbnail
本教學使用Automatic 1111介面   AI繪圖風行至今,網上已有不少中文教學,包括教導如何訓練LoRA、LoCon等模型的文章,而訓練上述模型時,通常會經過一道「Preprocess Images」工序,中文稱為「圖片預處理」。
Thumbnail
stable diffusion 是一款AI繪圖軟體,你可以免費把stable diffusion算出來的圖免費拿來商用,但是像我的電腦因為顯卡太舊而無法快速運行,而浪費很多時間,你只要準備一個google帳號即可。
Thumbnail
先說結論:   演算Img2Img時,Sampling Methods(取樣方法)中Karras類型比較忠於原圖,非Karras類型比較放飛自我。