NovelAI パラメータの調整

こんにちはこんばんはおはようございます、シトラスです。
この記事は主に自分用の覚え書きです。

NovelAIでイラストを出力する際の各パラメータがどんな役割を持っているかを簡単にまとめたものです。


用語解説

各種パラメータ

Prompt

プロンプトと呼ばれるAIへの指示をこのボックスに入力します。
NovelAIでは海外の画像検索サイト(Danbooru)のタグが通りやすいように調整されているので、ここに入力する単語の事をタグと呼びます。
プロンプトはタグを並べるように入力し、手前に入力したタグほど強く反映されます。

[]で囲ったタグは重みが1.05で分割されて弱くなります。
{}で囲ったタグは重みが1.05倍されて効きが強くなります。

Add Quality Tags

イラストの出力を安定させるタグのセットを自動で入力してくれるというものです。
NovelAI v3ではこれらのタグがプロンプトの最後に挿入されます。

, best quality, amazing quality, very aesthetic, absurdres

Undesired Content

ネガティブプロンプトと呼ばれます。
ここに入力した内容を避けたイラストが出力されます。

Undesired Content Preset

Add Quality Tagsと同じように、タグのセットを挿入する事で出力を安定させる仕組みとなります。
こちらは3つのセットが用意されており、それぞれ除外されるタグの種類が異なります。
プロンプト通りに上手く出力されない時は、このセットの中に含まれるタグを確認してみましょう。

Heavy

lowres, {bad}, error, fewer, extra, missing, worst quality, jpeg artifacts, bad quality, watermark, unfinished, displeasing, chromatic aberration, signature, extra digits, artistic error, username, scan, [abstract],

Light

lowres, jpeg artifacts, worst quality, watermark, blurry, very displeasing,

Human focus

lowres, {bad}, error, fewer, extra, missing, worst quality, jpeg artifacts, bad quality, watermark, unfinished, displeasing, chromatic aberration, signature, extra digits, artistic error, username, scan, [abstract], bad anatomy, bad hands, @_@, mismatched pupils, heart-shaped pupils, glowing eyes,

Disable Tag Suggestions

タグの予測変換機能です。
一部日本語にも対応しています。

AI Settings

Steps

NovelAIはノイズを取り除く処理を繰り返す事で、目標となるイラストに近づけていきます。
Stepsはそれを何回繰り返すかの処理の回数となります。
デフォルトでは28Stepsに設定されています。

1Stepsから順にgifにしたもの
低ステップで人物の構図を作って安定させ、後半は細部の描き込みを増やしているのが確認できる。

Seed

0Steps目のノイズの配置を決定する数値で、出力のたびにランダムに割り振られます。
同じプロンプトや各パラメータの数値が同じでも、Seedが変わると出力結果が毎回異なります。
よくAIイラストがガチャに例えられるのはこいつのせいです。

パラメータの微調整をする時などSeedを固定する事で、最終的な出力結果を安定させる事ができます。

Prompt Guidance

プロンプトに入力した内容にどれくらい正確に反応するかを決定するパラメータです。
公式での推奨値は5~6となっています。
プロンプトに対する正確さを決定する他に、最終的な仕上がりにも影響します。
この数値が低いと白っぽく、線がぼやけたような質感に仕上がりやすく。
逆に高いと色使いが極端になりやすく、細部に色の歪みのような破綻も生まれてしまいます。

ガイダンス値 2 - 6: AI がテキスト プロンプトを大まかに解釈できるようにします。サイケデリックな外観やコンセプト、楽しい風景に最適です。予測できない可能性があります。

ガイダンス値 7 - 14: プロンプトのテキストに対する強力なガイダンス。

ガイダンス値 15 - 20: テキスト プロンプトに厳密に準拠します。生成はよりクリーンになるかもしれませんが、同時に硬くなることもあります。視覚的なアーティファクトが現れ始める可能性があります。 これらの値以上では、より鮮明でない設定をお勧めします。

ガイダンス値 21 以上: テキスト プロンプトに過度に重点を置きます。予測できない可能性があります。

https://docs.novelai.net/image/stepsguidance.html


同プロンプト 同SeedでPrompt Guidanceのみ操作した例
数値を上げると色ははっきりするが、ある値を超えた辺りから色遣いが極端になり構図も変化します。
1girl, fiery background, portrait, yellow eyes, short hair, dark green hair, parted bangs, medium breasts, teeth, headband, pantyhose, purple tailcoat, shushing

Prompt Guidance Rescale

Prompt Guidance値を上げすぎた場合など、色が強すぎるなどの問題が起きた時にPrompt Guidance値を再調整するための項目となります。
初期値は0になっていますが、このパラメータを上げる事で全体の色味や細部の破綻を抑える事ができる場合があります。

3枚ともPG値12.0 同プロンプト 同SeedでPrompt Guidance Rescaleのみ操作した例
PG値を高くしたことで起きる色の強さや構図の変化を抑制する効果があるのが確認できる。
さらに数値を上げると全体的に灰色がかった感じに仕上がる。

Tokens

入力したプロンプトはトークンと呼ばれる単位に分割されて処理されます。
私は文字数や容量のようなものだと解釈しています。
NovelAIではプロンプトに入力できる上限が225tokensとなっています。

これは余談ですが、トークンが大きくなればなるほど、タグ同士の重みのバランスから、タグとして入力した要素一つ一つが出力結果に反映されにくくなります。
そのため最終的なプロンプトの文字数(≒トークン)を調整する事で出力結果が改善する可能性があります。

例:
カメラ目線を意味する「Looking at viewer」というタグ。
NovelAIではこの指示を出さなくともカメラ目線になりやすい特徴があるので、省略する。など

Sampler

ノイズからイラストにする方法の指示の違いです。
NovelAI V3での推奨サンプラーはこの3つ。
Euler
Euler Ancestral
DPM++ 2S Ancestral

低Stepsの間は明確な違いがありますが、推奨される28Stepsでの出力結果では全体的な仕上がりが若干異なる程度なので、好みで。
SMEAはNovelAI独自のサンプラーで、より高解像度なイラストを出力するのに向いているらしい。

特殊サンプラー: SMEA & SMEA DYN

NAI SMEA とは何ですか?

正弦マルチパスオイラー祖先( SMEA ) は、特に高解像度で全体的な一貫性と品質を向上させることを目的として開発された新しいサンプラーです。オイラー祖先サンプラーに基づいて、サンプリングの進行に合わせて通常の拡散モデルの複数のパスを補間する新しい正弦ベースのスケジュールを作成しました。このアプローチにより、安定した拡散がローカル機能とグローバル機能の両方に注意を払うようになります従来のサンプラーを使用して高解像度でサンプリングすると、安定した拡散によって同じ対象が繰り返されたり、奇妙な構造になったりすることがよくありますが、これは主に高解像度でのグローバルな注意が不十分なためです。NAI SMEA はこれを解決することを目指しています。

すべての通常のサンプラーには、SMEA バージョンと SMEA DYN バリアントがあります。
(SMEA をサポートしていない DDIM サンプラーを除く)

SMEA と SMEA DYN は高解像度に最適です。

これら 2 つのサンプラーの違いは、高解像度の画像で最も顕著になります。どちらも通常のサンプラーよりも高解像度の画像生成に適していますが、SMEA DYN は低世代にあまり時間をかけず、中~高世代でダイナミックに輝き始めます。構成が少し洗練されていることがわかりました。
最終的には、各サンプラーの有効性は、特定の使用例と画像解像度によって異なります。

https://docs.novelai.net/image/sampling.html


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