Scribble at 2023-07-30 17:39:09 Last modified: 2023-07-31 00:11:34

添付画像

Stable Diffusion は次世代の SDXD 1.0 が登場して、モデルや LoRA の作者も新しい SDXD へ対応する動きを見せているが、ひとまず僕は安定した環境で利用できるまでは静観するつもりだ。そもそも、現行の SD 1.5 を使っている環境ですら、これから死ぬまで画像を出力し続けてもいいくらいの強力なシステムだと言えるわけで、恐らく現行の Stable Diffusion 1.5 に対応する Web UI を使って商業レベルの画像を出力するために足りないのは、Stable Diffusion 側には殆ど不足がないのであって、不足しているのは単に僕の使っているコンピュータのスペックだけであろう。たぶん、NVIDIA GeForce RTX 4090 をデュアルで搭載する300万円ていどのマシンがあれば、印刷の版下に使えるくらいの画像データを簡単に出力できる筈だ。

これは、原則を考えてみれば分かる。SD が画像を生成する出発点は、一定の区画として定義されたサイズの画像データだが、これは初期状態ではノイズ(疑似乱数で出力されたデタラメにしか見えない画像)だ。この初期状態を決めるために "seed" という値が使われており、これはウェブのプログラミングでハッシュ値を生成するために使う "nonce" と同じである。Stable Diffusion では32ビットの色データを扱うので、初期条件に使えるシードの値は 0~^^2^{32}^^ までとなる。^^2^{32}^^ = 4,294,967,295 で、約42億という膨大な数だ。これだけでも大きな数になるが、これに加えて画像を生成するときにはプロンプトやネガティヴ・プロンプトや CFG といった幾つかのパラメータで、デコードやエンコードの処理に色々な影響を加えるのだから、結果として生成される画像のバラエティが更に桁違いで増えていくことは簡単に想像できるだろう。確かに、出力された画像の多くは、実は1ピクセルだけ色が違うだけの殆ど同じ画像であるかもしれない。でも、それはハッシュ値に1文字だけ異なる殆ど同じ値があるのと同じことであり、それを「同じ」かどうかと議論することは、数学的には無意味である。値が違えば、それは「違う」のだ。ハッシュ値もまた、1文字でも違う文字列を認証システムに与えたらログインできないのと同じである。

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

冒頭に戻る


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

Twitter Facebook