いものやま。

雑多な知識の寄せ集め

強化学習について学んでみた。(その24)

一昨日はこれまでのおさらいと、 nステップTD法とついて説明した。

今日は、さらにアルゴリズムを融合させて、TD( \lambda)について考えていく。

モンテカルロ法とTD学習の融合(続き)

TD( \lambda)法

 nステップ収益は、いずれも本質的には同じ値を推定しているので、重みを使って平均化することが出来る。

つまり、平均化した収益を R^{\mbox{avg}}_tと表すとしたとき、

 { \displaystyle
R^{\mbox{avg}}_t = \sum_{n=1} w_n R^{(n)}_t, \: \: \mbox{where } \sum_{n=1} w_n = 1, \: w_i \ge 0 \: (\forall i)
}

として、この R^{\mbox{avg}}_tを価値の推定に使うことが出来る。

TD( \lambda)法は、この nステップ収益を平均化する方法の一つで、各収益を \lambda^{n-1} \: (0 \le \lambda \le 1)に比例して重み付けする。
そうすると、 R^{(1)} : R^{(2)} : R^{(3)} : \cdots = 1 : \lambda : \lambda^2 : \cdotsとなって、近いステップのものに比重を置きつつ、遠くのステップ収益も参考にするという感じになる。

実際には、 1 + \lambda + \lambda^2 + \cdots \rightarrow \frac{1}{1-\lambda} \: (n \rightarrow \infty)なので、正規化するために 1-\lambdaを掛けたものを重みとして使い、次のような収益 R^{\lambda}_tを使うことになる:

 { \displaystyle
R^{\lambda}_t = \left( 1 - \lambda \right) \sum_{n=1} \lambda^{n-1} R^{(n)}_t
}

この収益 R^{\lambda}_tのことを、 \lambda収益と呼ぶ。

ところで、終端となる時間ステップを Tとすると、これは

 { \displaystyle
R^{\lambda}_t = \left( 1 - \lambda \right) R^{(1)}_t + \left( 1 - \lambda \right) \sum_{n=2}^{T-t-1} \lambda^{n-1} R^{(n)}_t + \lambda^{T-t-1} R_t
}

と書くことが出来る。
 (1 - \lambda)(1 + \lambda + \lambda^2 + \cdots + \lambda^{T-t-2}) = 1 - \lambda^{T-t-1}なので、 R_tの係数は \lambda^{T-t-1}になる)

ここで、 \lambda = 0とすると、 R^{\lambda}_t = R^{(1)}_tとなることから、これは1ステップTD法、すなわち、TD学習と一致する。

一方、 \lambda = 1とすると、 R^{\lambda}_t = R_tとなるので、これはモンテカルロ法と一致することになる。

 nステップTD法とTD( \lambda)法の違い

最後、どちらも両極端にはTD学習とモンテカルロ法がいることから、違いがちょっと分かりにくいかも。

まず、 nステップTD法は、 nの値ごとにそれぞれアルゴリズムが存在する感じ。
実際に使うのは、 nを固定した1つのアルゴリズム
そして、それぞれのアルゴリズムのうち、 n=1としたものがTD学習になるし、 n \rightarrow \inftyとしたものがモンテカルロ法になる。

一方、TD( \lambda)法は、それぞれ存在する nステップTD法を、同時に重ね合わせて同時に実行するイメージ。
ただし、全部そのまま使っては収拾がつかないので、各アルゴリズムに重み付けをして使っている感じ。
この重み付けの度合いを決定するのが \lambdaで、 \lambda = 0とするとTD学習だけを使うようになって、 \lambda = 1とするとモンテカルロ法だけ使うようになる。


さて、TD( \lambda)法の理論的な話はこれで終わりなんだけど、実装しようとすると、もうちょっと議論が必要。
明日以降は、その話を。

今日はここまで!

強化学習

強化学習

  • 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
  • 出版社/メーカー: 森北出版
  • 発売日: 2000/12/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 76回
  • この商品を含むブログ (29件) を見る