モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
ディープラーニング機械学習CGCGへの扉安藤幸央GANニューラルネットワーク月刊エンタメAIニュース強化学習三宅陽一郎モリカトロンAIラボインタビュー敵対的生成ネットワーク音楽OpenAIQAスクウェア・エニックス河合律子シナリオNVIDIAデバッグキャラクターAICEDEC2019プロシージャルDeepMind人工知能学会Facebookルールベースビヘイビア・ツリーGoogleCEDEC2020ゲームAI映画SIGGRAPH遺伝的アルゴリズム不完全情報ゲームメタAIナビゲーションAI畳み込みニューラルネットワーク深層学習マイクロソフトAIと倫理グーグルGDC 2021GDC 2019マルチエージェントVR森川幸人ボードゲーム自然言語処理ロボットStyleGAN自動生成GPT-3CNNVFXモリカトロンゲームプレイAIファッションHTN階層型タスクネットワークJSAI2020Microsoftイベントレポート水野勇太アニメーションガイスターNPCCLIPアートtoio吉本幸記JSAI2021スポーツディープフェイク汎用人工知能CEDEC2021TensorFlowGDC SummerテストプレイeSportsBLUE PROTOCOL小説DALL-EStyleGAN2AlphaZeroカメラ環世界中島秀之懐ゲーから辿るゲームAI技術史研究DARPAドローンシムピープルAI美空ひばり手塚治虫メタデータ通しプレイOpenAI Five本間翔太CM倫理ピクサーAdobe作曲中嶋謙互Amadeus CodeMicrosoft Azureキャリアナラティブeスポーツ対話型エージェント音声認識ロボティクスPyTorchDQN眞鍋和子バンダイナムコスタジオシーマンUnity齊藤陽介マインクラフトお知らせAIアートサルでもわかる人工知能VAEUbisoftUbisoft La ForgeワークショップGenvid Technologies知識表現ウォッチドッグス レギオンIGDAどうぶつしょうぎジェイ・コウガミ音楽ストリーミングマシンラーニングクラウドリトル・コンピュータ・ピープルコンピューティショナル・フォトグラフィーGPT-2完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索藤澤仁生物学画像認識DeNANFT長谷洋平鴫原盛之masumi toyota宮路洋一TextWorldSIGGRAPH ASIAソニーCycleGANフェイクニュースシムシティGPUALifeZork人工生命オルタナティヴ・マシンサウンドスケープASBSマンガぱいどんTEZUKA2020ナビゲーションメッシュ松井俊浩スパーシャルAIElectronic Artsマーケティング大内孝子Apex LegendsELIZANinjaコンピュータRPGアップルタウン物語KELDICゲームTENTUPLAYMARVEL Future Fightタイムラプスバスキアブロックチェーン階層型強化学習WANN竹内将馬淵浩希岡島学映像セリア・ホデントUX認知科学ゲームデザインLUMINOUS ENGINELuminous Productionsパターン・ランゲージちょまどビッグデータアストロノーカ模倣学習FPSマルコフ決定過程スタンフォード大学パラメータ設計テニスバランス調整レコメンドシステム協調フィルタリング人狼知能Amazon軍事AlphaDogfight TrialsエージェントシミュレーションStarCraft IIFuture of Life InstituteIntelLAIKARotomationドラゴンクエストライバルズ不確定ゲームDota 2モンテカルロ木探索ソーシャルゲームEmbeddingGTC2020NVIDIA MAXINE淡路滋ビデオ会議グリムノーツゴティエ・ボエダGautier Boeda階層的クラスタリングaiboJuliusSIETPRGバーチャル・ヒューマン・エージェントtoio SDK for Unityクーガー田中章愛石井敦銭起揚茂谷保伯MinecraftGDMC成沢理恵MITメディアラボ著作権マジック・リープMagic Leap OneMagendaノンファンジブルトークンDDSPサッカー里井大輝KaggleバスケットボールAssassin’s Creed OriginsSea of ThievesGEMS COMPANYmonoAI technologyアバター初音ミクOculus転移学習テストBaldur's Gate 3Candy Crush SagaSIGGRAPH ASIA 2020デバッギングBigGANMaterialGANリップシンキングRNNReBeL自動運転車VolvoRival Prakユービーアイソフト北尾まどかHALO将棋メタルギアソリッドVFSMナップサック問題汎用言語モデルSpotifyMITReplica StudioamuseChitrakar巡回セールスマン問題ジョルダン曲線5GMuZeroクラウドゲーミングRival Peak和田洋一リアリティ番組Stadiaジョンソン裕子MILEs対話エンジンインタラクティブ・ストリーミング斎藤由多加インタラクティブ・メディアシーマン人工知能研究所Ludoゴブレット・ゴブラーズTransformerSIGGRAPH 2019ArtEmis絵画ARGROVERFAIRAIりんなチート検出オンラインカジノアップルRealFlowiPhoneシミュレーションDeep FluidsMeInGameAIGraphブレイン・コンピュータ・インタフェースBCILearning from Video予期知能ユクスキュルカント哲学ドラゴンクエストエージェントアーキテクチャPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者アルスエレクトロニカ2019StyleCLIPStyleRig逆転オセロニア奥村エルネスト純いただきストリート齋藤精一大森田不可止高橋智隆ロボユニザナック泉幸典仁井谷正充ロボコレ2019ぎゅわんぶらあ自己中心派Azure Machine Learning意思決定モデル脱出ゲームHybrid Reward ArchitectureウロチョロスSuper Phoenix理化学研究所Project Malmo教育Project PaidiaProject LookoutWatch ForBingLEFT ALIVE長谷川誠ジミ・ヘンドリックスBaby Xカート・コバーンロバート・ダウニー・Jr.エイミー・ワインハウスMagentaYouTubeダフト・パンクSFGlenn MarshallThe Age of A.I.Story2HallucinationレコメンデーションJukeboxGTC2021テンセントSIFTDCGANMOBADANNCE人事ハーバード大学研修デューク大学mynet.aiローグライクゲームNetHack人工音声NeurIPS 2021はこだて未来大学プレイ動画ヒップホップサイレント映画NBA環境音現代アートエージェント粒子群最適化法進化差分法群知能下川大樹ウィル・ライト高津芳希大石真史BEiTレベルデザインDETRSporeAIボイスアクターデノイズ南カリフォルニア大学画像処理NVIDIA CanvasSentropyCPUDiscordCALMプログラミングソースコード生成GMAIシチズンデベロッパーTRPGGitHubウィザードリィMCN-AI連携モデルAI DungeonMCS-AI動的連携モデル西川善司並木幸介サムライスピリッツ森寅嘉ゼビウスSIGGRAPH 2021ストリートファイター半導体Topaz Video Enhance AI栗原聡DLSS山野辺一記NetEase大里飛鳥DynamixyzモーションキャプチャーU-Net13フェイズ構造アドベンチャーゲームADVXLandAGI手塚眞DEATH STRANDING不気味の谷Eric JohnsonOculus Questコジマプロダクション生体情報デシマエンジンインディーゲーム写真高橋ミレイ照明Maxim PeterJoshua Romoffハイパースケープ山崎陽斗深層強化学習立木創太バンダイナムコ研究所ミライ小町テスラGameGANELYZAパックマンTesla BotTesla AI Dayソサエティ5.0ELYZA DIGESTSIGGRAPH 2020バズグラフニュースタンテキ東芝DIB-R倉田宜典3D音声合成韻律射影広告韻律転移

【CEDEC2020】テストプレイや接待プレイができるAI技術でモリカトロンが目指すこと #CEDEC2020

2020.9.10ゲーム

【CEDEC2020】テストプレイや接待プレイができるAI技術でモリカトロンが目指すこと #CEDEC2020

2020年9月2日から9月4日までオンライン開催された国内最大のコンピュータエンターテインメント業界向け技術交流会「CEDEC 2020」にて、モリカトロン株式会社が行った「攻略、接待、変更に強いAIプレイヤー開発のためのアプローチ」というセッションを取材しました。

講演者は、3Dアクションゲームに関するAIを担当したエンジニアの竹内将氏と本間翔太氏、格闘ゲームに関するAIを担当した馬淵浩希氏。また、岡島学氏は3人の登壇者たちとともに共同研究・開発者としてチームに大きく貢献しました。イベントの直前にも取材したとおり、このセッションでは格闘ゲームでユーザーに合わせた手加減をする、いわばゲームの中のAIと、深層強化学習でビデオゲームを学習したAIによるテストプレイなどのQA、すなわち“ゲームの外側”における活用の可能性を検証しています。

【関連記事】完全自動デバッグAIや格闘ゲーム接待AIの実現に向けたモリカトロンの挑戦

すべての開発者がAI技術の恩恵を受けるために

深層強化学習は、囲碁で人間のプロ棋士に勝利した「Alpha」シリーズにも採用されている手法で、完全にランダムな行動を繰り返す状態からスタートしたAIが、成功体験を積み重ねることで徐々に勝利のパターンを覚えていくというアルゴリズムです。その強みは、ゲーム情報と各行動の報酬さえ決めれば、人間が詳細なルールを書かずとも、AIが報酬を最大化する行動をとるように成長していく点にあります。

これまで囲碁や将棋でプロ棋士を凌駕しただけでなく、「ブロック崩し」で人間を超えるスコアを記録したり、『StarCraft II』(2010年、ブリザード・エンターテイメント)や『Dota 2』(2013年、Valve Corporation)といった不完全情報ゲームにおいても世界のトッププレイヤーを破ったりと、深層強化学習の研究は世界中で加速し続けており、多くの分野において着実な成果を残しています。

同時に、ただひたすらに人間に勝る強さのみを追求するのではなく、この技術を実際のゲーム開発に役立てようとする研究も、多くの企業が挑み続けている課題です。開発中のゲームをAIが攻略できるようになれば、テストプレイやデバッグといったQA(品質管理)に関わる業務を代行してもらえるかもしれません。また、対戦ゲームで適度に手加減できるAIプレイヤーが実現できれば、人間の良き遊び相手になってくれるかもしれません。

しかし、そうした夢を叶えるためには、まだまだ埋めるべき溝があるといいます。まず、研究用の環境で古いゲームが攻略できたとしても、最新の商用ゲームに対応できなければゲーム開発者にとって恩恵はありません。また、『StarCraft II』や『Dota 2』を使った研究では世界的な大企業が莫大な資金を投入しており、それと同等の計算コストはほとんどの企業にとって非現実的です。加えて、「Unity」や「Unreal Engine 4」(以下、UE4)のように広く普及しているゲームエンジンで使える技術でなくてはなりません。

テストプレイを丸投げできるAIを目指して

これらの課題と向き合う第一歩としてモリカトロンが取り組んでいるのが、3Dアクションゲームを通しプレイできるAIの開発です。異なる職種の多人数が同時並行で進めるゲーム開発では、プログラムに日々大量の変更が発生します。そのたびに一通りテストプレイして、不具合がないか確認しなければなりません。これをAIで自動化するのが研究の狙いです。

ゲーム内では、AIが武器を取得したり、ステージ攻略に必要なギミックを作動させたり、敵を倒したりするたびに異なる数値の報酬が与えられます。なお、敵オブジェクトの検出にはレイキャストを用いています。手始めにプリセットのアルゴリズムを使ってデモデータなしで3日間学習させたところ、最初の報酬である武器の取得にすら到達できなかったといいます。また、プリセットに搭載されている教師あり学習と逆強化学習を利用した模倣学習を利用してもでもクリアには至らなかったようです。

そこでDQNに模倣学習を組み合わせた手法「DQfD(Deep Q-Learning from Demonstrations)」を採用。これはデモデータと過去の自分の行動の両方をサンプルとして学習させるアルゴリズムです。まず、お手本となる人間のデモプレイをもとに100万ステップの事前学習を実行しました。また、デモデータにおける行動を優先するようにlossを設定することで、人間によるテストプレイの動きをある程度再現しています。セッションにて公開された検証映像では、制限時間として設定された10分以内にAIが見事にボス戦を含めたサンプルステージを攻略できました。

模倣学習を使ったアプローチの最大の利点は、近年の3Dアクションゲームで顕著に見られる広大なマップを正しい手順で攻略できることです。完全なランダム行動では報酬が得られないような状況に柔軟に対応でき、探索数の削減により学習時間も大幅に短縮できます。また、キー操作の完全なコピーではないので、動く敵などのランダム要素や遅延にも強いといいます。さらに、数回のデバッグプレイをスケール化することも可能で、再現性の低いバグの検出にも役立つそうです。

一方で、大幅な仕様変更のたびにデモデータを作り直さなければならないという大きなデメリットもあります。変更の頻度によっては、デモデータの作成自体が困難になることも想定されるでしょう。そこで次に検証されたのが、デモプレイを一切使用しない階層型強化学習によるアプローチです。

AIは3Dアクションゲームを独学で覚えられるか

初期の検証にて、模倣なし学習で最初の報酬にすらたどり着けなかった原因は、ランダムな行動を繰り返すにはステージがあまりに広すぎることや、最初の報酬となる武器の位置が遠すぎるからでした。現実的な学習コストでクリアを目指すには、どうしても状況にある程度適したゲームプレイが求められます。

階層型強化学習は、意思決定を下位方策と上位方策に分けるアルゴリズムで、下位方策がキャラクターの移動や攻撃といったプリミティブな行動の選択を担うのに対して、上位方策はサブタスクとなる下位方策の選択を担当します。下位方策を使い回せるため汎化性能が高く、プロジェクトの仕様変更にも柔軟に対応できるという利点があります。

今回の検証では、「ナビゲーションモジュール」と「攻撃方策」という独立性の高いサブモジュールを用意。前者にはナビゲーションメッシュを利用したパス検索によるステージ内の移動を学習させ、後者には一定間隔でランダムな箇所に出現するオブジェクトを使って攻撃を学習させています。このように専用のタスクを個別に学習した各モジュールを上位の「ステージ方策」が状況にあわせて使い分けることで、ゲームクリアにつながる行動だけを選択してステージを探索できるという仕組みです。

このようなデモデータを使用しない学習には、現実的な学習コストで広大なマップを探索できることに加えて、デモデータの作成なしで再学習できるため継続的インテグレーションと連携できるという大きな利点があります。ゲーム固有の機能別にエンジニアリングを要するというデメリットはあるものの、実用化できれば完全な自動デバッグの実現も期待できそうです。しかし、現状では制限時間内のステージクリアは難しく、実際のゲーム開発に役立つAIへ成長するまでの道のりはまだまだ険しい印象を受けました。

格闘ゲームでAIにいろんな戦い方を教える方法

セッションの後半では、格闘ゲームを学習させたAIを使って人間相手に接待プレイは可能かどうかが検証されました。AIが人間の良き遊び相手になれない最大の理由は、強化学習によって対戦ゲームをマスターしたAIがほとんどの人間プレイヤーにとって強すぎるからです。このセッションでは、相手を楽しませることを接待プレイと定義しています。これは初心者から上級者まで幅広いプレイヤーを相手に、自分より格下だと思わせない強さで戦えて、かつ自然な方法で手加減することで白熱した試合が演出できるAIを意味します。

今回の検証には、UE4で作成された「Fighting Games Template Project」という、読んで字の如く2D格闘ゲームのテンプレートプロジェクトが使用されています。UE4にはUnityのように学習用のプラグインは存在しないため、PythonがTCPでUE4のゲームと通信する構成を自前で用意したということです。AIの学習はすべてPython側で処理しているほか、学習時間を短縮するために分散学習を行っているとのことでした。

強化学習で格闘ゲームに強いAIを作る際の問題点として、学習時の対戦相手によって学習結果に差が生まれることが挙げられます。例えば、下段蹴りを多用する相手に対しては下段ガードや飛び蹴りを多用する戦い方を学習しやすく、投げを多用する相手の場合は投げ抜けしやすいように同じく投げを多用したり、距離をとったりするような戦い方を学習しやすいとのこと。そのため、対戦相手が対抗策を講じれば一切勝てなくなってしまいます。

もうひとつの問題点は、報酬の与え方によって戦い方に差が生まれることです。例えば、時間経過にペナルティを課した場合、早く決着をつけようと攻撃的な戦い方を学習しやすく、攻撃の空振りにペナルティを課した場合、確実に攻撃をヒットさせようとカウンター重視の戦い方を学習しやすくなってしまいます。どのスタイルを採用するべきかという課題です。

前者の問題は、複数の戦い方を同時に学習することで、自己対戦における対戦相手を一般化するという手法で解決しています。例えば、攻撃型と防御型といった報酬設計が異なる複数のエージェントを用意し、それぞれランダムに行動するAIと平行して戦わせます。この対戦を繰り返してエージェントがある程度まで強くなったら、今度はそれらを対戦候補としてリストに追加します。次に対戦相手として選ばれるのは、攻撃型か防御型どちらかを学習した過去の自分自身です。このループを繰り返すことで、特定のスタイルに縛られない強いAIを育成できるというわけです。

今度は、このように自己対戦によって作成したエージェントを下位方策と定義し、それらを状況にあわせて使い分けるよう上位方策となるエージェントに学習させます。攻撃型や防御型といった下位方策が兵士だとすれば、上位方策は彼らに命令を下す軍師のような存在です。下位方策がフレーム単位でパンチやキックといった行動を決定し、上位方策は秒単位で攻撃型や防御型といった戦略を決定します。こうした戦略の統合によって、後者の問題を解決しています。

プレイヤーの腕前に合わせて手加減してくれるAI

ここまでの検証で十分に強いAIは完成しました。このAIに手加減という行為を学習させるのが本題です。これには3つの方法が考案されています。まず、もっともシンプルで確実な効果が得られるのが、AIの反応速度を遅らせることです。AIにゲーム情報を与えるまでの時間を遅延させることで、AIは理想的なタイミングで攻撃や防御を行えなくなります。学習済みのニューラルネットワークに手を加える必要がないという利点もあります。

次に、下位方策の性能を落とすという方法が挙げられます。下位方策に上記の学習過程のようなニューラルネットワークを用いた場合、学習途中のエージェントを順次保存することで手加減の際に利用します。下位方策にルールベースAIを採用した場合、手加減時に使用するルールベースAIそのものを変更するだけで済みます。こうすることで各々の下位方策による行動が最適化できず、結果としてAIが弱体化するというわけです。

最後の手法は、司令塔である上位方策の性能を落とすことです。ここではWANN(Weight Agnostic Neural Networkの略)というアルゴリズムを利用しています。「重みを無視できるニューラルネットワーク」という名前のとおり、ニューラルネットワークの構造のみを変化させることで学習させる手法です。これにより、重みひとつで戦略の最適度をリアルタイムで連続的に制御できるようになります。結果、大局的な戦略においてAIは弱体化します。

今回の手法における最大のメリットは、カスタマイズ性の高さだといいます。学習後に調整が可能で、防御が苦手といった特定の弱点を作りやすいことから、ゲーム開発者の意図を反映させる余地が残されています。また、上位方策がランダムになっても、下位方策は経験から最適な行動を取ろうとするため、手加減がプレイヤーに伝わるほど不自然な動きになり辛いということでした。なお、上位方策や下位方策はルールベースにも置き換えられます。

共同研究者の岡島氏を相手にした接待プレイのデモンストレーションでは、お互いの体力差が可能な限り少なくなるよう見事に立ち回るAIが披露されました。序盤はAIの手加減を少なめに調整することで手強い相手を演出し、終盤になるほど多めに手加減することで人間側が勝ちやすいように戦ってくれます。なお、上位方策の性能に関してはプレイヤーの体力のみを参照して、接待相手がピンチになるほど性能を落とすように設計したということです。

今後の課題として、下位方策の組み合わせによってAIの性格を表現する方法を模索したいとのこと。また、より幅広いプレイヤーの接待に対応するためには、さらに強いAIを作成する必要があります。加えて、複数のニューラルネットワークを組み合わせた構成では学習コストが高くなってしまうので、分散学習以外の方法による学習時間の短縮も考えているそうです。もっとも重要なのは、本当の意味で接待プレイと呼べるようになるにはまだまだ検証が足りないということです。世がコロナ禍という状況になければ、多くの人にプレイしてもらい、統計データを取りたかったということでした。

AI技術が大衆化する将来を見据えて

今回、モリカトロンは3Dアクションゲームを通しプレイできるAIと、格闘ゲームを手加減しながらプレイできるAIの開発をとおして、AI技術を実際のゲーム開発に役立てる上で埋めるべき溝について検証しました。研究に使われたUnityとUE4は大企業からインディーズまで誰でも利用でき、開発規模に関わらず多くのゲームに使用されています。

まだ学習コストやアルゴリズムに改良の余地はあるとはいえ、モリカトロンの研究は最近の商用ゲームに近い環境でAI技術が役に立つ可能性を示しています。また、同社が使用したマシンは、Intel core i9-9900K 3.6GHz(64GB)のCPUに、NVIDIA TITAN RTX(24GB)のGPUと、大企業でなくとも十分負担できるスペックに収まっています。

ゲームの外側におけるAI技術の活用は、例年のCEDECで多くの企業が研究課題に選んでいる次世代への大きな一歩です。いまや誰もが汎用的なゲームエンジンを手に、個人規模でもゲーム開発を行える時代。これまで政府や大企業が莫大な予算を投入して発展させてきたAI技術が、近い将来にはゲームエンジン同様にもっと身近なツールとして広く普及するかもしれません。モリカトロンによる検証のような試みは、そうしたAI技術の大衆化を加速させる原動力ともいえるでしょう。

Writer:Ritsuko Kawai / 河合律子

RELATED ARTICLE関連記事

マイクロソフト・リサーチが開発したゲームAIリソースコレクション

2021.4.26ゲーム

マイクロソフト・リサーチが開発したゲームAIリソースコレクション

【CEDEC2020】AIによるデバッグの自動化はどこまで進んでいるのか?

2020.10.05ゲーム

【CEDEC2020】AIによるデバッグの自動化はどこまで進んでいるのか?

【CEDEC2019】DeNAのゲームAI開発に見る”AIを活かす組織”とは?

2019.10.24ゲーム

【CEDEC2019】DeNAのゲームAI開発に見る"AIを活かす組織"とは?

RANKING注目の記事はこちら