
【検証】 画像生成AIのプロンプトで精度が高いのは「文章」or「単語」?
はじめに
こんにちは!
私は新しいツールを使うと、
まず「仕組み」が気になってしまいます。
エンジニアの性でしょうか。。。
画像生成AIも同じで、論文などを読み漁り仕組みを理解した上で
その次に行うのが「検証」です。
今までいくつも画像生成AIでの検証を行なってきたので、
それを記事にします。
そして「画像生成AIの教科書シリーズ」とは別の
「検証シリーズ」として投稿していきます🔬
今回の検証は、プロンプトは文章で入力するべきか?
はたまた、単語をカンマで区切って入力するべきか?
どちらのパターンもよくプロンプト集などで目にします。
どちらが精度を高める上で有効なのか検証しました。
ここでの「精度」とは、意図した画像になっているかということです。
パターン1. 文章で入力

最初は「文章」でプロンプトを入力しました。
ちなみに今回は「望遠鏡で写した森の中の小さな猫」を出力した買ったので、そのようになっていれば、精度が高いとします。
どうでしょう?いい感じだと思います!
パターン2. 単語毎にカンマ区切りで入力

次は先程の文章の単語をカンマで区切ってみました。
猫と望遠鏡が描かれていますね笑
「望遠鏡で写した」が反映されていません。
文章よりも精度が落ちました。
パターン3. 句毎にカンマ区切りで入力

次は句をカンマで区切ってみました。
これも割といい感じです!
「taken with telescope Lens」も反映されています。
パターン4. 修飾語を省いた入力

次に「taken with」を省いてみました。
「望遠鏡のレンズ」って言えば、それで写したて
解釈してくれないかなという希望を込めて。。。
しかし、結果はレンズがそのまま描かれてしまいました。
精度は低いです。
低いというかプロンプト通りと言えば、プロンプト通りですが
そこまで意図は汲み取ってくれないので、プロンプトは丁寧に
入力するべきということですね。
検証結果まとめ
うん!文章で入力しましょう!
これは、Stable Diffusion などのテキストエンコーダーなどでも採用されているOpenAIの「CLIP」というモデルの論文でも書かれています。
例えば、今回の「taken with telescope lens」も
「taken」と「with」と「telescope」と「lens」もそれぞれがそれぞれとの
関係を数値化したデータへとなっています。
この修飾語はこの単語を修飾しているなど。
それをカンマで区切ったことで、関係性の数値が変わって
出力結果も変わってしまったのだと推測します。
最後に
最後まで読んで頂きありがとうございました!
この記事がためになりましたら
「スキ」をいただけますと発信の励みになります👍
他にも画像生成AIに関する情報を網羅的に発信しています!
ご興味のある方はフォローお願いします🤲
また、私はAI情報発信者のノーベル氏の無料LINEオープンチャットに所属しております。AIの初学者からヘビーユーザーまで幅広く参加している楽しいコミュニティです!ご興味のある方は下記URLから!