見出し画像

そうだ!AI画像生成をちゃんと勉強しよう💡6章:VAEとクリップスキップについて

※勉強しているのは、Stable Diffusion、SeaArt系になります。

このシリーズは只今パラメータのことに突入しております。
前回はサンプラーとスケジュールタイプを勉強しました。

今日はここにあるVAEとクリップスキップについて学びたいと思います。

Stable Diffusion WebUI を使っている方で、そこには何も表示されてないよ!という方は
VAEの枠を表の画面に表示させることができるので、この設定をしてみてください、とても便利です!

VAEの欄を表の画面に表示させる方法

  1. Stable Diffusionで「settings」タブを選択

  2. 左の項目から「User interface」項目を選択

  3. Quicksettings list」欄でプルダウンをクリックして「sd_vae」を選択

  4. Apply settings」をクリックした後に「Reload UI」をクリックして変更を反映し、Stable Diffusionを再起動


それでは本日も等身大の私で参りますよろしくお願いします( ⩌⩊⩌)✧



VAEについて

  • 出来あがった画像がぼんやりしている

  • 白っちゃけて見える

  • よく見るAI画像とクオリティがなんか違う

こう感じたことありませんか? 私はよくありますw
そんな時はVAEが設定できていないことが原因かもしれません。

VAEは、画像生成の品質を向上させ、視覚効果を高める一種の「フィルター」のようなものです。
モデルに合ったVAEが選べれば、仕上がりがグンと良くなります✨

モデルによっては、「推奨のVAEはコレです!」と教えてくれているものがあったり、一部の Checkpoint には VAE が組み込まれているため、VAE を別途選択する必要のないモデルもあります。


VAEの種類と比較

ガイドブックに、よく使用されるVAEとして紹介されていたものです。

  • Automatic:現在のタスクに最適な VAE 構成を自動的に選択します

  • None:VAE を使用しません。

  • vae-ft-mse-840000-ema-pruned:リアルなカラー スタイル。840000 はトレーニングの反復回数を示し、複雑さを軽減して効率を高めながら、生成される画像の品質を向上させるのに役立ちます。

  • vae-ft-ema-560000-ema-pruned:560000 回の反復でトレーニングされたリアルなカラー スタイル。より高速でリソース消費の少ない画像生成に適しています。

  • kl-f8-anime2:アニメスタイルの画像を生成するために最適化されています。


では、Automatic以外のVAEを比較してみましょう🧐

今回モデルは、「MeinaPastel」、
サンプラーは最近早い!と人気の出てきた「Euler a」を使いたいと思います。
画像サイズは、512×768です。

全て以下のプロンプトで生成します。
girl,high ponytail,rainbow hair,anime_style_blush,casual_one-piece_swimsuit,smug,standing,in summer,beach,full_shot,dynamic_angle,lens_flare,top quality,8K
(女の子,ハイポニーテール,レインボーヘア,アニメ風チーク,カジュアルワンピース水着,ドヤ顔,立ち姿,夏,ビーチ,フルショット,ダイナミックアングル,レンズフレア,最高画質,8K)

ネガティブプロンプト:
easynegative,worstquality,low quality,normal quality


VAE比較

真ん中の2つの違いはよく分かりませんが、何も使っていない時とは明らかに違うのがわかりますね👀
kl-f8-anime2 も、アニメスタイルの画像を生成するために最適化されています。というだけあって一番きれいな気がします。

※注意点は、SD1.5とSDXLには互換性がないので、それぞれでVAEを用意しなければいけないということです。

大変そうなら、VAEが組み込まれているモデルを選んで使うのも手ですね ♪

VAE入手先

👇いま紹介したVAEをダウンロードしたい人用のリンクです!

・vae-ft-mse-840000-ema-pruned

・vae-ft-ema-560000-ema-pruned

・kl-f8-anime2


モデルやローラなども配布しているCivitaiというところが私は好きですが(サムネがあり直感的にわかりやすいので)、いま紹介したVAE以外のものも何個かあるので試して遊んでみるのもいいかもです✨


クリップスキップ(Clip skip)について

プロンプトはレイヤーごとに数字に変換され、コンバーターによって読み取られ、プロンプトの詳細な理解が徐々に提供されます。
プロンプトが「黒いドレスを着て、黒い帽子をかぶり、杖を持った魔女の少女」の場合、
クリップ スキップが 2 に設定されていると、AI は黒いドレスや杖の概念を省略することがあります。
クリップ スキップ値が大きくなるにつれて、AI はプロンプトをさらに省略します。
したがって、クリップ スキップを 1 に設定すると、最後のレイヤーから画像が終了します。結果には、プロンプトの完全な説明が含まれます。
終了が早いほど、プロンプトから取得される説明が少なくなり、最終結果の精度が低下します。
通常は 2 に設定されます。

SeaArtガイドブック


クリップスキップ(Clip skip)とは

  • クリップ スキップは、プロンプトの読み取りを適切なタイミングで終了することで、オーバーフィットの状況に対処するのに役立ちます。画像がオーバーフィットしている場合は、クリップ スキップを増やすことができます。

  • クリップスキップを設定することで、AI アートの詳細とスタイルを調整でき、最終結果の柔軟性と制御性が向上し、さまざまな画像生成要件を満たすことができます。


オーバーフィットとは…

オーバーフィットとは、モデルがトレーニングデータに対して過度に適応し、新しいデータに対して柔軟性を欠く状態を指します。
具体的には、モデルが細かい特徴やノイズにまで適応してしまい、新しいプロンプトに対して過度に特定のパターンを反映しすぎる現象です。


クリップスキップのオーバーフィットの影響

  • 過度な詳細: 生成される画像がプロンプトに対して過度に忠実になり、自然さや創造性を欠く結果となることがあります。

  • ノイズの強調: プロンプトに含まれる不要な細部やノイズが強調され、画像の品質が低下することがあります。

  • 汎化性能の低下: 新しいプロンプトに対して柔軟に対応できず、特定のパターンに固定されてしまうことがあります。


クリップスキップは、特定のレイヤーをスキップすることでプロンプトに対する過度な適応を防ぎ、より自然で汎化性能の高い画像を生成するための技術です。
この技術を適切に使用することで、プロンプトに対して柔軟に対応し、高品質な画像を生成することが可能になります。

ということは、クリップスキップが小さいほど、プロンプトに忠実になるってこと…?

と気になったので試してみましょう!

モデル:pornmasterAnime_v5
サンプラー:Euler a
VAE:kl-f8-anime2

プロンプト:
girl,blonde hair,wavy hair,ponytail,anime_style_blush,grin,posing,black_front_zipper_swimsuit,in summer,beach,full_shot,dynamic_angle,lens_flare,top quality,8K
(女の子,ブロンドヘア,ウェーブヘア,ポニーテール,アニメ風チーク,ニヤニヤ,ポーズ,黒_前ファスナー水着,夏,ビーチ,フルショット,ダイナミックアングル,レンズフレア,最高画質,8K)

これでいってみます( -`ω-)✧

6以降はレンズフレアが無いとか水着のファスナーが無いとか髪の色も若干金髪じゃなくなってますね。
8は水着が黒じゃないし、カメラのダイナミックアングルも効いてない感じがしますね。
10で急に百合みたいなの出てきて笑った😂

どれも悪いわけじゃないけど、希望通りに出てきてもらおうと考えたら
1~5くらいが限度かなと思います。

逆に予想外の結果で楽しみたいなら高くするといいかも😫

しかし、せっかく一生懸命考えてプロンプト入力してるのに、省略しないでいただきたい…w
デフォルトが2に設定されているということは、プロンプトと生成速度のバランスが良いのでしょうか🤔
上の検証結果を見ても2で問題なさそうです。
むしろ2が一番プロンプト通りな気もします。

私はプロンプト全部反映させてほしいので1で使っていこうかな😎
モデルによっても変わりそうだし、これも検証の余地がありそうですね。


またひとつパラメータの謎が解けました!
頭の中が少しずつスッキリしてくる感じがしていいですね🌞

今日もお世話になったガイドブックです👇



今日のサムネ生成過程(ChatGPT,DALL-E 3)


私「「そうだ!AI画像生成をちゃんと勉強しよう💡6章:VAEとクリップスキップについて」というタイトルのnote記事を書きました。 このタイトルに合うような画像を作ってください。 要望は、夏服を着たロングヘアーの美少女、日本の少女漫画のようなタッチで、水彩画のようなカラーリングで16:9で描いてください。」

ChatGPTくん「こちらが「そうだ!AI画像生成をちゃんと勉強しよう💡6章:VAEとクリップスキップについて」のタイトルに合うイラストです。ご確認ください。」

私「イイ感じですありがとう!」

以上。


(2024.8.2追記)

おまけの成果ギャラリーvol.6

Human-shaped water dancing

この頃はひたすら遊んでました。
プロンプト通りの画像を出すのはなかなか上手くいかなくて、
今日の画像も、人間の形をした水が躍って欲しかったのですが
水着を着たカワイイ女の子たちが出てきただけでしたw


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?