Contenu connexe
Similaire à ターン制コマンドバトルにおける強化学習効率化 (20)
ターン制コマンドバトルにおける強化学習効率化
- 1. Copyright © GREE, Inc. All Rights Reserved.
ターン制コマンドバトルにおける
強化学習効率化
グリー株式会社
辻本貴昭 尾崎嘉彦 森田想平
- 2. Copyright © GREE, Inc. All Rights Reserved.
• 基本プレイ無料が多い
• 追加コンテンツが主な収益源
• 複数の追加コンテンツを並行して開発
背景:スマートフォンゲームの開発
2
設計 開発 調整 リリース
2週間
設計 開発 調整 リリース
設計 開発 調整 リリース
設計 開発 調整 リリース
設計 開発 調整
設計 開発
設計
…
…
…
…
- 3. Copyright © GREE, Inc. All Rights Reserved.
• コンテンツの楽しさを担保する
• 調整項目はゲームによって様々
• マーカーの間隔
• クリアに必要な手数
• 敵や味方の強さ
• 調整とテストプレイを3回以上繰り返す
• 3日程度しか使えない
背景:バランス調整
3
バランス調整の効率化が必要
➢ たたかう
どうぐ
にげる
HP:9/10
MP:5/5
ミミック
Lv. 5
- 4. Copyright © GREE, Inc. All Rights Reserved.
Exploring Game Space Using Survival Analysis Isaksen et al., 2015
• Flappy Bird
• 人間をモデル化したAI
Human-Like Playtesting with Deep Learning Stefan Freyr et al., 2016
• Candy Crash
• プレイヤの行動ログから学習させたAI
Exploring Gameplay With AI Agents Mesentier Silva et al., 2018
• The Sims
• A*アルゴリズムで探索するAI
背景:テストプレイAIによる効率化
4
- 5. Copyright © GREE, Inc. All Rights Reserved.
• ターン制コマンドバトル
• ターンごとに行動を選択する
• 行動が表形式のデータで表される
• 要望
• 最適なプレイ時のハイスコアを知りたい
• 制約
• シミュレータは1ターン戻すなどができない
背景:社内で運用中のゲームの場合
5
➢ たたかう
どうぐ
にげる
HP:9/10
MP:5/5
ミミック
Lv. 5
強化学習によるゲームプレイAIの学習を検討
- 6. Copyright © GREE, Inc. All Rights Reserved.
• 状態を観測し行動を決定する問題を解く方法
• 環境から得られる報酬を最大化する
• 行動価値
• ある状態である行動を取ったときの期待報酬
• Q学習
• 行動を反復して行動価値を最適化する
• 行動価値関数は状態x行動の表で実現
• Deep Q-Network (DQN)
• 行動価値関数をニューラルネットワークで近似
強化学習
6
環境
状態
報酬 行動
状態
価値1 … 価値n
ニューラルネットワーク
- 7. Copyright © GREE, Inc. All Rights Reserved.
課題
7
• 強化学習には膨大な時間と計算リソースが必要
AI 実時間 セルフプレイ
AlphaGo Zero 3日間 490万局
AlphaStar 1週間 200年
OpenAI Five 10ヶ月 45000年
• バランス調整に使える時間は3日程度
強化学習の効率化が必要
- 8. Copyright © GREE, Inc. All Rights Reserved.
• DQNは汎用的な強化学習手法
• ゲームの特徴を活かせば効率化ができる可能性
• 状態だけでなく行動の意味を考慮して価値を評価する
• 事前に特徴を学習しておく
強化学習効率化の着目点
8
- 9. Copyright © GREE, Inc. All Rights Reserved.
Deep Reinforcement Learning with a Natural Language
Action Space He et al., 2016
ゲームの強化学習効率化に関する先行研究
9
• テキストゲームの強化学習効率化
• 状態が自然言語で表される
• 行動を自然言語で入力する
• Deep Reinforcement Relevance Network (DRRN)
• 状態だけでなく行動の意味も行動価値関数に入力
• 状態と行動をそれぞれ埋め込む
あなたは川のそばにいます
> 南へ行く
川は5cm程の隙間に流れ込んでいます
> 隙間へ行く
隙間は狭すぎて入れません
- 10. Copyright © GREE, Inc. All Rights Reserved.
目的・提案手法
10
目的
• ターン制コマンドバトルの強化学習効率化
• Pokémon Showdownを対象
提案手法
• 行動の意味を考慮して行動価値を評価する
• 行動の特徴を事前に学習しておく
- 11. Copyright © GREE, Inc. All Rights Reserved.
• 2017年にAI大会開催
• Computational Intelligence and Games 2017
• 2人対戦ターン制コマンドバトル
• 6体のポケモンでチームを構成
• ターン毎に行動を1つ選択する
• 行動の選択肢は2種類あり最大9個
• 技
• ポケモン交代
• 相手ポケモンの体力をすべて0にすると勝利
Pokémon Showdown
11
- 12. Copyright © GREE, Inc. All Rights Reserved.
1. 強化学習の前に行動の特徴を学習
2. 事前に埋め込んだ行動を使って強化学習
提案手法の概要
12
ターン制
コマンドバトル
行動の意味評価
状態
行動
報酬 強化学習Agent
行動の埋め込みマスタデータStep1
Step2
- 13. Copyright © GREE, Inc. All Rights Reserved.
マスタデータ
• ゲーム内のパラメータの元データ
行動の埋め込み
13
技 威力 命中率 物理 ノーマル ほのお
たいあたり 35 95% True True False
ひのこ 40 100% False False True
0.3 0.6 0.9 0.1
0.5 0.4 0.1 0.1
AutoEncoder
- 14. Copyright © GREE, Inc. All Rights Reserved.
AutoEncoder
• 入力のブール値は0/1に変換
• 損失関数は平均二乗誤差
• 確率的勾配降下法で最適化
• 2種類用意
• 技の埋め込み
• 交代ポケモンの埋め込み
• DRRNと異なり、強化学習前に埋め込む
行動の埋め込みの詳細
14
技 交代ポケモン
AEmove AEswitch
memb semb
- 15. Copyright © GREE, Inc. All Rights Reserved.
提案手法
15
DQN
行動を一括評価 行動を個別に評価
State Act1 … Actn
VAct1
… VActn
価値関数
…
価値関数
VAct1
State Act1
価値関数
VActn
State Actn
個別評価することで純粋な行動価値を求める
行動の意味を考慮した行動価値
- 16. Copyright © GREE, Inc. All Rights Reserved.
比較手法
実験設定
16
埋め込み表現なし 埋め込み表現あり
行動の一括評価 DQN AE
行動の個別評価 PA-DQN AE+PA-DQN
実験方法
• チームを構成するポケモンはランダムに選択
• 100ステップの学習ごとに100回の対戦で評価
• サンプル提供されている多層パーセプトロンAIと対戦
- 21. Copyright © GREE, Inc. All Rights Reserved.
• 状態の多様性が低くなる
• DQNは技の並び順が違うだけで全く別の状態とみなす
• 個別に評価することで同じような状態が表れやすくなる
• 行動の正確な価値を評価可能
• DQNは他の選択肢によって行動の価値が影響される
• コマンドバトルでは他の選択肢で行動の価値は変わらないはず
考察:行動の個別評価の効果
21
- 22. Copyright © GREE, Inc. All Rights Reserved.
• わずかな性能低下
• 自然言語と異なり、既に表形式のデータで意味が表されている
• 重要な属性を無視してしまったのではないか
考察:行動の埋め込みの効果
22
- 23. Copyright © GREE, Inc. All Rights Reserved.
まとめ
• 行動の個別評価で学習ステップ数を75%以上削減
• 行動の埋め込みで学習ステップ数をさらに40%削減
課題
• ドメイン知識を活用した埋め込み
• 複数のキャラクタの行動を選択するゲームへ適用
まとめ・課題
23