最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

NovelAI-embeddings模型訓練(教程)

2022-11-26 16:28 作者:GamersRay  | 我要投稿

這段時間問我怎么訓練模型的私信很多, 我這個教程與其說是教程, 更應該說是我自己訓練方法的一次記錄, 做模型教程的up主很多, 如果我的方法你覺得不合適, 那你可以嘗試其他up主的,畢竟這種東西沒有最好的, 只有最合適的.

我寫這個教程是想把一部分參數(shù)的意義說明白, 但是我不是ai方面的專業(yè)人士, 如有錯誤, 歡迎指正, 非常感謝.

首先你想開始訓練, 建議你擁有一張8G顯存或以上的顯卡, 沒有的話可以參考其他人發(fā)布的飛槳平臺云訓練.


基礎知識:

首先, 先來說一下基礎概念: 機器學習學習率, 損失函數(shù), 過擬合

(我本職不是ai相關的, 我是本職是數(shù)據(jù)分析師, 這里的只是我在閑暇時間自學的,如有錯誤,歡迎指正, 感謝感謝.)

損失函數(shù)(loss function):

是用來估量模型的預測值f(x)與真實值Y的不一致程度,?它是一個非負實值函數(shù), 通常使用L(Y, f(x))來表示, 損失函數(shù)越小, 模型的魯棒性就越好. 也可以簡單理解為與學習的目標圖像更加接近. 在實際使用中, 損失函數(shù)越低, 畫面效果一般較好, 但是由于不同素材本來就存在差異, 所以損失函數(shù)最后會穩(wěn)定在0.13-0.08之間, 如果你的損失函數(shù)長期穩(wěn)定在0.25-0.17之間, 你需要檢查你的原始素材是否存在較大差異, 比如不一致的服裝, 極大的畫風差異等.

如果你的損失函數(shù)長時間在0.3以上, 那我的建議是尋找前面損失值較低的存檔重新開始訓練, 可能是炸爐了.

損失函數(shù)值

Embedding模型學習率(Embedding Learning rate):

學習率LR表征了參數(shù)每次更新的幅度, 學習率過大, 前期收斂速度很快, 但是很快就會停止收斂, 因為學習率步長已經(jīng)大于模型最佳點與目前位置的距離. 學習率過小, 會出現(xiàn)收斂速度慢導致數(shù)據(jù)更新時間極長. 但是在完成模型學習后, 會得到更精細的模型.為了方便讀者更好的理解,我畫下了一個草圖(真的是隨手畫的, 我自己也知道很丑).


學習率過大
學習率過小

過擬合(Overfitting):

在制作模型的時候, 我們追求的肯定是損失函數(shù)的壓縮, 但是壓縮到一定程度就會出現(xiàn)一個問題, 一個模型專精程度越高, 泛化性越低.

比如你想訓練一個tag, 叫做樹葉(leaf)

你在處理訓練集的時候,放入了以下圖片:

楓葉
榕樹葉


薄荷葉

你開始訓練完以后, 會出現(xiàn)一個情況, 就是你畫出來的所有樹葉, 都是帶鋸齒邊緣的, 因為在訓練集中存在鋸齒邊緣的樹葉, ai會認為樹葉都帶鋸齒,開始鉆牛角尖, 無論畫什么樹葉都會有鋸齒.

解決辦法是人工細化tag, 比如分別建立三個tag:maple leaves(楓葉),?Banyan leaves(榕樹葉),Mint leaf(薄荷葉), 這樣就能在一定程度上壓縮過擬合問題的發(fā)生.

實操

基礎知識講完了, 下面開始說具體步驟, 以webui為例.

第一步: 卸載models包離得vae文件

一般是直接找到vae文件, 在其前面加個1讓他無法被讀取.


第二步: 尋找訓練所需素材, 我一般是在pixiv收集素材的, 收集素材需要注意以下幾點:

1. 數(shù)量不用太多30-50張為佳, 質量比數(shù)量更重要

2. 要找清晰地, 單人的圖片, 沒有復雜背景效果最佳

3. 服裝必須相同, 否則服裝細節(jié)會模糊甚至錯誤


第三步:

創(chuàng)建空白Embedding

1. name欄填入你喜歡的名字

2. 選擇合適的向量token數(shù)

什么是向量token數(shù)?

Number of vectors per token(每個向量所擁有的特征數(shù)), 可以簡單得理解為特征數(shù)更多, 所獲得的的模型細節(jié)越多

(1)不同的向量token數(shù)有什么區(qū)別?

1-2: 只有簡單且模糊的人物輪廓, 無法使用單tag正常成像,

3-5: 有較清晰的人物圖像, 但單tag生成效果不好

6以上: 基本能實現(xiàn)單tag成像

(2)6以上有什么差距?

可以參考之前我之前發(fā)布的的專欄最早期的兩個模型是6-15token的, 然后token數(shù)每次都有一定提升, 每個模型大概提高5個點, 目前最先發(fā)布的阿羅娜我沒記錯的話是55-60這個區(qū)間的

?(3)向量token數(shù)是不是越大越好?

在6-25這個區(qū)間內越大越好, 但是在55以上之后就沒有太大的區(qū)別了(建議不要超過60), 較高的向量token會導致訓練所需的迭代次數(shù)提升, 降低訓練效率, 自己做取舍.

Embedding創(chuàng)建頁面

第四步:

圖像預處理

這一步很多up主建議自己剪, 但是我比較懶, 而且我覺得人工剪的意義不是很大, 我一般直接使用webui它自帶的預處理功能.


處理完之后會獲得如下圖像與文本

一個圖對應一個提取tag的txt文件

先看一下自動預處理出來的圖像, 有沒有什么部分缺失, 或者有沒有什么東西需要額外強調, 這時候就可以人工一1:1的比例切個512*512的圖片添加進去, 然后就可以開始訓練了.

第五步:

開始訓練


這里就要提到學習率問題:

開始的時候, 選擇默認的0.005學習率開始訓練, 大概在一萬兩千步左右( 具體情況看實際渲染圖, 最多的時候可能要到兩萬多步才清晰 )時, 訓練過程渲染圖會變得清晰, 且最近的幾個渲染圖都會很接近.

這時候可以進行第一次學習率壓縮, 點擊停止訓練, 然后調節(jié)Embedding Learning rate的數(shù)值, 我一般第二個學習率數(shù)值為0.0001, 然后重復上面的操作, 等待圖像清晰.

圖像再次清晰, 可以再次進行學習率壓縮, 我的習慣是直接在小數(shù)點后面加個0, 比如第二次是0.0001, 那第三次就是0.00001

但是, 學習率最小值不建議0.000001( 不用數(shù)了, 小數(shù)點后5個0 ),因為訓練圖像分辨率被壓縮為512*512, 部分精細的細節(jié)在預處理時已經(jīng)丟失了, 再降低學習率也沒有意義, 圖像細節(jié)不會有任何變化.

其他問題

(1)如果有些模型有些特殊細節(jié), 比如眼睛是星型瞳孔, 要怎么訓練?

多訓練一個針對性模型, 選擇畫風模板來操作, 只投入所需的眼睛圖片試試.

(2)為什么ai畫的眼睛會糊?

因為機器學習的目標就是降低損失函數(shù)值, 而損失函數(shù)值是根據(jù)特征判定的, 所以在迭代時, 模型會逐漸記錄起大量高頻特征. 但是不同畫師畫出來的眼睛是不同的, 即使同一個畫師在不同的畫里也會有差異, 所以模型會把大量特征拼湊起來, 組建出一個損失值更低的模型, 導致眼睛放大看會糊.

(3)如果我想要的角色是異色瞳, 但是瞳色左右顛倒了怎么辦?

不要使用圖像預處理的鏡像圖片功能, 就能減少異色瞳瞳色反轉的發(fā)生率, 生成的圖片瞳色反轉了, 可以嘗試用這張圖片生成鏡像圖片.

(4)為什么生成出來的圖片這么糊, 有沒有辦法提高畫質?

第一, 你可以提高迭代步數(shù), 一般拉到50-70之間就足夠了(我預渲染一般選擇50步);

第二, 你可以打開Highres. fix功能, 能提高圖像清晰度.

第三, 你可以訓練與你使用的Embedding配套的hypernetwork模型來補充細節(jié).

第四, 使用超分辨率重建軟件, 我用的是在github上下來的realesrgan-gui

鏈接為:https://github.com/TransparentLC/realesrgan-gui/

如果你上不了github也可以在我之前發(fā)布模型的那個百度云文件夾那里下載,鏈接為:

鏈接:https://pan.baidu.com/s/1MX0uRxxI5L2FTbQhhqYyiQ?pwd=0lx4?

提取碼:0lx4?

我使用的設定如下:


后記

ok, 差不多就這些, 有問題可以私信或者評論, 有空的時候會回復, 前提是不要太多, 太多把我干懵了可能就直接不看了.

NovelAI-embeddings模型訓練(教程)的評論 (共 條)

分享到微博請遵守國家法律
隆回县| 饶平县| 兴安盟| 五华县| 邵阳市| 通城县| 衡阳市| 固始县| 禹城市| 如皋市| 莫力| 乌拉特后旗| 平遥县| 松阳县| 桐乡市| 东光县| 嘉鱼县| 扬州市| 涟源市| 灌云县| 夹江县| 台北县| 松桃| 荥阳市| 平阳县| 灵石县| 英吉沙县| 辉县市| 普陀区| 咸阳市| 高阳县| 大方县| 葫芦岛市| 左贡县| 贡嘎县| 拉孜县| 丹棱县| 获嘉县| 乌恰县| 文昌市| 长兴县|