最近リリースされたGLIGEN UIを今日試してみました。
GLIGENは、テキストから画像へのモデルでオブジェクトの位置を正確に指定する方法です。先週、直感的なグラフィカルユーザーインターフェース(GUI)がオープンソース化され、これによりComfyUIを使用したGLIGENの操作が大幅に簡素化されました。
Pinokioを使って直接実行しましたが、効果は非常に素晴らしかったです~
ここで使用したGLIGENモデルの原理について説明します:
GLIGENは昨年、ウィスコンシン大学マディソン校、コロンビア大学、マイクロソフトによって共同で行われた研究プロジェクトです。この研究成果は、「GLIGEN: Open-Set Grounded Text-to-Image Generation」と題された論文に発表されました。
GLIGEN(Grounded-Language-to-Image Generation、言語に基づく画像生成)は、既存の事前学習済みテキストから画像へのモデルを強化するためにアンカーアイテムを追加するという革新的な方法です。事前学習済みモデルの広範な概念知識を保持するために、すべての重みが固定され、新しい訓練可能な層においてゲート機構を通じてアンカー情報が導入されます。GLIGENはオープンワールドのアンカーベースのテキストから画像への生成を実現し、キャプションとバウンディングボックスの入力を使用して画像生成を指導することができます。この手法はCOCOやLVISデータセットにおけるゼロショット性能において既存の教師ありレイアウトから画像への基準を超えており、特に新しい空間構成や概念の処理において顕著な改善を示しています。
モデル設計:効率的なトレーニングと柔軟な推論
GLIGENは既存の事前学習済み拡散モデルに基づいて構築されており、その元の重みは多くの事前学習知識を保持するために凍結されています。各トランスフォーマー・ブロックには、新しいアンカー入力を吸収するための新しい訓練可能なゲート付き自己注意層が追加されます。各アンカートークンには2種類の情報が含まれています:アンカー実体の意味(エンコードされたテキストまたは画像)と空間的位置(エンコードされたバウンディングボックスまたはキーポイント)。
I. モジュレーショントレーニング
他の方法(例えば全モデルファインチューニングなど)と比較すると、GLIGENでは新しく追加されたモジュレーション層が大規模なアンカー付きデータ(画像-テキスト-フレーム)上でさらに事前学習されるため、コスト効率が良いです。レゴのブロックのように、異なる訓練済みの層を挿入して異なる新しい機能を有効にすることができます。
II. スケジュールサンプリング
GLIGENのモデュレーショントレーニングの利点として、推論時の拡散プロセスでスケジュールサンプリングがサポートされています。これにより、モデルは動的にアンカートークンを使用する(新しい層を追加することによって)か、もしくは良好な事前分布を持つ元の拡散モデルを使用する(新しい層を除外することによって)かを選択でき、生成品質とアンカリング能力のバランスを取ることができます。