[강화학습] MDP

Eugene CHOI·2021년 6월 10일
0

Machine Learning

목록 보기
2/13
post-thumbnail

업데이트 예정
확률과 통계학을 안다는 가정 하에 서술합니다.


Outline


MDP란 의사결정 과정을 쉽게 도식화 하는 방법 중에 하나입니다.

  • State: 현재 시점에서 상황이 어떤지 나타내는 값의 집합
  • State Space: 가능한 모든 상태의 집합

미래(Sn+1S_{n+1})는 현재 상태(SnS_n)에 의해서만 결정되기 때문에 그 이전의 상태와는 무관하다는 특징이 있습니다.

S0S1S2...  Sn1Sn...      P(SnSn1)=P(SnS0,S1,...,Sn+1)이다.S_0 \rarr S_1 \rarr S_2 \rarr ...\; S_{n-1} \rarr S_n \rarr ...\;일\;때\\\;\\ P(S_n|S_{n-1})=P(S_n|S_0, S_1, ... , S_{n+1})이다.

따라서 마르코프 결정 과정은 상태 집합 SS와 전이 확률 집합 PP에 의해서 정해집니다.
상태 SS에서 SS'으로 전이 할 전이확률 PssP_{ss'}는 다음과 같습니다.

Pss=P(St+1=sSt=s)P_{ss'}=P(S_{t+1}=s'|S_t=s)

이때, State가 finite하다면 PP는 행렬로 표현이 가능합니다.

Markov Reward Process

보상 함수 RR은 각 상태로 전이할 때마다 얻을 수 있는 보상의 정의입니다. 보상은 그 상태에서 얻을 수 있는 다음 보상들의 기댓값입니다.

Rs=E[Rt+1St=s]R_s=E[R_{t+1}|S_t=s]

보상(대가, Return)는 t 시점 이후로 받는 할인률이 적용 된 모든 보상의 합입니다.

Gt=Rt+1+γRt+2+γ2Rt+3+=k=0γkRt+k+1G_t = R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots=\displaystyle\sum^\infin_{k=0}\gamma^k R_{t+k+1}

여기서 할인률이란 미래에 받는 보상을 얼마나 더 가치 있게 여길 것인지를 나타내는 지표입니다.

γ[0,1]\gamma \in [0,1]

위의 GtG_t식 대로라면 γ\gamma가 1에 가까울 수록 모든 보상이 그대로 살아있기 때문에 미래의 보상을 현재의 가치와 동등하게 여긴다는 의미입니다.
반대로 0에 가깝게 되면 당장 얻는 보상 외에는 모두 취급하지 않기 때문에 현재의 보상을 더 가치있게 여긴다는 의미입니다.

상태 가치 함수: 상태 ss에서 총 보상의 기댓값

V(s)=E[GtSt=s]=E[Rt+1+γRt+2+γ2Rt+3+St=s]=E[Rt+1+γGt+1St=s]=E[Rt+1+γV(St+1)St=s]=Rs+γsSPssV(s)\begin{aligned} V(s) &= E[G_t|S_t=s]\\ &=E[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots|S_t=s]\\ &=E[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E[R_{t+1}+\gamma V(S_{t+1})|S_t=s]\\ &=R_s+\gamma \displaystyle\sum_{s'\in S}P_{ss'}V(s') \end{aligned}

최종 정리 된 식을 Bellman Equation이라고 합니다.

이를 행렬로 표현하면 다음과 같습니다.

V=R+γPV\vec V = \vec R + \gamma \vec P \vec V

이 행렬식에서 가치 함수를 계산하고자 한다면 해석적으로 다음과 같은 해를 구할 수 있습니다.

V=(IγP)1R\vec V = (I-\gamma P)^{-1} \vec R

이 때, γ\gamma가 1이라면 sigular matrix가 되어 역행렬을 계산할 수 없습니다. 또한 역행렬 계산은 많은 연산을 필요로 합니다.

Markov Decision Process

한 상태에서 다른 상태로 전이 될 때는 어떤 action을 취함으로써 전이됩니다.
상태별로 행동을 취할 수 있는 행동공간이 존재합니다.

  1. 상태 ss에서 aa 행동을 하였을 때, 상태 ss'에 이를 확률은 다음과 같습니다.

    Pssa=P(St+1=sSt=s,At=a)P^a_{ss'} = P(S_{t+1}=s'|S_t=s, A_t=a)
  2. 상태 ss에서 aa 행동을 했을 때 얻는 보상은 다음과 같습니다.

    Rsa=E(Rt+1St=s,At=a)R_s^a=E(R_{t+1}|S_t=s, A_t=a)
  3. 정책(policy)는 상태 ss에서 aa 행동을 할 확률을 의미합니다.

    π(as)=P[At=aSt=s]\pi(a|s)=P[A_t=a|S_t=s]
  4. 상태 가치 함수

    Vπ(s)=Eπ(GtSt=s)V_\pi(s)=E_\pi(G_t|S_t=s)
  5. 상태-행동 가치 함수

    qπ(s,a)=Eπ(GtSt=s,At=a)q_\pi(s,a) = E_\pi(G_t|S_t=s, A_t=a)

강화학습의 최종 목표는 최선의 정책을 찾아내는 것입니다.

{qπ=maxπqπ(s,a)Vπ  =maxπVπ(s)\begin{cases} q_{\pi^*}=\displaystyle\max_\pi q_\pi(s,a) \\ V_{\pi^*}\;=\displaystyle\max_\pi V_\pi(s) \end{cases}

Bellman Expectation Equation

  • 상태 가치 함수

    Vπ(s)=Eπ(GtSt=s)=aAπ(as)Qπ(s,a)=aAπ(sa)(Rsa+γsSPssaVπ(s))\begin{aligned} V_\pi(s)&=E_\pi(G_t|S_t=s)\\ &=\displaystyle\sum_{a\in A}\pi(a|s)Q_\pi(s,a)\\ &=\displaystyle\sum_{a\in A}\pi(s|a)\left (R_s^a+\gamma \displaystyle\sum_{s'\in S}P_{ss'}^a V_\pi(s')\right) \end{aligned}
  • 상태-행동 가치 함수

    qπ(s,a)=Eπ(GtSt=s,At=a)=Rsa+γsSPssaVπ(s)=Rsa+γsSPssaAπ(as)qπ(s,a)\begin{aligned} q_\pi(s,a) &= E_\pi(G_t|S_t=s, A_t=a)\\ &=R_s^a+\gamma \displaystyle\sum_{s'\in S}P_{ss'}^a V_\pi(s')\\ &=R_s^a+\gamma \displaystyle\sum_{s'\in S}P_{ss'}\displaystyle\sum_{a'\in A}\pi(a'|s')q_\pi(s',a') \end{aligned}

Optimal Policy

Optimal Value Function

{q=maxπqπ(s,a)V  =maxπVπ(s)\begin{cases} q_{*}=\displaystyle\max_\pi q_\pi(s,a) \\ V_{*}\;=\displaystyle\max_\pi V_\pi(s) \end{cases}

partial ordering on polices

모든 상태에 대해서 π\pi 정책을 따랐을 때 얻을 수 있는 보상의 기댓값이 μ\mu 정책을 따랐을 때 얻을 수 있는 보상의 기댓값이 더 크다면 π\pi 정책이 μ\mu 정책보다 좋다라고 할 수 있습니다.
모든 정책들의 우열을 가릴 수 있다는 보장이 없기 때문에 partial ordering 이라고 합니다.

πμ,ifVπ(s)Vμ(s)  for  all  s\pi \geq \mu,\quad if\quad V_\pi(s) \geq V_\mu(s)\;for\;all\;s

MDP에는 최선의 정책 π\pi^*가 항상 존재한다. 즉, ππ\pi^*\geq \pi.

{Vπ=V(s)qπ(s,a)=q(s,a)\begin{cases} V_{\pi*}=V_*(s)\\ q_{\pi^*}(s,a)=q_*(s,a) \end{cases}
profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글