(おもに)男性キャラlora学習記録


概要

2月下旬よりlora作成を行ってきて、ここ1ヶ月くらいで満足する結果を出せるようになってきたのでそれをまとめてみる。
ほぼ日記。曖昧な記録ですみません。
kohya-ss氏のsd-scriptsで次のキャラクターのLoRAを作成した。

・ローレン・イロアス(にじさんじ所属 Vtuber)
・アクシア・クローネ(元にじさんじ所属 Vtuber)
・レイン・パターソン(にじさんじ所属 Vtuber)
・不破湊(にじさんじ所属 Vtuber)

なおキャラクターの題材的にセンシティブなので画像を掲載しないで文章のみの記載とする。
AI画像なのに文字だけなのはアレだけど、ひとまずの対策として。

作成環境

OS: Windows 10
CPU: AMD Ryzen 7 5800X
GPU: NVIDIA GeForce RTX 3070 (VRAM 8GB)
RAM: 16GB
Storage: NVMe SSD(1TB)

あくまで一例ということで、間違っているところがあったらごめんなさい。


結論

・女性と同じ学習手法で問題ない

・出力させるモデルによってはショタっぽくなるので1 guyとか入れたりして体系の調整をはかるのがよさそう

・ベースモデルはNAIがおすすめ

・真後ろ向いた画像とか入れるとおかしくなるので避ける

・教師画像は量より質なのでよく厳選するべき

・透明正則化画像を入れすぎるとトリガーワードではなく1boyで出るようになってしまうので気をつける

・推論モデルにないものを描かせようとすると(例:男の水着)女体化しがち

ここからは日付順に覚えていることを描いていく。


2023/02/22

初めてのlora学習。教師画像4~5枚+epochが多すぎる+学習モデル元がsdの標準モデルだったためあまり良い結果にはならなかった。曇りガラスの向こうにうっすらとローレンが視認できる程度。明らかに過学習。

教師画像を増やして再挑戦。学習モデル元は相変わらずsd標準モデル。前よりましな結果になったが「ローレンの服を着た謎イケメンキャラ」感が強い。首元の装飾が再現できていない。
トリガーワードを「red police」にしたのでred policeとプロンプトに加えてみるが、タグの整理やマルゼン式をしていないため謎のキャラクターが登場した。

wikiに乗っていたパンチラプロンプトに挑戦してみたが、髪の毛の形状だけ似ている謎の金髪男性ショタが出現。無理そう。

2023/02/23

学習モデル元を二次元キャラクター学習に向いているとされるACertaintyに変更&教師画像の背景を白背景にしたところ改善。ただ過学習なので0.5くらいに薄めないと出ない。

教師画像を公式の立ち絵と公式の顔のアップのみでの学習もやってみた。女の子っぽくなってしまう+ポーズが固定されるうえ、たまに肉がミチッ♥ミチッ♥と詰まったようなローレンの衣装風のグラボの絵が吐き出されたり、ローレンの衣装風の謎サーバールームが出たりして恐怖画像に。

2023/02/25

女性キャラクター(レイン・パターソン)の学習にチャレンジ。AOM3で学習・推論。あっさり学習が成功して拍子抜け。着替えもできた。

2023/02/26

味をしめたので男性キャラクター(不破湊)を学習してみる。AOM3で学習・推論。dim64,alpha32。Ir1e-4,text_encoder_lr 5e-05
教師画像44枚。マルゼン式で、不破湊の顔の特徴のみを消して学習させる。

トリガーワードと1boyのみで推論したら、ショタっぽいけど不破湊が出る。
画像元にない衣装を着せてみたらどうなるのかと先ほどのプロンプトにpartydressを加えてみる。
体が女性の不破湊が出現した。男のパーティドレスはなかったらしい。

同じ条件でローレンを学習させてみる。着替えは可能になった。(教師画像に赤いコートが一番多かったから何着てもその色合いにはなる)
今までよりも近いローレンが出現しているが、謎の原神感。不破湊の時はハマってたのに、なんか違う気がする。
今考えると出力させるプロンプトに表情を指定すればよかった。なんかポヤ~ンとした顔つきだったからしっくりこなかったのではないかと思う。
また、どことなく韓国のwebtoon系の少年の顔つきをしていたから、自分の思ってるローレンの顔とはかなり違うのだろうか。
この「他キャラクターだとどんな絵柄でも『キャラらしさ』を認識できるのに、いざローレンでやるとしっくりこない感」に2ヶ月くらい悩むことになる。

2023/02/28

気を取り直して、アクシア・クローネを学習。
dim64,alpha32 Ir1e-4,text_encoder_lr 5e-05
学習元:AOM3A3

いざ出力!と思ったらなんか変な助手席のカットとか、ねじの隣にアクシアの顔だけ描かれている。なにかおかしい。
学習画像を見直してみる。その結果、真後ろを向いた画像が含まれていることに気づく。顔が見えない画像が入ってるからおかしくなっているのか?取り除いてみると、きれいにアクシアっぽい何かが出力される。学習画像にはきちんと顏を描かれているものを選んだ方がよいと反省。

2023/03/05

いろいろやってきたのでローレンを再学習。教師画像58枚。

いざ出力!ドン!
...ローレンとその隣にいる謎の少年がちょくちょく出る。どういうこと?
教師画像を見直すと、使用したものの中にアクシア・クローネと二人組で描かれているものを発見。これでアクシアまで学習してしまったらしい。ファンアートは一人だけ描かれているものを使用しようと反省。

このあたりからcivitaiにも男性キャラloraが上がり始める。base modelに記載されているSD1.5をSDに標準ではいってるあの実写モデルと誤解=もしかして、昔の標準で入っていたモデルを使用したほうがほうがうまく学習できる!?と思い込み、ウキウキで学習。
結果は言わずもがな。おとなしくAOM3で学習させよう。

2023/03/08

loconに手を出す。ローレンで試してみることに。loraと比較して、髪のグラデーションなど細かいところが学習できていた。容量は少し大きいがこれなら問題ない。
この日からloconに切り替えた。

2023/03/11

さーてこれでloconで安泰だなぁ~とピクニックしてたら新学習手法loHaが出た。早速ローレンで学習だ!
学習元モデル:ACertainty
networkdim:16,alpha:1,algo": "loha", "conv_dim": "16", "conv_alpha": "1", "dropout": "0"

結果は...あまりよくなかった。loconと比較してわかりやすい差は感じられなかったので、引き続きloconで行こうと決める。

2023/03/24`

学習元モデルにNAIを使用したほうがよいという噂を仕入れる。ローレンで挑戦だ!
もはやローレンが学習の実験台と化している。

教師画像64枚、繰り返し数8、dim64,alpha32。
今までで一番うまくいった。顔のディティールが増して、ハイレゾした時の出力がきれいになった

今までで一番うまくできたので、知り合いにloraを渡して試してもらったところ、「1boyで正則化されている」ことが発覚。トリガーワードはloreのつもりだったのに、どうしてこんなことに。
原因は透明正則化画像を240枚、1boyという名前で入れていたことだった。正則化画像の仕組みとして、あまりに同じような画像を入れすぎるとそのクラスプロンプトに吸収されるらしい。sd-scriptsを見返したところ、教師画像の数よりも正則化画像を入れすぎないようにと注意書きがあった。そういえば今までのモデルも透明正則化100枚くらい入れてたし、なぜか1boyを入れないと女体化するのを不思議に思ってはいた。教師画像より入れないようにしようと反省。

2023/03/29

だいぶ学習にも慣れてきたので、しばらく別キャラを学習させていたのだが「anylora」と呼ばれるキャラ学習に向いているモデルがcivitaiにあるらしいと風の噂で流れてくる。AOM3での出力が安定しているとのこと。早速ローレンで学習させてみた。
う、う~ん?確かにAOMでも出るけど...あまり目立った差は感じられなかったので、引き続きNAIを学習元にすることにする。

2023/04/08

教師画像の数をすごく増やせばいいloconが作れるかもしれないと思い立ち、教師画像88枚でローレンのloraを作ることにする。
白背景に加工する工程はwebuiの拡張のkatanukiで自動化していたが、細部の再現度を上げるためにうまく切り抜けなさそうな教師画像はクリスタで自力で切り抜く。

今まで難しかった低い位置でのポニーテールが非常に安定して出る。衣服を指定すれば標準の衣装が安定して出現する。ベルト・首元の鍵なども再現している。

今までで...一番似ている!満足!

2023/04/19

先週作ったローレンのloraが全く似ていないと思うようになる。(なってしまった)
改めて、自分はローレンのどこを見てローレンだと認識しているのか考え直した。
その結果、他キャラと比較してローレンの場合は「元の公式の立ち絵の絵柄になるべく似ていた方がよい」と考えていたことに気づいた。
いままで公式絵7枚程度+大量のファンアートで学習していたため、「ファンの二次創作っぽい絵柄」で出てきていた。
しかし、自分の求める画像は「公式の立ち絵の絵柄を尊重しているもの」だと気づく。
loraは教師画像の一致する箇所を集めて平均値を出すような出力なので、様々な絵柄のファンアートだと当然だが公式の絵柄にはならない。
そこで、4/8に使用した教師画像を選別し、公式の画像とその特徴である「鼻のハイライト・目の形状・全体的な塗り方」を再現しているファンアートのみで学習させることにした。
教師画像は13枚になった。だいぶ少なくなったがこれで学習させてみる。正則化画像は使用しなかった。
いざ出力!
鼻のハイライトが出るようになり、目の形状や髪の質感、形状が公式画像に似たものに変化した。
気づくのに2ヶ月くらいかかったが、やっと満足のいくloraを作ることができた。


反省点

・情報収集しなさすぎ。あてずっぽうや、うわさで聞いたものをすぐ試して失敗する傾向がある。だいぶ遠回りしてしまった。作ってるときは楽しかったけど、もっと効率の良いルートがあったのかもしれない。不満があるなら原因を考えて、いろいろな方向から攻めてみるべきだと思う。
・出来に満足するとそれ以上極めようとしなかった。正則化画像の量とか違和感を覚えずに妥協してホイホイ作っていた。loraがうまくいったら、どうしてうまくいったのか解析を行って次につなげるべき。

Edit Report
Pub: 06 May 2023 10:07 UTC
Views: 355