Gemini(Nano Banana)が突然の迷走!画像生成が上手くいかなくなる原因と対策

Gemini(Nano Banana)が突然の迷走!画像生成が上手くいかなくなる原因と対策

以前、Gemini(Nano Banana)で画像生成する際に、プロンプト(指示文)は日本語と英語のどちらがいいかであったり、横長(16:9)の画像を生成するための試行錯誤したことなどの記事を書きました。

ただ画像を生成するだけではもったいないので、PIXTA(日本最大級の画像素材マーケットプレイス)で販売しようということで、画像を生成していたのですが…

目次

プロンプト変換・画像生成用のカスタムGem

GoogleのAI「Gemini」には、Gemという特定の役割を設定し、特化型AI機能を持たせた自分専用のAIアシスタントを作成する機能があります。

この機能を利用し、日本語で書いた文章の内容を汲み取って「英語のプロンプトへの変換」と「画像生成(Nano Banana)」に特化したGemを作成しました。

Gemの作り方などについては、今後記事にしようと思っているのですが、この特定の機能を持ったGemで画像を生成していると、徐々に意図しない方向に向かい迷走してしまうことがありました。

実際に、どういう状況の時にそういった症状が出てしまったのかを紹介していきたいと思います。

なぜGemはプロンプトを誤解し迷走するのか?

これはGem(Gemini)だけではなく、AI全般的に言えることなのですが、プロンプト(指示)を誤解または無視して意図とは異なる画像を生成してしまう背景には、システムの解釈ロジックの破綻限界が原因となっていることが多いようです。

情報の詰め込みすぎ(トークン過密と競合)

「人物の年齢設定」や「小物の配置」「画像サイズ」などの詳細な指示をプロンプトにすべて詰め込んでしまうと、AIの処理がトークン過負荷を起こしてしまいます。

AIはテキストを「トークン」と呼ばれるパーツに分けて処理するのですが、これが多くなりすぎると中間の重要な指示をスキップしてしまい、特定の単語に過剰に反応してしまったり、メインの被写体ではなく「空間の構造」などの別要素の優先順位を上げてしまうことがあります。

セマンティック・ドリフト(意味の漂流)

AIが単語の関連性を処理する際、特定の単語の組み合わせが「別の強力な概念」に結びついてしまう現象です。

例えば、部屋内(室内)の画像を生成する際に、Three-quarter view(斜め45度)という「カメラアングル」の指示とContinuous space extending horizontally(横に続く連続した空間)といった指示が、AI内部で「パースの効いた長い道路」という巨大な学習データ群にリンクしてしまい、部屋内ではなく長い道路を描写してしまうといったことです。

「否定形」の逆説的強化(シロクマ効果)

AIによって生成された画像に対して修正を繰り返すケースが出てきます。その際、「文字(テキスト)は描写しない」「白い壁だけを描写しない」といった「~しない」といった否定的な指示に対して、AIは非常に脆弱です

例えば、先ほどの「白い壁だけを描写しない」といった指示に対して、AIは「白い壁」という単語そのものに注目してしまい、ユーザーが避けたい要素を逆に強化して描写していしまうという結果になってしまいます。

さらに、否定的な指示を繰り返し重ねてしまうことで、さらにその概念を強くしてしまうこともあり、最終的に出力の多様性が失われ、先ほどの「セマンティック・ドリフト」が起こり、全く無関係な画像を生成してしまうということが起きてしまいます。

強すぎるキーワードやなじみのない単語の影響

AIによって生成される画像のスタイルを「ドキュメンタリー写真」を基調とするものにしたかったため、プロンプトの先頭に(Documentary photography:2.5)という指示を出していました。

ただ、「Documentary photography」という強いキーワードがきっかけとなってしまい、AIの学習データ内にある「20世紀初頭の古典的なドキュメンタリー写真(モノクロの歴史的写真)」に引きずられてしまい、現代的な設定が完全に無視されてしまうことがあります。

ちなみに、このような写真が生成されました。

モノクロの歴史的写真

また、描写される画像内に「長形3号サイズの封筒」を小物として配置させようとしました。これを英語のプロンプトに変換するよう指示を出すと、日本語のローマ字表記で「Nagagata-3」といった具合に変換されました。

そのまま、なにも思わず画像を生成すると以下のような画像が出てきました。

歴史上の人物風の画像

なぜこうなったかというと、「Nagagata-3」など、AIにとってなじみのない単語が含まれていると、AIはそれをノイズとして処理するか、その単語の響きから「全く別の歴史的スタイルや人名」と誤認することがあるようです。

その誤認した結果が先ほどの画像ということになります。

学習バイアスとコンテキストの崩壊

AI(Imagen 3やDALL-E 3など)は、数千万枚という画像データを学習しています。特に、わたしがPIXTAで販売しようとしている「ストックフォト」(さまざまな用途で使われることを前提として用意された写真素材)のデータも当然として学習しているというわけです。

そのため、「ストックフォトはこういったもの」という強烈な固定概念(学習バイアス)が出来上がってしまっています。

特に、指示内容が複雑化しすぎると「AIの創造性の窒息」を招いてしまいます。そうなると、AIは処理の限界を超えて矛盾の海へ溺れてしまい、プロンプトに対しての「正解」を出すのではなく、これまでの学習データから「無関係だが統計的に安定した画像」を生成してしまうという現象が起こってしまいます。

また、同じチャット内で画像の修正を繰り返していると、過去の生成失敗の履歴が蓄積してしまい、AIの内部メモリ(コンテキスト)が失敗パターンに汚染されてしまいます。

そのまま画像の修正し続けると、失敗パターンを参照にして画像を生成してしまうため、ハルシネーション(支離滅裂な回答)が起こってしまう可能性が高くなるということです。

Gem(Gemini)に意図した画像を出力させるための解決策

先ほど挙げたような「解釈ロジックの破綻」や「プロンプトの崩壊」を防ぎ、思い通りの画像を生成するためには、AIが処理をしやすい状態に環境を整える必要があります。

プロンプトを極限までシンプル化

画像の修正を繰り返していると、プロンプトは情報過多になってしまいがちです。そうなると、AIが混乱を招く可能性が高くなるので、現在のプロンプトを修正するのをやめて、一度クリーンナップします。

「強すぎる数値指定」や「複雑な指示」を削ぎ落し、「室内」や「生活感」「日本人男性」などといった最小単位の要素からテキストベースで再構築することがおすすめです。

すべてをリセットするというわけではないのですが、こうすることによって、AIが混乱する余地を最小限に抑えることができます。

最優先事項を「先頭」に配置する

AIはプロンプトが長くなりすぎると、中間の指示をスキップし、特定の単語に対し過剰に反応してしまうことがあります。

例えば、長いプロンプトの途中に「45歳 日本人女性(A 45-year-old Japanese woman)」といった被写体を定義したとします。

しかし、プロンプトの冒頭に強い指示があった場合などは、その指示の影に隠れてしまう可能性があります。さらに、AIは直前の長い会話のコンテキストを維持できず、プロンプトを処理する際に文脈を見失うドロップアウト(文脈喪失)が起こり、定義した被写体とは全く異なる被写体を描写してしまうというわけです。

それを防ぐには、「被写体の定義」などの重要とされる事項は、物理的にプロンプトの冒頭に配置することで、AIに「重要な事項である」と認識させてやる必要があります。

固有名詞やノイズとなる単語の排除・置換え

前述したように、AIが迷走してしまう原因のひとつとして挙げた「長形3号サイズの封筒」を英語のプロンプトに変換した際、日本語のローマ字表記で「Nagagata-3」と出力されました。

このような、AIが理解しにくい固有名詞は極力排除し、「Long business envelope(長い事務用封筒)」のような一般的な英語表現に置き換えるのがいいでしょう。

また、これも前述した「Documentary photography」などといった強いキーワードは文脈を壊す原因になる可能性があることから、「Realistic lifestyle photography」などのより意図に近い表現に置き換えることも検討してください。

否定形を避け、肯定的な指示を使う

「~しない」「~を避ける」などの否定形の指示は、反映されにくいだけでなく、逆にそこに含まれる単語に注目してしまうという現象が起こってしまいます。

例えば、「背景はぼかさない」と指示すると、逆に「ボケが必要」とAIが勘違いする可能性があるので「背景はシャープなピントで鮮明なディテールにして」といった具合に指示を出すといいでしょう。

最終的にどのような形にしたいか、代わりに何を描くのかを具体的に指定することがコツです。

対話による段階的な構築

最初から100%の完成度を目指して指示を詰め込むのではなく、まずはシンプルなプロンプトから始めてください。そこから、対話を進めていく中で詳細(カメラ角度、質感、ライティングなど)をひとつずつ積み上げるアプローチが意図した画像が生成される確率が高くなります。

チャット(文脈)のリセット

画像を修正していく中で、連続して無関係な画像が生成されるようになった場合、現在のチャットが「失敗パターン」に汚染されている可能性が高いです。

そのまま同じチャットで修正を繰り返しても、変な方向へ引っ張られてしまうため、新しくチャットを立ち上げ、これまでの履歴やノイズを破棄することをおすすめします。

わたしがよくやる方法は、旧チャットで「新しいチャットで画像を生成するので、ここまでの会話の内容を加味したプロンプトを最後に提示してください」と投げかけます。

そこで提示されたプロンプトを使い、新しいチャットで画像を生成するといった流れです。新しいチャットでも修正は必要になるのですが、同じチャットで修正を繰り返すよりもはるかに効率的です。

以上が、Gemini(Nano Banana)が画像生成時に迷走する原因と対策です。

思い当たる節がある項目のあったのではないでしょうか。まず、判断基準として「意図しない画像」が出力されたら混乱状態を疑うサインです。そこで指示を追加して修正するのではなく、まずはプロンプトを「シンプルに削ぎ落すこと」に注力し、それでも良い方向に行かない場合は「チャットを新しく立ち上げること」を心がけてみてください。

Related posts