Scribble at 2024-12-11 14:01:58 Last modified: unmodified

添付画像

自分自身の写真を使ってトレーニングした LoRA を初めて作成したのが去年の6月だった。作成した LoRA ファイルのタイム・スタンプで6月28日となっている。つまり、Stable Diffusion を使い始めてから数週間でオリジナルの LoRA を作っていたことになるのだけれど、それから何枚かの写真を撮影しているし、LoRA を作成するにあたってのパラメータも工夫するようになっているので、そろそろ1年以上の経験が積み上がっているのだから LoRA を作り直してみることとした。

もちろん、自分で自分のディープ・フェイクを作ってなりすましする意味などない。ジョークの画像を作って、会社の Google Chat でアイコンに使ったり教材のプロフィール欄に掲載するていどのことだ。

今回は写真を35枚ほど用意した。モデル・データを作った経験があればご承知のように、トレーニング用の画像はたくさんあればいいというものではない。また、自分の写真ならなんでもいいというわけでもない。広く知られているノウハウでは、まず枚数は20枚もあれば十分だし、ノイズが少なくて高精細な写真が良い。もともとの写真がボケていると、トレーニングして生成される画像もボケるからだ。かといって、ボケたまま、つまりボケかたも正確に再現されては困るからといって、LoRA のウェイトを下げてしまうと、当然ながら他の値も強度が下がっていくので、別人になってしまう。これを防ぐには LoRA を階層ごとに適用する拡張機能を利用する手もあるが、もともとボケた写真でトレーニングしたモデル・データは写っている人物の特徴をそもそも検知・学習できていないのだから、そういう手法にも限界はある。そして、周囲に余計なノイズがある写真も避けたほうがいいだろう。前回のトレーニングでは、大半の写真が本棚の前で撮影されていたので、背景に何も指定しないで画像を生成すると、どうしても本棚のようなものが出てくる。屋外の背景キーワードを使ったときですら妙な壁のようなものが出てくるから、要するに僕という人物の造形と本棚がセットになって「河本孝之の概念」になってしまったわけである。いわゆる過学習だ。無地の背景で撮影された写真だけを集めるのは難しいので、丁寧にやる人は、それこそ生成 AI を使って背景を除去した画像でトレーニングするようだが、そこまでの必要は感じていない。ただ、出来上がった LoRA はそうやって過学習の見込みが高くなっているため、実は今年の夏頃から色々な LoRA を作っているのだが、標準でもウェイトを 0.5 くらいにして使っている。そうすると、顔の様子だけ反映されて、他に学習してしまったノイズの効果があるていどは消えてくれるからだ。

・・・といったことで、さきほどトレーニングして自分の LoRA を作り直してみたのだが、まぁなかなか写実的なベース・モデルで生成すると違和感は強い。自分自身の顔であるだけに、微妙な違いがあってもすぐに分かるからだ。そういう意味では、顔を描いた画像はどれも満足のゆくものではなかった。前回も、満足できたのはイラスト調のベース・モデルで漫画やアニメ風のキャラとして生成した場合だけだったし、写実的な画像を出すのはいったん諦めよう。なんだかんだ言って、いちばん似てると思ったのは、上に添付しておいた後ろ姿だったりする(笑)。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る