電脳ラボ

脳のコンピュータモデルに関する論文のレビューなどを細々と続けていこうと思います。

強化学習の復習

 

強化学習

強化学習

 

 

細かいアルゴリズムの違いを復習。

主に上記の本の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)に近く、十分な学習には多くの試行が必要で、報酬に近い状態から順次更新されていく。

 

最初、λはγに近い印象だったが、上記を踏まえるとむしろαに近い印象である。

単純な学習率はαが決めるが、λは過去の記憶を利用して学習の促進を行う。