SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Copyright © GREE, Inc. All Rights Reserved.
ターン制コマンドバトルにおける
強化学習効率化
グリー株式会社
辻本貴昭 尾崎嘉彦 森田想平
Copyright © GREE, Inc. All Rights Reserved.
• 基本プレイ無料が多い
• 追加コンテンツが主な収益源
• 複数の追加コンテンツを並行して開発
背景:スマートフォンゲームの開発
2
設計 開発 調整 リリース
2週間
設計 開発 調整 リリース
設計 開発 調整 リリース
設計 開発 調整 リリース
設計 開発 調整
設計 開発
設計
…
…
…
…
Copyright © GREE, Inc. All Rights Reserved.
• コンテンツの楽しさを担保する
• 調整項目はゲームによって様々
• マーカーの間隔
• クリアに必要な手数
• 敵や味方の強さ
• 調整とテストプレイを3回以上繰り返す
• 3日程度しか使えない
背景:バランス調整
3
バランス調整の効率化が必要
➢ たたかう
どうぐ
にげる
HP:9/10
MP:5/5
ミミック
Lv. 5
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
Copyright © GREE, Inc. All Rights Reserved.
• ターン制コマンドバトル
• ターンごとに行動を選択する
• 行動が表形式のデータで表される
• 要望
• 最適なプレイ時のハイスコアを知りたい
• 制約
• シミュレータは1ターン戻すなどができない
背景:社内で運用中のゲームの場合
5
➢ たたかう
どうぐ
にげる
HP:9/10
MP:5/5
ミミック
Lv. 5
強化学習によるゲームプレイAIの学習を検討
Copyright © GREE, Inc. All Rights Reserved.
• 状態を観測し行動を決定する問題を解く方法
• 環境から得られる報酬を最大化する
• 行動価値
• ある状態である行動を取ったときの期待報酬
• Q学習
• 行動を反復して行動価値を最適化する
• 行動価値関数は状態x行動の表で実現
• Deep Q-Network (DQN)
• 行動価値関数をニューラルネットワークで近似
強化学習
6
環境
状態
報酬 行動
状態
価値1 … 価値n
ニューラルネットワーク
Copyright © GREE, Inc. All Rights Reserved.
課題
7
• 強化学習には膨大な時間と計算リソースが必要
AI 実時間 セルフプレイ
AlphaGo Zero 3日間 490万局
AlphaStar 1週間 200年
OpenAI Five 10ヶ月 45000年
• バランス調整に使える時間は3日程度
強化学習の効率化が必要
Copyright © GREE, Inc. All Rights Reserved.
• DQNは汎用的な強化学習手法
• ゲームの特徴を活かせば効率化ができる可能性
• 状態だけでなく行動の意味を考慮して価値を評価する
• 事前に特徴を学習しておく
強化学習効率化の着目点
8
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程の隙間に流れ込んでいます
> 隙間へ行く
隙間は狭すぎて入れません
Copyright © GREE, Inc. All Rights Reserved.
目的・提案手法
10
目的
• ターン制コマンドバトルの強化学習効率化
• Pokémon Showdownを対象
提案手法
• 行動の意味を考慮して行動価値を評価する
• 行動の特徴を事前に学習しておく
Copyright © GREE, Inc. All Rights Reserved.
• 2017年にAI大会開催
• Computational Intelligence and Games 2017
• 2人対戦ターン制コマンドバトル
• 6体のポケモンでチームを構成
• ターン毎に行動を1つ選択する
• 行動の選択肢は2種類あり最大9個
• 技
• ポケモン交代
• 相手ポケモンの体力をすべて0にすると勝利
Pokémon Showdown
11
Copyright © GREE, Inc. All Rights Reserved.
1. 強化学習の前に行動の特徴を学習
2. 事前に埋め込んだ行動を使って強化学習
提案手法の概要
12
ターン制
コマンドバトル
行動の意味評価
状態
行動
報酬 強化学習Agent
行動の埋め込みマスタデータStep1
Step2
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
Copyright © GREE, Inc. All Rights Reserved.
AutoEncoder
• 入力のブール値は0/1に変換
• 損失関数は平均二乗誤差
• 確率的勾配降下法で最適化
• 2種類用意
• 技の埋め込み
• 交代ポケモンの埋め込み
• DRRNと異なり、強化学習前に埋め込む
行動の埋め込みの詳細
14
技 交代ポケモン
AEmove AEswitch
memb semb
Copyright © GREE, Inc. All Rights Reserved.
提案手法
15
DQN
行動を一括評価 行動を個別に評価
State Act1 … Actn
VAct1
… VActn
価値関数
…
価値関数
VAct1
State Act1
価値関数
VActn
State Actn
個別評価することで純粋な行動価値を求める
行動の意味を考慮した行動価値
Copyright © GREE, Inc. All Rights Reserved.
比較手法
実験設定
16
埋め込み表現なし 埋め込み表現あり
行動の一括評価 DQN AE
行動の個別評価 PA-DQN AE+PA-DQN
実験方法
• チームを構成するポケモンはランダムに選択
• 100ステップの学習ごとに100回の対戦で評価
• サンプル提供されている多層パーセプトロンAIと対戦
Copyright © GREE, Inc. All Rights Reserved.
実験結果
17
一括
個別
Copyright © GREE, Inc. All Rights Reserved.
実験結果
18
一括
個別
性能向上開始
Copyright © GREE, Inc. All Rights Reserved.
実験結果
19
埋め込みによって学習初期の学習効率が向上
Copyright © GREE, Inc. All Rights Reserved.
実験結果
20
行動を埋め込むと最終的な性能は劣る
Copyright © GREE, Inc. All Rights Reserved.
• 状態の多様性が低くなる
• DQNは技の並び順が違うだけで全く別の状態とみなす
• 個別に評価することで同じような状態が表れやすくなる
• 行動の正確な価値を評価可能
• DQNは他の選択肢によって行動の価値が影響される
• コマンドバトルでは他の選択肢で行動の価値は変わらないはず
考察:行動の個別評価の効果
21
Copyright © GREE, Inc. All Rights Reserved.
• わずかな性能低下
• 自然言語と異なり、既に表形式のデータで意味が表されている
• 重要な属性を無視してしまったのではないか
考察:行動の埋め込みの効果
22
Copyright © GREE, Inc. All Rights Reserved.
まとめ
• 行動の個別評価で学習ステップ数を75%以上削減
• 行動の埋め込みで学習ステップ数をさらに40%削減
課題
• ドメイン知識を活用した埋め込み
• 複数のキャラクタの行動を選択するゲームへ適用
まとめ・課題
23

Contenu connexe

Tendances

変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
suckgeun lee
 

Tendances (20)

強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement Learning[DL輪読会]Inverse Constrained Reinforcement Learning
[DL輪読会]Inverse Constrained Reinforcement Learning
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
 
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
Tensorflowユーザから見た Alpha(Go)Zero, Ponanza (TFUG #7)
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 

Similaire à ターン制コマンドバトルにおける強化学習効率化

Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
 
データに振り回されて失敗した あんなことやこんなこと ~ゲームのために必要な本当の ビジネス・アナリティクス~
データに振り回されて失敗したあんなことやこんなこと~ゲームのために必要な本当のビジネス・アナリティクス~データに振り回されて失敗したあんなことやこんなこと~ゲームのために必要な本当のビジネス・アナリティクス~
データに振り回されて失敗した あんなことやこんなこと ~ゲームのために必要な本当の ビジネス・アナリティクス~
Daisuke Nogami
 
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦  〜『歌マクロス』を成功に導く技術支援〜協業アプリ開発を推進するテクニカルコンサルタントの挑戦  〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
DeNA
 
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
Daniel-Hiroyuki Haga
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
DeNA
 

Similaire à ターン制コマンドバトルにおける強化学習効率化 (20)

長期運用に耐えるための設計とリファクタリング(DeNA Games Tokyo)
長期運用に耐えるための設計とリファクタリング(DeNA Games Tokyo)長期運用に耐えるための設計とリファクタリング(DeNA Games Tokyo)
長期運用に耐えるための設計とリファクタリング(DeNA Games Tokyo)
 
DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2DataEngConf NYC’18 セッションサマリー #2
DataEngConf NYC’18 セッションサマリー #2
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
A Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning ChatbotA Deep Reinforcement Learning Chatbot
A Deep Reinforcement Learning Chatbot
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
ゲームバランス調整補助のための強化学習の効率化
ゲームバランス調整補助のための強化学習の効率化ゲームバランス調整補助のための強化学習の効率化
ゲームバランス調整補助のための強化学習の効率化
 
OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向
 
データに振り回されて失敗した あんなことやこんなこと ~ゲームのために必要な本当の ビジネス・アナリティクス~
データに振り回されて失敗したあんなことやこんなこと~ゲームのために必要な本当のビジネス・アナリティクス~データに振り回されて失敗したあんなことやこんなこと~ゲームのために必要な本当のビジネス・アナリティクス~
データに振り回されて失敗した あんなことやこんなこと ~ゲームのために必要な本当の ビジネス・アナリティクス~
 
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
 
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
 
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
 
Unreal Engine 4 Powering Independent Game Developers
Unreal Engine 4 Powering Independent Game DevelopersUnreal Engine 4 Powering Independent Game Developers
Unreal Engine 4 Powering Independent Game Developers
 
カンバンと朝会とわたくし
カンバンと朝会とわたくしカンバンと朝会とわたくし
カンバンと朝会とわたくし
 
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦  〜『歌マクロス』を成功に導く技術支援〜協業アプリ開発を推進するテクニカルコンサルタントの挑戦  〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
新次元ゲーム開発セミナー キーノート (Oct-18, 2012)
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
データに振り回されて失敗した あんなことやこんなこと+α  〜なぜ数字の手助けが必要になるのか、その理由と分析の実践例〜
データに振り回されて失敗した あんなことやこんなこと+α  〜なぜ数字の手助けが必要になるのか、その理由と分析の実践例〜データに振り回されて失敗した あんなことやこんなこと+α  〜なぜ数字の手助けが必要になるのか、その理由と分析の実践例〜
データに振り回されて失敗した あんなことやこんなこと+α  〜なぜ数字の手助けが必要になるのか、その理由と分析の実践例〜
 

Plus de gree_tech

Plus de gree_tech (20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 

ターン制コマンドバトルにおける強化学習効率化

  • 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と対戦
  • 17. Copyright © GREE, Inc. All Rights Reserved. 実験結果 17 一括 個別
  • 18. Copyright © GREE, Inc. All Rights Reserved. 実験結果 18 一括 個別 性能向上開始
  • 19. Copyright © GREE, Inc. All Rights Reserved. 実験結果 19 埋め込みによって学習初期の学習効率が向上
  • 20. Copyright © GREE, Inc. All Rights Reserved. 実験結果 20 行動を埋め込むと最終的な性能は劣る
  • 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