후 상태 값 함수는 수학적으로 어떻게 정의됩니까?

Nov 23 2020

에서는 이 응답 , afterstate 값 함수를 언급하고, 그 차분 시간 (TD)과 몬테카를로 (MC)의 방법은 이러한 값 기능을 이용할 수있다. 수학적으로 이러한 가치 함수는 어떻게 정의됩니까? 예, 그것들은 다음 상태의 함수입니다.하지만 여기서 Bellman 방정식은 무엇입니까? 단순히 다음과 같이 정의됩니까?$v(s') = \mathbb{E}\left[ R_t \mid S_t = s, A_t = a, S_{t+1} = s' \right]$? 그렇다면 어떻게 상태를 정의 할 수 있습니까?$v(s)$및 상태 조치, $q(s, a)$, 값 함수 또는 Bellman (재귀) 방정식으로?

Sutton & Barto의 저서 (2 판)는 섹션 6.8 에서 사후 상태 값 함수를 비공식적으로 설명 하지만 공식적인 정의 (즉, 보상 또는 기타 가치 함수 측면에서 Bellman 방정식)를 제공하지 않으므로 제가이 질문을하는 것입니다.

답변

3 nbro Nov 24 2020 at 19:59

을 바탕으로 이 와 이 자원, 본질적으로, 난 그냥 표기에 약간의 변화와 함께, 재현성, 여기에 첫 번째 자원의 내용을 다시 것, 내 자신의 질문에 대한 답변을 제공 할 수 있지만, (서튼 &과 일치하는 Barto의 책, 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$, 결정적 함수로 afterstate에 도달하기 때문에 $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}$, for $t=0, 1, 2, \dots$. (그래서$\mathcal{R} \neq R_t$: 첫 번째는 보상 함수이고 두 번째는 조치를 취한 후받은 보상을 나타내는 랜덤 변수입니다. $a_t$ 단계적으로 $s_t$)

최적의 상태 값의 함수 로 정의

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

Afterstate 가치 기능

마찬가지로 afterstate 값 함수를 정의하지만 문자를 사용합니다. $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$)는 afterstate 이후에 끝난 상태에서 시작하는 수익 기대치로 정의됩니다.$y$.

이것은 나에게 합리적으로 보이며 질문에서 사후 상태 값 함수의 정의에 대한 제안과 유사하지만 잠재적 인 공식에서 결정 론적 함수를 고려하지 않았고 사후 상태 를 중간 상태 로 생각하지 않았습니다. 일반적인 상태 사이의 결정 론적 단계.

마찬가지로 최적의 상태 값 함수에, 우리는 또한 정의 최적 afterstate 값 함수

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

상태 값 함수로 정의 된 후 상태 값 함수

afterstate 값 함수를 용어로 정의 할 수 있습니다.

$$ 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)$$

afterstate 값 함수 벨만 (업데이트 규칙이 유도 될 수있는)이 주어진다

$$ w_{*}(y) = \sum_{s^{\prime}} P(s^{\prime} \mid y ) \max_{a} ( \mathcal{R} (s^{\prime}, a) + \gamma w_{*}(f ( s^{\prime}, a ))), $$ 이것은 상태 값 함수에 대한 Bellman 방정식과 매우 유사합니다.

마지막으로 상태-행동 값 함수를 사후 상태 값 함수로 표현할 수도 있습니다.

$$ 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) $$

이 답변이 이미 꽤 길다는 점을 감안할 때 자세한 내용은 리소스를 참조하십시오 (이후 상태 Bellman 방정식에 기반한 알고리즘 포함).

이행

코드를보고 개념을 이해하는 유형의 사람이라면 tic-tac-toe를 재생하기 위해 afterstates를 사용하는 Monte Carlo 메서드를 구현하는 이 Github 프로젝트 가 유용 할 수 있습니다. Afterstates는 두 명의 에이전트가 차례로 행동을 취하는 2 인 게임이기 때문에 tic-tac-toe에서 유용합니다. 따라서 우리는 결정 론적으로 취해야 할 행동을 추정 할 수 있습니다.$f$ 위) 다른 에이전트가 (확률 적으로) 행동을 취하기 전에, 적어도 이것은이 게임 (및 유사한 게임 / 문제)에서 사후 상태의 유용성에 대한 나의 현재 해석입니다.