본문 바로가기

강화학습 강의 복습노트

Part2 - 2. MDP(Markov Decision Processes)

1) 마르코프 결정과정 (Markov Decision Process : MDP)

: 마르코프 보상과정(MRP)에 행동을 추가한 과정

 

  -  MDP <$S$,$\cal{A}$,$P,R,\gamma$>인 튜플이다

  -  $S$ : 유한한 상태의 집합

  -  $\cal{A}$ : 유한한 행동의 집합

  -  $P$ : 상태천이행렬,    $P_{ss'}^{a} = P[S_{t+1} = s' | S_t = s, A_t = a]$

       -> $P_{ss'}^{a}$ : 행동 a가 추가됨으로써 3차원형태 (행동의수, $s_t$상태의 수, $s_{t+1}$상태의 수)

  -  $R$ : 보상함수,   $R : S \times \cal{A} \rightarrow \mathbb {R}$   ->   2차원 matrix

  -  $\gamma$ : 감소율

 

"기존의 MRP에 비해 차원이 증가"


여기부터는 새로운 개념이 나온다. 헷갈릴 수 있으니 정책함수부터 잘 숙지해둬야 한다.

 

2) 정책함수 (Policy function)

: 정책함수는 $\pi$로 나타낸다. $\pi$ : 현재 상태에서 수행 할 행동의 확률분포

 

$$ \pi(a|s) = P(A_t = a | S_t = s)$$

 

  -  수식 그대로 해석하면 현재 t시점의 상태가 s 일때, 현재의 행동 a가 나타날 확률이다.

  -  Markov Property를 가정하므로, 현재 상태만 가지고 의사결정을 해도 충분


정책함수가 강화학습에서는 아주 중요한 역할을 한다.

왜냐? 다음 행동을 결정하는 것이 정책함수이기 때문이다.

좋은 $\pi$를 가지고 있다는 것은 곧 최대한 많은 보상을 얻을 수 있다는 말이다.


 

3) MDP, MRP 와 MP의 관계

MDP<$S,\cal{A},P,R,\gamma$> 와 정책 $\pi$가 결정 됐을 때,

  -  $S_0, S_1, S_2, ...$는 마르코프 과정이다.

  -  $S_0, R_1, S_1, R_2, S_2, ...$는 MRP <$S$,$P^{\pi}$,$R^{\pi}$, $\gamma$>이다.

 

$$P_{ss'}^{\pi} = \sum _{a\in \cal{A}}\pi (a|s)P_{ss'}^{a}$$

$$R_{s}^{\pi} = \sum_{a \in \cal{A}} \pi(a|s)R_{s}^{a}$$

 

4) MDP의 가치함수

   1. 상태 가치함수 :

$$ V_{\pi}(s) = \mathbb{E}_{\pi}[G_t | S_t = s] $$

      -  $t$시점에서 상태 $s$일 때, 정책 $\pi$를 따른다면 얻을 미래의 가치의 감가 총합

 

 

   2. 행동 가치함수 : 

$$ Q_{\pi}(s,a) = \mathbb {E}_{\pi}[G_t | S_t = s, A_t = a]$$

      -  $t$시점에서 상태 $s$일 때, $a$라는 행동을 취한 후 정책 $\pi$를 따른다면 얻을 미래의 가치의 감가 총합

 

※ TMI : Q - Learning의 Q가 바로 행동 가치함수이다.

 

※ 참고 : 미래의 가치의 감가 총합 $G_t$

그림1. 리턴 $G_t$의 형식

5) Bellman 기대값 방정식

    1. 상태 가치함수 :

그림2. 상태가치함수의 BEE

 

     2. 행동 가치함수 :

그림3. 행동가치함수의 BEE

잘 보면 가치상태함수와 행동가치함수의 Bellman Expectation Equation은 구조가 동일하다.

 

여기서, V와 Q의 관계를 살펴보면 다음과 같다.

 

그림4. 행동 가치함수와 상태 가치함수의 관계

    ->  현재 상태 s에서 각각의 행동 a를 확률이 $\pi(a|s)$ 이므로, 각 상태와 행동에 대한 가치 $Q_{\pi}(s,a)$ 를 $\pi(a|s)$ 로 평균을 내면 현재 상태의 가치 $V_{\pi}$ 가 된다.

 

 

그림5. 행동 가치함수와 상태 가치함수의 관계

     ->  현재 상태 s에서 a를 행동  ->  $R_{s}^{a}$ 만큼의 보상 획득  ->  확률적으로 어떤 $s'$ 들에 도달  ->  $s'$ 에서 각각의 가치는 $V_{\pi}(s')$  ->  그 가치들의 기대값은 각각의 $s'$에 대한 확률 $P_{ss'}^{a}$과 가치$V_{\pi}(s')$을 활용한 평균값 -> 그 후 $\gamma$만큼 감가

 

말이 어렵게 느껴질 수 있지만 기댓값의 성질과 MDP의 성질을 잘 활용하면 쉽게 해석 할 수 있다.

 

그림6. 재귀식의 형태로 만든 상태 가치함수와 행동 가치함수

그림5. 는 상태 가치함수와 행동 가치함수를 재귀식의 형태로 만든 식인데 참고하면 될 것 같다.

 

이를 또다시 행렬표현으로 변형하여 직접해를 구하면

$$ v = R^{\pi} + \gamma P^{\pi} v$$

$$ v = (I - \gamma P^{\pi})^{-1} R^{\pi}$$

의 형식이 된다.

 


좋은 $\pi$를 얻는다면 최대한 많은 보상을 얻을 수 있다는 것은 알았다.

그렇다면 무엇이 좋은 $\pi$의 기준인가?

무엇이 최적의 $\pi$를 결정지을까?


6) 최적 가치함수(Optimal Value Function)

     1. 최적 상태 가치 함수 :

 

$$ V^{*}(s) = max_{\pi}V_{\pi}(s)$$

 

       -  존재하는 모든 정책들 중 모든 상태 s에서 가장 높은 $V_{\pi}(s)$를 만드는 $\pi$를 적용했을 때 얻는 $V_{\pi}(s)$

 

     2. 최적 행동 가치 함수 : 

 

$$Q^{*}(s,a) = max_{\pi} Q_{\pi}(s,a)$$

 

       -  존재하는 모든 정책들 중 모든 상태/행동조합 (s,a)에서 가장 높은 $Q_{\pi}(s,a)$를 만드는 $\pi$를 적용했을 때 얻는 $Q_{\pi}(s,a)$

 

7) 최적 정책 (Optimal Policy)

정책 함수 $\pi$간의 대소관계를 다음과 같이 정의한다.

 

$$ \pi'   \geq  \pi    \leftrightarrow  V_{\pi'}(s) \geq V_{\pi}(s) $$

 

<최적 정책 정리>

  -  어떠한 MDP에 대해서도 다음이 성립한다.

  -  최적 정책들은 $\pi^*$가 존재하며, 모든 존재하는 정책 $\pi$에 대하여 $\pi^* \geq \pi$를 만족한다.

  -  최적 정책들은 최적 상태 가치함수를 성취한다. ($V_{\pi^{*}}(s) = V^{*}(s)$)

  -  최적 정책들은 최적 행동 가치함수를 성취한다. ($Q_{\pi^{*}}(s,a)  = Q^{*}(s)$)

 

8) 최적 행동함수$Q^{*}(s,a)$로 최적 정책($\pi^{*}$) 중 하나를 찾는법

그림7. 최적 행동함수로 최적정책 중 하나를 찾는 법

$\underset{a \in \cal{A}}{argmax}Q^{*}(s,a)$는 $Q^{*}(s,a)$를 최대화하는 $a$를 반환한다.

 

이에 따라 위 식을 해석하면 상태 $s$가 주어진 정책함수에서 $Q^{*}(s,a)$를 최대화 하는 $a$에 대한 정책함수 값만 1로 두고 나머지 action $a$에 대해서는 모두 0으로 두는 것이다.

 

그러면 agent가 상태 s에 도달 했을 때, 다음행동은 무조건 이전에 정해진 $a$로만 행동하는 것이다.

 

9) Bellman 최적 방정식 (Bellman Optimality Equation : BOE)

* 주의 : 이전에 본 Bellman 기대 방정식(BEE)과 다른 방정식이다

 

기존 BEE의 $\pi$ 자리에 $\pi^{*}$를 대입한 형식

그림8. Bellman 최적 방정식

 

이 또한 마찬가지로 재귀형식으로 만드는 것이 가능하다.

그림9. 재귀형식의 Bellman 최적 방정식

10) 중요! 'BOE 직접해'는 존재하지 않는다.

우선 BOE는 선형방정식이 아니다. (Optimal 한 값을 구하기 위해 차원수를 하나씩 줄여줬으므로)

즉, MP / MRP의 글의 마지막 부분에 나오는 선형방정식 계산을 통한 직접해를 구하는 것이 불가능 한 것이다.

 

대신 이 문제를 반복적 알고리즘 ex) PE, PI, VI, Q-Learning, SARSA 등 을 이용하여 계산 할 수 있다.

 

 

정리하기)

1. 정책함수 $\pi(a | s)$ : 현재상태 s에서 행동 a를 수행할 확률

 

2. 상태 가치함수 $V_{\pi}(s)$ : 현재상태가 s이고 정책함수 $\pi$를 따를 때 미래에 얻을 가치의 감가 총합

 

3. 행동 가치함수 $Q_{\pi}(s,a)$ : 현재상태 s행동 a정책함수 $\pi$를 따를 때 미래에 얻을 가치의 감가 총합

 

4. Bellman 기대값 방정식 (Bellman Expectation Equation : BEE)

: 직접해를 가진다. $V_{\pi}$와 $Q_{\pi}$는 서로 관계가 존재하며 둘을 알고 있으면 각각에 대한 재귀식을 만들 수 있다.

 

5. 최적 가치함수 $V^{*}$ , $Q^{*}$

 

6. 최적 정책함수 $\pi^{*}$ : $Q^{*}$를 이용하여 구할 수 있다.

 

7. 최적 가치함수와 최적 정책함수는 서로 관계가 존재

 

8. Bellman 최적 방정식 (Bellman Optimality Equation : BOE)

: 직접해를 가지지 않는다. BEE의 $\pi$자리에 $\pi^{*}$를 대입한 방정식

 


내 생각 :

더보기

수식투성이에 글로만 설명을 해놓다 보니 이번 챕터는 상당히 이해하기가 어려울 것 같다.

 

하지만 뒤에 나오는 Learning기법을 이해하기 위해서는 반드시 알고 있어야 하는 개념이므로 이해가 될 때까지 읽어서 꼭 익히는 것이 좋다고 생각한다.

 

특히 가치함수, 행동함수, 정책함수의 관계도 눈여겨 봐야할 부분이다.

참고자료 :

강화학습 A-Z 강의노트