見出し画像

MarioGPTにみるオープンエンドを目指した研究の発展

ゲームも大規模言語モデルから作成できるようにならないだろうか。

以前にnoteで紹介した大規模言語モデルを使った進化アルゴリズムに関する論文(Evolution by Large Language Model)を読んだときに思ったことです。

それから数ヶ月、早くも大規模言語モデルからゲームが生成するMarioGPTが発表されました。コペンハーゲンIT大学のSebastian Risiのグループに研究で、テキストからスーパーマリオのゲームを生成するというものです。

MarioGPTは、OpenAIのChatGPTやMicrosoftのBingで話題を集めている大規模言語モデルを使ってスーパーマリオのゲームを生成するように学習したモデルです(GPT-2がベースモデルになっています)。

作りたいゲームの条件をテキストでMarioGPTに入力するとゲームが出力されます。

たとえば、「パイプ多数、敵多数、ブロック一部、高低差は低め(many pipes, many enemies, some blocks, low elevation)」というテキストを入力してみましょう。すると、次のようなゲームが自動で作成されます。

「many pipes, many enemies, some blocks, low elevation」から自動生成されたゲーム

MarioGPTのデモは次のサイトで公開されているので、ぜひ試してみてください。作成されたゲームは、コマンド操作で実際にプレイすることもできます。

テキストを入力するだけで、ゲームを作れるようになったことはもちろんゲーム制作において画期的なことです。でもそれだけでなく、オープンエンド性の実現を目指した研究においても大きな一歩です。

終わることなく進化し続けるアルゴリズムの実現を目指したオープンエンド性に関する研究では、コンピューターが次々と新しいものを作り出せるかどうかが肝になります。

新しいものを作り出すための方法として、遺伝的アルゴリズムや新規性探索アルゴリズム、品質多様性アルゴリズム、共進化アルゴリズムなど、いろいろな進化アルゴリズムの方法がこれまでに提案されてきました。

これらの方法で使われている仕組みが「突然変異」です。既存のエージェントや環境に少し変更するという「突然変異」によって、新しいエージェントや環境を作り出しています。

でも、これまではランダムに変更を加えることで突然変異を作ってきました。ランダムな突然変異による新しいものの探索は、アルファベットのすべての文字からランダムに文字を並べて、何か意味のある文章を作ることを試みるようなものです。この場合、たくさんの文字列を生成することができますが、その中のほとんどは意味の無いものです。意味のある文字列を見つけるためには多くの試行が必要となります。

そこで、もし突然変異をランダムに加えるのではなく、もっと「賢い突然変異」を加えることができたらどうでしょうか?

たとえば、文法や辞書などのルールに従って文章を作成することを試みるようにです。文章や辞書に従って正しい文章を作成することができれば、ランダムな探索よりも、意味のある文章を見つけることができる確率は格段にアップします。

MarioGPTは、テキストを入力することでゲームを作ることができます。つまり、テキスト(言語)によってゲームがエンコードされているということでもあるのです。言語によってゲームを表現することができているので、賢い突然変異を実現することができます。

これまでランダムな突然変異による探索しかできなかった進化アルゴリズムの世界に、言語による賢い突然変異を可能にしているわけです。すごいですよね。

というわけで、MarioGPTの登場は、オープンエンド性の実現に近づく非常に意味のある一歩を踏み出した研究であると思っています。

オープンエンドなアルゴリズムが作られるのはまだまだ何年も先かと思っていましたが、最近のAIの発展のスピードからすると、ひょっとしたら思っているよりもずっと早く実現されるかもしれないと思う今日この頃です。

ではまた!ciao :)



この記事が気に入ったらサポートをしてみませんか?