読者です 読者をやめる 読者になる 読者になる

いものやま。

雑多な知識の寄せ集め

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

昨日は強化学習に関数近似を組合せる方法を説明し、パラメータの更新式を導き出した。

ところで、この方法はこれまでのテーブル型の手法と矛盾したものになっていないのか、というのが気になるところ。
そこで、今日は、昨日導き出したパラメータの更新式が、これまでのテーブル型の手法の拡張になっていることを確認していく。

テーブル型の関数

テーブル型の手法についても、パラメータをもつ関数を用いて価値ベクトルを表現することを考えてみる。

そうすると、状態価値ベクトルの場合、パラメータ \boldsymbol{\theta} \in \mathbb{R}^{\mathcal{S}}を使って、

 { \displaystyle
V_s = v(s; \boldsymbol{\theta}) = \sum_{s' \in \mathcal{S}} \theta_{s'} \mathcal{I}_{ss'}
}

と表現できることが分かる。
ただし、 \mathcal{I}_{ss'}は、

 {
\mathcal{I}_{ss'} = \left\{ \begin{array}{ll}
1 & (s = s') \\
0 & (s \neq s')
\end{array} \right.
}

このとき、 \frac{\partial v}{\partial \theta_{s'}} (s; \boldsymbol{\theta})は、

 { \displaystyle
v(s; \boldsymbol{\theta}) = \theta_s
}

であるから、

 {
\frac{\partial v}{\partial \theta_{s'}} (s; \boldsymbol{\theta}) = \left\{ \begin{array}{ll}
1 & (s = s') \\
0 & (s \neq s')
\end{array} \right.
}

となる。

よって、昨日のパラメータの更新式は、テーブル型の場合、具体的には

 {
\begin{align}
\delta^{(t)} &= r_{t+1} + \gamma \theta^{(t)}_{s_{t+1}} - \theta^{(t)}_{s_t} \\
e^{(t)}_{s'} &= \left\{ \begin{array}{ll}
0 & (t = 0) \\
\gamma \lambda e^{(t-1)}_{s'} + 1 & (t \ge 1, s' = s_t) \\
\gamma \lambda e^{(t-1)}_{s'} & ( t \ge 1, s' \neq s_t)
\end{array} \right.
\end{align}
}

に対して

 {
\boldsymbol{\theta}^{(t+1)} = \boldsymbol{\theta}^{(t)} + \alpha \delta^{(t)} \boldsymbol{e}^{(t)}
}

と更新することになる。

これは、状態価値と行動価値の違いはあるけれど、強化学習について学んでみた。(その27) - いものやま。で示した更新式と同等のものになっていることが分かる。

このことから、関数近似と組合せてパラメータを更新する手法も、従来のテーブル型の手法の拡張になっているということが分かる。

今日はここまで!

強化学習

強化学習

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