Ch_7 n-step Bootstrapping|『Reinforcement Learning(by Sutton)』を読み解く #2

f:id:lib-arts:20191102182327p:plain

強化学習に関しては概要の確認やDeep Q Network関連を中心とした論文の解説や実装の確認などをこれまで行ってきましたが、ベースの知識の再整理ということで『Reinforcement Learning(by Sutton)』をまとめていきます。

https://www.andrew.cmu.edu/course/10-703/textbook/BartoSutton.pdf

こちらのpdfは英語で書かれているものの、情報が豊富かつ非常にわかりやすく記述されているので、概要をつかんだ後に確認するにはちょうど良いです。
#1ではDeep Q-NetworkのLossのベースにもなっている、第6章のTemporal-Difference Learningについて取り扱いました。

Ch_6 Temporal-Difference Learning|『Reinforcement Learning(by Sutton)』を読み解く #1 - lib-arts’s diary

#2では第7章のn-step Bootstrappingについて取り扱います。(概要を掴むのが目的のため、全てのSectionは取り扱いません。あくまで読解メモとして参考にしていただき、詳細はpdfファイルをご確認いただけたらと思います。)
1. n-step Bootstrapping(Chapter7)
1-1. n-step TD Prediction(Section7.1)
1-2. n-step Sarsa(Section7.2)
2. まとめ


1. n-step Bootstrapping(Chapter7)
Chapter7の冒頭では"n-step Bootstrapping"がMonte Carlo MethodsとCh.6で取り扱ったTD methodsの双方の考え方の一般化として定義できるとされています。

f:id:lib-arts:20191105144015p:plain

n-stepにおいてTD methodsを考えることにより、one-stepのTD methodとMonte Carlo methodの双方を一般化していけるとされています。二つの極端な手法(two extremes)がある場合は中間の(intermediate)手法がしばしばベストになりうるというのも書かれています。
またここでチャプターのタイトルにあるBootstrappingですが、Wikipediaでは"外部の入力を必要とせずに実行される、自己開始型のプロセス"とされています。

ブートストラップ - Wikipedia

強化学習においてはエージェントが自律的に環境に対し行動を行い、行動方針をアップデートしていくことをここではBootstrappingと呼んでいるようです。Chapter7を通して、Bootstrappingという記述はよく出てくるので先に抑えておく方が良いと思います。
大体の概要は把握できたので、各サブセクションの内容に入っていければと思います。


1-1. n-step TD Prediction(Section7.1)
1-1節ではSection7.1のn-step TD Predictionについて確認していきます。

f:id:lib-arts:20191105145851p:plain

episodeが終わらないと学習を行うことのできないMonte Carloと、1ステップごとに学習を行うtemporal differenceの中間の(intermediate)手法として、1より大きいけど終点までは行かないところまでのステップの報酬を用いる手法を表現するにあたってn-stepの手法が紹介されています。

f:id:lib-arts:20191105150055p:plain

概要についてはFigure7.1に図示されています。1-step TDやMonte Carlo(\infty-step TD)を含む形で段階的にn-step TDがあると考えておくと良さそうです。

f:id:lib-arts:20191105150630p:plain

f:id:lib-arts:20191105150640p:plain

数式の表記としては、上記のように記述されています。まずstate-reward sequenceとして、S_{t}, R_{t+1}, S_{t+1}, R_{t+2}, .... , R_{T}, S_{T}を考え、Monte Carlo(\infty-step TD)、one-step-TD、two-step TDについてそれぞれ報酬(return)がまとめられています。

f:id:lib-arts:20191105151241p:plain

また、Example7.1の例においてn-step TDの検証を行ったのが上記になり、この例ではn=4が\alphaの設定次第ではベストとなっているようです。


1-2. n-step Sarsa(Section7.2)
Section7.2ではn-step Sarsaについてまとめられています。

f:id:lib-arts:20191105151708p:plain

f:id:lib-arts:20191105151722p:plain

まず冒頭の記述ですが、predictionとcontrolに着目すると良いです。Section7.1のn-step Predictionではstate-valueについていたのでprediction、Section7.2ではn-step Sarsaではaction-valueについて考えるのでcontrolとしていることは把握しておく必要があります。Deep Q-Networkなどの文脈で時折controlと出てくるのもaction-valueについて考えるためだと思われます。

f:id:lib-arts:20191105152159p:plain

f:id:lib-arts:20191105152213p:plain

数式や図について確認すると、基本的にSection7.1のn-step TD Predictionと変わらないことが確認できます。


2. まとめ
#2ではChapter7のn-step Bootstrappingについて取り扱いました。Bootstrappingやprediction、controlなどいまいちしっくりきていなかった表現について色々と確認できたので非常に有意義でした。
#3ではChapter8のPlanning and Learning with Tabular Methodsについて取り扱っていきます。