Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

強化学習その3

9,788 views

Published on

関連スライド一覧 https://github.com/nishio/reinforcement_learning

Published in: Education
  • Be the first to comment

強化学習その3

  1. 1. 強化学習 その3 方策反復法 2017-01-31 @ 機械学習勉強会 サイボウズ・ラボ 西尾泰和 関連スライド一覧 https://github.com/nishio/reinforcement_learning 2017-03-23 加筆
  2. 2. このスライドの目的 大規模なデータを占有してない企業にとって 強化学習の考え方が有用なので 基礎からきちんと理解したい。 そのために機械学習勉強会の何回かに分けて 強化学習の話を連載する。 2
  3. 3. 参考文献 2016年10月に左の本が出た。 これを読んでいく。 右下の本が長らくバイブル だったが2000年(原著1998年) 発行。 3 http://amzn.to/2josIJ1 http://amzn.to/2jCnYQg 以下[こ]と表記する
  4. 4. 今後の予定 第2回(前回): 2節 強化学習の構成要素 3節 価値反復に基づくアルゴリズム 第3回(今回): 1章4節 方策勾配に基づくアルゴリズム 第4回: 1章5節 部分観測マルコフ決定過程 4
  5. 5. 今後の予定 第5回 2.1 統計学習の観点から見たTD学習 2.1.1 強化学習と教師付き学習の学習則 2.1.2~3 関数近似を(する/しない)価値関数推定 (ここまで28ページ) 第6回 2.1.4 セミパラメトリック統計学習に基づく定式 化(10ページ) 2.2 理論性能解析とベイズ (理論薄めでやる。13ページ) 5
  6. 6. 今後の予定 第7回 2.3 逆強化学習 第8回 2.4 経験強化型学習 2.5 群強化学習(飛ばします) 第9回 2.6 リスク考慮型強化学習 2.7 複利型強化学習(飛ばします) 第10回 3 強化学習の工学応用 3.3 対話処理における強化学習 6
  7. 7. 今後の予定 第11回 3.5 自然言語処理における逆強化学習と模 倣学習 第12回 3.7 深層学習を用いたQ関数の学習 (いわゆるDQN) 第13回 4 知能のモデルとしての強化学習 7
  8. 8. 前回のおさらい 環境が変化し、報酬が遅延する、という問題設定 に対処するためにマルコフ決定過程と割引報酬和 の概念を学んだ。 最適な方策を見つけるための方法として方策反復 法と価値反復法があること、価値の定義と、 価値反復法で方策を改善する手法である SarsaとQ学習を学び、実装し、実験した。 8
  9. 9. 今回 方策を最適化する方法に大きく分けて2通りある。 価値反復法 方策を価値で記述して価値の推定を頑張る。 DQNのアプローチ →前回やった 方策反復法 方策をモデル化して直接最適化する。 AlphaGoのアプローチ →今回やる * 9 [こ]1.4節”方策勾配法”と[Sutton+ 2000] “Policy Gradient Methods for Reinforcement Learning with Function Approximation”を参照 https://webdocs.cs.ualberta.ca/~sutton/papers/SMSM-NIPS99.pdf
  10. 10. 方策勾配法 方策反復法は方策をモデル化して最適化する。 中でも有用なのが方策勾配法 方策をθでパラメタライズして、 そのθで期待収益Jの勾配を求めてθを更新する。 𝜃 ← 𝜃 + 𝛼𝛻𝐽(𝜃) 10 Jはここでは何らかの方策の良さを表す関数(期待収益, 方策の評価)、具体例は後で出る。 [こ]では学習率がηだけど、これまでと揃えてαにした。 あとθ以外での勾配は考えないのでナブラに添え字を付けるのをやめた。
  11. 11. 方策とその評価 θでパラメタライズされた方策の例としてソフト マックス、ガウス分布などがある。(p.48) 𝜋 𝜃 𝑎 𝑠 = exp 𝜃𝑠𝑎 σ 𝑎′ exp 𝜃 𝑠𝑎′ 𝜋 𝜃 𝑎 𝑠 = 1 𝑍 exp − 1 2 𝑎 − 𝑊𝑠 𝑇 𝐶−1 𝑎 − 𝑊𝑠 状態や行動が連続値でもよいのが長所。 11
  12. 12. θの更新 θを更新したい=勾配𝛻𝐽(𝜃)を求めたい。 𝜃 ← 𝜃 + 𝛼𝛻𝐽(𝜃) どうやったら計算できるだろうか? 12
  13. 13. Jを定義する まず「方策の良さ」Jを具体的に定義する。 定義の仕方には少なくとも2通りある。 平均報酬と割引報酬和。 またそれに対応して行動価値関数Q(s, a)と 状態に関する関数d(s)とを定義する必要がある。 13 * dはJが平均報酬の場合には状態の定常分布に相当する
  14. 14. 平均報酬 報酬rの平均で定義するやり方 𝐽 𝜃 = lim 𝑛→∞ 1 𝑛 𝔼 𝑟1 + 𝑟2 + ⋯ + 𝑟𝑛 𝜃 この場合、行動価値関数は 𝑄 𝑠, 𝑎 = ෍ 𝑡=1 ∞ 𝔼 𝑟𝑡 − 𝐽 𝜃 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 dは 𝑑 𝑠 = lim 𝑡→∞ 𝑃 𝑠𝑡 = 𝑠 𝑠0, 𝜃 14 この場合dは定常分布になる
  15. 15. 質疑 足して1/nすることで既に平均になってるのにな ぜ𝔼が必要? 𝐽 𝜃 = lim 𝑛→∞ 1 𝑛 𝔼 𝑟1 + 𝑟2 + ⋯ + 𝑟𝑛 𝜃 論文での表記は上記の通りだが、r1, r2 , …は独立 な試行ではなく各時刻での報酬で「T時間足し合 わせたものの期待値」を求めている: 𝐽 𝜃 = lim 𝑇→∞ 1 𝑇 𝔼 𝑟1 + 𝑟2 + ⋯ + 𝑟 𝑇 𝑠0, 𝜃 15
  16. 16. 質疑 Q: dは存在するのか? A: 一般にはもちろん存在するとは言えない。 論文には「存在して、どんな方策であってもs0と 独立である」と仮定する旨が書いてある。 16
  17. 17. 割引報酬和 割引率γを使って定義するやり方 𝐽 𝜃 = 𝔼 σ 𝑡=1 ∞ 𝛾 𝑡−1 𝑟𝑡 𝑠0, 𝜃 この場合、行動価値関数は 𝑄 𝑠, 𝑎 = 𝔼 σ 𝑘=1 ∞ 𝛾 𝑘−1 𝑟𝑡+𝑘 𝑠𝑡 = 𝑠, 𝑎 𝑡 = 𝑎, 𝜃 dは 𝑑 𝑠 = ෍ 𝑡=0 ∞ 𝛾 𝑡 𝑃 𝑠𝑡 = 𝑠 𝑠0, 𝜃 17
  18. 18. 質疑 Q: Qの定義が平均報酬と割引報酬和でgivenなも のが違うのは変では? 𝑄 𝑠, 𝑎 = ෍ 𝑡=1 ∞ 𝔼 𝑟𝑡 − 𝐽 𝜃 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 𝑄 𝑠, 𝑎 = 𝔼 σ 𝑘=1 ∞ 𝛾 𝑘−1 𝑟𝑡+𝑘 𝑠𝑡 = 𝑠, 𝑎 𝑡 = 𝑎, 𝜃 A: 割引報酬和の式は下のように書きなおしたら いいのではないだろうか 𝑄 𝑠, 𝑎 = 𝔼 σ 𝑡=1 ∞ 𝛾 𝑡−1 𝑟𝑡 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 18
  19. 19. 方策勾配定理 JとQをそう定義すると、以下の等式が成り立つ。 𝛻𝐽 𝜃 = 𝔼 1 𝜋 𝜃 𝑎 𝑠 𝑄 𝑠, 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 これを方策勾配定理と言う。 19 Q: 成り立つようにQを選んだ? A: 価値関数として自然な(価値が高そうなときに大きな 値になる)関数のうちで、上記等式を満たす、計算に都合のよい形のものを選んでいる。
  20. 20. 方策勾配定理の導出1 まず状態価値関数Vを今まで通りに定義する 𝑉(𝑠) ≝ ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 𝑄(𝑠, 𝑎) これを微分してみる 𝜕𝑉(𝑠) 𝜕𝜃 = 𝜕 𝜕𝜃 ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 𝑄(𝑠, 𝑎) = ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + 𝜋 𝜃 𝑎 𝑠 𝜕𝑄 𝑠, 𝑎 𝜕𝜃 20 (uv)’ = u’v + uv’
  21. 21. 方策勾配定理の導出2 次にQについて、平均報酬での定義なら以下が成り立つ* 𝑄 𝑠, 𝑎 = ෍ 𝑡=1 ∞ 𝔼 𝑟𝑡 − 𝐽 𝜃 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 = 𝔼 𝑟1 − 𝐽 𝜃 |𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 + ෍ 𝑡=2 ∞ 𝔼 𝑟𝑡 − 𝐽 𝜃 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 = 𝔼 𝑟1|𝜃 − 𝐽 𝜃 + ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 ෍ 𝑎′ 𝜋 𝜃 𝑎′ 𝑠′ 𝑄(𝑠′, 𝑎′) 21 ∗ 割引報酬和の場合は後で述べる 𝑉 𝑠′ = ෍ 𝑎 𝜋 𝜃 𝑎 𝑠′ 𝑄(𝑠′, 𝑎)
  22. 22. 方策勾配定理の導出3 Qを微分すると報酬の期待値は消える* 𝜕𝑄 𝑠, 𝑎 𝜕𝜃 = 𝜕 𝜕𝜃 𝔼 𝑟1 − 𝐽 𝜃 + ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝑉 𝑠′ = − 𝜕 𝜕𝜃 𝐽 𝜃 + ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ 22 * 消えるための条件としてθに依存しないことが必要。 a0がgivenなのでr1はθに依存しない。
  23. 23. 方策勾配定理の導出4 Vの微分の式に代入して、移項するとJの微分の式ができる 𝜕𝑉(𝑠) 𝜕𝜃 = − 𝜕 𝜕𝜃 𝐽 𝜃 + ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ 𝜕 𝜕𝜃 𝐽 𝜃 = ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ − 𝜕𝑉 𝑠 𝜕𝜃 = ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ − 𝜕𝑉(𝑠) 𝜕𝜃 23
  24. 24. 方策勾配定理の導出5 𝜕 𝜕𝜃 𝐽 𝜃 = ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝜋 𝑠′ − 𝜕𝑉(𝑠) 𝜕𝜃 この両辺sごとにd(s)を掛けて和を取る ෍ 𝑠 𝑑(𝑠) 𝜕 𝜕𝜃 𝐽 𝜃 = ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝜋 𝑠′ − ෍ 𝑠 𝑑 𝑠 𝜕𝑉(𝑠) 𝜕𝜃 24 (平均報酬の場合はdが定常分布なので定常状態での期待値と解釈できる)
  25. 25. 方策勾配定理の導出6 ෍ 𝑠 𝑑(𝑠) 𝜕 𝜕𝜃 𝐽 𝜃 = ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 + ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝜋 𝑠′ − ෍ 𝑠 𝑑 𝑠 𝜕𝑉(𝑠) 𝜕𝜃 平均報酬の場合、dは定常分布であるので ෍ 𝑠 ෍ 𝑎 ෍ 𝑠′ 𝑑 𝑠 𝜋 𝜃 𝑎 𝑠 𝑃 𝑠′ 𝑠, 𝑎 𝑓(𝑠′) = ෍ 𝑠′ 𝑑 𝑠′ 𝑓(𝑠′) となり、第2項と第3項が相殺する。 25
  26. 26. 方策勾配定理の導出7 整理すると ෍ 𝑠 𝑑(𝑠) 𝜕𝐽 𝜃 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 となる。Jはsに依存しないので左辺が整理できる。 𝜕𝐽 𝜃 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 26
  27. 27. 方策勾配定理の導出8 𝜕𝐽 𝜃 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 s,aに関する期待値はs,aの同時確率を掛けてsum 𝔼 𝑓 𝑠, 𝑎 = ෍ 𝑠,𝑎 𝑑 𝑠 𝜋 𝜃 𝑎 𝑠 𝑓 𝑠, 𝑎 なので目的の式が導かれる 𝜕𝐽 𝜃 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 = ෍ 𝑠,𝑎 𝑑 𝑠 𝜋 𝜃 𝑎 𝑠 1 𝜋 𝜃 𝑎 𝑠 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 = 𝔼 1 𝜋 𝜃 𝑎 𝑠 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 27
  28. 28. 方策勾配定理の導出9 割引報酬和の定義の場合、 Qについて以下が成り立つ: 𝑄 𝑠, 𝑎 = ෍ 𝑡=1 ∞ 𝔼 𝑟𝑡 − 𝐽 𝜃 𝑠0 = 𝑠, 𝑎0 = 𝑎, 𝜃 = 𝔼 𝑟1 + ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝑉(𝑠′ ) 28
  29. 29. 方策勾配定理の導出10 Qを微分すると報酬の期待値は消える* 𝜕𝑄 𝑠, 𝑎 𝜕𝜃 = 𝜕 𝜕𝜃 𝔼 𝑟1 + ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝑉(𝑠′ ) = ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ 29 * 消えるための条件としてθに依存しないことが必要。 a0がgivenなのでr1はθに依存しない。
  30. 30. 方策勾配定理の導出11 𝜕𝑄 𝑠, 𝑎 𝜕𝜃 = ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ Qの微分がわかったのでVの微分に代入する 𝜕𝑉(𝑠) 𝜕𝜃 = 𝑓 𝑠 + ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ 𝑤ℎ𝑒𝑟𝑒 𝑓 𝑠 = ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 30
  31. 31. 方策勾配定理の導出12 𝜕𝑉(𝑠) 𝜕𝜃 = 𝑓 𝑠 + ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝜕 𝜕𝜃 𝑉 𝑠′ この𝑉 𝑠′ をさらに展開する 𝜕𝑉(𝑠) 𝜕𝜃 = 𝑓 𝑠 + ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 ෍ 𝑠′ 𝛾𝑃 𝑠′ 𝑠, 𝑎 𝑓 𝑠′ + ෍ 𝑎′ 𝜋 𝜃 𝑎′ 𝑠′ ෍ 𝑠′′ 𝛾𝑃 𝑠′′ 𝑠′, 𝑎′ 𝜕 𝜕𝜃 𝑉 𝑠′′ 31
  32. 32. 方策勾配定理の導出13 整理すると 𝜕𝑉(𝑠) 𝜕𝜃 = 𝑓 𝑠 + ෍ 𝑎,𝑠′,𝑎′ 𝛾𝜋 𝜃 𝑎 𝑠 𝑃 𝑠′ 𝑠, 𝑎 𝑓(𝑠′) + ෍ 𝑎,𝑠′,𝑎′,𝑠′′ 𝛾2 𝜋 𝜃 𝑎 𝑠 𝑃 𝑠′ 𝑠, 𝑎 𝜋 𝜃 𝑎′ 𝑠′ 𝑃 𝑠′′ 𝑠′ , 𝑎′ 𝜕 𝜕𝜃 𝑉 𝑠′′ これを無限に繰り返して、式中のs, s’, s’’, … を全部xで総称し、sか らkステップでxに遷移する確率をP(s→x, k)とすると 𝜕𝑉(𝑠) 𝜕𝜃 = ෍ 𝑥 ෍ 𝑘=0 ∞ 𝛾 𝑘 𝑃 𝑠 → 𝑥, 𝑘 𝑓(𝑥) 32
  33. 33. 方策勾配定理の導出14 𝜕𝑉(𝑠) 𝜕𝜃 = ෍ 𝑥 ෍ 𝑘=0 ∞ 𝛾 𝑘 𝑃 𝑠 → 𝑥, 𝑘 𝑓(𝑥) Jの微分は定義からV(s0)なので 𝜕𝐽(𝜃) 𝜕𝜃 = 𝜕 𝜕𝜃 𝔼 σ 𝑡=1 ∞ 𝛾 𝑡−1 𝑟𝑡 𝑠0, 𝜃 = 𝜕𝑉(𝑠0) 𝜕𝜃 = ෍ 𝑠 ෍ 𝑘=0 ∞ 𝛾 𝑘 𝑃 𝑠0 → 𝑠, 𝑘 𝑓(𝑠) = ෍ 𝑠 ෍ 𝑘=0 ∞ 𝛾 𝑘 𝑃 𝑠0 → 𝑠, 𝑘 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 33
  34. 34. 方策勾配定理の導出15 d(s)の定義を再確認してみる 𝑑 𝑠 = ෍ 𝑡=0 ∞ 𝛾 𝑡 𝑃 𝑠𝑡 = 𝑠 𝑠0, 𝜃 stがsである確率𝑃 𝑠𝑡 = 𝑠 𝑠0, 𝜃 と s0からkステップでsになる確率𝑃 𝑠0 → 𝑠, 𝑘 は同じなので 𝜕𝐽(𝜃) 𝜕𝜃 = ෍ 𝑠 ෍ 𝑘=0 ∞ 𝛾 𝑘 𝑃 𝑠0 → 𝑠, 𝑘 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 = ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 平均報酬の場合と同じ式に帰着した。 34
  35. 35. 質疑 Q: 割引報酬和の場合のd(s)は総和が1にならないから 確率分布とは言えないのではないか? A: もちろん言えない。[Sutton+ 2000]はこの場合の d(s)をdiscounted weighting of states encountered starting at s0 and then following pi と説明していて 確率分布とは言っていない。方策勾配定理も 𝜕𝐽 𝜕𝜃 = ෍ 𝑠 𝑑 𝑠 ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 𝑄 𝑠, 𝑎 の形なのでdが確率分布である必要もない。 [こ]は期待値形式(p.49 eq1.4.10)を方策勾配定理と呼 び根拠として[Sutton+ 2000]をreferし、割引報酬和 の場合も同式が成り立つと主張している。 35
  36. 36. 方策勾配定理が導出出来た 方策勾配定理が導けた*: 𝛻𝐽 𝜃 = 𝔼 1 𝜋 𝜃 𝑎 𝑠 𝑄 𝑠, 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 さらに f(g(x))’=f‘(g(x))g’(x) と (log x)’=1/xにより 𝛻𝐽 𝜃 = 𝔼 𝑄 𝑠, 𝑎 𝜕log(𝜋 𝜃 𝑎 𝑠 ) 𝜕𝜃 36 [こ]p.49~50のeq1.4.10とeq1.4.11が導出された MEMO: 𝛻𝜋 = 𝜋𝛻log𝜋 * [こ]ではなく[Sutton+ 2000]の方、もしくは平均報酬の場合
  37. 37. 話を戻して: 勾配を計算したい 𝛻𝐽 𝜃 = 𝔼 𝑄 𝑠, 𝑎 𝜕log(𝜋 𝜃 𝑎 𝑠 ) 𝜕𝜃 しかしQは未知。そこで2つのアプローチがある 1: QをRで近似してモンテカルロで推定 2: Qを(Q-V)にした上でこれを𝑤 𝑇 𝛻 log 𝜋 𝜃 𝑎 𝑠 で 近似しwをTD学習などで求める 37
  38. 38. REINFORCEアルゴリズム QをRで近似し、長さTの試行をM回やることで 勾配を推定する方法。 𝛻𝐽 𝜃 = 𝔼 𝑄 𝑠, 𝑎 𝜕log(𝜋 𝜃 𝑎 𝑠 ) 𝜕𝜃 ≈ 1 𝑀 ෍ 𝑚=1 𝑀 1 𝑇 ෍ 𝑡=1 𝑇 𝑅 𝑚,𝑡 − 𝑏 𝜕log 𝜋 𝜃 𝐴 𝑚,𝑡 𝑆 𝑚,𝑡 𝜕𝜃 bは推定の分散を下げるために使われる適当な値 (ベースライン)で平均報酬がよくつかわれる。 38
  39. 39. ベースラインを引いてよい理由 𝔼 1 𝜋 𝜃 𝑎 𝑠 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) ෍ 𝑎 𝜕𝜋 𝜃 𝑎 𝑠 𝜕𝜃 = ෍ 𝑠 𝑑(𝑠) 𝜕 𝜕𝜃 ෍ 𝑎 𝜋 𝜃 𝑎 𝑠 = ෍ 𝑠 𝑑 𝑠 𝜕 𝜕𝜃 1 = 0 39 ↓微分は線形なので 総和の外に出せる ↓πは確率なので すべてのaについて足すと1 bがaに依存しない関数ならOKだが、p.53ではV(s)をベースラインとしていて、 Vはπに依存してπはθに依存するので勾配が0にならないように思うがいいのだろうか? よってQ(s, a)から定数を引いても期待値に影響しない
  40. 40. 自然方策勾配法 Q(s, a)を適当な重みベクトルwを用いた 線形モデルで近似する: 𝐴 𝑠, 𝑎 = 𝑤 𝑇 𝛻 log 𝜋 𝜃 𝑎 𝑠 なぜこんなモデルにしたいのか? 40
  41. 41. フィッシャー行列が出る 𝛻𝐽 𝜃 = 𝔼 A 𝑠, 𝑎 𝜕log(𝜋 𝜃 𝑎 𝑠 ) 𝜕𝜃 = 𝔼 𝛻log 𝜋 𝜃 𝑎 𝑠 𝛻log 𝜋 𝜃 𝑎 𝑠 𝑇 𝑤 = 𝔼 𝛻log 𝜋 𝜃 𝑎 𝑠 𝛻log 𝜋 𝜃 𝑎 𝑠 𝑇 𝑤 = 𝐹 𝜃 𝑤 この定義で計算すると勾配が wにフィッシャー行列𝐹 𝜃 を掛けたものになる。 なぜフィッシャー行列を作りたかったのか? 41
  42. 42. 自然勾配 ここまでの勾配は、暗黙にパラメータの ユークリッド距離を用いていたが、確率分布の間の 距離(Kullback-Leibler)はこれと一致しない。 例 N(0, 1)とN(10, 1)の距離はN(0, 10)とN(10, 10)の距離より長い。 そういう曲がった空間での距離を扱うのが 計量テンソルという行列で、この逆行列を勾配に掛 けたものを自然勾配(Natural Gradient)と言う。自然 勾配を用いて更新した方が学習が効率的という報告 がある。 KLを2次近似して計量テンソルを作るとFisher行列に なる。なので勾配が𝐹 𝜃 𝑤なら自然勾配は𝑤になる 42 [Amari 1998] Natural Gradient Works Efficiently in Learning http://www.maths.tcd.ie/~mnl/store/Amari1998a.pdf
  43. 43. KLからFisherの導出 Kullback-Leibler divergenceの定義: 𝒟(𝑃, 𝑄) = න Ω 𝑃 𝜔 log 𝑃 𝜔 𝑄 𝜔 d𝜔 対称化すると: 𝒟′ 𝑃, 𝑄 ≝ 𝒟 𝑃, 𝑄 + 𝒟 𝑄, 𝑃 = න Ω 𝑃 𝜔 log 𝑃 𝜔 𝑄 𝜔 + 𝑄 𝜔 log 𝑄 𝜔 𝑃 𝜔 d𝜔 = න Ω 𝑃 𝜔 − 𝑄 𝜔 log 𝑃 𝜔 𝑄 𝜔 d𝜔 43
  44. 44. KLからFisherの導出 あるパラメータθとちょっと(δ)ずれたパラメータ の確率分布のKL距離: 𝒟′ 𝑃 𝜔 𝜃 + 𝛿 , 𝑃(𝜔|𝜃) = න Ω 𝑃 𝜔 𝜃 + 𝛿 − 𝑃 𝜔 𝜃 log 𝑃 𝜔 𝜃 + 𝛿 𝑃(𝜔|𝜃) d𝜔 = න Ω Δ log 𝑃 𝜔 𝜃 + Δ 𝑃(𝜔|𝜃) d𝜔 = න Ω Δ log 1 + Δ 𝑃(𝜔|𝜃) d𝜔 where Δ ≝ 𝑃 𝜔 𝜃 + 𝛿 − 𝑃(𝜔|𝜃) 44
  45. 45. KLからFisherの導出 対数のテイラー展開と一次近似: log 1 + 𝑥 = 𝑥 − 𝑥2 2 + 𝑥3 3 + ⋯ ≈ 𝑥 によって න Ω Δ log 1 + Δ 𝑃(𝜔|𝜃) d𝜔 ≈ න Ω Δ2 𝑃 𝜔 𝜃 d𝜔 45
  46. 46. KLからFisherの導出 関数の値の差の一次近似: 𝑓 𝑥 + 𝑑𝑥 − 𝑓 𝑥 ≈ 𝑓′ 𝑥 𝑑𝑥 によって Δ = 𝑃 𝜔 𝜃 + 𝛿 − 𝑃 𝜔 𝜃 ≈ ෍ 𝑖 𝜕𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝛿𝑖 = 𝑃 𝜔 𝜃 ෍ 𝑖 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝛿𝑖 46 ↓ (log x)’ = x’ / x
  47. 47. KLからFisherの導出 Δを代入すると: න Ω Δ2 𝑃 𝜔 𝜃 d𝜔 ≈ න Ω ෍ 𝑖 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝛿𝑖 2 𝑃 𝜔 𝜃 d𝜔 47
  48. 48. KLからFisherの導出 整理すると: න Ω ෍ 𝑖 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝛿𝑖 2 𝑃 𝜔 𝜃 d𝜔 = 𝔼 ෍ 𝑖 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝛿𝑖 2 = ෍ 𝑖 ෍ 𝑗 𝔼 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑖 𝜕log 𝑃 𝜔 𝜃 𝜕𝜃𝑗 𝑖𝑗 𝛿𝑖 𝛿𝑗 = ෍ 𝑖 ෍ 𝑗 ℱ 𝜃 𝑖𝑗 𝛿𝑖 𝛿𝑗 48
  49. 49. 計量テンソルがFisher行列 ここまでをまとめると 𝒟′ 𝑃 𝜔 𝜃 + 𝛿 , 𝑃(𝜔|𝜃) ≈ ෍ 𝑖 ෍ 𝑗 ℱ 𝜃 𝑖𝑗 𝛿𝑖 𝛿𝑗 計量テンソルがフィッシャー行列になった 49
  50. 50. 計量の逆行列を掛けると最急勾配 定理: f(x)の勾配が∇f(x)の時、計量Gでの最急勾配 は𝐺−1 𝛻𝑓(𝑥)である。証明: minimize 𝑓 𝑥 + 𝜀𝑎 = 𝑓 𝑥 + 𝜀𝛻𝑓 𝑥 𝑎 under constraint 𝑎 2 = σ𝑔𝑖𝑗 𝑎𝑖 𝑎𝑗 = 1 ラグランジュの未定乗数法によって: 𝜕 𝜕𝑎𝑖 𝛻𝑓 𝑥 𝑇 𝑎 − 𝜆𝑎 𝑇 𝐺𝑎 = 𝛻𝑓 𝑥 − 2𝜆𝐺𝑎 = 0 𝑎 = 1 2𝜆 𝐺−1 𝛻𝑓(𝑥) 50 [Amari 1998]
  51. 51. 話の整理 計量テンソルの逆行列を掛けたものがユークリッ ド的じゃない曲がった空間での最急勾配。それを 自然勾配と呼ぶ。 KL距離の空間は計量テンソルがフィッシャー行 列である。 𝛻𝐽 𝜃 = 𝐹 𝜃 𝑤 だから自然勾配は𝑤となる。 そのために 𝐴 𝜋 𝑠, 𝑎 = 𝑤 𝑇 𝛻 log 𝜋 𝜃 𝑎 𝑠 とした。 それが自然方策勾配法。 51
  52. 52. wの求め方 wはどうやって求めるか? ෍ 𝑡=0 𝑁−1 𝛾 𝑡 𝐴 𝑆𝑡, 𝐴 𝑡 = 𝑉 𝑆0 + ෍ 𝑡=0 𝑁−1 𝛾 𝑡 𝑅𝑡 − 𝛾 𝑁 𝑉 𝑆 𝑁 Nがエピソード終了なら第3項は0なので ෍ 𝑡=0 𝑁−1 𝛾 𝑡 𝛻log 𝜋 𝐴 𝑡, 𝑆𝑡 𝑇 𝑤 − 𝑉(𝑆0) = ෍ 𝑡=0 𝑁−1 𝛾 𝑡 𝑅𝑡 となる。これは線形回帰で解くことができる。 52 [Peters+ 2005]Natural Actor-Critic
  53. 53. 理解の検証 理解できたか確認するために 実際に実装して実験する。 53
  54. 54. 実験の問題設定 せっかく方策勾配では可能なので、状態空間も行 動空間も連続のケースを試してみたい。 状態として位置と速度、行動として加速度、 スタート地点から出発してゴールにたどりついた ら報酬、という問題設定にする。 ゴール以外の壁に触れたら即死。 54
  55. 55. 微分可能な方策 REINFORCEでも自然方策勾配法でも、 式に方策の対数の勾配が出てくるので、 微分可能な方策を考えなきゃいけない。 前回は方策を「状態を取って行動を返す関数」 として実装したが、今回は方策は確率密度関数。 連続空間上の確率密度関数で対数を取って微分を するのがやりやすいやつと言えばガウス分布。 55
  56. 56. 多変量ガウス分布の密度関数 勾配計算に使うので係数は無視できて 𝑝 𝑥 ∝ exp − 1 2 𝑥 − 𝜇 𝑇 Σ−1 𝑥 − 𝜇 共分散行列は固定(SI)とし、平均をf(s)とすると 𝑝 𝑎|𝑠 ∝ exp − 𝑆 2 𝑎 − 𝑓 𝑠 2 となる。f(s)はパラメータΘを使ってΘsとする。 56 Θはdim s * dim aの行列
  57. 57. 対数微分する 𝑝 𝑎|𝑠 ∝ exp − 𝑆 2 𝑎 − Θ𝑠 2 log 𝑝 𝑎|𝑠 ∝ − 𝑆 2 𝑎 − Θ𝑠 2 ∝ 𝑎1 − Θ1 𝑠 2 + 𝑎2 − Θ2 𝑠 2 𝜕 log 𝑝 𝑎 𝑠 𝜕Θ𝑖𝑗 ∝ 𝜕 𝜕Θ𝑖𝑗 𝑎𝑖 − ෍ 𝑘 Θ𝑖𝑘 𝑠 𝑘 2 = 2 𝑎𝑖 − ෍ 𝑘 Θ𝑖𝑘 𝑠 𝑘 −𝑠𝑗 57 f(g(x))’=f’(g(x))g’(x) 以下簡便のためにG(s, a)と書く
  58. 58. 再掲: REINFORCEアルゴリズム 長さTの試行をM回やって勾配を推定する方法。 𝛻𝐽 𝜃 ≈ 1 𝑀 ෍ 𝑚=1 𝑀 1 𝑇 ෍ 𝑡=1 𝑇 𝑅 𝑚,𝑡 − 𝑏 𝐺(𝑆 𝑚,𝑡, 𝐴 𝑚,𝑡) 今回は長さ最大300の試行を100回やって、 その結果を使って勾配を更新することを 1ステップとし、10ステップ行った。 58
  59. 59. REINFORCE: 結果 59 ステップ0: 初期値の偏りでほとんどが左下 に進んでいる。 ステップ6: だいぶあちこち探索しているが、 ここまでまだ一度もゴールにた どりついて報酬を得ていない ステップ7: ついに1件が報酬を手に入れ た!
  60. 60. REINFORCE: 結果 60 ステップ8: ゴールがあっちにあるみたい だぞ!と右上に走る。しかし ゴールにたどりつけているの は9件だけ。 ステップ9: 96件がゴールイン! ステップ10: より方向を絞ってみたが失敗 して60件に減少
  61. 61. REINFORCE所感 すごくうまく言ってるように見えるけど、 この結果が出るまで数時間試行錯誤した。 100件全てが同じ壁に突入するケース多発。 左壁の報酬を減らすとか上下の壁の報酬を右に行 くほど大きくするとか考えたが、正解を知ってい る立場からヒントを出したくはなかった。 パラメータが発散や振動をするケースも発生。 61
  62. 62. 対処 ランダムな初速を与えた。(sd=0.1) 行動のノルムが1を超えている場合1に正規化し さらに30で割った(ノルムを0.03に制限) パラメータの初期値を当初標準正規分布で初期化 してたが、sd=0.001に縮めた。 勾配のノルムが1を超えている場合1に正規化し 学習係数は0.01とした(ノルムを0.01に制限) stateに常に1を取るオフセット項を追加。 62
  63. 63. 考察 当初「ゴールにたどり着くものがいない」という ことを問題視して、ランダムな初速を与えたり速 度を増やしたりしていたのだが、最終的に初速と 行動上限を1/30に減らしてうまくいった。 当初はT=20ぐらいで壁に当たっていたが、速度 を減らしたことで大部分がT=300でのタイムアウ トで死ぬようになった。タイムアウトと早い段階 で左の壁に触れるのでは、どちらも報酬は-1だが 時間平均は前者が大きい。そのためゴールにたど り付いてなくても、左に進むのを避ける学習が起 きた。(ステップ0~7) 63
  64. 64. 考察 タイムアウト(-1/300) >= 壁で早期終了(-1/T) なので、設定によっては 「探索をしないでタイムアウトで死ぬ」 に陥ることがある。 移動距離の長さを報酬に入れるべきだろうか。 64
  65. 65. 考察 時々角に収束するのがなぜかなと思っていたが、 角が一番遠い壁なので、速度上限を振り切ってい る場合は「角を目指すのが一番死ぬまでの時間が 長い=報酬が高い」ということらしい。 65
  66. 66. 考察 ゴールを見つけられない、探索が不足気味な感じ を受けたが、これの原因の一つに方策のガウス分 布の共分散行列を固定したことが考えられる。 例えば分散もsとΘで決まる値にしておいて、オ フセット項の係数を大きめに初期化しておけば 序盤sに関わらずaは分散の大きな正規分布からの サンプリングになるのでランダムウォークに近く なり、探索が行われるかも。 右図: 分散を大きめにした例 66
  67. 67. 疑問 ゴールにたどりつかなければ報酬に差が出ない この状況設定を緩めてみたら、初速などの色々な 工夫はいらなくなるのではないか? →試してみよう。 ・初速なし ・Θの初期値は0 ・行動の分散0.1 ・終了時のxに応じた報酬 67
  68. 68. 実験2結果 ステップ0: ランダムに探索 ステップ1: 右の方が報酬高そう だと少し右に伸びる ステップ2,3,4: 少し上を調べて 「やっぱり右」だと思いなおす 68
  69. 69. 実験結果 ステップ4(再掲): 「やっぱり右だ!」 ステップ5,6: 右に走る ステップ7: いきなりあさっての方向へ… 69
  70. 70. 考察 探索を改善するために加えた初速などの工夫が なくてもランダムウォークで「右がよさそう」 と判断してそちらに進むことができている。 一方、全部ゴールすると報酬に差がなくなる。 速くゴールした方が平均報酬が高いので加速し、 わずかな差から方向が変わってしまう。 まあ「全部ゴール」が起きるのは問題設定が簡単 すぎるからではある。 70
  71. 71. まとめ 連続状態・連続行動の問題設定を 方策勾配法で解いた。 勾配法は「報酬の良い方向へ更新」なので 「利用と探索のトレードオフ」の視点だと 利用に偏り過ぎている。 報酬に傾きがない場合、 探索を強める細工をしないと学習が困難。 ローカルミニマムに陥ることも当然ある。 71
  72. 72. 付録 72
  73. 73. 実験3 ここまでの問題設定は、言ってしまえば 「スタートしたら右に走れ」だけで ゴールに到達できてしまう簡単な問題だった。 これでは「状態に応じて行動を変える」ことが 出来ているかどうかの検証にはならない。 そこで、ステージ中央に触れると即死する障害物 を設置した。(即死ではなく進入不可にする案も あったが難しい方にしてみた) 73
  74. 74. 結果 74 ステップ5~9 うまくいっていない
  75. 75. Future work これをうまくいかせるための試行錯誤を やる気がなくなってきた。 次節POMDPに進みたい。 (連続状態・連続行動の問題設定は Webアプリの会社にとって縁遠いので) 今後もし気が向いたらやることにする。 分散もパラメータにすることや、 自然方策勾配法についても気が向いたらやる。 75
  76. 76. 分散もパラメータに入れる log 𝑝 𝑎|𝑠 = − 𝑆 2 𝑎 − Θ𝑠 2 𝜕 log 𝑝 𝑎 𝑠 𝜕𝑆 = − 1 2 𝑎 − Θ𝑠 2 76
  77. 77. 再掲: 自然方策勾配法 エピソード終了までTステップをM回やって線形 回帰。 ෍ 𝑡=0 𝑇−1 𝛾 𝑡 𝐺 𝑆𝑡, 𝐴 𝑡 𝑇 𝛻𝐽 𝜃 − 𝑉(𝑆0) = ෍ 𝑡=0 𝑇−1 𝛾 𝑡 𝑅𝑡 77
  78. 78. 参考文献 [Sutton+ 2000] Policy Gradient Methods for Reinforcement Learning with Function Approximation https://webdocs.cs.ualberta.ca/~sutton/papers/SMSM-NIPS99.pdf KLからFisherの導出 http://stats.stackexchange.com/questions/51185/connection- between-fisher-metric-and-the-relative-entropy [Amari 1998] Natural Gradien t Works Effciently in Learning http://www.maths.tcd.ie/~mnl/store/Amari1998a.pdf [Peters+ 2005]Natural Actor-Critic https://dev.spline.de/trac/dbsprojekt_51_ss09/export/74/ki_semina r/referenzen/peters-ECML2005.pdf 78

×