ゲーム「Candy Crush」のテストプレイヤーはAI:AIがゲームをテスト
Candy Crushのテストプレイを担当しているのは、TensorFlowで学習させた仮想プレイヤーだった。開発からその導入効果までをKingに聞いた。
パズルゲーム「Candy Crush」を開発しているKingは、人間のゲーマーを模倣してリリースサイクル短縮を実現した。
同社はDeepMind(2014年にGoogleによって買収された)の「AlphaGo」に使われたディープラーニングアルゴリズムにヒントを得て、TensorFlowを使ってゲームプレイヤーのシミュレーションを構築している。
Kingのチームは、AlphaGoに使われた技法の一つをTensorFlowでCandy Crushに応用できるかどうかを判断したいと考えていた。だが、なぜこのゲームのシミュレーションを行う必要があるのか。
KingのAIエンジニアを務めるアレックス・ノーデ氏は次のように話す。「同じレベルのゲームをプレイヤーに20回プレイさせ、レポートを作成するのが当社の慣習だ。これには約1週間かかる。当社は新しいレベルを週に15レベルリリースできるようにしたいと考えていた」
テストできるレベルの数が増えれば、リリースできるレベル数も増える。だが、ゲームプレイのテストは人手で行われていた。つまり、プレイの速度は遅かった。
この課題に取り組むために、TensorFlowを利用した機械学習アプリケーションを開発する研究プロジェクトを3年前に始動した。このアプリケーションの目的は、Candy Crushの新規レベルのプレイ難易度を調査するために、シミュレーションを実行するbotの実現可能性をテストすることだとノーデ氏は話す。
解決すべき問題を把握し、教師あり学習を利用してTensorFlowによるCandy Crushプレイヤーの機械学習モデルを作成するのに約6カ月かかった。
「本物のプレイヤーに近づけるためにかなりの実験を行い、本物のプレイヤーを生み出すためにアーキテクチャを変更した。目的に合わせてモデルをどこに活用できるかを見極めるため、モデルを約20回繰り返す必要があった」(ノーデ氏)
関連記事
- AIがスクリプトを生成するコードレスなアプリテスト自動化ツール登場
- 「AIは物理学を理解するのではない。パターンを理解する」が持つ重大な意味
- 地盤沈下する日本の道路を守る切り札はAI
- AIの拡大で増大するカスタムハードウェア需要
- Google、Microsoft、Facebookのディープラーニングフレームワーク
ノーデ氏の経験では、機械学習プロジェクトで最も時間を費やしたのは機械学習モデルを微調整することではなかったという。最も難しかったのは、データを適切なフォーマットに取り込み、使用可能な状態に変換することだったという。
Kingは、新しいディープラーニング学習モデルの開発で費やした時間と労力の大半が、データクレンジング、データラベリング、データマーシャリング関連の作業だったという。
だが、データのトレーニングは演算の一部でしかない。「トレーニングする機械学習モデルを用意して学習させることは、仕事の半分にすぎない」と話すのは、Kingの機械学習エンジニアを務めるフィリップ・アイゼン氏だ。
アイゼン氏によると、運用環境で機械学習がどのように動作するかも検討する必要があるという。機械学習データは、モデルのパフォーマンス全体に大きな影響を及ぼし得る要素になるためだ。「こうした検討は、ネットワークアーキテクチャやトレーニングアルゴリズムと同様、最優先に行わなければならない」と同氏は話す。
Kingのチームは「Google Cloud Deployment Manager」を使って「Google Kubernetes Engine」ワークロードを導入し、機械学習モデルでトレーニングした何百もの仮想プレイヤーを作成した。ノーデ氏は次のように話す。「当社のスケーリング能力は十分に動的とはいえなかった。この問題は、Google Kubernetes Engineによって解決された。AIアプリケーションの開発時は『Google Cloud Machine Learning Engine』も優れた補完役を果たした」
結果データは、Googleのパブリッククラウド向けメッセージングミドルウェアである「Cloud Pub/Sub」を利用してKingのデータ分析モジュールに戻される。これによりフィードバックループが生まれる。Kingはしっかりとしたデータ基盤を土台に、新しいレベルが簡単過ぎたり難し過ぎたりしないようにゲームのデザインを最適化できる。
「当社は、誰もが使いたいと考える運用規模のサポートツールにプロトタイプを転換できている」(ノーデ氏)
ノーデ氏によると、機械学習を使って「Google Cloud Platform」でスケーリングしたことで、Candy Crushの新しいレベルへのフィードバックをわずか5分で集められるようになったという。
Copyright © ITmedia, Inc. All Rights Reserved.