강화학습 - MDP(2)

BSH·2023년 5월 17일
0

강화학습_basic

목록 보기
2/12

MDP(Markov Decision Process)

이제 필요한 내용은 모두 봤으니 MDP를 설명할 차례입니다.

MP나 MRP로는 순차적 의사결정 문제를 모델링할 수 없지만 MDP에서 의사를 가지고 행동하는 주체인 Agent가 등장하면서 가능해집니다.

에피소드 sampling

시작 상태 s0s_{0}에서 출발해 종료 상태 srs_{r}까지 가는 하나의 과정을 에피소드라고 부릅니다.
간단히 여러개의 상태를 거쳐가는 방법중 하나를 뽑는 것을 sampling이라고 합니다. 이런 샘플링을 통해 어떤 값을 유추하는 방법론을 Monte-Carlo 접근법이라고 합니다.

MDP의 정의

MRP에서 Action이 추가되었습니다.

MDP(S,A,P,R,γ)MDP\equiv(S, A, P, R, \gamma)

A가 추가되면 기존의 요소들이 정의가 약간씩 달라졌습니다.

  • S
    MP, MRP와 동일합니다. 가능한 상태의 집합
  • A
    에이전트가 취할 수 있는 행동을 모아놓은 것입니다. 에이전트는 스텝마다 하나의 행동을 선택해 취하며 그에 따라 다음에 도착하는 상태가 달라집니다.
  • 전이 확률 행렬 P
    MP, MRP에서는 현재상태가 ss일때 다음 상태가 ss'일 확률을 PssP_{ss'}이라고 표기했습니다.
    MDP에서는 action이 추가되었기 때문에 아래와 같이 정의할 수 있습니다.
    Pssa=P[St+1=sSt=s,At=a]P^{a}_{ss'}=\mathbb{P}[S_{t+1}=s'|S_{t}=s, A_{t}=a]
    여기서 주의할 부분은 같은 상태에서 액션 a를 선택해도 환경에 의해 매번 다른 상태에 도달할 수 있다는 점입니다.
  • 보상함수 R
    MRP는 상태에 의해 보상이 정해졌지만 MDP는 상태s에서 어떤 액션을 선택하느냐에 따라 보상이 달라집니다. 정의는 아래와 같습니다.
    Rsa=E[Rt+1St=s,At=a]R^{a}_{s}=\mathbb{E}[R_{t+1}|S_{t}=s, A_{t}=a]
  • 감쇠인자 γ\gamma
    MRP에서의 역할과 동일합니다.(강화학습 - 1)

정책 함수(policy function)

정책 혹은 정책함수는 각 상태에서 어떤 행동을 선택해야하는지 정해주는 함수입니다.
정의는 아래 식과 같습니다.

π(as)=P[At=aSt=s]\pi(a|s)=\mathbb{P}[A_{t}=a|S_{t}=s]

상태 s에서 a를 선택할 확률을 나타낸 식입니다.

각 상태에서 할 수 있는 모든 액션의 확률의 합은 1이 되어야합니다. 확률의 공리이기도 하죠.
하나 헷갈리면 안되는 점은 정책함수는 환경에 존재하는 것이 아닌 에이전트 안에 존재한다는 것입니다.

상태 가치 함수(state value function)

현재 상태에서 미래에 얻을 리턴의 기댓값을 state value로 정의했습니다. 에이 전트가 어떤 행동을 취하냐에 따라 값이 달라질 수 있기때문에 기댓값을 사용합니다.

vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+...St=s]=Eπ[GtSt=s]\begin{matrix} v_{\pi}(s)&=&\mathbb{E_{\pi}}[r_{t+1}+\gamma r_{t+2}+\gamma^{2}r_{t+3}+...|S_{t}=s]\\ &=&\mathbb{E_{\pi}}[G_{t}|S_{t}=s] \end{matrix}

정책을 나타내는 π\pi만 추가되었을 뿐 나머지는 동일합니다

액션 가치 함수(state-action value function)

상태 가치함수는 상태를 평가해주는 함수인데 각 상태에서 액션도 평가할 수 없을까 라는 의문점이 드실겁니다.
액션을 평가할 수 있다면 각 상태에서 어떤 행동을 취해야할지 결정할 수 있을 것입니다.

state-action value function은 q(s,a)q(s, a)로 표시합니다. 수식으로 표현하면 아래와 같습니다.

qπ(s,a)=E[GtSt=s,At=a]q_{\pi}(s,a)=\mathbb{E}[G_{t}|S_{t}=s,A_{t}=a]

Prediction & Control

  • prediction
    π\pi가 주어졌을 때 각 상태의 value를 구하는 문제
  • control
    optimal policy π\pi^{*}를 찾는 문제

MDP의 목적은 optimal value function과 optimal policy를 찾는 것입니다.

profile
컴공생

0개의 댓글