画像生成AIを使用していると、「CLIP」という用語に頻繁に出会います。多くの方がこれを単に「テキストを画像に変換する解釈器」と考えがちですが、CLIPの役割はそれ以上に深く精緻です。特に高品質の画像を生成するために二つ以上のエンコーダーを使用する「デュアルCLIP」方式が登場し、プロンプトを作成する戦略も進化しています。

この記事では、CLIPの基本概念からデュアルエンコーダーシステムでどのようにプロンプトを最適化できるかを考察します。


1. CLIPとは何か?



CLIP (Contrastive Language-Image Pre-training) はOpenAIが開発したモデルで、名前の通り「言語(テキスト)と「画像」を対照(Contrastive)しながら共に学習するマルチモーダル(Multi-modal)モデルです。

核心機能は、画像とテキストを同じ「潜在空間(Latent Space)」という仮想のベクトル空間に配置することです。

  • 「犬」というテキストが特定の空間座標(ベクトル)に位置するなら、

  • 「犬」の写真もまた、その近くの座標に配置されるように学習されます。

画像生成モデルでの役割:

重要な点は、CLIP自体は画像を描く生成器(Generator)ではないということです。代わりに、生成モデル(例:Stable Diffusion)が画像を作成する過程で「現在生成された画像がユーザーのテキストプロンプトとどれだけ一致しているのか?」を評価する「審査員」または「ナビゲーター」の役割を果たします。CLIPスコアが高いほど(テキストと画像が近いほど)、生成モデルは「この方向が正しい」と判断し、詳細を加えていきます。


2. デュアルエンコーダーの登場:なぜ二つのモデルを使うのか?

最近、Stable Diffusion XL(SDXL)などの高性能モデルは、単一のCLIPの代わりに「デュアルテキストエンコーダー」方式を採用しました。代表的な組み合わせがclip_lt5xxl_fp16です。

これは「役割分担と専門化」のためです。

  1. clip_l(視覚/キーワードマッチング専門家):

    • 従来のCLIPのテキストエンコーダーです。

    • 画像とテキスト間の視覚的概念を繋げるのに強力です。

    • 主に核心キーワード、スタイル、構図など視覚的要素を捉えるのに使用されます。

  2. t5xxl_fp16(言語/文脈専門家):

    • T5はGoogleが開発した巨大言語モデル(LLM)で、CLIPの基本テキストエンコーダーよりもはるかに大きいです。

    • 単なるキーワードではなく、複雑な文の構造、文脈、単語間の微妙な関係をより深く理解します。

    • 「言語専門家」としてプロンプトの詳細なニュアンスを把握します。

二つのエンコーダーを併用することで、複雑で長い文の意味(T5)核心視覚スタイル(CLIP-L)を正確に反映し、はるかに豊かで正確な画像を生成できます。


3. 最適なプロンプトの作成法:文とキーワードの組み合わせ



このデュアルエンコーダーシステムの性能を最大限に活用するためには、各エンコーダーの特性に合ったプロンプトを提供することが重要です。多くの高度な画像生成ツール(例:ComfyUI)は、この二つのエンコーダーにそれぞれ異なるテキストを入力できるようにしています。

  • T5-XXL(言語専門家)には→自然な「文」

    • モデルが文脈を把握できるよう、完全な文の形で述べるのが望ましいです。

    • 例:「20代の日本の若い女性。黒いポニーテールで、黒縁の眼鏡をかけています。白いカーペットの上に座って音楽を聴き、カメラを見上げています。」

  • CLIP-L(視覚マッチング専門家)には→「核心キーワード」

    • スタイル、オブジェクト、色、構図など視覚的に重要な核心要素を列挙するのが効果的です。

    • 例:「日本の女性、20代、黒いポニーテール、黒縁の眼鏡、白いヘッドフォン、白いカーペット、音楽を聴いている、座っている、見上げている、上から、全身、プロフェッショナルな実写真」


4. JSONまたは辞書形式のプロンプトはどうか?

プロンプトを体系的に管理するために、次のようにJSONや辞書(Python Dictionary)形式で作成する場合があります。

{
"Character":"20代の日本の若い女性です。",
"Appearance":{
"hair": "黒いポニーテール",
"wearing": "黒縁の眼鏡と白いワイヤレスヘッドフォン"
},
"Action": "音楽を聴きながら白いカーペットに座っている",
"style": "プロフェッショナルな実写真"
}

この構造をそのままコピーしてT5とCLIP-Lエンコーダーに同時に入力するのは非常に非効率的で望ましくありません。

なぜ効果が落ちるのか?

  1. モデルの学習方式と不一致:T5やCLIPのようなモデルは自然な文(テキスト)を学習しています。{, }, "のようなプログラミング構文記号はモデルにとって「言語」ではなく「ノイズ」として認識される可能性があります。

  2. 文脈の断絶:"Character": "...""Action": "..."の間に有機的な文脈的つながりが断たれます。モデルは「キャラクター」と「アクション」を別々の情報の断片として受け取り、自然な一つのシーンとして組み合わせることに苦労します。

正しい変換例

上記のJSONデータをデュアルエンコーダーシステムで適切に活用するには、次のように「翻訳」する過程が必要です。

  • T5-XXL(文型入力):

    20代の日本の若い女性。黒いポニーテールで、黒縁の眼鏡と白いワイヤレスヘッドフォンを着用しています。白いカーペットに座って音楽を聴いています。これはプロフェッショナルな実写真です。

  • CLIP-L(キーワード型入力):

    日本の若い女性、20代、黒いポニーテール、黒縁の眼鏡、白いワイヤレスヘッドフォン、音楽を聴いている、白いカーペットに座っている、プロフェッショナルな実写真

image_from_right_prompt


5. まとめと結論

  1. CLIPは画像を描く生成器ではなく、テキストと画像の一致度を評価する「審査員」です。

  2. デュアルエンコーダー(T5 + CLIP-L)は「言語専門家(T5)」と「視覚マッチング専門家(CLIP-L)」が協力する強力な方式です。

  3. 最良の結果を得るにはT5には自然な文を、CLIP-Lには核心キーワードを提供するのが最適です。

  4. JSONや辞書のような構造化データをプロンプトにそのまま使用することはモデルの理解を妨げるため、自然言語文とキーワードに変換して使用する必要があります。