LyCORISのLOHAでLORAを作ってみる
2日ほど、某ソシャゲのキャラLORAを作ってました。
ソシャゲのキャラって絵素材少ないんですよね…。人気キャラでも10枚ぐらいで、SSR級でも数枚なんてことも珍しくない。
素材が少ないと、良い感じに仕上げるのが格段に難しくて困ります…。
今回作ったのはそこそこ人気だったので、素材が17枚ほどありました。
最初は17枚雑に突っ込んで学習させてたんですけど、画質がイマイチだったので、素材のブラッシュアップをすることに。
画像が洗い物は綺麗にアップスケール、背景がハデなのは切り抜き、ビジュアルのクオリティが明らかに低い1枚を除外し、「数は少ないけど、各素材のクオリティは悪くない」状態に。
コレでかなりよくなったのですが、まだしっくりこない。
仕方ないので、パラメータと試行回数調整という沼に突撃となりました。
loha/loconでdimとalaphaを 32/16-32/16でやったところ程度やったところ「まぁまぁ良い感じに」
ところが、キャラ単体出力はいいのですが、プロンプトやTI・LORAあたりでポーズを付けていくと、どうにも反応が悪い。
絵柄が少ないこともあり、LOCONで細部まで学習した結果、元の絵柄への依存度がかなり高くなっているような気がします(適当)。
LOCONをはずしてLORA使用(dim/alphaは128/64)
→ 依存度は解消したけど、LOCONを外したせいか再現度が甘い。LORAをLOHAに変更→(dim/alphaは32/16)
→ ほぼ理想。
という感じで、今回はLOCONなしのLOHAとなりました。
LOHAとLORAは学習アルゴリズムが「違う」(優越ではなく違い)ので、両方使いわけるといいかと思います。
個人的な印象だと、LOHAは表現力に深みがあるというか、情報量が豊かな気はします。
おまけ:LOHAのTIPS(といっても主にreadmeの抜粋ですが)
LOHAは従来LORAとくらべると「dim/alpha」設定を低くすること。
dimは32推薦。64以上にはするな。
alphaは1以下。小数点付けてもいける(0.5とか0.2)。
1以下推薦だけど、32/16とかでも普通にいける。
従来層とLOCON層で数値を揃える必要はない。(32/0.5と8/4とかでも平気。むしろ調整するときはバラしが必須)
学習効率が低いので、従来LORA的思考だと「あれ、過学習かな?」と思っても、実は全然STEPが足りてないことがある。上手くいかないときは試しに1万STEPぐらいぶんまわそう!
WEBUIでの利用には専用のExtensionが必要。
層別LORA対応済みだが、指定方法が従来とは違うので要注意。
「Additional Network」extensionはLOHAには未対応。(3/23現在)
LOHAは、素の学習時間が長いうえに、学習効率が低めでSTEP数を多くとることになるので、LORAより学習時間が長くなりがち。
僕がLOHAのLORA(ややこしいw)を作るときは、32/16-16/8あたりで作り始めて学習の進み具合に合わせて32/16-32/16とか32/1-8/1みたいに調整していく感じです。
小数点以下も0.3と0.2で変化があったりするので、チマチマやっていくことで、クオリティが上がる確率が高くなります(上がるとは言ってない)。