Andersonの視点
ステーブル拡散の先にある3つの課題

stability.aiのステーブル拡散の潜在的な画像合成モデルが、2週間前に公開されたことは、DeCSS以来の1999年以来の最も重要な技術的開示の1つである可能性があります。2017年のディープフェイクコードがGitHubにコピーされ、DeepFaceLabやFaceSwapなどのプロジェクトに発展したように、AI生成画像の分野では最大の出来事です。
一石を投じて、ユーザーの不満は、DALL-E 2の画像合成APIのコンテンツ制限が一掃されました。Stable DiffusionのNSFWフィルタを無効にするには、1行のコードを変更するだけでした。ポルノに特化したStable DiffusionのRedditコミュニティがすぐに現れ、すぐに削除されました。一方、開発者とユーザーのキャンプは、公式とNSFWコミュニティに分裂し、Twitterは、Stable Diffusionの創造的な作品で溢れかえりました。
現在、毎日、新しい開発者がシステムを採用し、Krita、Photoshop、Cinema4D、Blenderなどのアプリケーションプラットフォーム用のプラグインやサードパーティ製アドオンが急いで書かれています。
一方で、プロンプトクラフト(「AIウィスパリング」のプロフェッショナルアート)は、すでに商業化されており、Stable Diffusionの初期の収益化は、Patreonレベルで行われています。さらに洗練されたオファーが来ることは確実です。ただし、Condaベースのソースコードのインストールや、Webベースの実装のNSFWフィルタを回避することに抵抗がある場合は、さらに洗練されたオファーが来るでしょう。
開発のペースと、ユーザーからの探索の自由度は、目を見張るほどの速さで進んでいます。基本的に、まだ何に対処しているのか、または何が可能か、または何が制限されているのか、はっきりとはわかりません。
それでも、Stable Diffusionコミュニティが直面する、そして克服できるかもしれない、最も興味深い3つの課題を見てみましょう。
1: タイルベースのパイプラインの最適化
ハードウェアリソースが限られている場合や、トレーニング画像の解像度に厳しい制限がある場合、開発者は、Stable Diffusionの出力の品質と解像度を改善するための回避策を見つける可能性があります。多くのプロジェクトは、システムの制限を利用することに関係します。たとえば、ネイティブ解像度は512×512ピクセルに過ぎないという制限があります。
Stable Diffusionは、コンピュータビジョンと画像合成のイニシアチブと同様に、正方形の画像でトレーニングされました。この場合、512×512にリサンプリングされて、ソース画像をGPUの制約に合わせて正規化し、適合させることができました。
したがって、Stable Diffusionは「考える」(考える場合)512×512の用語で、確かに正方形の用語で考えることになります。多くのユーザーは、システムの制限されたアスペクト比率(以下の「端の処理」参照)で最も信頼性が高く、グリッチが少ない結果を報告しています。
さまざまな実装では、RealESRGANを介したアップスケーリング(GFPGANを介した顔のレンダリングの修正も可能)が機能しますが、多くのユーザーは、画像を512×512ピクセルのセクションに分割し、ステッチして大きな合成作品を作成する方法を開発しています。

この1024×576のレンダリングは、通常、Stable Diffusionの1回のレンダリングでは不可能な解像度で、DoggettXフォークのStable Diffusion(タイルベースのアップスケーリングを実装したバージョン)からattention.py Pythonファイルをコピーして別のフォークに貼り付けることで作成されました。ソース:https://old.reddit.com/r/StableDiffusion/comments/x6yeam/1024x576_with_6gb_nice/
一部のイニシアチブは独自のコードまたは他のライブラリを使用していますが、txt2imghdポートは、GOBIG(ProgRockDiffusionのVRAMハングリーなモード)を提供する予定です。txt2imghdはGOBIGの専用ポートですが、他のコミュニティ開発者によるGOBIGの実装は異なります。

元の512×512ピクセルのレンダリング(左と2番目から左)、ESGRANによってアップスケールされたもの(これは現在、Stable Diffusionのすべての配布でほぼネイティブです)、およびGOBIGの実装による「特別な注意」(詳細は以下のアニメーション画像を参照)を通じて、少なくとも画像セクション内では、より優れたアップスケールされた詳細を生み出す。ソース:https://old.reddit.com/r/StableDiffusion/comments/x72460/stable_diffusion_gobig_txt2imghd_easy_mode_colab/
上記の抽象的な例には、タイルベースのアップスケーリングに適した「小さな王国」の詳細が多数ありますが、これはより挑戦的なコード駆動のソリューションを必要とします。特に、人間の顔の場合、顔の不一致や「ジャリング」アーティファクトに非常に敏感です。したがって、顔は最終的に専用のソリューションを必要とする可能性があります。
Stable Diffusionには、現在、人間の顔に注目するメカニズムがないため、レンダリング中に顔に注目することはできません。Discordコミュニティの開発者の一部は、このような「強化された注目」の方法を検討していますが、現在、初期レンダリング後に顔の強化を手動で(または自動で)行う方がはるかに簡単です。
人間の顔には、内部と完全な意味の論理があり、たとえば建物の底の角の「タイル」には見つけることができないため、Stable Diffusionの出力で「スケッチ」顔を「ズームイン」して再レンダリングすることは非常に効果的です。

左、Stable Diffusionの初期の試み。プロンプトは「クリスティーナ・ヘンドリックスが雨に濡れた場所に入る、カラー写真。Canon50、アイコンタクト、詳細、顔の詳細」。右、Img2Imgを使用してStable Diffusionの完全な注目で最初のレンダリングからのぼやけたスケッチ顔に戻した、改善された顔。
有名人の場合、LAIONデータサブセットで既に十分に表現されている場合にのみ、これは機能します。たとえば、トム・クルーズ、ブラッド・ピット、ジェニファー・ローレンス、またはLAIONソースデータに大量に存在する真正のメディアの光芒です。

プロンプト「クリスティーナ・ヘンドリックスが雨に濡れた場所に入る、カラー写真。Canon50、アイコンタクト、詳細、顔の詳細」という信頼性の高いプレス写真を生成する。
長くて永続的なキャリアを持つ有名人の場合、Stable Diffusionは通常、最近の年齢(つまり、年上)の画像を生成します。より若い見た目の画像を生成するには、プロンプトに「若い」というような付加的な語句を追加する必要があります。

ジェニファー・コネリーは、LAION-aesthetics(Stable Diffusionが使用するLAION 5Bのサブセット)で、40年近いキャリアを通じてさまざまな年齢で表現されており、Stable Diffusionでさまざまな年齢を表現することができます。ソース:ローカル、v1.4チェックポイント、年齢関連プロンプト。
これは、主に2000年代半ば以降のデジタルプレス写真の普及と、後にブロードバンド速度の増加による画像出力の増加によるものです。

レンダリングされた画像は、Stable DiffusionのImg2Imgに渡され、注目領域が選択され、新しい最大サイズのレンダリングがその領域のみで行われ、Stable Diffusionが顔の再構築にすべての利用可能なリソースを集中できるようになります。

「高注目」顔のオリジナルのレンダリングへの合成。顔以外にも、元の写真に明確なオブジェクト(たとえば、腕時計や車)がある部分では、このプロセスは機能します。ただし、壁などのセクションをアップスケールすると、タイルレンダリングがレンダリング中により広いコンテキストを持たなかったため、非常に奇妙な再構成された壁になる可能性があります。
LAIONデータセットに十分なデータがある場合、Stable Diffusionのタイルベースのアップスケールソリューションは、さらに進む可能性があります。顔の特徴を分割し、ローカルのGPUリソースを個別に再構築する前に、個別に集中させることで、さらに正確で詳細な顔を生成することができます。これは現在、まだ手動で行われているプロセスです。
これは顔に限定されませんが、少なくともオブジェクトのより広いコンテキストで予測可能に配置されたオブジェクトの部分に限定され、ハイレベルな埋め込みが見つかることが期待される部分に限定されます。
実際の制限は、データセット内の利用可能なリファレンスデータの量です。最終的には、深く繰り返された詳細は完全に「妄想」(つまり、架空の)になり、より信憑性のないものになります。
LAION-aesthetics(Stable Diffusionが使用するLAION 5Bのサブセット)でジェニファー・コネリーは、さまざまな年齢でよく表現されており、LAION全体でも同様です。多くの他のケースでは、データの不足により精度が低下し、追加のトレーニング(以下の「カスタマイズ」参照)またはテキストインバージョン(以下参照)が必要になります。
タイルは、Stable Diffusionが高解像度の出力を生成できるようにするための強力で比較的安価な方法ですが、より広い、高レベルの注目メカニズムがなければ、さまざまなコンテンツタイプの望ましい基準に達しない可能性があります。
2: 人間の四肢の問題に対処する
Stable Diffusionは、人間の四肢の複雑さを描写する際に、名前が示すほど「安定した」ものではありません。手がランダムに増殖したり、指が融合したり、3本目の足が突然現れたり、既存の四肢が跡形もなく消えたりします。これは、Stable Diffusionの兄弟モデルやDALL-E 2にも共通の問題です。
Stable Diffusionのファンは、将来の1.5チェックポイント(モデルをより激しくトレーニングし、パラメータを改善したバージョン)で四肢の混乱が解決されることを期待しています。新しいモデルは、約2週間でリリースされる予定です。現在、商業的なstability.aiポータルであるDreamStudioでデフォルトで使用されており、ユーザーは新しい出力をローカルまたは他の1.4システムからのレンダリングと比較できます。

ソース:ローカル1.4プレパックとhttps://beta.dreamstudio.ai/
データの品質が、主な寄与要因である可能性があります。
画像合成システムを動かすオープンソースデータベースは、個々の人間や人間間のアクションの両方にラベルを提供できます。これらのラベルは、関連する画像または画像のセグメントとともにトレーニングされます。
個人のラベルとクラスの適切な階層は、たとえば人間の腕の場合、body>arm>hand>fingers>[sub digits + thumb]> [digit segments]>Fingernailsのようになります。
現実には、ソース画像が一貫してデータセット全体にわたって注釈付けされている可能性は低く、教師なしラベリングアルゴリズムは、たとえば「手」のようなより高いレベルで止まる可能性があり、内部のピクセル(技術的には「指」の情報を含む)は、特徴が任意に導かれ、後のレンダリングで不快な要素として現れる可能性があります。
これが真実である場合、実際の解決策はありません。データの品質が主な寄与要因である可能性があります。
一つの可能な理由は、最近提案されたように、モデルは、LAION由来のデータベースに含まれるカートゥーンキャラクターの数の指が少ないこと(これ自体が労力節約のためのショートカットである)によって、人間の手の正しい指の数を混同する可能性があるということです。
これが真実である場合、明らかな解決策は、非現実的な人間ベースのコンテンツを除外してモデルを再トレーニングすることです。ただし、これはデータキュレーションの観点から見ると、特にリソースに乏しいコミュニティの努力の場合、かなりの課題となるでしょう。
2番目のアプローチは、レンダリング時にそのようなコンテンツ(たとえば「3本または5本の指を持つ手」)を除外するフィルタを適用することです。これは、OpenAIが、GPT-3やDALL-E 2の出力を規制するために行ったように、同じ方法です。
しかし、ここでも、影響を受ける画像全てにそのようなラベルが存在する可能性は低いので、同じ論理的、予算的な課題に直面します。
これは、2つの残された道を示唆しています。問題にさらに多くのデータを投げ込むこと、または、物理的な失敗がエンドユーザーに提示される際に介入できる第三者の解釈システムを適用することです(少なくとも後者は、OpenAIが「ボディホラー」レンダリングに対して返金を提供する方法を提供します)。
3: カスタマイズ
Stable Diffusionの将来の最も興味深い可能性の1つは、ユーザーまたは組織が、LAIONの事前トレーニングされたスフィアの外側のコンテンツをシステムに統合できるようにする、修正されたシステムの開発です。理想的には、全モデルのトレーニングを再度行うことなく、または大規模な新しい画像のセットを既存の成熟したモデルにトレーニングするリスクを冒すことなくです。
アナロジーによって:もし2人の才能のない学生が30人の生徒がいる上級クラスに加わった場合、彼らは同化して追いつくか、外れ者として失敗するかします。どちらの場合も、クラスの平均的なパフォーマンスはおそらく影響を受けないでしょう。しかし、15人の才能のない学生が加わった場合、クラスの成績曲線全体が低下する可能性があります。
同様に、長期間にわたる費用のかかるモデルトレーニングによって構築される、関係とものごとの繊細なネットワークは、新しいデータによって妥協される可能性があり、場合によっては効果的に破壊される可能性があり、モデルの出力の品質が全体的に低下します。
これを行うケースは、主にモデルが関係とものごとの概念的な理解を完全に乗っ取って、追加の材料と同じようなコンテンツの独自の生成のみに使用する場合です。
たとえば、シンプソンズの500,000フレームを既存のStable Diffusionチェックポイントにトレーニングすることは、最終的には、元のビルドでは提供できなかったよりも優れたシンプソンズシミュレーターを得ることになります。ただし、十分な幅広い意味の関係がプロセスを生き延びている場合(たとえば、ホーマー・シンプソンがホットドッグを食べる、これにはホットドッグに関する追加の材料ではなく、既存のチェックポイントに既に存在する材料が必要です)であり、シンプソンズコンテンツから突然、グレッグ・ルツカウスキーによる素晴らしい風景の作成に切り替えることを望まない場合です。なぜなら、その後トレーニングされたモデルは、注目を大幅に逸らされ、以前のようにそのようなことを行うのが得意ではなくなっているからです。
このようなカスタマイズの注目すべき例は、waifu-diffusionです。これは、56,000のアニメ画像を完了したトレーニング済みのStable Diffusionチェックポイントに成功してトレーニングしています。これは、消費者レベルでは、NVIDIAの将来の40XXシリーズリリースで利用可能になる可能性が低い、目を見張るような30GBのVRAMの最小要件を必要とするため、趣味としては難しいプロジェクトです。
テキストインバージョンは、Stable Diffusionのカスタマイズの現在の最大の希望です。ここでは、ユーザーは、CLIPと一致する少数の画像をトレーニングします。
テキストインバージョンの主な制限は、画像の推奨数が非常に低い(5つ以下)ことです。これにより、スタイル転送タスクには有用ですが、写実的なオブジェクトの挿入にはあまり有用ではありません。
現在、Stable DiffusionのDiscord内で、より多くのトレーニング画像を使用する実験が行われており、この方法がどれほど生産的になるかはまだわかりません。ただし、このテクニックも多くのVRAM、時間、忍耐力が必要です。
これらの制限要因のため、Stable Diffusionの愛好家によるより洗練されたテキストインバージョンの実験を待つ必要があるかもしれません。さらに、Photoshopのカットアンドペーストよりも優れた方法で画像に自分自身を配置できるかどうか、そして公式のチェックポイントの驚くべき機能を保持できるかどうかを見てみましょう。
2022年9月6日初出。













