後状態値関数は数学的にどのように定義されていますか?

Nov 23 2020

この答え、afterstate値関数が挙げられ、その時間差(TD)とモンテカルロ(MC)の方法は、これらの値の関数を使用することができます。数学的には、これらの値関数はどのように定義されていますか?はい、それらは次の状態の関数ですが、ここでのベルマン方程式は何ですか?それは単に次のように定義されていますか$v(s') = \mathbb{E}\left[ R_t \mid S_t = s, A_t = a, S_{t+1} = s' \right]$?はいの場合、状態の観点からどのように定義できますか?$v(s)$、および状態アクション、 $q(s, a)$、値関数、またはベルマン(再帰)方程式として?

Sutton&Bartoの本(第2版)は、セクション6.8で後状態値関数を非公式に説明していますが、正式な定義(つまり、報酬またはその他の値関数に関するベルマン方程式)を提供していないため、この質問をしています。

回答

3 nbro Nov 24 2020 at 19:59

これとこのリソースに基づいて、私自身の質問に答えさせてください。ただし、基本的には、再現性のために、最初のリソースの内容をここで書き直し、表記に若干の変更を加えます(Sutton&バルトの本、第2版)。この定式化が普遍的であるかどうかは完全にはわかりませんが(つまり、他の定式化方法があるかもしれません)、最初のリソースの内容は2番目のリソースの内容と一致しているようです。

セットアップ

無限の地平線のMDPがあると仮定しましょう

$$\mathcal{M} = (\mathcal{S}, \mathcal{Y}, \mathcal{A}, \mathcal{T}, \mathcal{R}, \gamma),$$ どこ

  • $\mathcal{S}$ 状態のセットです
  • $\mathcal{Y} \subseteq \mathcal{S}$集合であるafterstates(別名ポスト判定状態または「期間の終了」が状態[ 1としても記述することができる]、afterstates
  • $\mathcal{A}$ アクションのセットです
  • $\mathcal{T}$ 遷移関数です
  • $\mathcal{R}$ 報酬関数です
  • $\gamma$ 割引係数です

しましょう

  • $y \in \mathcal{Y}$ 後遺症になる
  • $f: \mathcal{S} \times \mathcal{A} \rightarrow \mathcal{Y}$ことが決定論我々は持っているので、(afterstatesの状態行動対からの)機能$f(s, a) = y$

遷移関数 $\mathcal{T}$ にとって $\mathcal{M}$ と定義されている

\begin{align} \mathcal{T}(s, a, s^{\prime}) &\doteq P ( s^{\prime} \mid f(s, a)) \\ &= P ( s^{\prime} \mid y) \end{align}

トランジションは2つのステップで構成されます

  1. 決定論的関数を適用する決定論的ステップ $f(s, a) = y$、アクションに依存します $a$ 状態で撮影 $s$、 に続く
  2. 確率分布を適用する確率的ステップ $P (s^{\prime} \mid y)$、アクションに依存しません $a$ もう、しかし上だけ $y$

だから、私は後の状態を別の文字で示しました、 $y$、決定論的関数で後状態に到達するため $f$、他の州では、 $s$ または $s'$、で到達 $P$

アクションを実行した後 $a$ 状態にあります $s$、報酬を受け取ります(つまり、ステップ1で報酬を受け取ります)が、確率的ステップの後で報酬を受け取りません(アクションが実行されない場合)。

したがって、報酬関数を定義できます $\mathcal{R}$ このMDPの場合は次のようになります

$$ \mathcal{R} (s, a, s^{\prime} ) \doteq \mathcal{R}(s, a) $$

次の図に状況を示します。

だから、ここで、 $P$は、上記で使用した確率的遷移関数(つまり確率分布)です。ここで、ここに注意してください$r_t$ の特定の実現です $R_t$ (確率変数)以下の式で。

状態値関数

状態値関数の定義を思い出してみましょう $v_\pi(s)$ 特定のポリシーに対して $\pi$ (Sutton&Barto、セクション3.5で定義されているように)

\begin{align} v_{\pi}(s) &\doteq \mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s\right] \\ &= \mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} R_{t+k+1} \mid S_{t}=s\right], \end{align} すべてのために $s \in \mathcal{S}$ そして

\begin{align} G_{t} &\doteq \sum_{k=0}^{\infty} \gamma^{k} R_{t+k+1} \\ &= R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3}+ \cdots \\ &= \mathcal{R}(s_t, a_t) + \gamma \mathcal{R}(s_{t+1}, a_{t+1})+\gamma^{2} \mathcal{R}(s_{t+2}, a_{t+2}) +\cdots, \end{align} どこ $\pi(s_t) = a_t$ そして $\mathcal{R}(s_t, a_t) = R_{t+1}$、 にとって $t=0, 1, 2, \dots$。(したがって、注意してください$\mathcal{R} \neq R_t$:1つ目は報酬関数で、2つ目はアクションを実行した後に受け取った報酬を表す確率変数です。 $a_t$ ステップで $s_t$

最適状態値関数がとして定義されています

$$ v_{*}(s) \doteq \max _{\pi} v_{\pi}(s) $$

アフターステート値関数

同様に、後状態値関数を定義しますが、文字を使用します $w$ と区別するためだけに $v$ そして $q$

\begin{align} w_{\pi}\left(y\right) &\doteq \mathbb{E}_{\pi}\left[G_{t+1} \mid Y_{t}=y\right] \\ &= \mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} R_{t+k+2} \mid Y_{t}=y\right] \\ &= \mathbb{E}_{\pi}\left[ R_{t+2} + \gamma R_{t+3}+\gamma^{2} R_{t+4} + \cdots \mid Y_{t}=y\right] \\ &= \mathbb{E}_{\pi}\left[ \mathcal{R}(s_{t+1}, a_{t+1})+\gamma \mathcal{R}(s_{t+2}, a_{t+2}) + \gamma^{2} \mathcal{R}(s_{t+3}, a_{t+3}) + \cdots \mid Y_{t}=y\right] , \end{align} どこ $\mathcal{R}(s_{t+1}, a_{t+1}) = R_{t+2}$、 すべてのために $t$

言い換えれば、後状態の値 $y$ (タイムステップで $t$、すなわち与えられた $Y_t = y$)は、の状態の後に終了した状態から開始するリターンの期待値として定義されます$y$

これは私には合理的であり、質問の事後値関数の定義に関する私の提案に似ていますが、潜在的な定式化で決定論的関数を考慮していませんでした。また、事後状態を中間状態として考えていませんでした。通常の状態間の決定論的ステップ。

最適な状態値関数と同様に、最適な後状態値関数も定義します。

$$ w_{*}(y) \doteq \max _{\pi} w_{\pi}(y) $$

状態値関数で定義された後状態値関数

後状態値関数を次のように定義できます

$$ w_{*}(y) = \sum_{s^{\prime}} P (s^{\prime} \mid y ) v_{*} ( s^{\prime} ) $$ 言い換えると、 $w_{*}(y)$ 次の可能な状態の値に対する期待値として定義されます $s'$ 後の状態から $y$

これは正しく、上記の定義と一致しているようです。

その他の方程式

このと、このリソース、状態値の関数もafterstate値関数で定義され、以下のように

$$v_{*}(s)=\max_{a}\left(\mathcal{R}(s, a)+\gamma w_{*}(f(s, a))\right)$$

アフターステート値関数(更新ルールを導出できる)のベルマン方程式は、次の式で与えられます。

$$ w_{*}(y) = \sum_{s^{\prime}} P(s^{\prime} \mid y ) \max_{a} ( \mathcal{R} (s^{\prime}, a) + \gamma w_{*}(f ( s^{\prime}, a ))), $$ これは、状態値関数のベルマン方程式に非常によく似ています。

最後に、状態アクション値関数を後状態値関数で表すこともできます。

$$ q_\pi(s_t, a_t) = \mathcal{R}\left(s_{t}, a_{t}\right)+\gamma w_{\pi}\left(f\left(s_{t}, a_{t}\right)\right) $$

この答えはすでにかなり長いので、詳細についてはリソースを参照してください(後状態のベルマン方程式に基づくアルゴリズムを含む)。

実装

コードを見て概念を理解するタイプの人であれば、後状態を使用してtic-tac-toeを再生するモンテカルロ法を実装するこのGithubプロジェクトが役立つ場合があります。アフターステートは、2人のエージェントが順番にアクションを実行する2プレーヤーのゲームであるため、三目並べで役立ちます。これにより、決定論的に実行する必要のあるアクションを見積もることができます($f$ 上記)他のエージェントが(確率的に)行動を起こす前に、少なくとも、これはこのゲーム(および同様のゲーム/問題)における後遺症の有用性についての私の現在の解釈です。