Cygames Research研究日誌 #6 ~当研究所におけるAI研究最前線~
サイマガ読者のみなさま、こんにちは。 Cygames Research所長の倉林 修一です。Cygames Researchとは、最高のコンテンツを生み出すためにサイゲームスが設立した基礎技術研究所で、この連載記事では、当研究所での研究成果や活動をご紹介しています。
前回の連載第5回では、スウェーデンのSkövde(シェブデ)大学との共同研究と、留学生受け入れを通じた内なるグローバル化についてお話しさせていただきました。最高のコンテンツを作りたい、面白いゲームを作りたい、という共通の想いがあれば、さまざまな国の人々と生産的な連携ができるという事例をご紹介できたのではないかと思います。
さて、季節も晩秋になり、すっかり涼しくなりましたね。昨年までは、お洒落な格好の学生の方々を大学のキャンパスでたくさんお見かけしたので、ファッションの秋を実感できたものでした。毎年のトレンドの変化を学生諸君から学んで、自分の服装にも活かそうとしていたことを懐かしく感じます。このコロナ禍では、キャンパスも閑散としていて寂しい限りです。寂しいだけでなく、ファッションの流行すらキャッチアップできなくなってしまいました。もしかしたら、私はレトロな服装でオンライン講義をしているのかもしれません。ちょっと心配です。
流行を絶え間なくキャッチアップしていくことは、ファッションの世界では大変重要なものですが、実は、技術の世界にもその時々の流行というものがあり、トレンドを押さえた技術開発が要求されます。例えば、ここ数年読者のみなさまも色々なところで、“AI(Artificial Intelligence=人工知能)”とか“深層学習(ディープラーニング)”、 “機械学習(マシンラーニング)”というキーワードを聞く機会が増えたのではないでしょうか。この「AI」こそ、昨今の技術研究の流行のメインストリームにいる技術なのです。今回の第6回は、当研究所におけるAI研究の最前線についてご紹介いたしましょう。少しテクニカル話も出てきますが、可能な限りわかりやすく書きますので、ぜひお付き合いくださいませ。
最近のAI研究はビッグデータを活用
AI という言葉は、さまざまな文脈で使われている言葉でもあるので、実は困ったことに、専門家の間でも共通して受け入れられるような明確な定義がありません。例えばゲームとAIの関わり方として、ノン・プレイヤー・キャラクター(NPC)を制御したりゲーム全体の演出を制御したりする「ゲームAI」と呼ばれる技術分野がありますが、このゲームAIと昨今流行の「AI」とは、実は異なる技術だったりします。もちろんゲームAIも1つの立派なAIではあるのですが、今流行のAIが基盤とする、大規模なデータからモデルを抽出する技術と、ゲームAIとは独立した別系統の技術なのです。この記事では、AIを「大量のデータからモデルを抽出し、それらのモデルを用いて高度な推論処理を行うもの」と定義させてください。
AI技術、特に深層学習をベースにしたAI技術の面白い点は、大量のデータからそれらのデータに共通する特徴を学び取ることができる点です。このような、共通の特徴を機械が自動的に学び取って出力するものを「モデル」と呼びます。また、このモデルを使って未だ学習していない新規のデータを対象に、何らかの処理をすることを「推論」と呼びます。 例えば、動物の画像とその名前を大量に読み込んで動物の分類方法を学習すると、「動物画像分類モデル」が出来上がります。このモデルを使って、別の写真に写っている動物を推論すると、動物の分類名が出力されるという流れです。
このようにAIとは、大量のデータから学習してモデルを生成し、そのモデルを使って学習した知識を再現するというものです。
ゲームのデバッグに用いられるAI
「Similar-AI」が実現する数千人規模のデバッグ
ゲームにおけるAIの使い所はたくさんあります。例えば、連載第1回でもご紹介した当社のバーチャルパッドKineticsのようなユーザーのみなさまが直接触れる箇所から、ゲームの開発プロセス内部まで、幅広くAIが使われています。ゲームの開発プロセス内部で使われるAIの代表的なものは、不具合の検出と修正(デバッグ)のためのAIではないでしょうか。当研究の研究成果であり、既に社内のさまざまなゲームタイトルに使われている「Similar-AI(シミラーエーアイ)」もデバッグのためのAI技術です。
このSimilar-AIは、数千台の仮想スマートフォンと、その仮想スマートフォンを使って開発中のゲームをプレイするAIテストプレイヤーを、ボタン1つでクラウド上に構築できるというものです。さらに、プレイ中に見つけたゲームの不具合や詳細な操作履歴を、網羅的にクラウド上のデータベースに記録しておき、その記録したデータをAIに学習させるという仕組みも持っています。つまり、数千人相当のAIテストプレイヤーが、24時間365日、休みなく当社のゲームをプレイし続け、レアケースとなるような不具合すら見つけ出してエンジニアのみなさんにレポートしているのです。当社では、このようなデバッグ手法を、継続的デバッグ(Continuous DeBugging, CDB)と呼んでいます。
当社のとあるプロジェクトのエンジニアは、毎朝出勤すると、Similar-AIから「昨日のプログラムには〇件の不具合がありました。詳細はこちらです」というようなメッセージを受け取って、昨日の自分が作成したプログラムの品質を確認しています。
もしも、このような継続的デバッグの作業を人間が行うとすると、単純計算で24時間のデバッグ業務を8時間交代の3人で担当するとして、最小構成のSimilar-AIと同じ規模のデバッグをするにしても、3000人以上ものテストプレイヤーが必要になってしまいます。AIにデバッグさせるメリットはとても大きいのです。
AIが駆動する継続的デバッグの利点は、単に自動化されていることだけではありません。毎日のゲーム開発のプロセスの中に、ゲームを作りながらの「並行的デバッグ」を埋め込むことができる点も、大きなメリットです。人に依頼するのではなく、機械が自律的にデバッグを行ってくれるので、ちょっとプログラムに自信がないときでも気軽にデバッグを行えます。結果として不具合を早期に解消できる上に、プロジェクト全体でどの程度の数の不具合があるかを、毎日の網羅的なデバッグで定量的に把握できるのです。
AIなら気軽に頼めるというのは、地味なようで無視できないメリットです。「とりあえず書いただけのプログラムだから、きっとバグがあるけどテストしてみて」と人間に頼むのは、それが仕事であっても少し遠慮してしまいますよね。そんなお願いを毎日繰り返していたら、人間関係がギクシャクしてしまうかもしれません。しかも、Similar-AIと同規模のデバッグをお願いするということは、毎日3000人に、「とりあえずやってみてよ、徹夜で」とお願いすることになるので、人間相手では厳しいと言わざるを得ません。一方で相手がAIなら、「多分バグがあるから、私が寝ている間に見つけておいて」という場合でも、気軽に「Similar-AIを実行する」ボタンをクリックできるわけです。機械だからこそお願いできることがあるのです。
感性が必要な部分は人間に
人間とAIの分業の大切さ
一方で、AIによるデバッグはまだ研究過程にあり、人間による高品質なデバッグには及ばないところがあります。ゲームの面白さ、手触り、グラフィックの品質など、人間の感性が要求される部分は、まだまだAIの手には負えません。AIは単純な不具合を網羅的に検証するような部分を担当し、人間は人間にしか判断できない部分を担当する、という分業が大切です。Similar-AIが存在する理由は「人間が、人間にしかできないことに集中できるようにする」ためです。ゲームという人間が楽しむための製品を作り上げるには、同じく人間の力が必要不可欠であり、AIはその人間のお手伝いをする雑用係なのです。このように人間とAIとの協働が重要であることが世界的にも知られており、“Human-In-The-Loop”というキーワードで、人間との連携をAIの学習プロセスに取り込む研究も盛んに進められています。当研究所でも下記の図のように、AIを研究・開発するときは常に人間との連携をプロセスの中に組み込んでいます。今後はデバッグだけでなく、ゲームバランスの調整にもAIを適用するために、さまざまな研究を進めていきます。
さて、今回は当研究所におけるAI研究と、その実用化の最前線をご紹介させていただきました。今日ご紹介した技術は、IEEE International Conference on Cloud Computing (IEEE CLOUD) というクラウドコンピューティング技術に関する国際会議や、GDCという世界的なゲーム開発者の会議にて発表しています。さらに詳しい内容にご興味があれば、ぜひ、下記をご覧ください。
- Shuichi Kurabayashi, “Lambda Containers: A Comprehensive Anti-Tamper Framework for Games by Simulating Client Behavior in a Cloud,” In Proceedings of the 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), pages 598-605, San Francisco, CA, USA, July 2-7, 2018, DOI: https://doi.org/10.1109/CLOUD.2018.00083.
- Shuichi Kurabayashi, “AI-Driven QA: Simulating Massively Multiplayer Behavior for Debugging Games,” Game Developers Conference 2018 (GDC), Informa PLC, San Francisco, CA, USA, 2018, https://www.gdcvault.com/play/1025406/AI-Driven-QA-Simulating-Massively.
手前味噌にはなりますが、このように論文執筆を通じて技術を体系化し、実用的で拡張性の高いシステムを開発現場に提供しているケースはなかなか珍しいのではないかと思います。
次回は、このような研究成果を継続的に生み出す研究所運営の秘訣として、内閣府の「イノベーション人材の流動化に係る要因調査」会議において当社から発表した内容をご紹介したいと思います。お楽しみに。