
2026/02/26 16:52
**ノイズから画像へ ― 拡散プロセスへのインタラクティブガイド**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
記事は、拡散モデルがランダムノイズから始めてテキストプロンプトに一致するターゲットへと反復的にデノイズして画像を生成する仕組みを説明しています。
効率の鍵は、モデルが圧縮された潜在空間で動作することです——フル解像度画像空間より約12倍低次元であるため、適切なハードウェア上では1秒に最大約60枚の画像を生成しても検索が実行可能になります。
テキストプロンプトは高次元の「埋め込み空間」に埋め込まれ、類似したプロンプト同士がクラスタリングし、各デノイズステップを導くコンパスとして機能します。
ランダムシードは潜在空間での開始点を決定します;同じプロンプトに対して異なるシードを使用すると、わずかに変化した出力が得られます。
推論ステップ数はモデルが1回のイテレーションでどれだけ移動するかを制御します:少なすぎるとターゲットを逃し、多い場合はほとんど利点がなく時間が増加します。
プロンプト長はガイダンスコンパスを強化します—曖昧なプロンプトでは結果のばらつきが大きくなる—一方でガイダンススケールはモデルがプロンプトにどれだけ従うかを調整し、高値だと不自然または過飽和画像になることがあります。
記事は、オープンソースの Photoroom/prx‑256‑t2i‑sft モデルでこのワークフローを実演しており、Jon Almazán がデモ用のサポートとアイデアを提供した点に言及しています。
シード、推論ステップ数、プロンプト詳細、およびガイダンススケールを調整することで、ユーザーは画像の忠実度と生成速度のバランスを取り、デザイナー・アーティスト・企業にとってジェネレーティブ AI をより実用的にしつつ計算コストを管理可能にします。
本文
スクロールモード
可能な画像は何個あるのでしょうか?
私たちの宇宙には約 (10^{80}) 個の原子があります。もし各原子が自分自身の宇宙を持ち、その中にまた (10^{80}) 個の原子が入っていると想像してみてください。それでも、表面だけしか掘り下げられていません。
5,000層ほどの「原子‑宇宙」を重ねると、上記の一枚分のサイズに相当する可能な画像数、すなわち (10^{4000})(1 の後ろに 4,000 個のゼロ)が得られます。
ご想像いただけるように、そのほぼ全てはただのランダムノイズです。
コンピュータによりますが、最大で秒間 60 枚のランダム画像を生成できます。もし熱死以前に本物の画像に見えるものを目撃したら、ぜひ(あるいは私の子孫へ)知らせてください。
驚くべきことに、拡散モデルはこの膨大な可能性空間を探索し、一貫した結果を生み出します
人間が白紙から絵を描き始めるのと対照的に、拡散モデルはランダムノイズからスタートし、徐々にノイズを除去して画像を形成します。
ノイズから画像へ
- 紫色の円錐花に舞うモナーク・バタフライ。マクロクローズアップで、繊細なオレンジと黒の羽のディテール、朝露、柔らかなボケ効果。
全ての可能な画像を多次元空間として考えるなら、拡散モデルはその空間内のランダムな点から出発し、プロンプトに合致する点へと徐々に進む道筋を作ります。
小さな世界
実際には「潜在空間(latent space)」という圧縮された低次元空間で動いているため、私が想像したほど悪化していません。
訓練時にモデルはエンコーダ/デコーダと共に学習され、この潜在空間から実際の画像へ変換できるようになります。この例では、潜在空間はフルサイズ画像より12 倍次元が少ない(それでも巨大ですが)です。
潜在空間
32 × 32 潜在 PCA(4倍で表示)
全ての潜在空間を示すことはできませんが、圧縮してイメージしやすくしています。以降では潜在空間を無視し、各ステップごとに完全にデコードされた画像を提示します—人間には理解しやすいのでです。実際のところ、デコーディングは最終段階でのみ行われます。
言葉が存在する場所
可能な画像の多次元空間と同様に、テキストプロンプトも高次元の「埋め込み空間(embedding space)」にマッピングされます。
各プロンプトはこの空間上の特定位置にあり、似たプロンプトはクラスター化します。
ロード中…
同じく全体の埋め込みを表示できませんが、この 2D 圧縮で概念的に見ることができます。類似した概念が集まっているのが分かります。
埋め込みは拡散プロセスの「コンパス」の役割を果たします。モデルは各ステップで埋め込みを参照し、最適な方向へ進むべきだと判断します。
開始点
可能画像空間内で異なる開始点から出発すると、少しずつ異なる目的地に到達します。これはランダムシード(初期乱数)によって決まります。
異なるランダムシード、同じプロンプト
路程を分割
途中で止むまでに取るステップ数を選べます。
少ないステップだと大きなジャンプになるため、道から外れることがあります。一方で、ある程度のステップ数を超えると追加のステップはほぼ効果がなく、時間だけ無駄になります。
異なる推論ステップ数
言葉の重み
曖昧なプロンプトはコンパスが揺れやすくなります。詳細なプロンプトは方向をより厳密に制御し、結果も良好になります。
プロンプト詳細度の変化
- 「紫色の円錐花に舞うモナーク・バタフライ、マクロ」
- 「紫色の円錐花に舞うモナーク・バタフライ、マクロクローズアップ、繊細なオレンジと黒の羽」
- 「紫色の円錐花に舞うモナーク・バタフライ、マクロクローズアップ、繊細なオレンジと黒の羽のディテール、朝露、柔らかなボケ効果」
プロンプトが生成画像に与える影響を探るために:
プロンプト長さエクスプローラー
「紫色の円錐花に舞うモナーク・バタフライ、マクロクローズアップ、繊細なオレンジと黒の羽のディテール、朝露、柔らかなボケ効果」
単語間のスペース
プロンプトは自分自身の埋め込み空間に存在しますので、任意の二つのプロンプト埋め込み間をたどり、その途中で画像を生成できます。これら「中間点」は人間が言葉として表現できないものですが、埋め込み空間上には確かに存在します。
二つのプロンプト間のスペース
- 「紫色の円錐花に舞うモナーク・バタフライ、マクロクローズアップ、繊細なオレンジと黒の羽のディテール、朝露、柔らかなボケ効果」
- 「苔むした岩に休むカタツムリ、極端なクローズアップ、殻の螺旋ディテール、雨滴、豊かな緑、柔らかな曇り空照明」
この「中間スペース」を自分で探検してみてください。
プロンプトの引力
モデルはプロンプトに従う強さを ガイダンススケール(guidance scale) と呼ばれる数値で決定します。
高い値はプロンプトへの「舵取り」を強めますが、設定しすぎると不自然で過度に彩度の高い画像になる恐れがあります。
ガイダンススケールを変える
- Guidance Scale = 1.0
- Guidance Scale = 15.0
ガイダンススケールが生成プロセスに与える影響を確認してください。
完全な旅
未知の地形の中央に置かれ、目的地も不明でコンパスだけが指示していると想像してください。あなたは次のような計画を立てます:
- コンパスを見る
- その方向へ少し歩く
- 再びコンパスを見る
- 新しい方向へ少し歩く
- 固定回数繰り返す
拡散モデルは同様の手順を踏み、以下の四つに導かれます:
- ランダムシード – どこから始まるか
- プロンプト – コンパス(古いコンパスが北を示すだけなら何かへ行くけれど必ずしも望む場所には到達できない)
- ステップ数 – コンパスを見る頻度(少なすぎると道から外れる、頻繁に見ると進みが遅くなる)
- ガイダンススケール – どれだけコンパスを従うか(盲目的に従えば川に埋もれる、完全に無視すれば方向感覚を失う)
これらを組み合わせることで、モデルは純粋な混沌からプロンプトに合致した一貫性のある画像へと進化します。
再びその旅路を示します:ノイズから構造へ
ノイズから画像へ
「紫色の円錐花に舞うモナーク・バタフライ、マクロクローズアップ、繊細なオレンジと黒の羽のディテール、朝露、柔らかなボケ効果」
結論
AI が画像を生成する様子は魔法のように見えますが、実際には計り知れないほど広大な可能性空間をナビゲートしているだけです。正直言って、それ自体がとてもクールなのです。
感謝
この例全ては Photoroom がオープンソース化したテキスト‑ツー‑イメージモデル PRX を利用して生成しました。すべてのサンプルは
Photoroom/prx-256-t2i-sft モデルで作成されています。追加で、Jon Almazán の支援とアイデアに感謝します。