AI 研究者たちはゲームが大好きで、2 つの論文では、一般敵対的ネットワーク (GAN) を使用することで昔から人気のあるゲームをもっと面白くできることが示されています。
2 つの別々の論文で、AI 研究者は汎用敵対ネットワークを構築し、赤いオーバーオールを着た口ひげを生やした男を操作してコインを集め、敵を避けながら姫に近づく人気のプラットフォーム ゲームであるスーパー マリオ ブラザーズと、1990 年代初頭の古典的な一人称視点シューティング ゲームである DOOM の新しいビデオ ゲーム レベルを構築しました。
GANは2014年に初めて導入されました。このシステムは、生成器と識別器という2つのネットワークで構成されています。生成器は訓練データの偽のサンプルを作成し、識別器はそのサンプルが本物か偽物かを判断します。両方のネットワークは互いに競い合い、時間の経過とともに生成器は識別器を欺くために、より本物らしいサンプルを偽造する方法を学習します。
研究者たちは、これをエンターテインメントに応用することで、将来、人間がより良いビデオゲームを設計するのに役立つことを期待している。
OpenAIが機械学習を使って1990年代の名作ソニック・ザ・ヘッジホッグを倒すチャレンジに挑戦
続きを読む
「レベルデザインは通常、専門知識、優れた実践、そして広範囲にわたるプレイテストに大きく依存しています。これらの問題に対処するため、多くのゲーム研究者は、機械学習と検索アルゴリズムを活用してレベルデザインプロセスをモデル化し、人間のデザイナーを支援する手続き型コンテンツ生成システムの研究と設計に多大な労力を費やしています」とDOOMの論文には記されています。
進化する新たなレベル
偽のスーパーマリオステージを作成するために、研究者たちはビデオゲームレベルコーパス(VGLC)内の特定のレベルをトレーニングサンプルとして使用しました。レベル内のブロック、緑のパイプ、敵などのオブジェクトは、異なる種類のタイルで表現されます。各タイルはエンコードされ、整数にマッピングされた後、ベクトルに変換されます。
トレーニング データは、すべてのゲーム オブジェクトをタイルに処理し、ベクターと画像に変換することによって生成されます。
これは、1 つのレベルをタイルのシーケンスとして分解し、173 個のトレーニング イメージに変換して、識別器に入力できることを意味します。
「GANは、生成されたレベルにこれらすべての異なるタイルを含めることを学習し、それらを組み合わせる方法も学習します」と、論文の共著者でコペンハーゲンIT大学の助教授であるセバスチャン・リシ氏は述べた。
単一レベルでのトレーニングはあまり面白くありません。小さなトレーニングセットを使用すると、通常、過剰学習につながるため、トレーニングに使用する偽のレベルと実際のレベルは非常に似通ったものになり、プレイするのが退屈になる可能性があります。
2つ目のアルゴリズム、共分散行列適応進化戦略(CMA-ES)が登場します。これは、GANによって作成されたレベル内のベクトルを進化させ、トレーニングレベルには含まれない新しいレベルを作成する、とRisi氏はThe Registerに説明しました。
「生成するレベルには、敵や地面のタイルの数が異なる場合があります。このアプローチの利点の一つは、敵の数や地面のタイトルなどによって難易度などの特定のプロパティを設定し、レベルを進化させることができることです。」
GAN はトレーニングが非常に難しいことで有名です (ディープフェイク騒動の恐ろしい例を見てください)。また、結果が間違っている場合もあります。
「マリオGANは非常に速く新しいレベルを生成しますが、パイプタイルの組み立てが不完全であるなど、構造上の間違いを時々犯します」と論文の共著者でカリフォルニア大学サンタクルーズ校の助教授アダム・スミス氏はエル・レグ紙に語った。
「このプロジェクトは、どの技術がどこで機能し、隠れた前提が崩れたときにいつ機能しなくなるのかを明らかにすることで、AI研究に貢献します。」
Doomでも同様のプロセスが採用されています。1000ものDoomステージが、ゲームの最も重要な特徴である「歩行エリア、壁、床の高さ、オブジェクト、部屋のセグメンテーション」を含むトレーニング画像セットに処理されます。
これらの画像とゲームの特徴、そして少しのノイズをジェネレーターに渡して新しいレベルを作成します。その後、識別器に渡されて検査されます。検査に合格すれば、新しい偽のレベルはかなり良くできており、本物のDOOMレベルのようにプレイできるはずです。
AI生成ゲームをすぐにでも試してみたい方は、しばらくお待ちください。どちらのプロジェクトもまだプロトタイプで、プレイすることはできません。ただし、スーパーマリオGANのコードはGitHubで公開されています。
リシ氏は、これはチームが取り組んでいる問題だと述べた。「次のバージョンでは、プレイヤーの難易度に合わせて難易度が常に変化するレベルを作りたいと思っています。」®