Scribble at 2023-11-08 21:57:20 Last modified: 2023-11-09 08:02:53

6月の中頃から Stable Diffusion (Web UI) を半年ほど使ってきて、たぶん数百万枚は出力していると思うのだが、どうやら出力する絵柄とかポーズとか情景とか表情などは、ディフォールトの分散モデルのままならとっくにパターンが尽きてしまったと感じる。したがって、使い始めてから2ヶ月ほど経過した後は LoRA を単に使うというだけではなく、LoRA どうしを組み合わせたり、トレーニングのデータやテンソルが格納されている階層ごとの重みを変えてみたりといった、かなり細かいことを色々とやらなくてはヴァリエーションが尽きてしまう。もちろん seed によって一定の乱雑さはあるが、しょせんは誤差ていどの違いでしかなく、人の目で見て殆ど大差ない違いが seed の違いで生まれても、それは機械だけの問題であって、僕らにとっては「同じような絵」でしかない。たとえば、seed A の絵と seed B の絵とで、1ピクセルぶんの色が白なのかグレーなのかという違いしかなければ(しかも、その1ピクセルがどうでもいい画面の端とかなら)、両者を違う絵として扱うことに大して意味はない。もちろん、そういう違いを軽視できる閾値というものはあろうが、いまのところ Stable Diffusion 1.5 の範囲で出している絵柄だけを見ると、僕の個人としての閾値に何か問題があるようには思えない。

ただし、それは決まったデータの範囲だけで出力を考えるから限度があるという当然の結論になるのであって、データを増やしていけばいいわけである。これまでは LoRA だったり、あるいは分散モデルそのものを入れ替えたりしているのだが、正直なところ分散モデル(ckeck point として配布されているトレーニング済みのベース・データ)に大きな違いがあるようには思えない。実際、分散モデル A の特徴とされているタッチだとか色合いだとかは、既存の分散モデルに LoRA を追加したり VAE などを入れ替えたら殆ど同じ絵柄にできるし、場合によっては "in style of Kyoto Animation" や "photograph taken by Jovana Rikalo" といったプロンプトだけで同じような色合いやタッチにできてしまう。なので、最初から或る程度の偏りを作って公開されている分散モデルには効率という利点があるのかもしれないが、同じような画像を別の分散モデルからでも作れるわけである。

たとえば、集英社が生成画像を元にした写真集を発売して即座に回収した事例で広く知られることになった、「アジア系の顔立ち」を生成する分散モデルなんてのも、ディフォールトで欧米の白人が出力されがちな Stable Diffusion 1.5 を元に LoRA やプロンプトを使って同じようなアジア人の画像を出力できることはできるのである。ただし、もちろん収束する確率という避けがたい特性があるため、効率は下がる(よって、黒人やアラビア系が出にくいのでバイアスがあるなどと指摘されたりしたわけだ)。でも、原理的にできないなんてことはないのであって、ディフォールトで欧米人を出力する分散モデルにプロンプトを加えるだけでトカゲ人間が出せるのだから、日本人を出せないわけがなかろう(もっとも、欧米人からすれば日本人よりもトカゲ人間の方がまだ「近い」と思ってるのかもしれない。なにせ、欧米人もトカゲ人間も1眼レフのカメラなんて持ち歩いたりしないし、黒縁の眼鏡もかけないし、出っ歯でもないし、目は大きいのだし)。

とまぁ、こんなわけで画像の生成 AI については、SDXL のようにもっと品質の高いモデルはあるにせよ、結局は時間の問題だろうと思う。どのみち、収束(逆拡散)しないなんて分散モデルはありえないわけで(それだとやってることは SHA-512 などのハッシュ値を弾き出す一方向性関数と同じことになり、ノイズしか出力されないだろう)、実は「確率」とは言っていても厳密にはランダムではないからだ。そして、冒頭で述べたように、どれほど数値として結果が違っていても、人にとって indistinguishable であるなら、それらの結果は「同じ」なのである。

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

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook