Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
『これからの強化学習』3.7
Search
hasewo
June 17, 2017
Technology
0
890
『これからの強化学習』3.7
Gunosyデータマイニング研究会 #123 で用いたスライドです。
内容:DQNとAlphaGoについてのまとめ
hasewo
June 17, 2017
Tweet
Share
More Decks by hasewo
See All by hasewo
A Deep Reinforcement Learning Chatbot
hasewo
1
790
Other Decks in Technology
See All in Technology
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1.2k
『GRANBLUE FANTASY: Relink』最高の「没入感」を実現するカットシーン制作手法とそれを支える技術
cygames
1
140
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
260
リアルお遍路+SORACOM IoT
ozk009
1
140
Fediverse Discovery Providers overview
andypiper
0
170
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
190
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
4
160
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
44
14k
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
580
ナレッジグラフとLLMの相互利用
koujikozaki
0
420
DevRelの始め方
moongift
PRO
1
390
20240912 JJUGナイトセミナー
mii1004
0
140
Featured
See All Featured
Teambox: Starting and Learning
jrom
131
8.7k
The Language of Interfaces
destraynor
153
23k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
1
53
How GitHub (no longer) Works
holman
310
140k
Agile that works and the tools we love
rasmusluckow
327
20k
Robots, Beer and Maslow
schacon
PRO
157
8.2k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Scaling GitHub
holman
458
140k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Transcript
Gunosyデータマイニング研究会 #123 『これからの強化学習』3.7
⾃⼰紹介 はせお @hasewogamer ⼤学では経営学・マーケティングを専攻 2016.1 某データ分析ベンチャーでインターン 2017.2 就職、webアプリのログ解析とかをやっている
深層学習を⽤いたQ関数の学習: Atari2600と囲碁への応⽤ 概要 • 関数近似器としてdeep neural networkを⽤いてQ関数を学習さ せたことでこれまでにない性能を発揮した事例を紹介
3.7.1 Deep Q Learning(DQN)によるAtari2600のゲームの学習 • ⼊⼒として画⾯のデータそのものを⽤いる • 同じ学習アルゴリズムを適⽤するだけで⼈間以上の⾼得点を⽬指す • NIPS版DQNとNature版DQN
3.7.2 DQNのネットワーク構造 • DQNとは? • ⾏動価値関数を推定するための多層ニューラルネットワーク ℎ(#) = sig #
+ # ℎ(-.#) = sig - ℎ(-) + - = o - ℎ(1) + 1 重み バイアス
畳み込みニューラルネットワーク • 特徴 • Convolutionレイヤー(畳み込み層) • 画像や⾳声データなどの多次元データの特徴を保持(フィルター) • Poolingレイヤー •
⼊⼒データを扱いやすいものにするため情報を圧縮 • Fully connectedレイヤー(全結合)
中間層ユニットの共有 • ⼊⼒や中間層をゲームによらず共通なものにする →個別のゲームに特化した過学習を防ぐため →⾼速な学習が可能(⾏動ごとに関数を評価しなおす必要がない)
3.7.3 DQNの学習アルゴリズム • DQNの学習は以下の⽬的関数 の最⼩化を意図する = [(7 9 Q 7
, 7 ; )? ] B ∝ [(7 9 Q 7 , 7 ; )B Q 7 , 7 ; ]
3.7.3 DQNの学習アルゴリズム RMSpropによってパラメータ更新を⾏う。 ただし、下記の強化学習ならではの⼯夫がなされている。 n学習則の安定化のためのターゲットの固定化(neural fitted Q) n学習に⽤いるサンプルの偏りの抑制(体験再⽣)
学習則の安定化のためのターゲットの固定化 (neural fitted Q) 強化学習では多くの場合最適Q関数は不明なので、TD誤差を使 う 7.# + γ max
IJKL Q(7.# , 7.# ; ) − Q(7.# , 7.# ; ) しかし、TD誤差はパラメータに依存するターゲットとなり、収束が安定しない ↓ Neural fitted Qを⽤いる
neural fitted Q • あらかじめターゲットを固定(オフライン学習) • 教師付き学習にかなり近い
学習に⽤いるサンプルの偏りの抑制 (体験再⽣) ゲームをプレイしているエージェントが得る画⾯⼊⼒は互いに強い相関を持つ →この強い相関を持つ⼊⼒系列に対して学習を⾏うと、 直近の⼊⼒に引きずられたパラメータの修正が⾏われる →過去の⼊⼒に対する推定が悪化、収束性悪 • 体験再⽣(experimence replay)とは? •
直近の過去の体験7 , 7 , 7.# が保管される • 保管された体験から⼀様乱数を⽤いてランダムに体験を選ぶ →学習⽤の⼊⼒とTD誤差の経験に利⽤
その他の実装 • ゲームごとに得点の範囲がバラバラ →報酬は+1, 0, -1に固定 • エージェントの⾏動⽅策:ε-greedy • Nature版DQN:TD誤差が[-1,
1]の範囲を超えないように切り 上げ → = [(7 9 Q 7 , 7 ; )? ]が[-1, 1]の範囲を超えたところ で、より⽬的関数の増加が緩やかな絶対値誤差 に切り替え
NIPS版DQN
Nature版DQN
学習結果(NIPS版) 3タイトルで⼈間と互⾓以上。4タイトルでは勝てなかった
学習結果
double Q learning • Q関数の評価時に⾏動と状態価値を同時に⼊⼒した累積利得評 価に基づくために、⾏動に対する状態価値評価が、直接的に評 価できない事からずれが⽣じる(overestimation) • Q関数を2つにすることで、⾏動に対する状態価値評価と全体 の累積利得価値評価を分ける
優先順位付き体験再⽣ • 体験再⽣において選ばれる体験は⼀様分布からランダムに選ばれる →各サンプルの重要性は考慮されない →サンプルごとの重要性を考慮して重み付けをして再利⽤することが提案される (優先順位付き体験再⽣) • TD誤差の絶対値 を⽤いたQ =
Q + ε(ただしεは正の定数)を⽤いる • 確率 = ST U ∑ SW U W (ただしαは正の定数)に従ってサンプルを選択する
3.7.4 AlphaGoによる囲碁の学習 • 囲碁 • ⽩⽯を持つプレイヤーと⿊⽯を持つプレイヤーが交互に⽯を置きあう • 相⼿の⽯を囲むと取れる • 19
× 19マスの盤⾯で構成される 状態{◦, •, ⽯なし} 3×19×19 = 10172の状態数
AlphaGoが出現するまでのコンピュータ囲碁の歴史 • α- β法(min-max法) • あらかじめ定めた範囲を選択してその中で最適な盤⾯に到達する⼿を選択 • 定められた計算時間内に探索できなかった場合⼤きく推定精度が悪化 • モンテカルロ⽊探索法
• さまざまな候補⼿をランダムにまんべんなく探索 • 計算時間に応じて滑らかに推定精度が改善 • しかし推定精度の改善に膨⼤な計算時間がかかる
AlphaGoが出現するまでのコンピュータ囲碁の歴史 • UCT法 • モンテカルロ⽊探索を効率化するための⼿法 • あまり探索されていないノードや評価の⾼い盤⾯に⾄る確率の⾼いと 思われる⾒込みのあるノードを優先的に探索する • 2006年のコンピュタ囲碁の⼤会で優勝、2008年には9×9マスの縮⼩
版囲碁でプロ棋⼠に1勝をあげる • ニューラルネットワークを⽤いた盤⾯評価 • 盤⾯の状態を⼊⼒とし、勝敗や次の⼀⼿を予測する教師あり学習 • モンテカルロ⽊ベースの⼿法には遠く及ばなかった
AlphaGoの登場 • 2016.1 ヨーロッパチャンピオン Fan Hui⽒に対し5戦5勝 • 2016.3 世界トップレベル Lee
Sedol⽒に5戦4勝 • 三つの技術を使⽤ • 教師あり学習 • 強化学習 • モンテカルロ⽊探索
三つの技術を使⽤ • 教師あり学習 • 過去の棋⼠の膨⼤な対戦結果をもとに適切な⼿や盤⾯評価を学習 • 強化学習 • 教師データで学習したエージェント同⼠を戦わせて学習を進⾏ •
モンテカルロ⽊探索 • 関数近似した学習では近似誤差がつきまとう • 近似誤差を含んだままの推定では、最適⼿候補が多い場合に不適切な判 断をする可能性が⾼い • ↑が勝敗を左右する可能性があるため、現在の状態から各候補の着⼿の 結果をモンテカルロ⽊探索で判断
AlphaGoによる着⼿の選択 • モンテカルロ⽊探索 • Selection:有望な⼿を選択 • Expansion:⼦ノードを展開 • Evaluation(Simulation):終局まで実⾏ •
Backup(Backpropagation):結果をノードに記録
Selection 7 = arg max I∈[ \J 7 , +
7 , 7 , = S`a7 P , ∑ d , e 1 + d , 未探索の⼿を 選択しやすくする項
Expansion • 訪問回数が閾値を超えたら有望な⼦ノードを展開 • 新たなノードsʼに対して定義される変数の値を、 g h i, ′ =
d i, ′ = 0 h i, ′ = d i, ′ = 0 i, ′ ∝ pn シミュレーションによる 訪問回数 状態価値ネットワークで 評価した回数 状態価値関数で勝ちと判断した回数 シミュレーションで 価値と判断した回数
Evaluation • 探索⽊の末端のノードまで到達した時、状態価値ネットワーク で未評価であればその値を評価 • 同時に、そのノード以降を探索展開⽤⽅策に従って⾏動を選択 するシミュレーションを⾏う
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
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-
AlphaGoの学習法 名前 記号 何で学習? 何を出⼒? どんな構成? 探索展開⽤⽅策 p| 教師付き学習 多値関数
ソフトマックス関数 教師付き学習⽅策ネットワーク pn 教師付き学習 多値関数 多層ニューラルネットワーク 状態価値ネットワーク 教師付き学習 スカラー関数 多層ニューラルネットワーク 強化学習⽤⽅策ネットワーク p} 強化学習 多値関数 多層ニューラルネットワーク
探索展開⽤⽅策と 教師付き学習⽅策ネットワークの学習 • 探索展開⽤⽅策にはTygemサーバーから800万の盤⾯を学習 • 教師付き学習⽅策ネットワークには、KGSサーバーで6段から9 段の⼈間の16万の対局から得られた2940万盤⾯を利⽤ • そのうち2840万が教師データ •
残りの100万がテストデータ • 3.4億回の更新に50個のGPUでおよそ3週間の計算時間
強化学習⽤⽅策ネットワークの学習 • 教師付き学習で訓練されたエージェント同⼠を⾃⼰対戦 • ⽅策勾配法のReinforceを⽤いて学習 • 対戦相⼿が絞られないよう、過去の強化学習⽤⽅策ネットワークから ランダムに選んで対戦(500回のパラメータ更新ごとに過去とみなす) • 50個のGPUで丸⼀⽇の計算時間
状態価値ネットワークの学習 1. 1から450までの整数から⼀様ランダムに整数Uを得る 2. 初⼿にU-1⼿⽬までの着⼿を、いずれも教師付き学習⽅策 ネットワークに従って選択 3. U⼿⽬において合法⼿の中から⼀様ランダムに着⼿を選択 4. U+1⼿⽬から終局までの着⼿を強化学習⽤⽅策ネットワーク
に従って選択。終局における勝敗を教師ラベルとする。
AlphaGoの学習後の性能⽐較
おわりに • 強化学習を困難にする問題 • 価値関数が出⼒すべきターゲットが未知であること • ⽣成されるサンプルが独⽴同⼀分布に従わない • ⽅策を固定したMRP(Markov Reward
Process)に限っては、 価値関数推定の問題はセミパラメトリック統計学の問題として 定式化される But