“彼”は何に困っているか?
——開発中、生成AIは順調にゲームを作ってくれましたか。
とにかくゲームの「全て」をAIに作らせることが目標だったので、人間が手作業で介入して補正することがほぼ不可能なゲームシステムになっていました。
なぜ、ChatGPTはそういうストーリーを考えたのか? なぜ、Stable Diffusionはそういう絵にしたのか? などAIの「気持ち」をああでもないこうでもないと推察しながら、プロンプトをいじっていく作業を延々とやることになりました。
その過程の中で、困ったけど笑える「事件」も発生しました。
あるとき、ChatGPTが延々とトライアンドエラーを繰り返して、一向に事件を生成できないことがありました。もちろんゲームシステム上のバグではなく、ChatGPTの都合なのは明白だったので、「彼」が何に困っているのか、何につまずいているのかを探ることになります。
さすがにChatGPTといえども、チャットを通して自分が何に困っているかなんて答えてくれません。調査した結果、どうやらテスト段階で「柔らかいスポンジ」を凶器と指定した結果、それを使った事件がうまく生成できていないようでした。
つまり、「柔らかいスポンジ」を使った殺人事件をうまく考えつかなくて、結果、延々とトライアンドエラーを繰り返していたようです。口に突っ込んで窒息させるとかできそうなものなのにと思いましたが、きっと世の中(インターネット上)に、そういう事件のネタが少なくAIの学習が足りてないのではないかと邪推しています。
とにかくゲームの「全て」をAIに作らせることが目標だったので、人間が手作業で介入して補正することがほぼ不可能なゲームシステムになっていました。
なぜ、ChatGPTはそういうストーリーを考えたのか? なぜ、Stable Diffusionはそういう絵にしたのか? などAIの「気持ち」をああでもないこうでもないと推察しながら、プロンプトをいじっていく作業を延々とやることになりました。
その過程の中で、困ったけど笑える「事件」も発生しました。
あるとき、ChatGPTが延々とトライアンドエラーを繰り返して、一向に事件を生成できないことがありました。もちろんゲームシステム上のバグではなく、ChatGPTの都合なのは明白だったので、「彼」が何に困っているのか、何につまずいているのかを探ることになります。
さすがにChatGPTといえども、チャットを通して自分が何に困っているかなんて答えてくれません。調査した結果、どうやらテスト段階で「柔らかいスポンジ」を凶器と指定した結果、それを使った事件がうまく生成できていないようでした。
つまり、「柔らかいスポンジ」を使った殺人事件をうまく考えつかなくて、結果、延々とトライアンドエラーを繰り返していたようです。口に突っ込んで窒息させるとかできそうなものなのにと思いましたが、きっと世の中(インターネット上)に、そういう事件のネタが少なくAIの学習が足りてないのではないかと邪推しています。
なぜか脱ぎたがるキャラクターたち
——「なんでそんなことになっちゃうの?」という原因を探すのが大変なんですね。
生成AIらしい「珍事件」でいうと、こんなこともありました。
ある日突然、事件の登場人物が、男も女もみんな裸になってしまったんです。もちろん、これも「スポンジ凶器事件」と同様に、プログラムのバグではないことは明白でした。
Stable DiffusionはChatGPTが作ったキャラクターのプロフィールを元にキャラクターの絵を生成するので、「裸の絵にしたくなるようなプロフィール」が生成されたに違いなかったのです。もちろん、エロやグロが発生しないようにプロンプトの工夫はしてありました。
ですから、一体どんなプロフィールに反応して裸にしてしまったのかの原因探しをしなくてはいけませんでした。
——生成AIがキャラクターを脱がせたくなる理由は、何だったのですか。
どうやら「マッチョ」的な表現に反応して、「マッチョな人は裸だ」と決めつけて生成したようでした。
——確かに、ボディビルの大会では、マッチョな男性が上半身裸になりますね。
ChatGPTは、確率のいたずらなのか、ときどき同じようなストーリーを高頻度で連続して生成することがあります。それがどうやら体育会系の登場人物多めのストーリーだったみたいで、結果、みんな裸になってしまったようです。
女性キャラクターに対しては「nsfw(Not safe for work)」といったネガティブプロンプト(生成を防ぐためのプロンプト)が効いたのですが、男性の場合は、上半身裸の画像は卑猥な画像として学習されていないんですね。で、体格を指定する「muscular build」といった単語が原因で上半身裸の画像を生成してしまうことがあったんです。
生成AIらしい「珍事件」でいうと、こんなこともありました。
ある日突然、事件の登場人物が、男も女もみんな裸になってしまったんです。もちろん、これも「スポンジ凶器事件」と同様に、プログラムのバグではないことは明白でした。
Stable DiffusionはChatGPTが作ったキャラクターのプロフィールを元にキャラクターの絵を生成するので、「裸の絵にしたくなるようなプロフィール」が生成されたに違いなかったのです。もちろん、エロやグロが発生しないようにプロンプトの工夫はしてありました。
ですから、一体どんなプロフィールに反応して裸にしてしまったのかの原因探しをしなくてはいけませんでした。
——生成AIがキャラクターを脱がせたくなる理由は、何だったのですか。
どうやら「マッチョ」的な表現に反応して、「マッチョな人は裸だ」と決めつけて生成したようでした。
——確かに、ボディビルの大会では、マッチョな男性が上半身裸になりますね。
ChatGPTは、確率のいたずらなのか、ときどき同じようなストーリーを高頻度で連続して生成することがあります。それがどうやら体育会系の登場人物多めのストーリーだったみたいで、結果、みんな裸になってしまったようです。
女性キャラクターに対しては「nsfw(Not safe for work)」といったネガティブプロンプト(生成を防ぐためのプロンプト)が効いたのですが、男性の場合は、上半身裸の画像は卑猥な画像として学習されていないんですね。で、体格を指定する「muscular build」といった単語が原因で上半身裸の画像を生成してしまうことがあったんです。
脱がされてしまったキャラクターたち。たしかにみんな筋肉隆々だ (c)2023 morikatron.inc
——先ほど「女性のキャラクターも裸になってしまった」とのことでしたが、ネガティブプロンプトが効かなかったのでしょうか。
これは、ChatGPTがストーリーの生成中に、まれに日本語を出力する場合があって、Stable Diffusionに日本語が入るとその挙動がうまく制御できなくなるケースがあったようです。
もちろん、未成年のお客さんもいるBitSummit Let's Go!!で、裸の登場人物というのは非常によろしくないので、「マッチョは裸」という解釈をさせないようにプロンプトを修正しました。
まず、「職業に関連する服装を必ず着ろ」とプロンプトに書きました。さらに念のために「ジャケット、Tシャツ、スーツのどれかを着るように」とも付け加えました。
——「全裸事件」が起きたとき、開発チームの反応は……。
普通のゲームのように「バグを探して直す」という問題ではなく、ChatGPTとStable Diffsuionがなんでそう考えたかを探るという問題だったので、「これは大変だぞ」と思ったと同時に、現場は結構ほっこりしていましたね。
いつかどこかで、映画のおまけのNGシーン集みたいに、そのバージョンを公開しようかという話が出たりしました。
こうしたトラブルは生成AIの宿命的な欠陥と言えば欠陥なんですが、個人的には、むしろそこにAIの生き物らしさ、心の存在みたいなものを感じて楽しい気持ちになります。自分がAIにどっぷりはまった理由が、この「AIの生き物らしい考え方、ふるまいが愛おしい」だったので、できればそのまま出したかったなぁと今でも考えることがあります。
これは、ChatGPTがストーリーの生成中に、まれに日本語を出力する場合があって、Stable Diffusionに日本語が入るとその挙動がうまく制御できなくなるケースがあったようです。
もちろん、未成年のお客さんもいるBitSummit Let's Go!!で、裸の登場人物というのは非常によろしくないので、「マッチョは裸」という解釈をさせないようにプロンプトを修正しました。
まず、「職業に関連する服装を必ず着ろ」とプロンプトに書きました。さらに念のために「ジャケット、Tシャツ、スーツのどれかを着るように」とも付け加えました。
——「全裸事件」が起きたとき、開発チームの反応は……。
普通のゲームのように「バグを探して直す」という問題ではなく、ChatGPTとStable Diffsuionがなんでそう考えたかを探るという問題だったので、「これは大変だぞ」と思ったと同時に、現場は結構ほっこりしていましたね。
いつかどこかで、映画のおまけのNGシーン集みたいに、そのバージョンを公開しようかという話が出たりしました。
こうしたトラブルは生成AIの宿命的な欠陥と言えば欠陥なんですが、個人的には、むしろそこにAIの生き物らしさ、心の存在みたいなものを感じて楽しい気持ちになります。自分がAIにどっぷりはまった理由が、この「AIの生き物らしい考え方、ふるまいが愛おしい」だったので、できればそのまま出したかったなぁと今でも考えることがあります。
森川 幸人
ゲームAI設計者、グラフィック・クリエイター、モリカトロン株式会社代表取締役、筑波大学非常勤講師
ゲームAIの研究開発、CG制作、ゲームソフト、アプリ開発を行う。ゲーム「がんばれ森川君2号」「ジャンピング・フラッシュ」「アストロノーカ」「くまうた」「ねこがきた」などを開発。ゲームAIに関する論文「ゲームとAは相性がよいのか?」(2017年・人工知能学会)などを執筆。X:@morikawa1go