第2回 SHIBUYA SYNAPSE

先端AI技術を活用した
新たな価値あるサービス共創を目指して

イベント開催 Report02

2017年11月23日(木)にDeNA本社Sakura Cafeにて、「先端AI技術を活用した新たな価値あるサービスの共創」をテーマにしたイベント「SHIBUYA SYNAPSE」が開催されました。

第2回となる今回は「ゲームとAI」をテーマに、ゲームAIのこれまでの歴史や今後のAI技術の活用事例について、様々な紹介が行われました。
会場にはAI技術に関わるエンジニア・研究者やゲーム業界のビジネス担当者など、総勢80名の方が参加し、盛況のうちに開催することが出来ました。

セッション1
ゲームAIのこれから
〜ゲーム開発工程における人工知能「ゲームの外のAI」の促進に向けて〜

まずは、長年ゲームAI研究に携わってきたスクウェア・エニックス株式会社の三宅陽一郎氏より、これまでゲームAIが歩んできた歴史を事例を交えて俯瞰しながらお話いただき、現在広がりをみせつつある「ゲームの外側のAI」についてご講演いただきました。続けて眞鍋和子氏より、実際の取り組み事例として、アプリタイトル『グリムノーツ』における研究開発の紹介が行われました。

SPEAKER

三宅陽一郎

株式会社スクウェア・エニックス テクノロジー推進部 リードAIリサーチャー

京都大学で数学を専攻、大阪大学(物理学修士)、東京大学工学系研究科博士課程を経てデジタルゲームにおける人工知能の開発・研究に従事。IGDA日本ゲームAI専門部会設立(チェア)、DiGRA JAPAN 理事、芸術科学会理事、人工知能学会編集委員。
共著『デジタルゲームの教科書』『デジタルゲームの技術』『絵でわかる人工知能』(SBCr)、著書『人工知能のための哲学塾』(BNN新社)、『なぜ人工知能は人間と会話ができるのか』(マイナビ出版)『人工知能の作り方』(技術評論社)『はじめてのゲームAI』(WEB+DB PRESS Vol.68、技術評論社)。翻訳監修『ゲームプログラマのためのC++』『C++のためのAPIデザイン』(SBCr)、監修『最強囲碁AI アルファ碁 解体新書』(翔泳社)。

SPEAKER

眞鍋和子

株式会社スクウェア・エニックス テクノロジー推進部 AIエンジニア

情報工学専攻(修士)。
コンシューマ系ゲーム開発、ツールプログラマを経て、スクウェア・エニックスのAIユニットに合流。
現在は、AIによる自動QA・バランス調整に関する研究に従事。

ゲームAIのこれまで

そもそも、ゲーム業界において「AI」という言葉は、キャラクターやゲーム環境を制御する人工的な知能として古くから使われてきました。ゲーム内で、キャラクターや環境を制御するAIのことをここでは「ゲームの中のAI」と呼びます。このAIは大きく3つの要素から構成され、それらが連携することで、複雑なゲーム環境においてリアルな表現が可能になっているのです。

1. キャラクターAI
キャラクターAIとは、キャラクターが自律的に思考できるようになるための仕組みのことです。複雑なゲーム環境では、ゲーム内に登場するキャラクター自身が、状況を判断し、目的に対して自然な振る舞いをすることが求められてきます。こうしたキャラクターによる意思決定の手法は、判断の基準となる基本要素別に、ルールベース・ステートベース・ビヘイビアベース・ゴールベース・タスクベース・ユーティリティベース、など実に様々な形で開発されてきました。

このようなキャラクターAIの開発には、機械学習が使われるものも少なくありません。 例えば『Black & White』(2001) というゲームでは、ニューラルネットワークによってクリーチャーを訓練させ、より複雑な行動を取れるように育てていくことを可能にしています。格闘ゲーム『Tao Feng』(2003) では、強化学習を用いることで、敵キャラクターが徐々に攻撃を避けやすくなったりするUXが実現されていました。

2. ナビゲーションAI
ゲーム内でキャラクターが移動する空間が広大になると、移動経路もAIで制御する必要が出てきます。この移動経路の推論に使われるのがナビゲーションAIです。ゲームマップに定義されたナビゲーションメッシュ上を探索する通常のパス検索の他、キャラクターの特性や戦闘状況に合わせて経路を変更するアルゴリズムも考案されてきました。

3. メタAI
キャラクター以外にも、ストーリーやマップといった要素の制御にもAIは使われています。『Left 4 Dead』(2008) というゲームでは、ユーザーがリラックスしている状態の時には多くの敵を配置したり、プレイヤーの進路を予測して事前に導線上に敵を生成したりといった制御がされています。このように、ゲームAIはキャラクターだけでなく、ゲーム環境にも積極的に干渉するようになりました。

「ゲームの外のAI」とゲーム会社を超えたコラボレーションの可能性とは

こうした「ゲームの中のAI」の発展とともに、新たな課題も浮き彫りになっています。キャラクターやゲーム環境がより自律的にダイナミックに自動制御されるようになると、複雑さに応じてデバッグがしにくくなってしまうのです。この問題に対応するために、キャラクター行動の分析や可視化、さらには行動のバランスを自動的に制御する仕組みに対するニーズも強くなります。こうしたゲーム外で、分析や制御を行うAIをここでは「ゲームの外のAI」と呼びます。

一方で、安定してゲームの品質を担保する技術的取り組みは、まだ数が少ないのが現状です。「ゲームの外のAI」は、ゲームの細部まで入り込む必要がないためゲーム会社としても他社やアカデミアと連携しやすく、研究領域が立ち上がったばかりで多くのプレイヤーの参加が必要とされています。今後は業界の垣根を超えて、「ゲームの外のAI」で、様々な機械学習の技術連携が進んでいってほしいと思っています。

グリムノーツによる実例紹介

続いて、三宅氏の「ゲームの外のAI」の説明を受けて、アプリタイトル『グリムノーツ』における機械学習の適用事例について眞鍋氏にご紹介いただきました。

『グリムノーツ』はプレイヤーがパーティーを編成し、スキルや装備の組み合わせによって敵を倒すリアルタイムアクションバトルです。パーティー編成の際には、主人公・ヒーロー・装備・強化アイテムを選ぶことで様々な戦い方が可能となっていますが、ヒーローや装備の数は多く毎月新たに追加されるため、組み合わせの数は膨大です。このようなゲーム環境で、バランスブレイカーとなる組み合わせがないかを人力で確認するのは現実的ではないでしょう。
そこで私は、人間の代わりに編成・ゲームプレイを行うプレイヤーエージェントを作ることでこの問題を解決しようとしています。パーティー編成には遺伝的アルゴリズムを用い、バトルでいい結果が出せる組み合わせを探索します。このようにして編成を続けたエージェントは世代を重ねるごとに成長し、各遺伝子を分析することで、どの編成要素が勝敗に寄与したのか判断することが可能になってきています。

とはいえまだ解決するべき研究課題はあります。例えば、高難易度バトルにおいて、バトル時のランダム要素に強く依存してしまったり、細い勝ち筋が継承されにくい、という課題が見えており、今後の改善に向けて研究開発を続けています。

セッション2
強化学習技術とゲームAI〜今できる事と今後できて欲しい事〜

続いて株式会社ディー・エヌ・エーの甲野から、よりアカデミックな立場からゲームAIを俯瞰する講演が行われました。2016年にDeepMind社による囲碁プログラム「AlphaGo」が人間のプロプレイヤーに勝利したニュースは記憶に新しいですが、その背景にどのようなAI技術(特に強化学習)の発展があったのかのでしょうか、また今後AI技術はゲームに対してどのように発展していくのでしょうか。

SPEAKER

甲野佑

株式会社ディー・エヌ・エー AIシステム部AI研究開発グループ AI研究開発エンジニア

博士 (情報学)。2017年4月に中途入社。前職では大学でヒトの意思決定傾向や脳における行動の習慣/階層化過程を組み合わせた強化学習モデルの基礎研究を行っていた。入社以来ゲームAI開発に携わっており、学習アーキテクチャ全体の設計と強化学習アルゴリズムの開発などに従事している。

過去様々なゲームにおいてAIが人間のパフォーマンスを超えてきましたが、この流れは2014頃を境に風向きが変わっています。2010年代前半までのゲームAIは、ゲームがどのように展開していくかを有向グラフで探索するのが主流でした。この手法では、探索によって強い行動を取ることはできますが、完全なゲーム展開の知識が必要になっている、という点が課題になっていました。

視覚の獲得から記憶の獲得へ

この状況を変えたのがDQN(Deep Q-learning)の登場です。これは大まかには、畳み込みニューラルネットワークを使った「画像認識技術」と「強化学習技術」の融合とみることができます。強化学習は、主体的に環境に働きかけることで、獲得報酬を最大化する行動を自律的に学ぶことができる学習手法のことです。その強化学習が、"視覚"(画像認識技術)を獲得することで、ゲームの知識を使うことなく、ゲーム画面と報酬から直接学習できるようになったのです。このようにして、ブロック崩しやスペースインベーダーといったレトロゲームで人間のパフォーマンスを超えることが可能になりました。

一方で、"視覚"を獲得してゲーム画面が俯瞰できるようになったということは、裏を返せばゲーム画面の外にある情報が扱えない、という課題もあります。例えば3D迷路のような一人称視点のゲームでは、視野以外の情報や過去の行動履歴を使わないと解くことはできません。そこで登場したのがA3C(Asynchronous Advantage Actor-Critic)というアルゴリズムです。このアルゴリズムでは、並列処理によって時系列情報を扱う技術が導入されており、いわば短中期的な"記憶"を扱えるようになりました。3D迷路などの一人称視点ゲームはこの技術の登場によって解けるようになってきてる現状です。

AlphaGoの登場とより複雑なゲームに対する課題

"視覚"と"記憶"を獲得した強化学習ですが、記憶を含めて見えていないことまでは学習できません。例えば戦略的な対戦ゲームでは、自分以外の「相手」を仮定する必要があり、相手の取りうる戦略は様々でAIには見えない、という自分が知らないことに対応しないといけない問題が生じるのです。

「AlphaGO」はこのような背景のもと誕生しました。ゲーム理論を援用すれば、戦略が複数ある場合でも、様々な戦略を平均化した戦略を考えることで、この平均戦略に対して強い自分を作ることが可能になります。「AlphaGO」では、膨大な「過去の自分」を平均化した存在に対してより強くなるように強化学習を行うことで、どこに打つのが良いかを数値的に評価することができるようになりました。また、数値化された評価関数を使って、ゲーム木の展開(先読み)を行うことも大きな特徴となり、プロプレイヤーに勝つまでに至りました。

レトロゲームや囲碁が強化学習によって攻略された今、取り組むべき課題はなんでしょうか。現在の最新の研究では『DoTA II』や『Star Craft II』といった行動空間や状態空間が膨大、かつゲーム状態が不完全なタスクにおいて、AIの意思決定が研究されています。これらのゲームを解くためには、階層的な長期戦略の組み立てや、探索の効率化が必須となります。さらに、不完全な情報下での意思決定や複数エージェントの制御、といった理論上未解決な課題もあり、多くの研究者の注目を集めている領域です。

今後は、計算リソースだけでは解決できない理論的な発展が必要があるでしょう。例えば、エージェント内部に環境のシミュレーション機能を持たせて"熟慮"を再現したり、目的意識を持たせて行動を抽象化したりする技術の発展が待たれます。ゲーム環境は、エージェントが自由に試行錯誤することができる、という意味で理想的な実験環境です。これから、よりゲームと強化学習の関係は近づいていくと思われます。

セッション3
将棋プログラムPonanzaにおける強化学習とディープラーニングの応用

続いて、HEROZ株式会社 大渡氏の講演が行われました。大渡氏は、2013年にプロ棋士に勝利した将棋プログラム「Ponanza」の開発に携わっており、将棋プログラムにおける深層学習・強化学習の使われ方についてノウハウを共有していただきました。

SPEAKER

大渡勝己

HEROZ株式会社 エンジニア

東京大学大学院総合文化研究科修了。学生時代よりゲームに勝つためのAI研究に取り組む傍ら、10種類以上のゲームAI大会に参加し研究と実装の両面でゲームAIに携わる。第35回、第37回情報処理学会ゲーム情報学研究会若手奨励賞、第21回ゲームプログラミングワークショップ優秀論文賞受賞。UECコンピュータ大貧民大会3連覇、他デジタルカーリング大会等の優勝経験あり。現在は将棋プログラムPonanzaのプログラマを務める。

これまでの将棋プログラムで使われていた強化学習

そもそも将棋プログラムでは、従来より「ミニマックス法」と呼ばれる探索手法が主流となっています。これは、相手の手番では(プレイヤーにとって)最も悪い手を選び、プレイヤーの手番では(プレイヤーにとって)最も良い手を選ぶ、という選択を繰り返し、最終的に価値が最大となる手を打つ、というアルゴリズムです。各盤面の評価を上手く数値化することができれば、この探索によって最善手を打ち続けることが可能になるのです。そこで、各盤面を数値的に評価する方法が問題となってきます。

将棋の盤面を評価するには、将棋プログラムBonanzaで使われた「玉を含む3駒の関係」によって勝率を予測する方法が使われています。ただし、この手法ではパラメータの数が数千万にも及び、とても人間が調整するのは不可能です。おまけに、プロ棋士の棋譜は数百万局面程度とパラメータの数には遠くおよばないため、機械学習を使っても最適な評価値を得ることはできません。

ここで登場するのが強化学習です。強化学習では、AIの試行錯誤によって様々な局面が作り出されるため、生成された局面を新たな教師データとして使うことが可能になるのです。実際、上位のプログラムは一度の学習で100億局面程度のデータを生成しているとのことでした。これだけ多くの棋譜があれば、AIは人間が気づかなかったような新戦略にも気づくことができます。今はAIが新手を生み出し、それを人間が真似る時代になっているのです。

最新の将棋プログラムPonanzaで使われている深層学習技術

最新のPonanzaでは、強化学習に加えて深層学習技術も積極的に活用しています。これまでの将棋プログラムは、1秒間に数百万に及ぶ局面を先読みで行動を選択していました。いわば理詰めで判断する「大人の知能」に例えられます。一方で、ニューラルネットワークは多くの局面を読むことはできませんが、鋭い感性のようなものを表現することが可能で「子供の知能」とでも例えられる能力を持っています。「大人の知能」で理詰めの判断を行い、合わせて直感に頼る「子供の知能」を組み合わせることで、Ponanzaはより強力になっているのです。

従来の探索にニューラルネットワークを導入する効果は絶大です。例えば、ニューラルネットワークは着手確率を計算することができるため「その手がどの程度確度の高い判断か」を評価することができます。従来の探索手法では手の相対的な価値を使うことが多く、このような絶対評価は使われていませんでした。この性質によって、探索を効率化することが可能になりました。他にも、計算リソースを効率的に使うアーキテクチャを設計することで、ニューラルネットワークの性能を最大限活用するなど様々な工夫を経て、現在のPonanzaは過去のPonanzaに70%程度勝つことのできるプログラムに成長しました。

セッション4
ゲーム体験を支える強化学習の実応用について

ゲームAIのこれまでの歴史、そして強化学習・深層学習を使ったAI研究の最前線の話を受け、最後に株式会社ディー・エヌ・エーの奥村から、強化学習をアプリテーム運用に活用する試みについての講演が行われました。強化学習はまだ実応用が少ない技術ですが、環境内で自由に試行錯誤ができるというゲームの性質との相性の良さから、ゲーム領域ではいくつかのユースケースが見えてきています。強化学習の実応用の最前線について、技術観点・プロジェクト観点での解説がされました。

SPEAKER

奥村エルネスト純

株式会社ディー・エヌ・エー AIシステム部AI研究開発グループ AI研究開発エンジニア

国内外の研究機関で観測的宇宙論の研究に従事し、京都大学理学研究科宇宙物理学専攻にて博士号取得。2014年4月にDeNAでデータアナリストとしてのキャリアをスタート。ユーザー体験や事業推進をデータからサポートすることを目指し、主にゲーム領域のデータ分析・パラメータ設計の経験を積む。2017年1月より機械学習エンジニアに転身し、強化学習技術を中心としたゲームAIの研究開発を推進。機械学習の実ビジネス適用や、UXデザインに興味を持っている。

課題の背景

本講演ではアプリタイトル『逆転オセロニア』における事例を紹介しますが、このゲーム運用の課題意識は、三宅氏・眞鍋氏が語っていた内容と同様で「ゲームのバランス調整をミスなく効率的に行いたい」というものです。

『逆転オセロニア』はオセロとトレーディングカードゲームが融合したようなゲームです。通常のオセロと同様に白黒の駒を配置していきますが、駒にはキャラクターが宿っており、それぞれが固有のスキル効果を持っています。プレイヤーは1,000体を超えるキャラクターの中から自分のお気に入りのデッキを作ることができるため、組み合わせ膨大にあり、キャラクターの運用方法も戦略的です。

このような対戦ゲームでは、キャラクターのパラメータ(スキルの効果値など)の調整に失敗すると、デッキの硬直化につながり、対戦UXを毀損してしまいます。新しいキャラクターを設計する際には、このようなリスクを常に考えながら慎重になる必要があるのです。現在は、既存キャラクターのログ解析やゲームプランナーの事前プレイによって新キャラクターの使用感を確認していますが、ゲームが次第に複雑になると、人力で膨大な検証を行うことは不可能になってしまいます。

強化学習エージェントを用いたバランスの検証

そこで、私たちは自律的に『逆転オセロニア』をプレイするエージェントの開発を行っています。強化学習技術を使えば、事前知識がない状態でも大量の試行錯誤によってキャラクターの最適な運用方法を獲得してくれるので、新キャラクターをリリース前に想定外のダメージを出していないか、といった項目を検証することが可能になります。

私たちは、教師あり学習・強化学習・先読み機能・表現学習、という4つのモジュールを使って学習の検証を行っています。最初の3つの機能は、囲碁プログラム「AlphaGo」のアーキテクチャを参考にしたもので、上位ユーザーの対戦ログをもとにある程度の強さまでAIをトレーニングし、そこからは自律的な強化学習と先読み機能(ここではMonte Carlo Tree Search)によってさらにAIを強化しています。4つめの表現学習は、ゲーム性に合わせて新たに追加した学習機能です。『逆転オセロニア』には1,000体を超えるキャラクターがあり、個別に運用を学習するのは非効率ですが、表現学習技術を使えば、キャラクター運用の個性をより低次元の情報で表現することができます。今後も新しいキャラクターがどんどん追加されることを考えるとこれは大きな武器になります。

現在はまだ検証段階ですが、私達の訓練したAIは定番デッキをつかった検証では既存NPCに80%程度勝てるまで成長しました。今後、より多くの強化学習技術を試しながら、効率的なキャラクター運用の獲得を目指しています。

実サービスで強化学習を適用する難しさと嬉しさ

現時点で研究開発は順調に進んでいますが、実際に取り組んでみるとAI開発には様々な難しさもあります。例えば、強化学習研究でよく扱われるレトロゲームのようなベンチマークタスクでは、学習環境がオープンソース化されているなどアルゴリズムの実験環境が整っていますが、『逆転オセロニア』のような実際のアプリゲームではAIの学習向けの環境構築が非常に大変です。この際、ゲームを再現するシミュレータが必要となりますが、このシミュレータの応答速度が学習のボトルネックとなるため、高速化のためのノウハウも必要です。その他、論文化されておらず新たに発明しないといけない検討項目もあり、プロジェクトをスタートするのは容易ではありません。このような苦労はありますが、幸い運用チームや社内エンジニアのサポートがあり、このような研究開発体制を作ることができました。

『逆転オセロニア』は複雑なゲームで、そうしたゲーム環境を「箱庭」として、様々な最新理論の検証に使えるのは、強化学習の知見の収集にとても役立っています。強化学習はまだビジネスアプリケーションが難しい領域ですが、このような研究開発によるノウハウを溜めながら、実際に役立つサービスを開発できる現場に立ち会えるのはとても大きなモチベーションになっています。

イベント情報はこちらから