1.ネガティブプロンプトに関するヒントまとめ
・AI関連の研究は理論より実践が先行気味でイラスト生成AIも同じ傾向がある
・今までより綺麗なイラストを描けるようになると吹聴するオカルトチックな手法もある
・その中の1つのネガティブプロンプトに関する手法は非常に有効に見えるのでご紹介
2.ネガティブプロンプトとは?
AI関連の研究は、従来より、理論より実践が先行気味です。
「試しにやってみたら出来てしまいました。理由はまだ良くわかりませんが、もしかしたらこのように考えると理論的に説明できるかもしれません」という事が、割と普通にあります。
イラスト生成AI界隈でも「よくわからないけれども、こうやってみたら、今までより綺麗なイラストを描けるようになった気がするよ!」という、オカルトなのか、真実なのか、良くわからない話を見かける事がたまにあります。
その中の一つにネガティブプロンプトがあります。
ネガティブプロンプトはプロンプトの逆で「描いて欲しくないイラストに関する指示」であり、例えば「醜い」とか「6本指」などなど、望ましくないイラストを直接描写したと思われる文章が設定されている事が多いです。
しかし、これに対する反論があって、例えば「醜い」や「6本指」という説明文が付いたイラストや画像は稀であろうから、そのようなネガティブプロンプトを与えてもstable diffusion先生には伝わらないはずだ、と言う意見です。
では、具体的にどういったネガティブプロンプトが有効なのかというと、以下の手法が有効であると言う説です。
(1)「描いて貰いたいイラスト」を表現する言葉をネガティブプロンプトに設定し、プロンプトは空欄にしたまま画像を生成する。
(2)今度は「(1)で出力されたイラスト」を表現する言葉をネガティブプロンプトに設定し、本来の「描いて貰いたいイラスト」を表現する言葉をプロンプトを設定して画像を生成する。
どうでしょう?
私の理解する理論的意味は「描いて貰いたい概念がいない潜在空間で支配的な概念を見つけ、その支配的概念を弱めるように設定する事になるので、その結果、描いて貰いたい概念がより明確に描かれるようになる」です。
しかし、私の知る限り理論的な裏付けはまだないと思います。
風の谷のナウシカでの実験してみた結果
以下は実際に実験してみた結果です。1と4は同じシンプルなプロンプトを設定しています。
1.描いて貰いたいイラスト
2.「描いて貰いたいイラスト」をネガティブプロンプトに設定した際の出力結果
3.CLIP Interrogator(末尾リンク)などを使って、2の画像をプロンプトに逆変換する
4.3の結果をネガティブプロンプトに設定し、1を改めてプロンプトに設定した上で描いて貰ったイラスト
どうでしょう?
私も、えーっ本当?と思いながらも、明らかに細部が明瞭になって劇的に改善されているように見えて驚きました。
信じようと信じまいとの世界にも思えるかもしれませんが、私はかなり有効な手法に思えており、本手法を発見した人(どなたか失念)に感謝しています。
なお、ネガティブプロンプトの表記法や与え方はイラスト生成時に使用しているツールによって違ってくるので、インターネットで見かけたネガティブプロンプトに記号や数字が含まれている場合は、その人が使っているツールが何かを確認して、そのツールのマニュアル等を確認する必要があります。
3.ネガティブプロンプトに関するヒント関連リンク
1)huggingface.co
pharma/CLIP-Interrogator