やっとここまで来た! 長かった!
ずいぶん苦労しましたね。正直、私たち何してんの? 無駄じゃね? とか疑問に思ったこと数知れず……
無駄などではない! この検証結果が誰かの役に立ってくれれば本望! っていうか、そんなこと考える暇があったら、とっととPixAIで遊びたい!
……最後ホンネが駄々もれですよ
要約
LoRA学習のrepeat=5, 10, 20の動作ありプロンプトについて、これまで検証した結果をまとめました。さらに今回は画像を点数付けして、ちょっとだけ曖昧さを回避しました。その結果やっぱりrepeat=10が優位であることを確認できました。
はじめに
長ったLoRA学習の検証もようやく終わります。……え? 繰り返し数15? やろうと思ったんですけど、Paperspaceで「予期せぬエラー」とか出たんで後回しです。これまでの経験から言ってしばらくすれば直る、……はずです。
ということで、いつものおさらいを以下に示します。
LoRA学習において大事なパラメーターは学習画像枚数(image)、繰り返し数(repeat)×エポック数(epoch)みたいです。imageは準備した画像の枚数、repeatは同じ画像を学習する回数、epochは学習全体の回数っぽいです。
ステップ数(step)との関係は image × repeat × epoch = step だとか。もちろんstepが大きいほど時間がかかります。なんとなくstepは大きければ大きいほど良さそうな気がしますが、ちょうどいい値を超えると勉強し過ぎの過学習になるそうです。
stepは4000~6000にしろという話や、5000~10000が良いという意見やらいろいろあります。まだよくわかってない、というのもあるでしょうが、たぶん学習内容によっても変わってくるのでしょう。
今回はこれまでおこなったrepeat=5, 10, 20の動作なしプロンプトに対するまとめです。
↓Paperspaceのまとめ記事作りました。ほとんど自作LoRA学習まとめですけど。
↓当サイトが準備したミノ子学習画像ともっとも相性の良いrepeat=10の記事です。
動作なしプロンプトまとめ
前提条件
条件はいつもと同じです。
噂に高いkohya版LoRAを使用。repeat=5はepoch=16, 32, 48, 64, 80、repeat=10はepoch=8, 16, 24, 32, 40、repeat=20はepoch=4, 8, 12, 16, 20の結果を示します。image=30だから、それぞれstep=2400, 4800, 7200, 9600, 12000ですよ。
モデルは「SukiyakiMix-v1.0-fp16.safetensors」で、VAEは「orangemix.vae.pt」。その他は以下の方法でPaperspaceにStable Diffusionを導入したデフォルトの状態です。
プロンプトは「girl 1, smile」のみです。これまで検証してきたプロンプト①、ってやつですよ。今回の検証でプロンプトはこれしか使いませんが、これまでとの関係からプロンプト①と表記します。
ネガティブプロンプトは「worst quality, low quality, bad anatomy, nsfw, text, signature, watermark, username, missing limb, bad hands, missing fingers, extra digit, fewer digits」です。
さらに今回は画像の点数評価も行います。独断と偏見で服、髪、リボン、校章、破綻について評価。
- 服
1点:白っぽい服を着ている
2点:リボンと校章ワッペン以外白無地のローブを着ていて、インナーも白 - 髪
1点:黒髪
2点:黒髪ショートカット - リボン
1点:首のあたりにそれらしきものがある(棒タイ、紐も可)
2点:胸元に赤系のリボンがある - 校章
1点:胸元近くに何かがある(胸ポケット、肩ワッペンも可)
2点:胸元にワッペンがある - 破綻(これだけマイナスポイント)
1点:小さな破綻がある
2点:大きな破綻がある
かなり曖昧な評価ですけど、点数付けをすることで分かりやすくなるかと思います。ちなみに破綻については甘めです。手がおかしいとか、この服どうなってるの?とか言い出したらキリがないので。
プロンプト①比重「0.9」
「girl 1, smile」だけはLoRAの性能をそのまま見るような感じです。ただし比重は「0.9」なのでちょっと曖昧になって、そのかわり破綻は少ない。これで最も適していると考えられるrepeat=10の優位性が示される! ……はず。
……あれ? そうでもない? repeat=10, 20, 5の順に再現性が高いと思っていたけど、これを見ると5もなかなか。少なくとも20よりは高い。っていうかこの画像の中での最強は「repeat : 5、epoch : 80」だよね。ちょっと破綻あるけど。
先ほど紹介した基準にのっとって点数をつけると、上記のようになります。「repeat : 5、epoch : 80」は高得点ですが、小さな破綻(謎の青い部分)があるので、1ポイントマイナス。
合計点だけまとめるとこんな感じ。やっぱりrepeat=10, 5, 20の順に再現性が高いっぽいです。なんかrepeat=10のstep=9600だけ点数低いけど、試行回数が少ないからしょうがない。真面目にやるならn数を増やす必要があるんだろうけど、そこまでやってられないしー。
プロンプト①比重「1.0」
まだだ! まだ終わらんのだよ! お次は同じ「girl 1, smile」ですが比重「1.0」です。動作なしなのである意味これが最もLoRAの性能を表す評価なのかも。ちょっと破綻が怖い?
この検証ですとrepeat=10の優位性は一目瞭然です。現時点最強の「repeat : 10、epoch : 24」の他、「repeat : 10、epoch : 40」もほぼ完ぺき。「repeat : 10、epoch : 32」だってかなりのもんです。
心配した大きな破綻はないようです。「repeat : 10、epoch : 24」の左肩とか、「repeat : 5、epoch : 80」の服とか、その他もろもろちょっと怪しいけど。この程度はご愛敬レベルですよね。動作なしなので破綻が起きづらい?
同様にして点数付けすると上記のようになります。比重「1.0」だし、破綻が起きなかったので総じて高得点が出ています。
さっきと違ってrepeat=10, 20, 5の順位再現性が高いです。まあ、このあたりはきっと微妙であって、曖昧なんでしょう。やっぱりrepeat=10のstep=9600だけ点数低いのがきになるけど、repeat=10最強は揺るがないっぽいです。
*Paperspaceは誰かの紹介で始めたほうがお得です。詳しくは「PaperspaceでWebUIなStable Diffusion」をご参照ください。以下のリンクから登録すると当サイト経由ということで割引コードが適用されます。
クレジットカード登録が気乗りしないならVプリカの使用をおすすめします。貧乏性でVプリカの手数料が気になる or ポイ活的に補いたいって人は、ポイントインカムからVプリカに交換して資金を調達する方法もあります。
まとめ
LoRA学習のrepeat=5, 10, 20の動作ありプロンプトについて、これまで検証した結果をまとめました。さらに今回は画像を点数付けして、ちょっとだけ曖昧さを回避しました。その結果やっぱりrepeat=10が優位であることを確認できました。
お次は動作ありのプロンプト②と③ですかね。これがまたムズイんだ。実はrepeat=15のLoRAも準備していたんでけど、今回の検証結果から微妙な雰囲気が漂ってきました。15をやると同様に7とかもやりたくなってくる。でもそれは面倒だし。ここは知らんぷり?
↓比重「1.0」の動作ありプロンプトに関する検証です。
↓思ったよりも良かったrepeat=5の記事です。
↓次点の座が怪しくなってきたrepeat=20の検証はこちらです。
↓もう最後はPixAI.artとMoonbeamに祈りをささげるしかありません。
↓動作ありのプロンプト②と③のまとめです。やっぱりrepeat=10が強い。
↓この検証の結果は、もちろんPixAI.artで確かめます!