先端AI技術を活用した新サービスの共創を目的とするAIカンファレンス“Shibuya Synapse”。2017年11月23日、その第2回となるイベントが、渋谷ヒカリエ内のDeNAの Sakura Cafeにて開催された。ここでは、同AIカンファレンスで行われた全4講演の中からふたつをピックアップし、その模様をリポートする。
まずひとつは、“ゲームAIのこれから~ゲーム開発工程における人工知能「ゲームの外のAI」の促進に向けて~”というテーマの講演。こちらは2部構成となっており、前半はスクウェア・エニックスの三宅陽一郎氏が登壇し、ゲームAIの全体図や今後の展望について解説した。
三宅氏がまず前提として語ったのは、AIには“ゲームの中のAI”と“ゲームの外のAI”があるということ。“ゲームの中のAI”は、キャラクターAI、ナビゲーションAI、メタAIといった、“ゲーム自身を構成するAI”で、「キャラクターAIはキャラクターの頭脳のことで、ナビゲーションAIはパス検索や環境認識のAIで、メタAIはゲーム全体をコントロールするAIです」と、三宅氏はそれぞれを説明した。
対する“ゲームの外のAI”は、“開発工程を助けるAI”で、「自動生成とか、ゲームバランスの自動調整とかですね」と三宅氏は言う。「この内外ふたつのAIの連携が、これからのゲームには要となってきます」(三宅氏)。
続けて三宅氏は、各AIの説明に入る前に、ゲームと人工知能の関係性について簡単に触れた。三宅氏によると、ゲームが人工知能を求め、人工知能がゲームを進化させるような、“共進化”の関係があるという。
ゲームにおける中と外のAIの役割
続いて、三宅氏は“ゲームの中のAI”について解説。三宅氏によると、ファミコンやスーパーファミコンのころは、どこが人工知能でどこがギミックか見分けられなかったが、ゲームの大規模化・複雑化により、キャラクターAI、ナビゲーションAI、メタAIに分化。「この3つが連携して、ひとつのAIシステムを形成しているわけです」(三宅氏)。
ここでその3つのAIが、具体的に解説された。まずキャラクターAIは、キャラクターが自律的に思考できるようになるためのAI。ゲームが進化するにつれて、キャラクター自身が考える方向に向かっており、その事例として『スペースインベーダー』、『プリンス・オブ・ペルシャ』、『Halo2』などが紹介された。
なお、自律的なAIの仕組みは、まずセンサーで情報を集め、意思決定して運動を構成していくという流れで、これは“モジュール型デザイン”と呼ばれているそうだ。
続いては意思決定モデルについて。三宅氏によると意思決定は、大きく7つのアルゴリズムに分類できるという。その7つはルール(規則)ベースAI、ステート(状態)ベースAI、ビヘイビア(振る舞い)ベースAI、ゴール(目標)ベースAI、タスク(仕事)ベースAI、ユーティリティ(効用)ベースAI、シミュレーションベースAIとなる。ここでは開発画面や図面とともに、各アルゴリズムの概要が説明された。
ここでテーマは、“キャラクターにおける様々な学習・進化”に移行。三宅氏により、ニューラルネットワークの応用、機械学習の応用、強化学習の応用、遺伝的アルゴリズムの応用という、4つの手法が紹介された。
機械学習の応用で、例として挙げられたのは格闘ゲーム。AIキャラに「近距離で攻撃を避ける」ことに対して報酬を与えると、避けられたときの行動を覚えて学習し、避けることがうまくなっていくようなことも実現できる。また遺伝的アルゴリズムの応用は、簡単に言うと、キャラクターが世代を重ねてより進化していく仕組みだ。優秀な遺伝子が親になるサイクルを重ねることで、次世代により優秀な集団が形成されていく。「好例が『アストロノーカ』ですね。バブーは最初はトラップに掛かりますが、どんどん賢く進化していきます。遺伝的アルゴリズムがよく応用されているゲームです」(三宅氏)。
つぎはふたつ目の、ナビゲーションAIについてで、これは簡単に言うと環境認識。三宅氏によると最近では、ゴールを指定するとリアルタイムにパスを検索してルートを作成するようなAIが主流になっているそうだ。
もうひとつ三宅氏が紹介したのが、PQS(Point Query System)。これはフィールドに点をばらまき、そのポイントの評価結果により行動を決めていくシステム。これにより、なるべく敵の視界から入らないポイント、場所に移動するようなAIも形成できる。
“ゲームの中のAI”の説明の最後は、メタAI。これはゲーム全体をコントロールするAIで、古典的な例としては『ゼビウス』の“敵出現テーブル巻き戻し”が挙げられる。これは、操作が上手ではないプレイヤーの場合、敵のテーブルが巻き戻ることで、自動的に難易度が調整されるというシステムだ。
「現代のメタAIは進歩していて、敵の配置、ストーリー、レベル生成など、ゲームコンテンツそのものを作り出します」と三宅氏。例として挙げたのが『LEFT 4 DEAD』で、ゲームのログからユーザーの緊張度を分析し、リラックス時には敵がどんどん出てきて、緊張しているときには敵を少なくしてリラックスさせるといった工夫が仕込まれているそうだ。「このように人工知能によってゲームの緩急を自動で作り出すことが、メタAIの役割のひとつとなっています」(三宅氏)。
補足として短めに説明されたのが、プロシージャル技術。これは簡単に言うと自動生成技術のことで、ダンジョンの自動生成や地形生成などに利用されているという。
ゲーム調整には外側のAIも重要
“ゲームの中のAI”の説明がひと段落し、続いては“ゲームの外のAI”についての解説となった。三宅氏が最初に語ったのは、“モーション解析”。その一例として紹介されたのが、モンスターの攻撃に関する事例だ。
たとえば『FF15』のベヒーモスなどは、自分の攻撃がどこに当たるかというトレーニングをひたすらくり返したという。そのデータをもとにAIを組んでいくことで、攻撃の精度はアップ。同様に行動で“曲がる”という行為についても、くり返しの学習でスムーズに曲がることを覚えたそうだ。
データの可視化(データビジュアリゼーション)も、重要だと三宅氏は語る。ナビゲーションメッシュなどは、さまざまな条件分けで可視化することにより、多彩な角度で分析可能となる。
またロギングシステムを利用すれば、ゲーム上のさまざまなプレイデータがサーバー上に自動的に蓄積され、異常があればすぐに発見可能。会話等についても、さまざまな内容がどんな頻度で呼び出されているかがひと目でわかり、バグチェックやバランス調整が容易となるという。
講演の前半はここでフィナーレ。三宅氏は、「内側のAIは、人工知能によってより自律的・動的なコンテンツに。外側のAIは、それらをより科学的に分析することになります」とまとめたうえで、ゲームの外側の研究の問題点に言及。先行研究が少ない点や、個別課題が多い点などを指摘した。そして最後に、「産業・アカデミック間で連携することで、お互い利益があるのではと思います」とコメントし、講演を締めくくった。
エージェントAIが代理でゲームプレイ
三宅氏からバトンタッチされて後半の講演を担当したのは、スクウェア・エニックスの眞鍋和子氏。眞鍋氏の講演は、“ゲームの外のAI”の研究事例を報告するという内容。まずは三宅氏の話の流れを受けて、“ゲームの中のAI”と“ゲームの外のAI”の立ち位置をおさらいした。
眞鍋氏によると、“ゲームの外のAI”では、いままでプレイヤーがいた立ち位置にAIが存在することになり、ゲームの生のデータに直接アクセスできないという制約が課される。だが中のゲームがなんであろうと、画面やコントローラーの情報を受け取ることによって汎用的な挙動ができるというメリットがあるという。
ここで研究事例として紹介されたのは、“ゲームの外のAI”のひとつである“プレイヤーエージェント”。で、これはプレイヤーの代わりとなるボットのこと。ゲームを自動プレイさせることにより、プレイヤーの状況をリリース前にチェックすることができるようになる。「ここで重要なのが、自動生成が望ましいということです。最近のゲームはアップデートも頻繁で、短期的な開発サイクルになり、いちいちスクリプトを描き直すのは、非常に手間になりますから」(眞鍋氏)。
続いては、実際のゲームを題材として、具体的な事例解説がなされることに。題材のゲームは、スマートフォンアプリ『グリムノーツ』だ。最初にバトルシステムやパーティー編成など、ゲームの概要が眞鍋氏より紹介された。
『グリムノーツ』のバトルはリアルタイムアクション制。主人公ひとりにつきふたりの“ヒーロー”をセットでき、主人公4人のパーティーでバトルに参加できる。“ヒーロー”にはそれぞれ武器やアクセサリーがセット可能だが、その種類は豊富で、なおかつ強化アイテムを付けることもできるので、組み合わせの数は膨大なものとなる。
『グリムノーツ』は現在、毎月のようにヒーローや装備を追加している状態で、「そのたびにすべての組み合わせを調べることは、現実的に不可能」(眞鍋氏)だそうだ。そこで役に立つのが、プレイヤーエージェントにバトルをさせるという手法になる。
ここでプレイヤーエージェントが目指すゴールは、主人公やアクセサリーなどの要素の中から、最適な組み合わせを探すこと。具体的には、パーティーのバトルをAIが評価し、パーティー編成を改善してつぎのバトルに挑む、という流れになる。
なおバトルについては、モデル化されたバトルを使用しているとのことで、ダメージ計算式は実ゲームと同様だが、いくつかの要素を省略。それにより短時間での実行が可能となっている。そうして得たバトル結果を数値化して、相対的な評価が決定される仕組みだ。
遺伝的アルゴリズムでパーティー改善
バトル評価をもとに、パーティー改善に用いられているのは、三宅氏の講演にも出てきた“遺伝的アルゴリズム”だという。要は、よい個体どうしの遺伝子を掛け合わせて、より優秀な新しい個体を生み出すという手法だ。ここでは、パーティー編成の要素が遺伝子となり、主人公・ヒーロー・装備などを含むパーティー内容が、染色体を構成することとなる。
AIからゲームの情報をどのように受け渡されるかについては、今回の事例では、「APIを設置して、ゲームからバトル結果を数値でもらうようにしています」(眞鍋氏)だそうだ。
ここで実際のプレイヤーエージェントの成長結果例が、スクリーンに映し出されて説明された。初期の世代は戦闘時間も短くすぐに全滅していたが、徐々に時間はかかるが勝てるようになり、その後は戦闘時間の短縮を図る形で成長しているのがグラフから見て取れる。ただし、「ここでコストとの比較が重要」と眞鍋氏は語る。
「単純にベストパーティーが算出されても、そこにはコストも関係してきます。武器の入手難度であったりなど、コストはゲームによりさまざまですが、それを踏まえてパーティーの強さが適切であるかどうかを、最終的に確認する必要が出てきます」(眞鍋氏)。
加えて行われているのが、アソシエーション分析。これはわかりやすく言うと、キャラクターや武器など、単体では弱いけれども、組み合わせによって威力を発揮するパターンの探索だ。それを含め、ひとつのユニークな事例が続いて紹介された。
『グリムノーツ』では、セットしたふたりの“ヒーロー”のうち、最初にバトルに参加するのは上段のキャラクター。そして簡単なバトルに対して、“ヒーロー”はアタッカーが有効。そのため、下段にアタッカーがいる場合、上段に打たれ弱い“ヒーロー”を設定する方法をプレイヤーエージェントが選択するようになったという。つまり、ひとり目にあえて弱いキャラを置いてすぐに戦闘不能にして、ふたり目の強力なアタッカーで巻き返すという戦法で、これをAIが習得したというわけだ。
眞鍋氏が担当した後半もこれにて幕。最後にまとめとして、“ゲームの外のAI”のメリットとデメリットが簡単に解説され、講演は終了となった。