Stable Diffusion のシードは何をするのか?

著者 更新日 2 分で読めます

シードは、すべての生成が出発点にするランダムノイズを初期化する整数です。同じシード、同じプロンプト、同じモデル、同じ設定、同じソフトなら、Stable Diffusion は同じ画像を出力します。シードを変えれば、同じプロンプトで別の構図が得られます。Automatic1111 と当サイトでは、-1 を指定するとランダムなシードが選ばれます。

シードが重要な理由

拡散はノイズから始まり、すべての画像はそのノイズと設定から決定論的に決まります。シードはノイズのレシピです。だからこそ最良の学習道具になります。シードを固定し、一つだけ変え、比べる。これはまさに当サイトの画家スタイル比較の方法です。1,731人の画家、固定した四つのプロンプト、プロンプトごとに一つずつ固定したシード。変えるのは画家名だけなので、そこに見える違いは画家名の効果そのものです。

実際の使い方

  1. シード -1 で生成を繰り返し、気に入った構図が出るのを待ちます。
  2. 画像情報からシードを読み取り(Automatic1111 は PNG メタデータと画像の下に書き出します)、シード欄に貼り付けます。
  3. ここからプロンプトやネガティブプロンプトを一語ずつ調整します。構図はたいてい保たれ、細部だけが変わります。
  4. ancestral 系ではないサンプラー(Euler、DDIM、DPM++ 2M)なら、ステップ数や CFG を変えても同じシードで近い画像が得られるので、設定を公平に比較できます。Euler a などの ancestral 系サンプラーはステップごとに新しいノイズを加えるため、結果がずれていきます。

当サイトのプロンプト例にはほぼすべての画像にシードが記されているので、既知の結果から出発できます。

再現性を壊すもの

  • 別のモデルや LoRA:ノイズは同じでもノイズ除去器が違うため、画像は変わります。軽い LoRA ならわずかに、別のモデルなら完全に変わります。
  • 別の画像サイズ:ノイズテンソルの形が変わるので、同じシードでも無関係な画像になります。
  • 別のGPU やソフトのバージョン:浮動小数点のわずかな差で細部がずれることがあります。GPU のメーカーが違う場合、Automatic1111 では乱数の生成元を CPU に設定しないかぎり、ノイズそのものが別物になります。
  • Automatic1111 には、variation seed、Clip skip、Eta noise seed delta など、結果を変える追加設定があります。正確に再現したいなら、これらも同じ値にそろえてください。

シード周辺のバリエーション

Automatic1111 には variation seed と variation strength のスライダーがあります。0.1〜0.3 なら、同じポーズと色調で少しだけ違う「姉妹画像」が得られ、最良の手や顔を選ぶのに便利です。X/Y/Z plot で一方の軸にシード、もう一方にプロンプトの語を置けば、一度の実行で比較グリッドが作れます。

よくある質問

大きいシードのほうが良いのですか?

いいえ。シードはノイズパターンのラベルであって品質設定ではありません。7 と 4,294,967,295 は同等です。大事なのは再現できることだけです。

同じシードで他のサイトでも同じ画像が出ますか?

そのサイトが同じモデル、サイズ、サンプラー、ステップ数、CFG、ソフトを使っている場合だけです。二つの Automatic1111 環境の間ならたいてい一致しますが、異なるサービス間ではほぼ一致しません。

当サイトのツールでは同じシードでも別の画像になるのはなぜ?

公開ツールはすべての要求に独自のネガティブプロンプト、ディテール用 LoRA、ステップ数、サンプラーを適用し、インペインティングでは画像を 1024 px に収まるようリサイズするため、手元の環境とは結果が異なります。サイト内では、同じ要求に同じシードを与えれば再現できます。