Slide 1

Slide 1 text

マールタスの仕組みを解説

Slide 2

Slide 2 text

マールタスとは? RPGアツマールに投稿されたゲームのプレイ⽅法を ⾃動的に学習するシステム 

Slide 3

Slide 3 text

ゲームのプレイ⽅法を学習する  プレイ⽅法を⼈間がデザインするのではなく 学習によって獲得する 何度もプレイして試⾏錯誤してデータ取集 強化学習と呼ばれる⽅法でシステムを更新し成⻑ ハイスコアを⽬指す ܦա࣌ؒ είΞɿ είΞɿ είΞɿ

Slide 4

Slide 4 text

この時間で話したいこと マールタスの学習の仕組み Deep Q-Network(DQN)の基本 マールタスのが得意/不得意なゲームの特徴  %2/

Slide 5

Slide 5 text

ビデオゲームAIを作る? 伝統的な⽅法:ルールベース 「〜のときは〜せよ」  • ఢΩϟϥΫλʔ͕࠲ඪ ̋ɺ̋ ʹ౸ୡͨ͠Β"ϘλϯΛԡ͢ • ࣌ؒͷΧ΢ϯλʔ͕˘ඵʹͳΔ·ͰԣҠಈΛଓ͚Δ • ʜ

Slide 6

Slide 6 text

ビデオゲームAIを作る? 伝統的な⽅法:ルールベース 「〜のときは〜せよ」  • ఢΩϟϥΫλʔ͕࠲ඪ ̋ɺ̋ ʹ౸ୡͨ͠Β"ϘλϯΛԡ͢ • ࣌ؒͷΧ΢ϯλʔ͕˘ඵʹͳΔ·ͰԣҠಈΛଓ͚Δ • ʜ ήʔϜ͕ෳࡶʹͳΔͱॻ͘ͷ͕೉͘͠ͳΔ

Slide 7

Slide 7 text

攻略法を機械に学ばせる:機械学習 ルールを⼈間が記述するのは諦める 機械に攻略法を探してもらう 

Slide 8

Slide 8 text

機械学習による(ビデオ)ゲームAI 様々な⽅法が提案されてきた 遺伝的アルゴリズム モンテカルロ⽊探索 などなど マールタスの学習⽅法:強化学習 

Slide 9

Slide 9 text

強化学習によるビデオゲームAI  古いゲームから新しいゲームまで ⼈⼯知能研究の題材としてゲームが使われることも ATARI Dota 2 Starcraft-II .OJI 7 FUBM    IUUQTPQFOBJDPNGJWF IUUQTEFFQNJOEDPNCMPHBMQIBTUBSNBTUFSJOHSFBM UJNFTUSBUFHZHBNFTUBSDSBGUJJ

Slide 10

Slide 10 text

強化学習の枠組み 環境とエージェントの相互作⽤ ゲーム:環境 エージェント:ゲームプレイヤー  ΤʔδΣϯτ ؀ڥ

Slide 11

Slide 11 text

環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる 

Slide 12

Slide 12 text

環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる 新たな画⾯とスコアが与えられる マールタスは画⾯をみて 次のボタンを選択 

Slide 13

Slide 13 text

環境とエージェントの相互作⽤ マールタスがボタンを選択 ゲーム画⾯が変わる 新たな画⾯とスコアが与えられる マールタスは画⾯をみて 次のボタンを選択  スコア差分: ゲームの画⾯が変わるときの 良さを測る指標

Slide 14

Slide 14 text

環境とエージェントの相互作⽤ エージェントが⾏動を選択 環境が変わる 新たな状態と報酬が与えられる エージェントは状態をみて次の ⾏動を選択  報酬: 環境の状態が変わるときの良 さを測る指標

Slide 15

Slide 15 text

エージェントが⾏動選択をするルール ⽅策:状態を⼊⼒として⾏動を出⼒する関数  ํࡦ ೖྗͨͪ ग़ྗ

Slide 16

Slide 16 text

強化学習で⽬指すこと ⽅策:状態を⼊⼒として⾏動を出⼒する関数  ํࡦ ೖྗͨͪ ग़ྗ ྑ͍ํࡦΛݟ͚͍ͭͨʂ

Slide 17

Slide 17 text

良い⽅策とは? 良い⽅策:たくさん報酬(=スコア差分)がもらえる⽅策 たくさんとは? ゲームの終わりまでの報酬の合計を考える  ελʔτ ήʔϜΦʔόʔ    ఺

Slide 18

Slide 18 text

1ステップのみの場合   

Slide 19

Slide 19 text

⻑いエピソード  BͱCͲ͕ͬͪྑ͍ʁ

Slide 20

Slide 20 text

 ܭࢉͯ͠ΈΑ͏              

Slide 21

Slide 21 text

 ܭࢉͯ͠ΈΑ͏                 

Slide 22

Slide 22 text

 ܭࢉͯ͠ΈΑ͏                 

Slide 23

Slide 23 text

 ܭࢉͯ͠ΈΑ͏                                   

Slide 24

Slide 24 text

 ܭࢉͯ͠ΈΑ͏                                    ఺

Slide 25

Slide 25 text

 ܭࢉͯ͠ΈΑ͏                                    ఺ ఺

Slide 26

Slide 26 text

 ܭࢉͯ͠ΈΑ͏                                   ఺ ఺ C

Slide 27

Slide 27 text

⾏動選択の価値を考える 価値:ある状態におけるゲームの終わりまでの報酬の総和 (報酬の総和の期待値) ⾏動価値(Q値) :ある状態において、ある⾏動を選択した場合の報酬の総和 

Slide 28

Slide 28 text

Q値があれば良いルートがわかる  ߦಈBͷ2஋ ʼ ߦಈCͷ2஋ ߦಈB͕͓ಘ

Slide 29

Slide 29 text

Q値を計算したい  Q値を計算したい 関数を考える ؔ਺ ೖྗ ग़ྗ

Slide 30

Slide 30 text

Q値を計算したい Q関数:状態を⼊⼒してQ値を出⼒する関数  2ؔ਺ ঢ়ଶ ֤Ϙλϯͷ2஋

Slide 31

Slide 31 text

Q関数は簡単に求められない  ⾮常に限られた環境では正確 なQ関数を作ることができる が。。。 実際には組み合わせが膨⼤ 計算できない!

Slide 32

Slide 32 text

Q関数の近似  正確なQ値を計算するのを諦める 実際にエピソードを集める

Slide 33

Slide 33 text

Q関数の近似 正確なQ値を計算するのを諦める 実際にエピソードを集める 集めた中でのQ値を使ってQ関数を近似する  2ؔ਺ ঢ়ଶ ֤Ϙλϯͷ2஋ ͷ༧ଌ 0,

Slide 34

Slide 34 text

どうやってQ関数を近似するの? ニューラルネットワークと呼ばれるものを使う 脳の神経回路を模したモデル  ॏΈɺόΠΞε ೖྗ ग़ྗ

Slide 35

Slide 35 text

どうやってQ関数を近似するの? ニューラルネットワークと呼ばれるものを使う 脳の神経回路を模したモデル   ग़ྗ ॏΈʹ όΠΞεʹ = ೖྗ ×[重み]+όΠΞε = . × . +.

Slide 36

Slide 36 text

ニューラルネットワークの学習 1. 重みとバイアスをランダムに決める 2. 出⼒を計算 3. 欲しい出⼒(正解データ)を使って誤差を計算 4. 誤差を使って重みとバイアスを修正する 5. 2に戻る  ೖྗ ग़ྗ ਖ਼ղ ޡࠩ मਖ਼

Slide 37

Slide 37 text

ニューラルネットワークの拡張  ೖྗ ग़ྗ ͭͷೖྗɺ̍ͭͷग़ྗ

Slide 38

Slide 38 text

ニューラルネットワークの拡張  複数⼊⼒、複数出⼒に拡張 ⼤規模なニューラルネットワーク=Deep Neural Network

Slide 39

Slide 39 text

ニューラルネットワークに画像を⼊⼒  ը૾ ϐΫηϧ஋

Slide 40

Slide 40 text

ニューラルネットワークに画像を⼊⼒  ը૾ ϐΫηϧ஋

Slide 41

Slide 41 text

ニューラルネットワークに画像を⼊⼒  Deep Neural NetworkでQ値を予測する ֤Ϙλϯͷ2஋ ͷ༧ଌ ʢը૾ʣ %FFQ2/FUXPSL %2/

Slide 42

Slide 42 text

Deep Q-Network(DQN)の学習 1. Deep Q-Networkの重みとバイアスを初期化(乱数とか) 2. 状態を⼊⼒してQ値を予測 3. ゲームをプレイさせてデータを集める 4. 集めたデータで重みとバイアスを更新 5. 2に戻る  ঢ়ଶʢը૾ʣ %FFQ2/FUXPSL ༧ଌͨ͠2஋

Slide 43

Slide 43 text

データ収集の効率化 重みとバイアスの修正の時間 < データ収集にかかる時間 並列してデータ収集 

Slide 44

Slide 44 text

データ収集の効率化 重みとバイアスの修正の時間 < データ収集にかかる時間 並列してデータ収集  • ࣮ࡍʹ͸৭ʑ޻෉ΛՃ͑ͨ"QF9ͱݺ ͹ΕΔख๏Λ࢖͍ͬͯΔ • ࣮૷͸3-MJCʢ1ZUIPOͷڧԽֶशͷͨΊ ͷϥΠϒϥϦʣΛར༻ <)PSHBO FUBM   >

Slide 45

Slide 45 text

マールタスが得意なゲーム   ⾏動に対して報酬が即座に反映する:アクションゲーム ⾏動に対する報酬の反映が遅いと学習が難しい ⾏動パターンが少ない:クリックよりもキーボード操作 Q学習は離散の値を前提にしている

Slide 46

Slide 46 text

マールタスが不得意なゲーム   報酬がすぐに与えられない:RPG系 ゲームオーバー時にしかスコアがもらえない スコアがもらえるが限られた複雑な操作をしないと進めない ⾔語の理解を必要とする ⾏動パターンが連続:マウス操作とか

Slide 47

Slide 47 text

ルールを機械に学ばせる ⾏動に対して報酬が即座に反映する:アクションゲーム ⾏動に対する報酬の反映が遅いと学習が難しい ⾏動パターンが少ない:クリックよりもキーボード操作 Q学習は離散の値を前提にしている 

Slide 48

Slide 48 text

まとめ エージェントと環境、⾏動、状態、報酬 ある状態で⾏動を選択した場合の未来のスコアを考える(Q値) Q値は簡単に求められないので近似する データを集める Deep Q-NetworkでQ値を予測させる 得意なゲーム/不得意なゲームがあるよ