More Related Content Similar to DeNA TechCon2018 ゲーム体験を支えるための強化学習 (19) More from Jun Okumura (10) DeNA TechCon2018 ゲーム体験を支えるための強化学習2. 講演者の紹介
奥村 エルネスト 純
• 略歴
– 宇宙物理学の研究(Ph.D)
• ⾼エネルギー天体現象、観測的宇宙論
– データアナリスト
• ゲーム領域:⾏動ログ分析、パラメータデザイン
• オートモーティブ領域:移動体分析
– AI研究開発エンジニア
• 強化学習・深層学習を使ったゲームAI研究開発(チームリーダー)
1
@pacocat
8. ルール説明:対戦
• 基本ルールは盤⾯が 6×6 のオセロ
• 駒を置いてダメージを与えながら、相⼿のHPを削ったら勝ち
7
4つの手駒はデッキから
ランダムに選ばれる
特定条件を満たすマスで
スキルが発動する 相手の手駒は見えない
使えるキャラクターは多様
(2,000種類以上)
運要素が存在
不完全情報ゲームオセロ力だけでなく、
スキルの運用能力が重要
局面数が莫大(〜10120)
ルールはシンプル、戦い⽅は多様で奥深い
11. 解決したい運⽤課題
1. 新しいスキルの評価が正確できない
– 既存スキルに対しては、ログデータを活⽤した調整フローがある※
– 新しいスキルはどのように使われるか正確な予測が困難な場合がある
2. キャラクターの性能をテストするのにかかる⼯数が⼤きい
– テスト環境で確認できる試⾏回数も⼈⼒では限りがある
3. どこまでチューニングを続けても⾒落としリスクがある
– ゲームが複雑になる中で検証する要素が爆発的に増えていく
– 全てのユーザーセグメントの体感を検証するのは難しい
10
※ “ログ分析で⽀えるゲームパラメータ設計”, 奥村純, DeNA TechCon2017
https://www.slideshare.net/dena_tech/denatechcon-72603558
14. 強化学習とゲームタスク
近年の強化学習技術の進展によって、様々なゲームにおいて
⾼いパフォーマンスを出した研究が報告されている※
13
※“強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜”, 甲野祐, SHIBUYA Synapse #2
https://www.slideshare.net/yukono1/ai-82646808
“Playing Atari with Deep Reinforcement Learning”,
Mnih et al., NIPS Deep Learning Workshop 2013
https://arxiv.org/pdf/1312.5602.pdf
“Mastering the game of Go without human knowledge”
Silver et al., Nature 550, 354–359
https://www.nature.com/articles/nature24270.epdf
“StarCraft II: A New Challenge for Reinforcement Learning”,
Vinyals et al.
https://arxiv.org/pdf/1708.04782.pdf
レトロビデオゲーム
(Atari 2600)
ボードゲーム
(囲碁, 将棋, チェス, …)
リアルタイムストラテジー
(StarCraft II, Dota2)
18. 講演者の紹介
⽥中 ⼀樹
略歴
• 2017年新卒⼊社
• 電⼒最適化の研究
– 再⽣可能エネルギー、確率計画法
• 国内外のデータ分析コンペで複数回⼊賞
– Kaggle 3位(Kaggle Master)、KDDCup 10位、…
• AI研究開発エンジニア
– 強化学習・機械学習を⽤いたゲームAI開発(本講演)
• 最近では、『速習 強化学習ー基礎理論とアルゴリズムー』(共著)を出版
– 分析業務
• 『「逆転オセロニア」における運⽤効率化⽀援 〜デッキログのデータマイニング〜』という
タイトルで解説しました。資料は後⽇公開予定です。(ORANGE Stage、14:00~14:40)
17
@ikki407
20. 教師あり学習 学習データ
• 上位プレイヤーの対戦棋譜を⽤いて作成
• ⼊⼒データ(特徴量)
① ステータス
• 最⼤HP、残HP、ターン数、…
② ⼿駒/デッキ情報
• 駒情報(攻撃⼒、スキル、…)、リーダー駒
③ 選択可能な⾏動
• 駒 × マス情報
④ 盤⾯情報
• ⽩⿊駒の配置、特殊マス情報、罠の有無、…
• 出⼒データ(教師信号)
– プレイヤーが選択したか否かのバイナリー変数 19
①
②
③
④
21. 教師あり学習 アーキテクチャ概要
20
盤⾯情報
ステータス
⼿駒
デッキ
⾏動 全
結
合
層
CNN
全
結
合
層
全
結
合
層
⾏動の評価値
⼀番⼤きい値の
⾏動を選択
⼊⼒(特徴量) ニューラルネットワーク
出⼒
※1 Deep Q-Network
※2 Convolutional neural network
ゲーム画⾯
• 深層強化学習のアルゴリズムであるDQN※1に着想を得た構造
– 盤⾯情報は畳み込みニューラルネットワーク(CNN※2)で処理
22. 教師あり学習 実験結果
• 既存NPC※(ルールベースAI)に対して⾼い勝率が出せている
– 17デッキの同デッキ対戦※で平均90%程度の勝率
21
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
AI
既存NPC
勝率(%)
※ Non-player character
※ 1,000対戦による検証結果
※ 実際のデッキ相性を表現するものではありません
⻘いほど
強い
23. 教師あり学習 実験結果
• 既存NPC(ルールベースAI)に対して⾼い勝率が出せている
– 17デッキの同デッキ対戦※で平均90%程度の勝率
22
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
AI
既存NPC
勝率(%)
※ 1,000対戦による検証結果
※ 実際のデッキ相性を表現するものではありません
不利なデッキでも
勝てなくはない
24. 教師あり学習 実験結果
• 既存NPC(ルールベースAI)に対して⾼い勝率が出せている
– 17デッキの同デッキ対戦※で平均90%程度の勝率
23
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
⻯(試)
神(試)
魔(試)
⻯2(定)
⻯1(定)
⻯3(定)
魔2(定)
魔1(定)
魔3(定)
神2(定)
神3(定)
神1(定)
混2(定)
混1(定)
混3(定)
全2(定)
全1(定)
AI
既存NPC
勝率(%)
※ 1,000対戦による検証結果
※ 実際のデッキ相性を表現するものではありません
デッキの相性で
多少弱い場合
もある
25. 勝率
教師あり学習 ベースラインとの⽐較
• AIはチューニングによって既存ルールベースAIより⼤幅に強くなる
– 意味のある戦術を学んでいることが⽰唆できる
24
ルールベースAI
※ 1,000対戦による検証結果
※ 17種類の対戦結果の平均勝率
対ルールベースAIとの平均勝率(同デッキ対戦)
0%
90%
100%
50%
40ポイント勝率UP!
AI(チューニングモデル)
26. 教師あり学習 設定と⼯夫点
• 選択/⾮選択を教師信号として採⽤
– ⼈間のようにプレイするAIを獲得したいから
– 上位プレイヤーの負けた情報も有効活⽤している
• ネットワーク・学習の詳細
– Batch Normalizationは有効、Dropoutは弱め
– 活性化関数:ELU(ReLUよりも有効だった)
– 損失関数:Cross Entropy
• ⼤量の棋譜があるためデータ読み込みを効率化
– 並列化、キューなどを駆使した⾼速化
25
28. 表現学習 何ができるのか?
27
1. キャラクターを低次元のベクトルで表現できる
– 通常、キャラクター数に応じた⼤きさのベクトルが必要
– モデルサイズ削減、学習速度向上が期待できる
2. 運⽤⽅法が似たキャラクターは同じような表現になる
– 「フィニッシャーとして活躍する」、「⾓に置くと活躍する」など
埋め込み前 埋め込み後
1 0 0 … 0 0 0
0 1 0 … 0 0 0
キャラクター数分(約2,000)
-1.5 0.2 0.8 -0.3 1.1
-0.8 0.3 0.4 -0.1 0.5
数次元(固定)
…
…
29. ⼊⼒(特徴量)
表現学習 アーキテクチャ
• 低次元ベクトルを獲得する埋め込み層を⾏動⼊⼒の後に導⼊
• マルチタスク学習としてモデルを訓練する
28
盤⾯情報
ステータス
⼿駒
デッキ
⾏動
全
結
合
層CNN
埋め込み層
重み
ダメージ
回復
毒
勝敗
…
ニューラルネットワーク
出⼒(マルチタスク)
ゲーム画⾯
32. 強化学習 既存のアーキテクチャ
• 通常のDQN※は出⼒が前もって⾏動の数だけ固定されている
– 例)ブロック崩しの⾏動は”左”、”右”、”動かない”の3種類(固定)
31
DQN
盤⾯情報
ステータス
⼿駒
デッキ
⾏動1 ⾏動1の評価値
⾏動2 ⾏動2の評価値
⾏動3 ⾏動3の評価値
⼊⼒(特徴量) 出⼒(各⾏動の評価値)
ゲーム画⾯
オセロニアでは膨⼤な⾏動
駒(~2,000) x マス(32)=…
※ Mnih, V., et al.: Human-level control through deep reinforcement learning. Nature, 518:529–533, 2015
33. 強化学習 使⽤するアーキテクチャ
• 動的に変わる⾏動を扱えるネットワーク構造を採⽤
– オセロニアでは⾏動空間(キャラクター数 × マス)が巨⼤
– ⾏動を⼊⼒することで出⼒層を固定しネットワークサイズを抑制
32
DQN
盤⾯情報
ステータス
⼿駒
デッキ
⾏動 ⾏動の評価値
⼀つだけになる!(固定)
⾏動
⼊⼒(特徴量)
出⼒(⾏動の評価値)
ゲーム画⾯
34. 強化学習 ⾃⼰対戦による成⻑
• 強化学習エージェントは⾃分⾃⾝と対戦して⾃律的に戦略を学ぶ
– 対戦相⼿(⾃分⾃⾝)も⾃分と同様に成⻑
33
強さ
⾃分
RL
RL
RL
過去の⾃分⾃⾝AI
相⼿
過去のバージョン
• 直前
• 学習開始時
• 5回前
• …
過去の⾃分⾃⾝AI
過去の⾃分⾃⾝AI
※ RL: Reinforcement Learning(強化学習)
35. 強化学習 ⾃⼰対戦による成⻑
• 実際は…、様々なAIエージェントを相⼿として⽤いる
– いろんな戦略に対応するため
– 早く価値のある戦術を学習するため(馴れ合いを防⽌するため)
34
強さ
⾃分
RL
RL
RL
過去のAI
相⼿
敵エージェントの⼀例
• 過去の⾃分⾃⾝
• 教師あり学習エージェント
• ルールベースAI
• …
過去のAI
過去のAI
36. 強化学習 実験結果
• ある特定の状況ではゼロからミドルレベルのプレイヤー並みまで
成⻑することが確認できている
35バトル数
勝率(%)
実績値
移動平均
試⾏錯誤の影響で
初期段階では振動
多くのバトルを⾏い学習が
進むと強さが安定する
強化学習
エージェントの
学習曲線
※ 開発段階における既存NPCに対する学習結果です
37. 強化学習 難しさと対策
36
• 『逆転オセロニア』への強化学習の適⽤には複数の難しさがある
毎ターン取れる⾏動の種類が
変わる(可変⻑⾏動)
豊富な計算資源を使っても
実験に時間がかかる
いろんな戦術の相⼿がいる
+
敵デッキが不明(不完全情報)
…
38. 強化学習 難しさと対策
37
• 複数の難しさを解決するために取り組んでいる対策
可変⻑⾏動を扱うネットワーク
構造の使⽤(+表現学習)
教師あり学習の結果を強化学習
の初期化に⼀部使⽤した効率化
様々な戦略をもつ
AIエージェントとの⾃⼰対戦
毎ターン取れる⾏動の種類が
変わる(可変⻑⾏動)
豊富な計算資源を使っても
実験に時間がかかる
いろんな戦術の相⼿がいる
+
敵デッキが不明(不完全情報)
…
…
40. 先読み機能 先読み機能とは?
• 先読みを⾏いながら⽊構造としていろんな盤⾯の系列を表現※
– ⼤量のシミュレーションを⾏い、ある局⾯での最善⼿を決定
39
開始ターン
⾃ターン
敵ターン
⾃ターン
バトル終了
…
①現在の局⾯から次に取りうる⾏動を試す
…
…
現在の局⾯
※ モンテカルロ⽊探索(MCTS)を使⽤
43. 先読み機能 最新の動向
• 最新ゲームAIの研究成果では先読み機能が重要な要素になっている
– 囲碁AI、将棋AI、チェスAI、…
• AlphaGo Zero※(2017)という棋譜なしで強くなる囲碁AIが登場
– 強化学習を⽤いて学習
– ニューラルネットと先読み機能を組み合わせて精度向上
42※ 出典: David S. et al., Mastering the game of Go without human knowledge, Nature, Vol. 550 (2017), pp. 354–359
44. 先読み機能 オセロニアでの活⽤案
• 強化学習との組み合わせによるAIの強化
– 推論サポート(ランダム探索では限界がある)
– “ミスが許されない勝ち筋”を⾒つけやすくなる
• 先読み機能だけでも教師あり学習/強化学習と同じような強さが
確認できている
– 不利なデッキ同⼠の対戦でも⾼い勝率
– シミュレータの計算速度に依存した課題も存在
43