[RL] Markov Decision Process

Bard·2025년 6월 10일

Reinforcement Learning

목록 보기
7/10

Markov Decision Processes (MDP)

  • MDP는 Fully observable한 환경에서, 강화학습을 위한 환경을 묘사한다.
  • 즉, 현재 상태가 완전하게 과정을 특징한다.
  • 대부분의 RL 문제들은 MDP로 정리할 수 있다.
    • Partially observable problem도 MDP로 변환될 수 있다.

Markov Property

  • 현재 상태를 안다면 미래와 과거는 독립적이다
    • 상태는 역사로부터 모든 관련있는 정보들을 포집한다.
    • 상태가 알려져있다면, 역사는 갖다 버려도 된다.

Markov Process

  • Markov process는 memoryless한 random process이다.

Definition: Markov Process
Markov Process (또는 Markov Chanin)은 순서쌍 (S,P)\mathcal{(S, P)}이다.

  • S\mathcal{S}는 유한한 상태들의 집합이다.
  • P\mathcal{P}는 상태 전이 확률분포 행렬이다.
    Pss=P[St=sSt=s]\mathcal{P}_{ss'} = \mathbb{P}[S_t=s' | S_t=s]

State Transition Matrix

  • 마르코프 상태 SS와 후속 상태 SS'에 대해, 상태 전이 확률은 다음과 같이 정의된다.
    Pss=P[St=sSt=s]\mathcal{P}_{ss'} = \mathbb{P}[S_t=s' | S_t=s]
  • 상태 전이 행렬 PP는 모든 전이 확률들을 포함한다.
    P=from[P11P1nPn1Pnn]to\mathcal{P} = \text{from} \overset{\text{to}}{\begin{bmatrix} \mathcal{P}_{11} & \dots & \mathcal{P}_{1n} \\ \vdots & & \vdots \\ \mathcal{P}_{n1} & \dots & \mathcal{P}_{nn} \end{bmatrix}}
  • 각 열의 합은 1이다.

Markov Reward Process

Markov reward process는 values(rewards)를 포함하는 Markov chain이다.

Definition: Markov Reward Process
Markov Reward Process은 순서쌍 (S,P,R,γ)\mathcal{(S, P, R, \gamma)}이다.

  • S\mathcal{S}는 유한한 상태들의 집합이다.
  • P\mathcal{P}는 상태 전이 확률분포 행렬이다.
    Pss=P[St=sSt=s]\mathcal{P}_{ss'} = \mathbb{P}[S_t=s' | S_t=s]
  • R\mathcal{R}은 reward function으로, Rs=E[Rt+1St=s]\mathcal{R}_s = \mathbb{E}[R_{t+1} | S_t = s]이다.
  • γ\gamma는 discount factor로, γ[0,1]\gamma \in [0,1] 이다.

(Discounted) Return

Definition: Return
Return GtG_t는 time step tt부터의 총 discounted reward를 의미한다.

Gt=Rt+1+γRt+2+=k=0γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \dots = \sum ^{\infin}_{k=0}\gamma^k R_{t + k + 1}
  • γ\gamma는 현재의 보상을 지연된 보상보다 얼마나 중요시할지를 의미한다.
    • γ\gamma가 0에 가까울 수록 근시안적,
    • γ\gamma가 1에 가까울 수록 원시안적이다.

Discount factor를 사용하는 이유

  • 순환하는 Markov process에서 무한한 return을 피하기 위해
  • 미래에 대한 불확정성이 충분히 표현되지 않았을 수 있으므로
  • 만약 보상이 금전적이라면 당장의 보상이 지연된 보상보다 더 중요하므로
  • 인간과 동물은 당장의 보상을 더 선호하므로

Value Function

  • value function v(s)v(s)ss로부터의 long-term value를 계산한다.
  • MRP의 state value function은 ss로 부터 시작할 때 return의 기댓값이다.
    v(s)=E[GtSt=s]v(s) = \mathbb{E}[G_t \mid S_t = s]

Bellman Equation for MRPs

  • Value function은 두 파트로 나뉘어질 수 있다.
    • 당장의 보상 Rt+1R_{t+1}
    • 후속 상태의 할인된 보상 γV(St+1)\gamma V(S_{t+1})
      v(s)=E[GtSt=s]=E[Rt+1+γRt+2+γ2Rt+3+St=s]=E[Rt+1+γ(Rt+2+γRt+3+)St=s]=E[Rt+1+γGt+1St=s]=E[Rt+1+γv(St+1)St=s]=Rs+γsSPssv(s)\begin{aligned} v(s) &= \mathbb{E}[G_t \mid S_t = s] \\ &= \mathbb{E}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots \mid S_t = s] \\ &= \mathbb{E}[R_{t+1} + \gamma (R_{t+2} + \gamma R_{t+3} + \dots) \mid S_t = s] \\ &= \mathbb{E}[R_{t+1} + \gamma G_{t+1} \mid S_t = s] \\ &= \mathbb{E}[R_{t+1} + \gamma v(S_{t+1}) \mid S_t = s] \\ &= \mathcal{R}_s + \gamma\sum_{s'\in \mathcal{S}}\mathcal{P}_{ss'}v(s') \end{aligned}

Bellman Equation in Matrix Form

  • Bellman equation은 VV가 각 상태별로 하나의 요소만 갖는 열벡터일때, 행렬들을 이용해서 더 간결하게 표현될 수 있다.
    V=R+γPVV = R + \gamma PV
[v(1)v(n)]=[R1Rn]+γ[P11P1nP11Pnn][v(1)v(n)]\begin{bmatrix} v(1) \\ \vdots \\ v(n) \end{bmatrix} = \begin{bmatrix} \mathcal{R}_1 \\ \vdots \\ \mathcal{R}_n \end{bmatrix} + \gamma \begin{bmatrix} \mathcal{P}_{11} & \dots & \mathcal{P}_{1n} \\ \vdots & \dots & \vdots \\ \mathcal{P}_{11} & \dots & \mathcal{P}_{nn} \end{bmatrix} \begin{bmatrix} v(1) \\ \vdots \\ v(n) \end{bmatrix}

Solving the Bellman Equation

  • 벨만 방적식은 선형방정식으로 직접적으로 풀 수 있다.
v=R+γPv(1γP)v=Rv=(1γP)1R\begin{aligned} v &= \mathcal{R} + \gamma \mathcal{P} v\\ (1-\gamma \mathcal{P})v &= \mathcal{R}\\ v &= (1-\gamma \mathcal{P}) ^{-1} \mathcal{R} \end{aligned}
  • 시간복잡도는 NN 개의 상태에 대해 O(N3)O(N^3)이고,
  • 이는 작은 MRP에 대해서만 가능하다.
  • 큰 MRP에 대해서는 다음과 같은 iterative method 들이 있다.
    • Dynamic programming
    • Monte-Carlo evaluation
    • Temporal-Difference learning

Markov Decision Process

Markov decision process는 decision이 있는 Markov reward process이다.

Definition: Markov Decision Process
Markov Decision process은 순서쌍 S,A,P,R,γ\mathcal{\lang S, A, P, R, \gamma\rang}이다.

  • S\mathcal{S}는 유한한 상태들의 집합이다.
  • A\mathcal{A}는 유한한 행동들의 집합이다.
  • P\mathcal{P}는 상태 전이 확률 행렬이다.
    Pssa=P[St=sSt=s,At=a]\mathcal{P}_{ss'}^a = \mathbb{P}[S_t=s' | S_t=s, A_t = a]
  • R\mathcal{R}은 reward function으로, Rsa=E[Rt+1aSt=s,At=a]\mathcal{R}_s^a = \mathbb{E}[R_{t+1}^a | S_t = s, A_t = a]이다.
  • γ\gamma는 discount factor로, γ[0,1]\gamma \in [0,1] 이다.

Policies

Definition: Policy
Policy π\pi는 주어진 상태에 대한 행동들의 분포이다.

π(as)=P[At=aSt=s]\pi(a|s) = \mathbb{P}[A_t = a | S_t = s]
  • 정책은 에이전트의 행동을 완전히 정의한다.
  • MDP 정책은 현재 상태 (not history)에 의해 결정된다.
  • 즉, 정책은 시간에 독립적이다. Atπ(St),t>0A_t \sim \pi(\cdot | S_t), \forall t > 0
  • MDP = S,A,P,R,γ\lang S, A, P, R, \gamma \rang와 정책 π\pi가 정해졌을 때,
  • 상태 시퀀스 S1,S2,S_1, S_2, \dots는 Markov process S,Pπ\lang S, P^\pi \rang이다.
  • 상태와 리워드 시퀀스 S1,R2,S2,S_1, R_2, S_2, \dots는 Markov reward process S,Pπ,Rπ,γ\lang S, P^\pi, R^\pi, \gamma \rang이다.
Ps,sπ=aAπ(as)PssaRsπ=aAπ(as)Rsa\begin{aligned} \mathcal{P}_{s,s'}^{\pi} &= \sum_{a \in \mathcal{A}} \pi(a|s) \mathcal{P}_{ss'}^a \\ \mathcal{R}_s^{\pi} &= \sum_{a \in \mathcal{A}} \pi(a|s) \mathcal{R}_s^a \end{aligned}

Value Function

Definition: State-Value Function
state-value function vπ(s)v_\pi(s)ss상태에서 π\pi 정책을 따를 때의 return의 기댓값이다.

vπ(s)=Eπ[GtSt=s]v_\pi(s) = \mathbb{E}_\pi [G_t | S_t = s]

Definition: Action-Value Function
action-value function qπ(s,a)q_\pi(s, a)ss상태에서 aa 행동을 취했고, π\pi 정책을 따를 때의 return의 기댓값이다.

qπ(s,a)=Eπ[GtSt=s,At=a]q_\pi(s, a) = \mathbb{E}_\pi [G_t \mid S_t = s, A_t = a]

Bellman Expectation Equation

  • State-value function은 당장의 리워드와 후속상태의 할인된 리워드로 분해될 수 있다.
    vπ(s)=Eπ[Rt+1+γvπ(St+1)St=s]v_{\pi}(s) = \mathbb{E}_{\pi} [R_{t+1} + \gamma v_{\pi}(S_{t+1}) \mid S_t = s]
  • Action-value function도 비슷하게 분해될 수 있다.
    qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)St=s,At=a]q_\pi(s, a) = \mathbb{E}_\pi [R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1}) \mid S_t = s, A_t = a]

Bellman Expectation Equation for VπV^\pi

vπ(s)=aAπ(as)qπ(s,a)(1)v_\pi(s) = \sum_{a \in A} \pi(a|s)q_\pi(s, a) \tag{1}

(3) 참고

vπ(s)=aAπ(as)(Rsa+γsSPssavπ(s))(2)v_{\pi}(s) = \sum_{a \in A} \pi(a|s) \left( \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a v_{\pi}(s') \right) \tag{2}

Bellman Expectation Equation for QπQ^\pi

qπ(s,a)=Rsa+γsSPssavπ(s)(3)q_\pi(s, a) = \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a v_\pi(s') \tag{3}
qπ(s,a)=Rsa+γsSPssaaAπ(as)qπ(s,a)(4)q_{\pi}(s, a) = \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a \sum_{a' \in A} \pi(a'|s')q_{\pi}(s', a') \tag{4}

Bellman Expectation Equation in Matrix Form

Vπ=Rπ+γPπVπV_\pi = R_\pi + \gamma P_\pi V_\pi

(1) 참고

Vπ=(IγPπ)1RπV_{\pi} = (I - \gamma P_{\pi})^{-1} R_{\pi}

Optimal Value Function

Optimal value function은 MDP에서 가능한 가장 좋은 성능을 말해주므로, 우리가 Optimal value function을 안다면 MDP가 해결되었다고 할 수 있음.

Definition Optimal value function
optimal state-value function v(s)v_*(s)은 모든 정책 중 가장 큰 maximum state-value function을 의미함

v(s)=maxπvπ(s)v_*(s) = \max _\pi v_\pi (s)

optimal action-value function q(s,a)q_*(s,a)는 가장 큰 action-value function을 의미함

q(s,a)=maxπqπ(s,a)q_*(s,a) = \max_\pi q_\pi(s,a)

Optimal policy

π\pi가 모든 state에 대해 return의 기댓값이 π\pi'보다 크거나 같다면, π\piπ\pi'보다 좋거나 같다.

ππ if vπ(s)vπ(s),s\pi \ge \pi' \text{ if } v_{\pi}(s) \ge v_{\pi'}(s), \forall s

Theorem
임의의 Markov Decision Process에 대해

  • optimal policy π\pi_*가 존재한다면, 존재하는 모든 다른 π\pi에 대해 ππ,  π\pi_* \ge \pi,\; \forall \pi이다.
  • 모든 optimal policy는 optimal value function을 달성한다. vπ(s)=v(s)v_{\pi_*}(s) = v_*(s)
  • 모든 optimal policy는 optimal action-value function을 달성한다. qπ(s,a)=q(s,a)q_{\pi_*}(s,a) = q_*(s,a)

Finding an Optimal Policy

  • Optimal policy는 q(s,a)q_*(s,a) 를 최대화하는 방향으로 찾을 수 있다.
π(as)={1if  a=arg maxaAq(s,a)0otherwise\pi_*(a|s) = \begin{cases} 1 &\text{if}\; a = \argmax _{a \in \mathcal{A}} q_*(s,a)\\ 0 &\text{otherwise} \end{cases}
  • 어떤 MDP던 결정론적 optimal policy가 존재한다.
  • 만약 우리가 q(s,a)q_*(s,a)를 안다면 즉시 optimal policy를 알 수 있다.

Bellman Optimality Equation for vv_*

v(s)=maxaq(s,a)(5)v_*(s) = \max_a q_*(s, a) \tag{5}

(7) 참고

vπ(s)=maxa(Rsa+γsSPssav(s))(6)v_{\pi}(s) = \max_a\left( \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a v_*(s') \right) \tag{6}

Bellman Optimality Equation for qq_*

qπ(s,a)=Rsa+γsSPssav(s)(7)q_\pi(s, a) = \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a v_*(s') \tag{7}
qπ(s,a)=Rsa+γsSPssamaxaq(s,a)(8)q_{\pi}(s, a) = \mathcal{R}_s^a + \gamma \sum_{s' \in S} \mathcal{P}_{ss'}^a \max_a q_*(s, a) \tag{8}
profile
돈 되는 건 다 공부합니다.

0개의 댓글