SlideShare a Scribd company logo
松江工業高等専門学校
坂本 洸 橋本 剛
第45回ゲーム情報学研究会
R2D2(Recurrent Replay Distributed DQN )
強化学習アルゴリズム(DQN + LSTM + Ape-x)
ゲーム機Atari2600の52/57タイトルで人間を
上回るスコアを記録 [Steven Kapturowski et al., 2018]
space invaders break out
[Atari 2600 より引用]
Mario AI Competition
人には真似できないようなスーパープレイ
機械学習を用いたゲームAI
強さを追求 動きが機械的
例 ◆最善の行動を取り続ける
◆人間がするとは思えない一手を出したり
小刻みに動く
◆人間らしい FPS AI (大会も開催) [Mihai Polceanu, 2013]
◆接待将棋を行うAI [仲道ら, 2014]
◆人間らしいスーパーマリオAI [藤井ら, 2014]
botprize competition
課題の解決に向けて
人間らしい振る舞いを行うゲームAI の研究が行われている
[2K BotPrize 2010より引用]
目的
◆ 手加減や焦りなどの人間らしい振る舞い
プレイヤを楽しませたりプレイヤの
ライバルになれるようなAI
◆ AIを仮想的なプレイヤとして設定
ゲーム開発やデバッグのコストダウン
人間らしさを表現する手法
生物学的制約の導入 [藤井, 2016]
※生物学的制約 : 生物が持っている環境下における制約
先行研究:生物学的制約を導入したスーパーマリオAI
[ 藤井, 2016 ]
人間らしい振る舞いを自動獲得するため
◆揺らぎ
◆遅れ
◆疲れ
◆訓練と挑戦のバランス を導入
導入前 : 穴の直前で最小限のジャンプをして攻略
導入後 : 穴の手前から安全なジャンプをして余裕を持って攻略
導入前 導入後
[藤井 叙人, 人間らしい振る舞いを自動獲得するゲームAIに関する研究, 2016 より引用]
学習にゲーム固有のパラメータの参照が必要
(自機、敵の位置座標、ステージ情報など)
◆他のゲームへ応用する際の処理の汎用性が低い
◆人間はそのような情報を正確に取得できるとは限らない
コイン : 6枚
ブロック : 6個
自機座標
X : 23
Y : 25
敵座標
X : 38
Y : 25
画面のみで学習できる深層強化学習に
生物学的制約を導入
ゲーム内部の固有な情報を必要としない
汎用的な人間らしいゲームAI の実現
深層強化学習に生物学的制約を導入して
ゲーム画面のみで学習
人間らしい振る舞いを自動獲得する
ゲームプレイヤ AI の作成
既存の研究対象
(ボードゲーム, アクションゲームなど)
◆ 行動やゴールまでの過程に多くの選択肢
◆ 人間らしい振る舞いの表現が多様
音楽ゲームなど
◆ 1つ1つの行動が明確に評価
◆ 獲得可能な最高スコアに至るまでの過程が明確
研究されていない
研究対象 : 音楽ゲーム
パネルを
足で踏む
太鼓を
バチで叩く
ボタンを
押す
画面をタッチする
音楽に合わせてアクション
を行い評価を得る
アクション一つ一つが判定によって評価される
最高の判定 : 良
全てのアクションで良を得ると
パーフェクト(最高スコア)となる
例 太鼓の達人
アクションの種類
面を叩く
縁を叩く
音楽ゲームにおけるAI の活用例
太鼓の達人 AIバトル演奏
https://taiko-ch.net/blog/?p=3455
◆ プレイヤーとほとんど同じ腕前を発揮する「AIどん」と
勝つか負けるかのイイ勝負を楽しめるゲームモード
◆ スコアを調整するようにミスをする
◆ 少なくともこのような需要が存在
音楽ゲームで人間らしさを表現
人間らしい失敗を再現
例 : 視線や手の動きなどのズレによるミス,
緊張によるミス
連続して崩れるようなミス
生物学的制約の導入
ミスが引き起こされる原因は人間の身体的,精神的なもの
◆位置座標など内部パラメータに対する処理を
画面そのものに対する処理に変更して生物学的制約を定義
本研究の定義
A : 揺らぎ
B : 認識の遅れ
C : 行動の遅れ
D : 緊張
藤井の定義
◆揺らぎ
◆遅れ
◆疲れ
◆訓練と挑戦のバランス
◆ 人間がゲーム画面を見る際の視線、位置のズレ
X : 23px → 26px
先行研究 提案処理
自機位置座標にノイズを付与し
ずらして与える
ゲーム画面の入力で
参照する範囲をずらす
キャプチャ範囲
人の視線のズレを再現
◆ ゲーム画面を見て局面を認識してから行動に移るまでの遅れ
数フレーム
過去の座標
X : 23px → 19px
先行研究 提案処理
数フレーム過去の
自機位置座標を与える
入力する画像全体を
過去のものにする
◆ 行動を開始してからの指や手がキーボードなどの
入力デバイスを操作するまでの遅れ
提案処理
キー操作処理時に遅延を挿入
手がボタンを
押すまでの遅れ
◆ 成功が連続している時に「失敗したくない」と感じ
緊張した際の普段ではしないような失敗や
自分の意図に反した行動
提案処理
連続成功時
・ランダム行動選択率を増加
・行動の遅れを発生
DRQN(Deep Recurent Q-Network)を用いて
既存の音楽ゲーム「osu!mania」を
ゲーム画面の画像のみで強化学習
上から降ってくるノーツ(音符)に合わせて
4つのキーをタイミングよく押す
※osu!mania : PCで遊ぶことができる無料の音楽ゲーム
対応するキーを上から降ってくるノーツ(音符)
に合わせてタイミングよく押す
osu!maniaの実験環境
判定 : 良い順に 300虹 300黄 200 100 50 0 (ミス)
スコア : 達成率 (%) で表す 最高スコア : 100%
達成率 = Σ (各判定数値 ) / (全判定回数 * 300)
判定の表示
判定 判定の許容幅 (± ms)
300虹 16.5
300黄 49.5
200 82.5
100 112.5
50 136.5
例 : 正確なタイミングから60msずれていた場合は
49.5ms〜82.5msの間なので判定200を得る
ネットワーク構成
入力層
200 * 150 * 3 (ゲーム画面を1/4にした画像データ)
中間層
CNN 3層 (ゲーム画面の画像認識)
LSTM 1層 (過去の連続データからの予測)
全結合層 1層
出力層
行動の評価値ベクトル(どのキーを押すか)
操作と報酬
行動の種類
それぞれ4つのキーを操作 + 何も押さないの計5パターン
ε-greedy法 でランダムな行動 (40% → 10%)
報酬
良い評価ほど高い報酬を与える
ミスと何もないところでの
キーの空打ちは負の報酬
ゲーム内の評価 報酬値
300虹 200
300黄 150
200 30
100 15
50 10
0 (ミス) -50
空打ち -1
学習の流れ
DRQN
行動評価値
評価値に基づき行動
(キー入力)
判定を検出し報酬取得
報酬, 状態
出力
入力
(キャプチャしたゲーム画面)
揺らぎ
認識の遅れ
行動の遅れ
緊張
作成した学習モデル
番号 生物学的制約 実際の処理
A 揺らぎ
10%の確率で, 0.5秒間, 入力画面の座標を
-20〜20ピクセルの間でランダムにずらす
B 認識の遅れ 入力する画面を0.1秒前のものにする
C 行動の遅れ キー操作時に0.05秒の遅延を挿入
D 緊張
10連続でミスをしなかったらランダムな行動を
取る確率を2倍にして0.05秒遅延を挿入
E 無し 生物学的制約無し
スコア、振る舞いの比較
20秒の楽曲で24つのノーツが流れてくる譜面を作成
それぞれのモデルを1000プレイずつ学習
A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
処理 : 10%の確率で, 0.5秒間入力画面の座標を
-20〜20ピクセルの間でランダムにずらす
※スコアの移動平均を20で取ったもの
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.70 69.58 76.83 81.36 84.91
900〜1000プレイ間の平均達成率(%)
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
処理 : 入力する画面を0.1秒前のものにする
※スコアの移動平均を20で取ったもの
900〜1000プレイ間の平均達成率(%)
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.70 69.58 76.83 81.36 84.91
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
処理 : キー操作時に0.05秒の遅延を挿入
900〜1000プレイ間の平均達成率(%)
※スコアの移動平均を20で取ったもの
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.70 69.58 76.83 81.36 84.91
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
処理 : 10連続でミスをしなかったらランダムな行動を取る確率を
2倍にして0.05秒遅延を挿入
900〜1000プレイ間の平均達成率(%)
※スコアの移動平均を20で取ったもの
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.70 69.58 76.83 81.36 84.91
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
生物学的制約有りはスコアが低下 → 失敗の行動が増加
900〜1000プレイ間の平均達成率(%)
※スコアの移動平均を20で取ったもの
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.70 69.58 76.83 81.36 84.91
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
・追加実験として生物学的制約を学習済みモデルに後から導入
・最終的なスコアは大きく変わらなかった
900〜1000プレイ間の平均達成率(%)
モデル A : 揺らぎ B : 認識の遅れ C : 行動の遅れ D : 緊張 E : 無し
スコア 72.33 71.76 75.00 79.90 84.91
※スコアの移動平均を20で取ったもの
0
10
20
30
40
50
60
300虹 300黄 200 100 50 0(ミス)
全体に占める比率(%)
判定の種類
制約毎の各判定の構成比
揺らぎ
認識の遅
れ
※900〜1000プレイ間の平均を取ったもの
番号 生物学的制約
A 揺らぎ
B 認識の遅れ
C 行動の遅れ
D 緊張
E 無し
実験1で作成した各モデルの
プレイ映像 実際の人間のプレイ映像
7種類のゲームプレイ映像を
12名の被験者見てもらい
振る舞いの人間らしさを評価
F 音楽ゲームの初級者
G 音楽ゲームの上級者
◆絶対評価 : 5段階評価 (1〜5, 高いほど人間らしい)
◆自由記述 : 評価の理由,
どのような振る舞いが人間らしかったか,
または人間らしくなかったか
7つの映像を1つずつランダムな順番で見せて回答
A 揺らぎ
B 認識の
遅れ
C 行動の
遅れ
D 緊張 E 無し F 初級者 G 上級者
平均評価値 2.17 2.08 3.83 3.08 3.33 3.75 4.33
標準偏差 0.80 0.86 1.14 0.76 1.18 1.09 0.75
◆ 実際の人間のプレイはかなり見破られた
◆「行動の遅れ」は実際の人間レベルに高評価
A B C D E F G
AIのプレイ映像 人間のプレイ映像
人間らしい
人間らしくない
・タイミングが時々ずれる
・密度が高い(難しい)局面でリズムが崩れる
・ゲームが上手い、下手な人のような動き
・近くのキーを間違えて押す
・大きなミスはしないが全体でずれている
・上手いところと下手なところの差が大きい
・全く違うところを叩く ( 空打ち )
・同じキーの連打
・最高判定が連続する
・露骨すぎるミス
A : 揺らぎ、B : 認識の遅れ
◆ミス時の対応しないキーの
必要以上な空打ちは人間らしくない
◆最高判定とミスが多い → 局面ごとの振る舞いが極端すぎた
C : 行動の遅れ、D : 緊張
◆ミスにならない程度のリズムのズレが
中〜上級者に近い振る舞い
E : 制約無し
◆極端に精度の高いプレイ → 機械的ともかなりの上級者とも捉えられる
F : 初級者
◆ミスは多かったが、空打ちなどが少なかったため人間らしい評価を得た
G : 上級者
◆完璧すぎない上手いプレイ → 高スコアながら人間らしい
極端な失敗を増加させることよりも
微妙なズレなどを表現することが重要
まとめ
◆音楽ゲームを題材に人間らしい振る舞いを行うゲームAIを作成
◆深層強化学習に生物学的制約の導入
一部は人間プレイヤぐらい人間らしいと評価
今後の方針 ◆制約の与え方や処理方法の改善
◆ゲーム難易度を上げての学習
◆他の生物学的制約の導入
◆入力情報に音を導入
補足資料 学習の各種設定値
使用ライブラリ : chainer
ミニバッチ数 : 64
割引率 : 0.98
Optimizer : AdaDelta
操作の自動化、判定の検出
PyAutoGUI (Pythonの自動化ライブラリ) を使用
◆ ゲーム画面のキャプチャ
◆ キー操作の自動化
◆ 判定表示の検出
判定表示を
検出できる形に変更
判定300黄を検出
報酬値150を与える
安定して高スコアを記録
達成率100%(パーフェクト)も確認
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900
達成率
プレイ回数
達成率の推移(移動平均20)
処理 : 10%の確率で, 5フレーム間入力画面の座標を
-20〜20ピクセルの間でランダムにずらす
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率
プレイ回数
達成率の推移(揺らぎ)
後から導入
最初から導入
処理 : 画面の入力を1フレーム遅延させる
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
達成率の推移(認識の遅れ)
後から導入
最初から導入
処理 : キー操作時に0.05秒の遅延処理を挿入
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
達成率の推移(行動の遅れ)
後から導入
最初から導入
処理 : 10連続で成功したらランダムな行動を取る確率を
2倍にして0.05秒遅延処理を挿入
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率
(%)
プレイ回数
達成率の推移(緊張)
後から導入
最初から導入
0
10
20
30
40
50
60
70
80
90
100
0 100 200 300 400 500 600 700 800 900 1000
達成率(%)
プレイ回数
揺らぎ
認識の遅れ
行動の遅れ
緊張
無し
スコア : 無し > 緊張 > 行動の遅れ > 揺らぎ > 認識の遅れ
・生物学的制約有りは全てスコアが低下 -> 失敗の行動が増加
・「揺らぎ」「認識の遅れ」 -> 0(ミス)が増加
・「行動の遅れ」「緊張」 -> 0(ミス)までにはならない
判定200程度のズレが増加
内容 意見数
タイミング,リズムのズレ 11
局面による上手いところと下手なところ 8
無駄打ち,空打ち 8
キーの押す位置 7
ミスの仕方 7
初,中,上級者のような動き 4
最高評価の多さ, 少なさ(精度) 4
譜面の密度 2
被験者
絶対評価
映像1 映像 2 映像3 映像4 映像5 映像6 映像7
A (3) 2 2 5 4 1 5 3
B (3) 1 1 3 2 3 4 5
C (3) 2 2 4 3 4 4 5
D 3 2 5 3 5 5 5
E 2 3 2 3 4 3 4
F 1 2 4 3 3 3 5
G 1 3 5 2 4 3 4
H 2 1 3 2 4 1 5
I 3 2 5 4 2 4 4
J 3 1 2 3 2 4 3
K 3 2 5 4 3 5 4
L 3 4 3 4 5 4 5

More Related Content

What's hot

強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類
佑 甲野
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
tancoro
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
Deep Learning JP
 
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
西岡 賢一郎
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
Yasunori Ozaki
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
Deep Learning JP
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
Masahiro Suzuki
 
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
 
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + αNIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
佑 甲野
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
Deep Learning JP
 
物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417
Masakazu Shinoda
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
nishio
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
Deep Learning JP
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
suckgeun lee
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
Deep Learning JP
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
 

What's hot (20)

強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
 
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + αNIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417物体検出の歴史まとめ(1) 20180417
物体検出の歴史まとめ(1) 20180417
 
強化学習その2
強化学習その2強化学習その2
強化学習その2
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
 
古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 

音楽ゲームのプレイヤAIにおける人間らしく振る舞う強化学習手法の提案

Editor's Notes

  1. 音楽ゲームのプレイヤAIにおける人間らしく振る舞う強化学習手法の提案と題しまして 松江工業高等専門学校の坂本が発表します。よろしくお願いします。
  2. 現在、ゲームAIはもはや人を超える強さを獲得しています。 最新の強化学習アルゴリズムのR2D2では、ゲーム画面のみを用いた学習で、 多くのレトロゲームで人間を超えるスコアを記録しました。
  3. これは強いマリオのAIを競うMario AI Competitionの映像ですが、 マリオが多くの敵の間を縫って進むという人間には到底真似できないような動きをしています。
  4. ですが、このような強さを追求したゲームAIでは動きが機械的になってしまうことが課題となっています。
  5. この課題の解決に向けて、人間らしい振る舞いを行うゲームAIの研究が行われています。 先行研究としては、 人間らしいFPS、シューティングゲームのAIや 接待将棋を行うAI、 先ほどもあったマリオでの人間らしいAIなどがあり、人間らしさを競う大会なども開催されています。
  6. 人間らしいAIができることで、プレイヤを楽しませたり、ライバルになれるようなAIの実現が期待されています。 また、ゲームを遊ぶ人の多くは上級者ではなく初級者や中級者です。 AIを仮想的なプレイヤと設定することで、人間がプレイする際の振る舞いを再現することができ、 ゲーム開発やデバッグのコストダウンに繋げることが出来ます。
  7. そして、ゲームAIで人間らしさを表現する事例として、藤井は強化学習に生物学的制約を導入しました。 生物学的制約は、生物が持っている環境下における制約のことを指します。 例えば、人は目で見て行動するまでに必ず遅延やブレが発生することなどが上げられ、これは人間がゲームをプレイする際にも生じているものです。
  8. 藤井はスーパーマリオを対象に人間らしい振る舞いを自動獲得するために4つの生物学的制約を定義し, Q学習に導入しました。
  9. これにより、例えば、生物学的制約を導入する前は落ちてはいけない穴をギリギリでジャンプしていましたが、 生物学的制約の導入後は穴に落ちないように手前から余裕を持ったジャンプをすると言う人間らしい行動をとるようになり、 実際の人間のプレイと比較しても人間らしいと言う評価を得ていました。
  10. しかし、先行研究の手法では、キャラクタの位置座標や局面情報などを取得し、それらの情報に対して生物学的制約を再現する処理を施して学習を行なっています。 生物学的制約自体は汎用性が高いのですが、それを再現するためにはゲーム固有のパラメータを参照する必要があり、 他のゲームへ応用する際はそれらの処理を変更しなければならない点で汎用性が低いことが課題であると考えました。 また、実際に人間がゲームをプレイする際も, そのような情報やゲーム内部のパラメータを正確に全て把握できるとは限らないため, 人間がプレイする際の環境に近いとは言えないと考えます
  11. そこで、ゲーム画面のみの学習で成果を上げている深層強化学習で人間らしさを導入することができれば, より汎用的な人間らしいAIが実現できるのではないかと考えました。
  12. よって本研究では、深層強化学習に生物学的制約を導入してゲーム画面のみで学習を行い、 人間らしい振る舞いを自動獲得するゲームAIを作成することを目標とします。
  13. そして研究対象とするゲームについてですが、 これまで人間らしいAIの研究では、先ほどのようにボードゲームやアクションゲームなど、 行動に多くの選択肢があり、人間らしい表現が比較的できるようなものが対象にされてきました。 ですが、ボタンをタイミングよく押す音楽ゲームのような、 1つ1つの行動が明確に評価され、最高スコアまでの過程が明確なゲームはあまり研究対象にされていません。 そこで、本研究では音楽ゲームを題材として、人間らしい振る舞いを行うAIを作成し、得られた振る舞いの人間らしさと 音楽ゲームにおける人間らしい振る舞いについて検証します.
  14. 次に音楽ゲームについて簡単に説明します。 音楽ゲームは音楽に合わせてアクションを行い、評価を得るゲームです。
  15. 例えば太鼓の達人では、太鼓の面を叩く、縁を叩くという2種類のアクションがあります。 そして、アクション1つ1つが判定によって評価されます。 判定は多くのゲームで複数存在し、もっとも良い判定は良で、すべてのアクションで良の判定を得ると、パーフェクトとなります。
  16. また、太鼓の達人では、既にAIバトル演奏というプレイヤーと同じ腕前を発揮するAIと勝負するモードがあリ 少なくとも、このようなAIの需要はあると言えそうです
  17. そして、音楽ゲームで人間らしさを表現するためには、人間らしい失敗を再現することが重要です。
  18. このような失敗が引き起こされる原因は、人間の身体的、精神的なものであるため、 音楽ゲームでも人間らしさを表現するためには生物学的制約の導入が有効であると考えました。
  19. 本研究では、4つの生物学的制約を定義しました。 先行研究では、位置座標やパラメータに対して直接行なっていた処理を、画面そのものに対する処理に変更しました。 また、遅れを認識の遅れと行動の遅れに分けて、訓練と挑戦のバランスの代わりに新たに緊張を定義しました。
  20. Aの揺らぎは、人がゲーム画面を見る時の視線や位置のズレや、必ずしも一箇所を見ているとは限らないことを表しています。 先行研究では、マリオの位置座標を本来のものからずらして与えていますが、人間が画面を見る時は、その一点だけでなく視線全体がずれると考えました。 そこで、ゲーム画面を入力として与える際に、画面全体の参照範囲をずらすことで人の視線のズレを再現します。
  21. Bの認識の遅れは、ゲーム画面を見て局面を認識してから行動に移るまでの遅れを表しています。 先行研究では、現在から数フレーム過去のマリオの位置座標を与えていますが、 これも人間が画面を見る時は一箇所だけでなく全体に遅れが生じると考えました。 そこで、入力する画像全体を本来よりも過去のものにすることで認識の遅れを再現します。
  22. 次にCの行動の遅れについてです。  人間は先ほどの認識の遅れ以外にも、実際に行動を開始してから手がボタンなどを押すまでの間にも遅れが生じると考えられます。 これを認識の遅れと定義して、キー操作時に遅延処理を行うことで再現します。
  23. 最後にDの緊張についてです。 人は成功が連続している時に失敗したくないと感じ、普段ではしないような失敗や自分の意図に反した行動をとってしまうことがあります。 これを緊張として定義し、連続成功時にランダム行動選択率を増加させることに加えて、行動の遅れを発生させることで再現します。
  24. 次に実装について説明します。 今回は、深層強化学習の1つであるDRQNを用いて既存の音楽ゲームであるosu!maniaをゲーム画面の画像のみで学習させました。 Osu!maniaは上から降ってくるノーツに合わせて、4つのキーをタイミングよく叩くゲームです。
  25. 今回のゲームでは、6種類の判定が存在します。 スコアは達成率で表され、最高得点は100%です。 達成率は、以下の式で求められます
  26. そして、どの判定を得るかは、行なったアクションがどれだけ正確なタイミングからずれているかで決まります。 例えば60ミリ秒ずれていた場合は判定200を得ます。
  27. ネットワーク構成はこのようになっています。 入力はゲーム画面を1/4のサイズにした画像データで 出力はどのキーを押すかの行動評価値ベクトルです
  28. 行動は4つのキーそれぞれを押すかと何も押さないの5つから選択されます。 イプシロングリーディ法で最初はランダムな行動を40%で選択し、 学習が進むにつれ確率を下げ、最終的に10%まで下げるようにしました。 報酬は良い判定ほど高い報酬値を与えました。 ミスと空打ちに対しては負の報酬を与えました。 特に空打ちについてですが、最初何も報酬を与えずに学習をさせたところ、正しいタイミングでキーは押すものの、 何もない箇所でも常に連打をし続けてしまい、到底人間のプレイからはかけ離れてしまったため、若干の負の報酬を与えることで空打ちを抑えるようにしました。
  29. 学習の流れはこのようになっています。 ゲーム画面の入力時に揺らぎと認識の遅れを与え、 実際にAIが行動する際に行動の遅れと緊張を与えます
  30. そして、それぞれの生物学的制約を再現する処理を施したモデルA,B,C,Dと 導入しないEの計5種類のモデルを作成しました。
  31. そして20秒で24個のノーツが流れてくる譜面を作成し、 これを用いてそれぞれのモデルを1000回学習させ、スコアの推移や振る舞いの比較を行いました。
  32. 実験結果です。まずはこの映像をご覧ください。 これはそれぞれのモデルの実際のプレイ映像です。 生物学的制約なしのEはほとんどミスはないですが、 Bの認識の遅れやCの行動の遅れではミスや低い判定を取っていることがわかります
  33. 次に、学習時のスコアの推移です。 下の表は達成率がある程度収束したプレイ回数900回から1000回の間の平均達成率を示したものです。 最終的な達成率は、モデルAの揺らぎは70%から75%程度で
  34. モデルBの認識の遅れは65から70%程度
  35. モデルCの行動の遅れは75%前後
  36. モデルDの緊張は80から85%程度で推移する結果となりました。
  37. そして生物学的制約なしのモデルEは85%から90%と高スコアで推移しました。 このことから、生物学的制約の導入によって失敗の行動が増加したことがわかります。
  38. また、先ほどまでは生物学的制約を最初から導入していましたが、生物学的制約を後から与えると変化があるのかを調べるため、 1000回学習済みの生物学的制約無しのモデルEに後からそれぞれの生物学的制約を導入する追加実験を行いました。 先ほどと比べ、学習済みであるため最初のスコアの立ち上がりは早かったですが、最終的に推移するスコアに大きな変化はありませんでした。
  39. また、これは生物学的制約ごとの得た判定の割合を示したグラフです。 モデルBの認識の遅れでは最高判定の300虹と最低判定のミスの両方が増加しました。 また、モデルCの行動の遅れではミスまでにはならない判定200程度のズレが増加したことがわかりました。
  40. 次に、実験1で作成した5つのモデルのゲームプレイ映像と、そこに人間の音楽ゲーム初級者と上級者をF、Gとして加えた計7種類のプレイ映像を 12名の被験者に見てもらい、振る舞いの人間らしさを評価する実験を行いました。
  41. 実験の評価には、人間らしさの絶対評価として5段階評価を行ってもらい、 そのような評価にした理由やどの振る舞いが人間らしかったかなどを自由記述で書いてもらいました。
  42. 実験の結果です。 右の2つが実際の人間のプレイですが、5段階評価の平均評価値が上級者が4.33で初級者が3.75と1番目と3番目に高く、多くの被験者が人間らしいと評価しました。 またBの「行動の遅れは」評価値が3.83と2番目に高く、実際の人間と同等レベルに人間らしいと評価されました。 しかし, それ以外は人間プレイヤよりも人間らしいとは評価されませんでした。 また、Eの「生物学的制約無し」は唯一評価値 1 と 5 の両方の評価を得て, 標準偏差も最も大きくなり、人間らしさの評価が大きく分かれました。
  43. 自由記述では、このような意見が得られました。 その中でも、タイミングが時々ずれたり、難しい局面でリズムが崩れることは多くの被験者がが人間らしいを感じていました。 一方で、プレイ中で上手いところと下手なところの差が大きいことや、ミスの際に全く違うところを叩く空打ちなどは多くの被験者が人間らしくないと評価しました。
  44. 考察です。 Aの揺らぎとBの認識の遅れを導入したモデルは、 ミスは増加したのですが、ミスの際に他のキーを空打ちする振る舞いが人間らしいと評価されませんでした。 また, 認識の遅れでは最高判定とミスの両方が多かったことからうまいところと下手なところの差が大きく、 局面ごとの振る舞いが極端すぎたことが人間らしく評価されなかった原因であると考えます。 そして Cの行動の遅れやDの緊張では、ミスにならない程度のリズムのズレが増加し、これが中級者や上級者に近い振る舞いで人間らしいと評価されたと考えます
  45. E の生物学的制約無しでは、人間らしさの評価が大きく分かれました。 これは、極端に精度が高くうまいプレイを、上級者の完璧なプレイと捉えられた場合は人間らしいと評価された一方で 機械的な動きと捉えられた場合は人間らしくないと評価されたためだと考えられます。 次に実際の人間のプレイについてですが、Fの初級者では, Aの揺らぎやBの認識の遅れと同様に ミスは多かったですが、ミスをする際のあからさまな空打ちなどがこれらと比べると少なく、 人間らしいと評価されたと考えます。 そしてGの上級者ですが、ミスも少なく高スコアながらも人間らしいと多くの人が評価しました。 このことから最高判定が極端に多くなく、うまいけれども完璧すぎないプレイは人間らしいと評価される可能性が高いことがわかりました。 以上のこれらから、極端な失敗を増加させることよりも、微妙なズレなどを表現することが 音楽ゲームで人間らしさを求める上で重要だと考えました。
  46. 最後にまとめです。今回は音楽ゲームを題材に人間らしい振る舞いを行うゲームAIを作成を行いました。 深層強化学習に生物学的制約を導入することで、行動の遅れなど一部では実際の人間レベルに人間らしいと評価されました。 しかし、生物学的制約の種類によっては人間らしいとは評価されず、制約の与え方や処理方法については改善する必要があると考えています。 今後はもっと難しい譜面での学習や、他の生物学的制約の導入を検討し、より人間らしい振る舞いを獲得することを目指したいと考えています。 そして今回は音楽ゲームと言いながらも入力には画面情報のみを用いて音の情報は用いませんでした。 より人間が音楽ゲームをプレイしている状態に近づけるためには、音を聞きリズムを取ると言う行動を再現する必要があると考えます。 そのため、音の情報を入力に導入することも検討したいと考えています。 以上で発表を終わります。ありがとうございました。
  47. 今回は音楽ゲームを題材に人間らしい振る舞いを行うゲームAIを作成しました。 生物学的制約を導入することで、一部は実際の人間レベルに人間らしいと評価されました。 今後はもっと難しい譜面での学習や、他の生物学的制約の導入、 そして今回は音楽ゲームと言いながらも音の情報は用いなかったため、入力情報に音を導入したいと考えています。 今後の方針の補足資料
  48. 今回は音楽ゲームを題材に人間らしい振る舞いを行うゲームAIを作成しました。 生物学的制約を導入することで、一部は実際の人間レベルに人間らしいと評価されました。 今後はもっと難しい譜面での学習や、他の生物学的制約の導入、 そして今回は音楽ゲームと言いながらも音の情報は用いなかったため、入力情報に音を導入したいと考えています。 今後の方針の補足資料
  49. また、osu!maniaは一般的なゲームであるため、操作では実際にキー入力を行い, どの判定を得たのかは画面の表示から判断する必要があります。 そのため, PyAutoGUI を用いて, ゲーム画面のキャプチャやキー操作の自動化を行いました。 また、キャプチャ時に判定の表示を検出して、それに対応する報酬を与えました。 その際に元の判定の種類を判定の検出を正確に行うため、判定表示を検出できる形に変更しました。
  50. 今回は音楽ゲームを題材に人間らしい振る舞いを行うゲームAIを作成しました。 生物学的制約を導入することで、一部は実際の人間レベルに人間らしいと評価されました。 今後はもっと難しい譜面での学習や、他の生物学的制約の導入、 そして今回は音楽ゲームと言いながらも音の情報は用いなかったため、入力情報に音を導入したいと考えています。 今後の方針の補足資料
  51. 一個ずつのは補足資料に持っていく
  52. 一個ずつ別々に識別番号と内容を書く
  53. 言いたいことを書く ここでまとめのことを言う
  54. グラフの相関を言う ここで改まって言わなくてもいいかも
  55. 多い意見は影響が多いそう 分けた後に一緒にするのはわかりづらい
  56. 多い意見は影響が多いそう 分けた後に一緒にするのはわかりづらい