카테고리 없음

[강화학습] 마르코브 보상 프로세스(Markov Reward Process)

yennle 2022. 11. 7. 16:07
728x90

 

마르코브 보상 프로세스(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://velog.io/@jiyoung/%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5-%EC%9E%85%EB%AC%B8%ED%95%98%EA%B8%B0-MDP%EC%99%80-%EB%B2%A8%EB%A7%8C-%EB%B0%A9%EC%A0%95%EC%8B%9D

https://dana-study-log.tistory.com/18

 

 

728x90