Just Fighting
[강화학습] 마르코브 보상 프로세스(Markov Reward Process) 본문
마르코브 보상 프로세스(Markov Reward Process)란 마르코브 프로세스 + '보상'
여기서 보상이란 어떤 행동을 취했을 때 얻을 수 있는 인센티브 !
구성요소
$S$ : 상태집합
$P$ : 상태전이 확률. $P[S_{t+1} = s'|S_t=s]$
$R$ : 보상(reward)함수. $R_s = E[R_t|S_t=s]$
$\gamma$ : 감가율. 미래에 보상값을 얼마나 반영할지 나타내는 값
에피소드(episode) : 특정 상태로 시작하여 종료 상태까지의 sequence
에피소드
특정 상태로 시작하여 종료 상태까지의 sequence
리턴(return) $G_t$
t 시점 이후의 누적 보상 (감가율 반영)
\begin{align*}
G_t &= R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots \\
&= \sum_{k=0}^{\infty } \gamma^k R_{t+k}
\end{align*}
가치함수(value function) $v(s)$
특정 상태에서 리턴의 기대값
상태 s부터 기대할 수 있는 누적보상의 평균
$v(s) = E[G_t|S_t=s]$
가치함수 계산 방법
→ 재귀식 사용
4번째 줄 $G_{t+1}$에서 5번째 줄 $v(S_{t+1})$로 바뀌는 이유 !
☞ $G_{t+1}$은 실제값이 아닌 예상되는 값.
따라서, $G_{t+1}$의 기댓값을 표현하는 것이 적절함.
이 때, $G_{t+1}$의 기댓값은 $v(S_{t+1})$이기 때문에 아래와 같이 바꿔 쓸 수 있음.
따라서 아래와 같은 재귀식이 만들어진다.
$$v(s) = R_s + \gamma \sum_{s'\in S}^{}P[S_{t+1}=s'|S_t=s]v(s')$$
➡️ t시점의 가치 = t시점의 보상 + (t+1)시점부터의 가치의 기대값 * 감가율
위의 내용을 실제로 적용해보자 !
아래 사진 처럼 식을 세울 수 있으나 가치함수를 알 수 없다.
위의 식에서 가치함수를 $V$, 보상을 $R$, 상태전이 확률을 $P$라고 한다면
아래 식처럼 표현할 수 있고, 가치를 계산할 수 있게 된다 !
\begin{align*}
&\ \ \ \ \ V = R + \gamma PV\\
&\Rightarrow IV = R + \gamma PV\\
&\Rightarrow (I-\gamma P)V = R\\
&\Rightarrow V = (I-\gamma P)^{-1}R
\end{align*}
[참고]
http://www.kmooc.kr/courses/course-v1:KoreaUnivK+ku_ai_002+2020_A44/about
https://dana-study-log.tistory.com/18