- 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
- 出版社/メーカー: 森北出版
- 発売日: 2000/12
- メディア: 単行本
- 購入: 5人 クリック: 76回
- この商品を含むブログ (28件) を見る
細かいアルゴリズムの違いを復習。
主に上記の本の6章と7章を参照。
方策反復
価値反復
※後回し
エピソード(方策に基づいた行動群)を生成し、エピソード終了後に報酬に基づいてエピソード中の状態群の価値を更新。
6章
TD(0)
普通の強化学習
Sarsa
Q学習に近いが、行動の価値の更新は、遷移した状態で選択する行動の価値(と報酬)に基づく。
Q学習
行動の価値の更新は、遷移した状態で最も価値の大きな行動の価値(と報酬)に基づく。
完全にグリーディに行動選択するなら、SarsaとQ学習は同じ結果になるはず。
アクタークリティック
「独立した方策部を持つ」という定義なので、具体的な実装は一意に決まらない。
ただ、方策部をソフトマックスにすることが割と多い。
ここでのβは、銅谷先生の言う逆温度と異なるような気がしなくもない。
(単なる学習率のように思える)
※詳細は後回し
R学習
※後回し
7章
適格度トレース
1ステップTD法とモンテカルロ法の中間的なアルゴリズムになる。
TD誤差を複数の状態に責任(≒時間的近さ)に応じて分配。
nステップTD法
nステップ後までの報酬とnステップ後の状態価値を用いて、状態価値を更新。
TD(λ)
(高校の復習)
1+λ+λ^2+λ^3+...+λ^n = (1-λ^n) / (1-λ)
n->∞のときは = 1 / (1-λ)
これに (1-λ) を掛ければ 1 になる。
λ収益アルゴリズム
λ=1のときはモンテカルロ法、λ=0のときはTD(0)に等しくなる。
nステップ収益
複数のステップ後までの報酬(時間割引を掛ける)と複数ステップ後の状態価値で、元の状態を更新。
TD(λ)
複数ステップ後(理論上無限)までの報酬を、総和が1になるように重みづけする。(指数関数で減衰)
早く手に入る(近い)報酬ほど重みが大きい。
λ=0のとき
重みは、1,0,0,...
λ=1のとき
重みは、0,0,0,...
λ=0.9のとき
重みは、0.1,0.09.,...
λ=0.1のとき
重みは、0.9,0.09,0.009,...
前方観測的な見方
後方観測的な見方
適格度トレース
λ:トレース減衰パラメータ(使い方は上記と同じ)
適格度トレースは1ステップごとに減衰(γλを掛ける)するが、その状態に到達すれば1増える。(1より大きい値を取りうる)
λ=0のとき
TD(0)と同じ。直前に訪問したところだけ適格度1に。
λ=1のとき
割引のついたモンテカルロ法
同じ状態を一度しか訪問しない場合、λとγはどのように効くか?
単に割引因子がγからγλに変わっただけでは?
つかλ=0.5でγ=0の場合と、λ=0でγ=0.5の場合を比較するか。
λ=0でγ=0.5の場合
結局TD(0)と同じ?
λ=0.5でγ=0の場合
これも同じような。
λ=1でγ=0.5の場合
報酬獲得時に、一気に更新される。
再び同じ報酬を得ても、更新されない?
報酬までの過程でより価値の高い(報酬に近い)状態に到達しても更新されない?
λ=0.5でγ=1の場合
報酬獲得時に、一気に更新される。
???
定義式に戻った方がよさそう。
ΔV = α δ et(s)
αは1と考える。
あと、このアルゴリズムでは、(1-λ)を掛ける必要はない。
λ=1でγ=0.5の場合
報酬獲得時に、一気に更新される。
再び同じ報酬を得ても、更新されない?
報酬までの過程でより価値の高い(報酬に近い)状態に到達しても更新されない?
結局これはモンテカルロ法になるのでは?
λ=0.5でγ=1の場合
最初の報酬獲得時に一気に更新される。(この段階では価値は同じはず)
この場合は、その後も少しずつ更新され、結果的に報酬に至る全ての状態が報酬と同じ価値になる?
そもそもなぜ報酬にγが掛かっていないのに価値が減衰するのか?
報酬の前の状態は、報酬と同じ価値になるまで価値が上昇する。
しかし、そのさらに前の状態は、報酬にγを掛けた値までしか上昇しない。
λ=0.9でγ=0.5の場合
最終的には状態までのステップが1増えるごとに価値が半分になる。
モンテカルロ法に近く、最初の試行でほぼ学習が完了する。
λ=0.1でγ=0.5の場合
最終的には状態までのステップが1増えるごとに価値が半分になる。
TD(0)に近く、十分な学習には多くの試行が必要で、報酬に近い状態から順次更新されていく。
最初、λはγに近い印象だったが、上記を踏まえるとむしろαに近い印象である。
単純な学習率はαが決めるが、λは過去の記憶を利用して学習の促進を行う。