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目錄:
為什麼會看到廣告
avatar-img
21.9K會員
380內容數
寫奇幻小說,畫圖,心得,各式各樣作品的故鄉。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
這個方法主要是借用Google Colab的威力。 這次要介紹的LoRA訓練法,特別適用於下列對象: nVidia顯卡不夠高級,跑不動訓練程序 根本不是nVidia顯卡的使用者,Stable Diffusion的訓練程序不支援 不想花錢花電力花顯卡時間訓練
本文教導你如何準備LoRA訓練的素材與選擇合適的提示詞。
奮戰整整三天,終於可以讓妳在任何模組上出現,這感覺真好。😊 來說說為何使用LoRA,還有它的一些特性。
這個方法主要是借用Google Colab的威力。 這次要介紹的LoRA訓練法,特別適用於下列對象: nVidia顯卡不夠高級,跑不動訓練程序 根本不是nVidia顯卡的使用者,Stable Diffusion的訓練程序不支援 不想花錢花電力花顯卡時間訓練
本文教導你如何準備LoRA訓練的素材與選擇合適的提示詞。
奮戰整整三天,終於可以讓妳在任何模組上出現,這感覺真好。😊 來說說為何使用LoRA,還有它的一些特性。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
Dream Machine 是由Luma AI 研發開發的 AI 影片生成工具,可以根據文字提示或圖像生成5秒鐘的高質量、逼真的影片。
大家在跟Chat GPT互動的時候,會不會覺得常常雞同鴨講 我們梳理了一些提升Chat GPT回答能力的作法 ChatGPT回答不是你要的怎麼辦? 我們也實作了當中的一種方法,叫做RAG於 自己做免錢Chat GPT吧 這篇文章,我們談談其他技巧,稱為「透過LoRA執行Fine Tuning」
Thumbnail
試著去訓練 LoRA 幾次後,發現一些有趣的問題... ㄜ~技術問題後面再說好了,先分享最近訓練的 LoRA YunQiuWaterColor ​一個類似水彩畫風的 LoRA。 以下來欣賞幾張圖片吧!
Thumbnail
最近在試著用 Tensor Art 訓練 LoRA,老實說,成功率...不太高,或許是我挑選訓練圖片的問題。 但訓練出來,可以給別人用(雖然根本也就是我自己用),就感覺蠻有意思的! 最近,又訓練了一個亂塗鴉的 LoRA(YunQiuLineArt01),我覺得還蠻有趣的,分享給您。
Thumbnail
大叔最近在研究如何使用 TensorArt 來訓練自己的 LoRA 模型,昨晚終於測試成功了,太令人感動了,有興趣的話,請您也來試試大叔的手繪風格 LoRA YunQiuStyleColor 吧!
Thumbnail
關於 SORA 技術原理的圖像式解說,內容從通用型人工智慧到生成運算的原理以及相關的技術研究成果。 提供了使用生成運算方式的 Diffusion Transformer 介紹和進階閱讀的指路。分享 AI 研究領域的開放性和合作精神,以及對視覺產業可能帶來的影響。
Thumbnail
這篇要講的圖像提示詞概念是在AI繪圖的過程中輸入圖片,讓AI去理解圖像內容,或是直接參考圖像的構圖或色彩,再產生新的圖片。 雖然我最常用的是文字提示詞的方式生圖,但是圖像提示詞的應用比文字提示詞更廣也更加複雜,尤其在生成影片的範疇。 即使OpenAI在近日發表了強大的文生影片的Sora模型,但畢
Thumbnail
OpenAI 發表的Sora,對於我這個浸淫AI繪圖還有AI產生(基礎的)動畫一段時間的人來說,可以說是非常的震撼。為什麼Sora 跟其他的文字產生影片的工具如Pika 或是 Runway 完全不同呢? 他對我們來說又有什麼意義呢? 這就是這篇文章我們想探討的。
Thumbnail
Tensor Art 使用 Stable Diffusion 的各種模型,也能使用ControlNet 和 LoRA功能,根據使用者的輸入來文生圖、圖生圖,生成各種風格的高質量圖像,包括人像、動人的風景、創意的抽象畫等。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
Dream Machine 是由Luma AI 研發開發的 AI 影片生成工具,可以根據文字提示或圖像生成5秒鐘的高質量、逼真的影片。
大家在跟Chat GPT互動的時候,會不會覺得常常雞同鴨講 我們梳理了一些提升Chat GPT回答能力的作法 ChatGPT回答不是你要的怎麼辦? 我們也實作了當中的一種方法,叫做RAG於 自己做免錢Chat GPT吧 這篇文章,我們談談其他技巧,稱為「透過LoRA執行Fine Tuning」
Thumbnail
試著去訓練 LoRA 幾次後,發現一些有趣的問題... ㄜ~技術問題後面再說好了,先分享最近訓練的 LoRA YunQiuWaterColor ​一個類似水彩畫風的 LoRA。 以下來欣賞幾張圖片吧!
Thumbnail
最近在試著用 Tensor Art 訓練 LoRA,老實說,成功率...不太高,或許是我挑選訓練圖片的問題。 但訓練出來,可以給別人用(雖然根本也就是我自己用),就感覺蠻有意思的! 最近,又訓練了一個亂塗鴉的 LoRA(YunQiuLineArt01),我覺得還蠻有趣的,分享給您。
Thumbnail
大叔最近在研究如何使用 TensorArt 來訓練自己的 LoRA 模型,昨晚終於測試成功了,太令人感動了,有興趣的話,請您也來試試大叔的手繪風格 LoRA YunQiuStyleColor 吧!
Thumbnail
關於 SORA 技術原理的圖像式解說,內容從通用型人工智慧到生成運算的原理以及相關的技術研究成果。 提供了使用生成運算方式的 Diffusion Transformer 介紹和進階閱讀的指路。分享 AI 研究領域的開放性和合作精神,以及對視覺產業可能帶來的影響。
Thumbnail
這篇要講的圖像提示詞概念是在AI繪圖的過程中輸入圖片,讓AI去理解圖像內容,或是直接參考圖像的構圖或色彩,再產生新的圖片。 雖然我最常用的是文字提示詞的方式生圖,但是圖像提示詞的應用比文字提示詞更廣也更加複雜,尤其在生成影片的範疇。 即使OpenAI在近日發表了強大的文生影片的Sora模型,但畢
Thumbnail
OpenAI 發表的Sora,對於我這個浸淫AI繪圖還有AI產生(基礎的)動畫一段時間的人來說,可以說是非常的震撼。為什麼Sora 跟其他的文字產生影片的工具如Pika 或是 Runway 完全不同呢? 他對我們來說又有什麼意義呢? 這就是這篇文章我們想探討的。
Thumbnail
Tensor Art 使用 Stable Diffusion 的各種模型,也能使用ControlNet 和 LoRA功能,根據使用者的輸入來文生圖、圖生圖,生成各種風格的高質量圖像,包括人像、動人的風景、創意的抽象畫等。