Slide 1

Slide 1 text

Gunosyデータマイニング研究会 #123 『これからの強化学習』3.7

Slide 2

Slide 2 text

⾃⼰紹介 はせお @hasewogamer ⼤学では経営学・マーケティングを専攻 2016.1 某データ分析ベンチャーでインターン 2017.2 就職、webアプリのログ解析とかをやっている

Slide 3

Slide 3 text

深層学習を⽤いたQ関数の学習: Atari2600と囲碁への応⽤ 概要 • 関数近似器としてdeep neural networkを⽤いてQ関数を学習さ せたことでこれまでにない性能を発揮した事例を紹介

Slide 4

Slide 4 text

3.7.1 Deep Q Learning(DQN)によるAtari2600のゲームの学習 • ⼊⼒として画⾯のデータそのものを⽤いる • 同じ学習アルゴリズムを適⽤するだけで⼈間以上の⾼得点を⽬指す • NIPS版DQNとNature版DQN

Slide 5

Slide 5 text

3.7.2 DQNのネットワーク構造 • DQNとは? • ⾏動価値関数を推定するための多層ニューラルネットワーク ℎ(#) = sig # + # ℎ(-.#) = sig - ℎ(-) + - = o - ℎ(1) + 1 重み バイアス

Slide 6

Slide 6 text

畳み込みニューラルネットワーク • 特徴 • Convolutionレイヤー(畳み込み層) • 画像や⾳声データなどの多次元データの特徴を保持(フィルター) • Poolingレイヤー • ⼊⼒データを扱いやすいものにするため情報を圧縮 • Fully connectedレイヤー(全結合)

Slide 7

Slide 7 text

中間層ユニットの共有 • ⼊⼒や中間層をゲームによらず共通なものにする →個別のゲームに特化した過学習を防ぐため →⾼速な学習が可能(⾏動ごとに関数を評価しなおす必要がない)

Slide 8

Slide 8 text

3.7.3 DQNの学習アルゴリズム • DQNの学習は以下の⽬的関数 の最⼩化を意図する = [(7 9 Q 7 , 7 ; )? ] B ∝ [(7 9 Q 7 , 7 ; )B Q 7 , 7 ; ]

Slide 9

Slide 9 text

3.7.3 DQNの学習アルゴリズム RMSpropによってパラメータ更新を⾏う。 ただし、下記の強化学習ならではの⼯夫がなされている。 n学習則の安定化のためのターゲットの固定化(neural fitted Q) n学習に⽤いるサンプルの偏りの抑制(体験再⽣)

Slide 10

Slide 10 text

学習則の安定化のためのターゲットの固定化 (neural fitted Q) 強化学習では多くの場合最適Q関数は不明なので、TD誤差を使 う 7.# + γ max IJKL Q(7.# , 7.# ; ) − Q(7.# , 7.# ; ) しかし、TD誤差はパラメータに依存するターゲットとなり、収束が安定しない ↓ Neural fitted Qを⽤いる

Slide 11

Slide 11 text

neural fitted Q • あらかじめターゲットを固定(オフライン学習) • 教師付き学習にかなり近い

Slide 12

Slide 12 text

学習に⽤いるサンプルの偏りの抑制 (体験再⽣) ゲームをプレイしているエージェントが得る画⾯⼊⼒は互いに強い相関を持つ →この強い相関を持つ⼊⼒系列に対して学習を⾏うと、 直近の⼊⼒に引きずられたパラメータの修正が⾏われる →過去の⼊⼒に対する推定が悪化、収束性悪 • 体験再⽣(experimence replay)とは? • 直近の過去の体験7 , 7 , 7.# が保管される • 保管された体験から⼀様乱数を⽤いてランダムに体験を選ぶ →学習⽤の⼊⼒とTD誤差の経験に利⽤

Slide 13

Slide 13 text

その他の実装 • ゲームごとに得点の範囲がバラバラ →報酬は+1, 0, -1に固定 • エージェントの⾏動⽅策:ε-greedy • Nature版DQN:TD誤差が[-1, 1]の範囲を超えないように切り 上げ → = [(7 9 Q 7 , 7 ; )? ]が[-1, 1]の範囲を超えたところ で、より⽬的関数の増加が緩やかな絶対値誤差 に切り替え

Slide 14

Slide 14 text

NIPS版DQN

Slide 15

Slide 15 text

Nature版DQN

Slide 16

Slide 16 text

学習結果(NIPS版) 3タイトルで⼈間と互⾓以上。4タイトルでは勝てなかった

Slide 17

Slide 17 text

学習結果

Slide 18

Slide 18 text

double Q learning • Q関数の評価時に⾏動と状態価値を同時に⼊⼒した累積利得評 価に基づくために、⾏動に対する状態価値評価が、直接的に評 価できない事からずれが⽣じる(overestimation) • Q関数を2つにすることで、⾏動に対する状態価値評価と全体 の累積利得価値評価を分ける

Slide 19

Slide 19 text

優先順位付き体験再⽣ • 体験再⽣において選ばれる体験は⼀様分布からランダムに選ばれる →各サンプルの重要性は考慮されない →サンプルごとの重要性を考慮して重み付けをして再利⽤することが提案される (優先順位付き体験再⽣) • TD誤差の絶対値 を⽤いたQ = Q + ε(ただしεは正の定数)を⽤いる • 確率 = ST U ∑ SW U W (ただしαは正の定数)に従ってサンプルを選択する

Slide 20

Slide 20 text

3.7.4 AlphaGoによる囲碁の学習 • 囲碁 • ⽩⽯を持つプレイヤーと⿊⽯を持つプレイヤーが交互に⽯を置きあう • 相⼿の⽯を囲むと取れる • 19 × 19マスの盤⾯で構成される 状態{○, ●, ⽯なし} 3×19×19 = 10172の状態数

Slide 21

Slide 21 text

AlphaGoが出現するまでのコンピュータ囲碁の歴史 • α- β法(min-max法) • あらかじめ定めた範囲を選択してその中で最適な盤⾯に到達する⼿を選択 • 定められた計算時間内に探索できなかった場合⼤きく推定精度が悪化 • モンテカルロ⽊探索法 • さまざまな候補⼿をランダムにまんべんなく探索 • 計算時間に応じて滑らかに推定精度が改善 • しかし推定精度の改善に膨⼤な計算時間がかかる

Slide 22

Slide 22 text

AlphaGoが出現するまでのコンピュータ囲碁の歴史 • UCT法 • モンテカルロ⽊探索を効率化するための⼿法 • あまり探索されていないノードや評価の⾼い盤⾯に⾄る確率の⾼いと 思われる⾒込みのあるノードを優先的に探索する • 2006年のコンピュタ囲碁の⼤会で優勝、2008年には9×9マスの縮⼩ 版囲碁でプロ棋⼠に1勝をあげる • ニューラルネットワークを⽤いた盤⾯評価 • 盤⾯の状態を⼊⼒とし、勝敗や次の⼀⼿を予測する教師あり学習 • モンテカルロ⽊ベースの⼿法には遠く及ばなかった

Slide 23

Slide 23 text

AlphaGoの登場 • 2016.1 ヨーロッパチャンピオン Fan Hui⽒に対し5戦5勝 • 2016.3 世界トップレベル Lee Sedol⽒に5戦4勝 • 三つの技術を使⽤ • 教師あり学習 • 強化学習 • モンテカルロ⽊探索

Slide 24

Slide 24 text

三つの技術を使⽤ • 教師あり学習 • 過去の棋⼠の膨⼤な対戦結果をもとに適切な⼿や盤⾯評価を学習 • 強化学習 • 教師データで学習したエージェント同⼠を戦わせて学習を進⾏ • モンテカルロ⽊探索 • 関数近似した学習では近似誤差がつきまとう • 近似誤差を含んだままの推定では、最適⼿候補が多い場合に不適切な判 断をする可能性が⾼い • ↑が勝敗を左右する可能性があるため、現在の状態から各候補の着⼿の 結果をモンテカルロ⽊探索で判断

Slide 25

Slide 25 text

AlphaGoによる着⼿の選択 • モンテカルロ⽊探索 • Selection:有望な⼿を選択 • Expansion:⼦ノードを展開 • Evaluation(Simulation):終局まで実⾏ • Backup(Backpropagation):結果をノードに記録

Slide 26

Slide 26 text

Selection 7 = arg max I∈[ \J 7 , + 7 , 7 , = S`a7 P , ∑ d , e 1 + d , 未探索の⼿を 選択しやすくする項

Slide 27

Slide 27 text

Expansion • 訪問回数が閾値を超えたら有望な⼦ノードを展開 • 新たなノードsʼに対して定義される変数の値を、 g h i, ′ = d i, ′ = 0 h i, ′ = d i, ′ = 0 i, ′ ∝ pn シミュレーションによる 訪問回数 状態価値ネットワークで 評価した回数 状態価値関数で勝ちと判断した回数 シミュレーションで 価値と判断した回数

Slide 28

Slide 28 text

Evaluation • 探索⽊の末端のノードまで到達した時、状態価値ネットワーク で未評価であればその値を評価 • 同時に、そのノード以降を探索展開⽤⽅策に従って⾏動を選択 するシミュレーションを⾏う

Slide 29

Slide 29 text

Backup • 状態価値ネットワークの評価が終わったとき 各t≦Lに対して p h 7 , 7 ← h 7 , 7 + 1 h 7 , 7 ← h 7 , 7 + 1 上記とは⾮同期に、各t≦Lに対して p d 7 , 7 ← d 7 , 7 + 1 d 7 , 7 ← d 7 , 7 + 7

Slide 30

Slide 30 text

Backup • ⾏動価値関数Q(s7 , 7 )は、これらを⽤いて計算される。 Q(s7 , 7 ) = 1 − uv \J, IJ wv \J, IJ + ux \J, IJ wx \J, IJ • また、selectionにおいてすでに選択されたノードの中で、 ⼀時的に何回か評価して負けたことにする p d 7 , 7 ← d 7 , 7 + nz- d 7 , 7 ← d 7 , 7 − z- シミュレーション後にまた増やす p d 7 , 7 ← d 7 , 7 − nz- d 7 , 7 ← d 7 , 7 + z-

Slide 31

Slide 31 text

AlphaGoの学習法 名前 記号 何で学習? 何を出⼒? どんな構成? 探索展開⽤⽅策 p| 教師付き学習 多値関数 ソフトマックス関数 教師付き学習⽅策ネットワーク pn 教師付き学習 多値関数 多層ニューラルネットワーク 状態価値ネットワーク 教師付き学習 スカラー関数 多層ニューラルネットワーク 強化学習⽤⽅策ネットワーク p} 強化学習 多値関数 多層ニューラルネットワーク

Slide 32

Slide 32 text

探索展開⽤⽅策と 教師付き学習⽅策ネットワークの学習 • 探索展開⽤⽅策にはTygemサーバーから800万の盤⾯を学習 • 教師付き学習⽅策ネットワークには、KGSサーバーで6段から9 段の⼈間の16万の対局から得られた2940万盤⾯を利⽤ • そのうち2840万が教師データ • 残りの100万がテストデータ • 3.4億回の更新に50個のGPUでおよそ3週間の計算時間

Slide 33

Slide 33 text

強化学習⽤⽅策ネットワークの学習 • 教師付き学習で訓練されたエージェント同⼠を⾃⼰対戦 • ⽅策勾配法のReinforceを⽤いて学習 • 対戦相⼿が絞られないよう、過去の強化学習⽤⽅策ネットワークから ランダムに選んで対戦(500回のパラメータ更新ごとに過去とみなす) • 50個のGPUで丸⼀⽇の計算時間

Slide 34

Slide 34 text

状態価値ネットワークの学習 1. 1から450までの整数から⼀様ランダムに整数Uを得る 2. 初⼿にU-1⼿⽬までの着⼿を、いずれも教師付き学習⽅策 ネットワークに従って選択 3. U⼿⽬において合法⼿の中から⼀様ランダムに着⼿を選択 4. U+1⼿⽬から終局までの着⼿を強化学習⽤⽅策ネットワーク に従って選択。終局における勝敗を教師ラベルとする。

Slide 35

Slide 35 text

AlphaGoの学習後の性能⽐較

Slide 36

Slide 36 text

おわりに • 強化学習を困難にする問題 • 価値関数が出⼒すべきターゲットが未知であること • ⽣成されるサンプルが独⽴同⼀分布に従わない • ⽅策を固定したMRP(Markov Reward Process)に限っては、 価値関数推定の問題はセミパラメトリック統計学の問題として 定式化される But