【NovelAI】プロンプトって短いほうが良いんじゃ?みたいな所感
※(2022-11-09)タイトルをちょっと変えました
プロンプトって短いほうがよくない?
いきなりですが最近色々とNovelAIを弄っててプロンプトの書き方は短いほうがいいだろう……という考え方に傾倒しつつあります。
先日ふと「世界一くっころが似合う女騎士が作りたい」と思い、色々とプロンプトをこねくり回した挙げ句に結局シンプルな書き方が一番いい結果が出てね?ってなかったからです。
まぁ長時間かけてこねくり回しトークン数をギリギリまで使ったプロンプトがごく単純な記述、果ては数文字の絵文字に劣るなんてのはAIユーザーあるあるです。
結局上の画像はほぼ髪型(ダブル三つ編み)くらいしかこだわり指定はなく、基本はblack and gold patternで大まかな方向性を指定してあとはAI君にヨロシク!……って感じで。
ブランド物やファッションの例を挙げるまでもなく、黒と金色の相性はいいですね。色を限定するとその分陰影がしっかりする気がします。
海外の美術の技術書では「みだりに色を増やさずに陰影を突き詰めろ」といった指導をしている本もあったりして、pixivのランキングなどにある多彩な色を使った絵に慣れてると「はぁそっすか…」とか思ってた時期もあるんですが、やっぱいい色の組み合わせは座りがいいです。
なるべく短くまとめるコツ的なやつとしては、概ね「全体の方向性を合わせる」と上手く行く感じがしてます。
例えばくっころ女騎士で言うなら、黒と金色で色調を統一したなら背景はgolden hour(日の出・日没などに逆空気遠近法的に太陽にグレアの輪がかかり美しく光る「奇跡の時間」の現象)がマッチしやすいですし、女騎士と金髪も、騎士とcathedral(聖堂)の相性も良い……という具合に。
これらは単に「よくある表現だから出やすい」と当初は思っていたのですが、絵の方向性というか「要素が互いに足を引っ張り合わない」ような書き方をすると多段式ロケットの要領でベクトルの伸び方が大きくなって、特徴空間において美的評価が高いところにいきやすいんでは?とも思うようになってきました。
まぁ所詮は素人考えかつ、結局はNAIとベースになってるSDと更にそれらを構成してるライブラリ(?)の挙動を曖昧に推察してるだけの非合理な考え方なんですが。(AI関連特にCLIPに詳しい人がいましたらツッコミください)
ところで上の画像ではスモウみたいなボスキャラが登場してしまったので、くっころさせるのは難しそうです。
長いプロンプトの問題点
逆にdanbooruタグをひたすら羅列する長文記法は最近かなり効果に疑問を持つようになってきました。一応Waifu DiffusionからNovelAIに乗り換えた身なので、当時は長々とタグを連ねて書いてたのですが、エロシチュ目的とか版権キャラの再現をどうしてもしたい!という以外ではほぼ使用せず。
上の画像ははるか昔(3週間前くらい)に某所に貼り付けたアズールレーンのバッチ……を作ろうとして途中で投げ出した画像なんですが、学習されてないキャラを再現しようとするとキャラの特徴の量が現実的に記述可能な量を超過してしまうからです。
上の画像もまだまだ未完成で、最低でも
・脚には絆創膏とだぼだぼのルーズソックス、網タイツは左足だけ
・斜めにかけた腰ベルトとチェーンで繋がったポーチ(ベルトには$○✗と読める意味深な表記がある)
・ジャケットは光沢の強い金色
・腰から伸びる尻尾みたいな謎の長いベルト
・帽子は位の低い(?)水兵の帽子かつもっと小さめで左斜めに被っている
・こちらをちょっと馬鹿にしたような半目の表情
・駆逐艦の艤装
……いや無理っしょこれ。(艤装はナシにしても)
プロンプトは長くなるほどに後ろにある語句の効きが弱くなる以上、全部書けばいいじゃん!は通じないのが困りどころ。
そのへんは上手く解説してる方がいたので記事をご覧ください
下手すればひたすら増やした語句がクオリティに関連しない語句の場合、プロンプトを長くした分だけ出力される画が下手な絵になっていく事すらあるわけで(たぶん特殊性癖のエロ絵などを再現しようとトークンを超過した事がある人ならわかるはず)
NAIにおいて版権キャラを出すなら名前と、あとはクリティカルな特徴とUCに特徴被りをしているキャラ(例えばバッチの場合は同ゲームのエルドリッジ)を指定すればスルッと出てくれるようなキャラ以外は正直厳しいというのが実情で、学習データが乏しいキャラはdanbooruタグをなんぼ連ねても無理が出るというのが現状の私の見解です。
同様に学習データが少ないエロシチュや特殊性癖も無理……かはともかく茨の道です。
あとNAI君はdanbooruで学習したといっても、入れても出てこないタグも多いんですよね…。
ちなみに3週間ほど前って「最近」じゃね?って思うかもですが、今のAIイラストの世界では3週間前は「昔」です。
大法典の記法が最強なのか?
ひたすらにクオリティタグを括弧書きして、Scaleを低めに(5くらいに設定)し、それに伴って曖昧あるいは崩れやすい部分を大量のUCで制御する方法は確かに現状では綺麗な絵を出しやすいです。あとは例えばsakura, kimono, smile…みたいな画の要諦だけを簡潔に記述すればこんな感じ
つまりAI君は元々人間より遥かに学習データが多く芸術的素養があるわけで、箸の上げ下げまでニンゲンサマが指示しなくてもクオリティタグで特徴空間の美的評価の高い部分をひたすら指向して、あとは大雑把な指示(と低めのScale)でAI君の裁量に大いに任せる、と。
野球に例えるなら天才に対してなら「スーッと来た球をガーンと打つ!」とか「バッと行って、ガッと振る!!」で指導内容は十分という道理ですが、実のところこの手法も実際はScaleの低さと相まって納得のいく結果を出すには大量のガチャでAnals Anlasを溶かすのが前提の力技だったりします。
各所にアップされてる綺麗な画像はあくまでチェリーピッキング(美味しい所だけ取り)の結果なわけです。アナルなのにチェリーとはこれ如何に
今(2022年11月7日現在)開催中のAI画像コンテストさんに出典されている作品のプロンプトを見るとわかるのですが、実は記述されている語句が不発になってる絵が多かったりして、それでもクリティカルを出すとなんか凄い画像が出るあたりがAI絵はガチャと呼ばれる所以だったりします。
一例を挙げるとcowboy shot、{{{oni}}}、{serafuku} 、detached sleeves、bare shoulderと尽く指示が無視されてるのに出力結果はクリティカルみたいな画も存在するとか……。
ちなみに上のおっぱい画像もAnlasと桜を融合させるという謎オーダーで出力して一番いい感じの結果を貼ったものなのですが、短いプロンプトにも関わらずchibiという語句が無視されてます。
そう考えると人間ごときの指示なんぞ概ね無視された大ファンブルこそがAIにおける傑作を出力する秘訣なのかも?となってしまいこの記法もどうなんだ、って気がしてきます。
加えて上のでべろぱさんの記事だとUCも大量に記述すればいいわけではない点にも言及されていて、少なくともWeb版NAIを使ってる身としては体感に合致します。
この解決法としてより効き目の強い語句を発見するとか、あるいは学習データやアルゴリズムが解決するのを待つかなど様々なアプローチがあるとは思うのですが、個人的には「記述を極力削ったプロンプトを目指したほうがいいんでは?」という気がしてます。
ではどう短くするか?についてはくっころ女騎士の「色をベースにした書き方」がひとまずの足がかりで、他にも使えそうな方法を思いついたのでこのあたりは今後の研究テーマとしたいところ。でも実は特殊性癖クラスタの執念すら感じる書き込み量のプロンプトを読むのは好きだったり。
完璧な記法はまだない
日々様々な語句や組み合わせが発見されてて、完璧な方法はまだない(つまり好きな方法で書いても良い、或いはケースバイケース)というのが現状な上に「別にプロンプトがどうだろうと最後に出た結果さえ良ければ過程はどうでもいい」というのもAI絵の面白い点だとは思います。
別に絵心と作業環境さえあれば手作業で手も指も顔も加筆していいわけで、そうなると大法典のUCとかいらないって話にも。
まぁ難しい事をあれこれ考えるよりは、日々新たな記法や語句が発見されるのを純粋に楽しんだほうがいいですね。
というわけで研究の合間に自分の好きなもの全部盛りのキャラ作ってみました。特徴を色々足し引きできるAI画像って本当に楽しい。
shiny metal skinで以前より褐色肌が光るようになったものの、もっと光らせたい今日このごろ。
ちなみに腿をむちっと締めるベルトは thigh strap で出せます。
AIが出力しなければたぶん絶対に見る事がなかったであろう、DJふみふみ。
本当はマイクを持たせてラップバトルをさせたかったのは内緒。
あの超スローリーな喋りと膨大な読書量からくる語彙でクールに相手をディスり倒す様も音声AIが完成すれば夢ではない(なおリズムには乗れない模様)
とりとめのない駄文でしたがお付き合いくださりありがとうございました。
また書きたいテーマなりお見せしたい画などが溜まり次第更新しますので、よろしくお願いします。