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
: s에서 a라는 action을 했을 때, 다음 state가 s'일 확률
: s에서 다음 state가 s'일 확률 = s에서 모든 행동에 대한 확률의 (가중)합과 같다.
: Sum[(s에서 a라는 action을 했을 때, 다음 state가 s'일 확률) x (s에서 a를 할 확률)]
<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를 붙여준다.
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 s에서 얻을 수 있는 reward의 기댓값이다.
s에서 할 수 있는 여러 action들과, 각 action에서 갈 수 있는 다음 state(s')들
이 모든 것을 고려된 상태로 볼 수 있을 것이다.
우측은 아래의 전개과정을 보자.(아래 청록색부분)
청록색부분은 s→s'로 갈 확률을 의미한다.
FrozenLake 예제를 중점으로 설명을 하자면,
r은 s에서의 reward 기댓값을 의미하므로, 이는 결국 state의 갯수만큼의 Vector로 표현가능하다.
P(s→s')는 8x8 Matrix 형태가 나올 것이다.(state(8)마다 다음 state(8)로 갈 확률)
V는 state에서의 value를 의미하므로, 이도 역시 state의 갯수만큼의 Vector로 표현가능하다.
위의 식은 Linear Equation으로 볼 수 있으며,
다음과 같이 해를 구해볼 수도 있다.
이를 통해 알 수 있는 것은
Policy가 정해지면(고정되면), Value function가 정해진다는 것이다!!
b. State-Action-value function
: state s에서 action a를 하고, policy π를 따른다고 했을때 얻을 수 있는 return(G)의 기댓값
: 기댓값을 pmf형태로 나타내면 아래 Qπ와 같다.
: 이것을 Bellman Expectation Equation of Qπ
V와 Q의 관계를 한눈에 보면, 아래 그림과 같다.
V와 Q의 정의가 위와 같은 형태라는 것이지
V가 나온다음 Q가 나오는 원인-결과의 형태가 아니다!
다시....우리의 목적이 뭐였지?
a. Reward의 합, 즉 Return의 기댓값을 최대로 만든다
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 |