본문 바로가기

강화학습/기초

Markov Decision Processes (MDP)

Markov Decision Processes (MDP)

 

미래에 허우적거리고 있을 나를 위해....★

가장 기초가 되는 개념이지만, 온갖 난무하는 수식들 사이에서 좀 빡세게 느껴진 주제다.

반복만이 살길.....꿈에 나올때까지 계속보자..


1. 5가지 Markov Property for MDP

 

: MDP는 아래 5가지요소에 의해 정의된다.

 

1) State

2) Action

3) Transition Probability

4) Reward Function

5) start state distribution (지금부터는 시작점의 prob = 1로 두고 시작할 것이다.) 

 

2. MDP의 목적이 뭐야?

 

 

a. Reward의 합의 기댓값을 최대로 만든다

b. 이때의 Policy, 즉 Optimal Policy를 찾는다.

※ π자체도 확률분포이기 때문에 기댓값을 취해준 것 같다.

 

 

3.  MDP의 Property를 좀 더 자세히 보자

 

1) Reward

▶ s에서 a를 했을 때, 다음위치가 s'이고 이때 얻을 reward이므로 deterministic 함.

 s에서 a를 했을 때, 얻을 reward의 기댓값 ; stochastic한 환경에서 s'은 일정하지 않다. 

▶ s에서 얻을 수 있는 reward의 기댓값

 

2) Policy

 

: policy도 s라는 state가 주어졌을때, action a의 확률분포라는 점을 명심하자. 

 

이와같이

stochastic한 분포도

 

이와 같이 확률을 몰아주어 

deterministic하게 만들수 있다.

 

3) Transition Probability

 

Transition Probability

:  s에서 a라는 action을 했을 때, 다음 state가 s'일 확률

 

Transition Probability

: s에서 다음 state가 s'일 확률 = s에서 모든 행동에 대한 확률의 (가중)합과 같다. 

 

Transition Probability

: Sum[(s에서 a라는 action을 했을 때, 다음 state가 s'일 확률) x (s에서 a를 할 확률)]

 

<Transition Probability example>

Transition Probability example

 

4) Return

 

: 현재 시점/상태(t)에서 action을 통해 얻을 수 있는 reward의 합

: Markov Decision Processes의 목적도 이 return의 기댓값을 최대로 하는 Policy를 찾는 것이다. 

: 아래 Next Return에 곱해진 γ(gamma)는 discount factor이고, 감가상각의 개념으로 보면 된다.

 (당장의 리워드에 더 높은 가치를 둔다.)

γ를 붙여주지 않으면, 20만원을 5번에 걸쳐 받은 것과 한번에 100만원을 받은 것이 return관점에서 같아져버린다.

: 한번에 받은 100만원의 reward가 더 중요하기때문에 discount factor를 붙여준다.

Markov Decision Processes : Return

 

Markov Decision Processes : Return

 

 

5) Value (function)

 

: Expected Return, reward 합의 기댓값. 즉 Return의 기댓값이다.

: Policy dependent하다는 것을 식을 보면 알 수 있다.

: Action 선행여부에 따라, State-value function, State-Action-value function, 두 가지 형태로 나뉜다. 

 

a. State-value function

: state s에서 policy π를 따른다고 했을때 얻을 수 있는 return(G)의 기댓값 ; Expected Return

: 현재상태의 value와 다음 상태에서의 value와의 관계를 나타낸다.

: π를 아래첨자로 붙여주면 Bellman Expectation Equation of Vπ가 된다.

: 기댓값을 pmf형태로 나타내면 아래 Vπ와 같다.

 

State-value function(1)

 

어떻게 바뀐건지 과정을 살펴보자.

아래 바뀌는 과정은 손으로 써보면서 이해하는 것이 좋다.

 

 

State-value function(2)

 

노란색으로 네모쳐진 식은 무엇을 의미할까? 

+를 기준으로 좌측은 뭘 의미할까? +를 기준으로 우측은 뭘 의미할까?

 

아마도 좌측은 어떠한 state s에서 얻을 수 있는 reward의 기댓값이다.

s에서 할 수 있는 여러 action들과, 각 action에서 갈 수 있는 다음 state(s')들

이 모든 것을 고려된 상태로 볼 수 있을 것이다.

 

우측은 아래의 전개과정을 보자.(아래 청록색부분)

청록색부분은 s→s'로 갈 확률을 의미한다.

State-value function(3)

 

 

FrozenLake 예제를 중점으로 설명을 하자면,

r은 s에서의 reward 기댓값을 의미하므로, 이는 결국 state의 갯수만큼의 Vector로 표현가능하다.

P(s→s')는 8x8 Matrix 형태가 나올 것이다.(state(8)마다 다음 state(8)로 갈 확률) 

V는 state에서의 value를 의미하므로, 이도 역시 state의 갯수만큼의 Vector로 표현가능하다.

 

 

위의 식은 Linear Equation으로 볼 수 있으며, 

다음과 같이 해를 구해볼 수도 있다.

 

State-value function(4)

이를 통해 알 수 있는 것은

Policy가 정해지면(고정되면), Value function가 정해진다는 것이다!!

 

 

b. State-Action-value function

: state s에서 action a를 하고, policy π를 따른다고 했을때 얻을 수 있는 return(G)의 기댓값

: 기댓값을 pmf형태로 나타내면 아래 Qπ와 같다.

: 이것을 Bellman Expectation Equation of Qπ

 

state-action-value function(1)
state-action-value function(2)

 

V와 Q의 관계를 한눈에 보면, 아래 그림과 같다.

 

 

value function : V and Q

V와 Q의 정의가 위와 같은 형태라는 것이지

V가 나온다음 Q가 나오는 원인-결과의 형태가 아니다!

 


다시....우리의 목적이 뭐였지?

 

a. Reward의 합, 즉 Return의 기댓값을 최대로 만든다

 

optimal value function

 

b. 때의 Policy, 즉 Optimal Policy를 찾는다.

 

     그때의 action의 Probability를 1로 만들어준다.

 

 

이 점을 잊지말고,

그렇다면 어떤 방식으로 이 return의 기댓값을 최대로 만들어 줄 것인지

다음 파트 Markov Decision Processes (MDP) (2)에서 알아보자

 

'강화학습 > 기초' 카테고리의 다른 글

Dynamic Programming : Policy Iteration & Value Iteration  (0) 2018.11.09
강화학습 기초  (0) 2018.10.29