CLIP Skipとは何でしょうか?
CLIP Skipは、Stable Diffusionで画像を生成する際の重要なパラメーターですよ。
CLIP Skipの値が大きいほど、画像の生成速度は速くなりますが、画像の品質は低下する可能性があります。
CLIP Skipとは何でしょうか?
Clip Skipは、Stable Diffusionで画像生成する際の内部処理をスキップするための設定項目です。
入力したプロンプトを、どの程度詳細に反映させるかを決定する設定し調節することができます
CLIPとは
「CLIP」とは、OpenAIによって開発された革新的なモデルで、テキストと画像の関連性を学習することを目的としています。
このモデルは、画像認識とテキスト理解の両方を行う能力を持ち、自然言語と視覚データの間の関連を理解することで、多様な応用が可能です。
CLIPは、GPTシリーズのような純粋な自然言語処理モデルとは異なり、画像とテキストの両方を扱うことが特徴です。
CLIPモデルの1.5バージョンでは、プロンプトから画像を生成するために12個のニューラルネット層が用意されています。
これらの層は、上から順に、抽象的な情報から具体的な情報へと進むように設計されています。
例えば、最初の層では「人」という一般的なカテゴリーを扱い、次の層では「男性」や「女性」といったより詳細な分類に移ります。
さらに、その次の層では「男性」の中の「少年」や「父親」といった、さらに具体的なグループに分けられます。
このように、CLIPモデルは層を重ねるごとに、抽象的な解釈から具体的な解釈へと画像生成を行っています。
CLIP Skipとは
「CLIP Skip」という機能は、CLIPモデル内の特定の層をスキップすることで、どの程度詳細に分析するかを調整するものです。
Stable Diffusionでは、Clip Skipは1~12までの範囲で設定することができます。
例えば、単に「牛」という画像を生成したい場合、牛の種類や特徴まで詳細に分析する必要はないかもしれません。
このように、CLIP Skipを使うと、必要な情報だけをピックアップして、より効率的に画像を生成することができるのです。
Clip Skipの値が小さい:プロンプトの詳細をより深く解釈し、プロンプトに忠実なイラストを生成する傾向があります。
Clip Skipの値が大きい:プロンプトの解釈を浅くし、より一般的または抽象的なイラストを生成する可能性があります。
おすすめは1or2ですが、使用するモデルやLoRAによってClip Skipの適正値は異なるため、学習モデル(Checkpoint)やLoRAを利用する際は、ダウンロードページを確認してください。
Clip Skipの設定に関する推奨事項が記載されている可能性があります
参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/5674
CLIP Skipの理論的な説明は分かりにくいですよね
AIの行動を人間の行動のように擬人法的な表現にしてみますと、CLIP Skipはプロンプトから「推測や妄想」をどのくらい広げるか?と言うことです
プロンプトを「1 person」とした時に、CLIP Skip次第でAIがどのように動くか例えてみます
CLIP Skipの値が高いほど、AIはプロンプトの基本的な解釈に基づいてシンプルな画像を生成し、値が低いほど、より詳細な特徴や要素を考慮して複雑な画像を生成します。
1の方が、女性にしようかな?子供にしようかな?笑顔にしようかな?と考えたりして
高い方が、あまり深く想像を展開しなくなるので、つまり棒立ちになったりするということ
CFG scaleとの違いは?
説明が非常に似てしまうパラメータがあります
それはCFG scaleです。
CFGスケールも、CLIP Skipもプロンプトをどのくらい反映させるか?の数値です
CLIP Skipは、「妄想・想像」の度合いを調整するものと考えることができます。
CFGスケールは、プロンプトをどの程度結果に反映させるかの「強度・信頼度」を調整します。
CFG Scaleが高いほど、生成される画像はプロンプトに忠実になります。
つまり、プロンプトに書かれた内容や指示が、生成される画像に強く反映されるようになります
CLIP Skipを使う意味はあるの?使うとどうなる?
CLIP Skipを使うと、AIが画像を生成する際にどのように指示(プロンプト)を解釈するかを調整できます。
CLIP Skipの値を低く設定すると、AIは与えられた指示の細かい部分にも注意を払い、より具体的で詳細な画像を作ります。
これは、指示に忠実に従って、細かいディテールまで表現しようとするようなものです。
一方で、CLIP Skipの値を高く設定すると、AIは指示の大まかなアイデアだけを捉えて、より抽象的でざっくりとした画像を生成します。
これは、指示の全体的なイメージや雰囲気を捉えるが、細かいディテールはプロンプトの指示があいまいになった感じになります
つまり、CLIP Skipを調整することで、AIが作る画像がどれだけ指示を細かくフォローするか、あるいは大まかなイメージだけを捉えるかをコントロールできるのです。
生成AIの挙動としては、CLIP Skipが低い方がプロンプト指示に忠実になる傾向があり、高いと曖昧になるかんじですね
Clip Skipがない?どこにある?設定方法と、表示の変更
Clip skipはStableDiffusion WebUI(AUTOMATIC1111)を環境構築した時の初期の画面には表示されていません
そのため、インターフェイス上に表示させる設定が必要になります
難しくないので、設定してみましょう
まずは、設定(Setting)」タブを開いてください
左のメニューからの「User Interface」を選択します
[info] Quicksettings listの項目があると思います
プルダウンしますので、CLIP_stop_at_last_layerを選択してください
[info] Quicksettings listの欄に「CLIP」と打てばプルダウンのメニューを絞ることができますよ
設定が終わりましたら、画面上部のApply settingを押してください
Reload UI」をクリックをして画面を更新しましょう
Clip Skipが表示されない時には…
上記で説明した、設定が確実に設定されていることを確認しても、表示されない時には、コマンドラインと、WebUIをどちらも再起動してみてください
これでだいたい解決するはずです