昨年11月にOpenAIがChatGPTを公開して以来、Googleの「Bard」やマイクロソフトの新たなBing検索エンジンやEdgeブラウザーも会話型AIサービスの大波に乗る事態となっています。
どれもが質問に対して自然な文体で賢い回答が期待されているなか、同じく言語モデルを使って『スーパーマリオブラザーズ』のステージを自動生成する「MarioGPT」の研究が公開されました。
コペンハーゲンIT大学研究チームは、「スーパーマリオ」のレベル(ステージ)を生成する新たな手法につき論文とGitHubページを公開。このMarioGPTが使う「GPT-2」は、ChatGPTが使う「GPT-3.5」と同じくOpenAIが開発したもので、ざっくり言えば古いバージョンです。主な違いはパラメータ数であり、GPT-3はGPT-32の100倍以上も増えています。
もっとも、GPT-2も大型言語モデルには違いなく「文章中の単語を取り込んで、さらに同じような文章を作りだすこと」やパターン認識が得意なことは共通しています。
とはいえ、GPT-2が理解できるのはテキストのみ。そのため研究者はマリオのステージをパーツ毎にばらして文字に置き換え、要はアスキーアートのように描き直し「テキスト」としてAIに与えています。こうすることで文字列やプログラムコードと同じように取り込まれ、GPT-2が特徴とパターンを理解すれば、そこから新たなステージが作り出せるわけです。
その結果として自動生成した250面をゲームの自動プレイAIで試したところ、9割がクリアできると分かったとのこと。さらにMarioGPTは自然言語でのプロンプトも理解できるようになり、たとえば「多くの土管と山ほどの敵がいるレベル」や「多くのブロック、足場は高め、敵なし」などを注文できるとされています。
もっとも、論文作成の時点では「敵」を示すテキストが1つしかなかったため、ノコノコやクッパも1種類しか出せません。また水面も用意されておらず、まだ使用不能です。とはいえ「土管なし、敵はほどほど、ブロック多め」など少しの呪文を唱えるだけで、未知のステージが創造されることは驚きといえます。
ほか、ほぼ時を同じくして、スーパーマリオより古くからある『倉庫番』(初代は1982年末発売)のステージ自動生成論文も発表されていたようです。
もちろん、今回の論文も学術的にクローズドな環境のなか、2D横スクロールアクションの一例として「スーパーマリオ」を扱ったに過ぎません。これをオープンで世界中からアクセスできる状況で行った場合、著作権法的な問題が起こることもあり得るでしょう。
任天堂も『スーパーマリオメーカー』をシリーズ化しており、ファンメイドのステージには理解があるはず。『スーパーマリオメーカー』次回作があれば、AIによる自動生成機能が追加されると期待したいところです。