본문 바로가기
논문 리뷰/RL

Lecture 2: Markov Decision Processes (2)

by xi2d 2021. 1. 5.
반응형

MDP

MRP + action = MDP, 모든 state는 Markov함

 

 


MDP Example

state가 아닌 action마다 reward가 주어짐

action을 한다고 해서 무조건 transition하는게 아니라, 확률적으로 state로 이동함 

ex) Pub action의 경우 확률적 다음 state로 이동

MDP는 env꺼고, policy는 agent에 속하므로 위 topology에서는 policy없이 MDP 상태만 표시한 것 

 


Policy

MRP에서는 action을 안하기 때문에 policy가 없었음

MDP를 풀이한다는 것 == 어떤 policy를 통해 reward를 최대로 만들 것인가 

 

policy는 St에 있을 때 At을 할 확률

- policy는 agent의 행동을 결정해 준다.

- MDP policy는 현재 state만을 의지한다.(Markov함)

- policy는 stationary하고 시간에 독립적이다.

 

 


 

MDP에서 agent가 어떤 고정된 policy를 가지고 움직인다고 가정

어떤 state에 있을 때, 다음 transition이 어디가 될지 확률을 계산 가능한데 이 과정을 엮어서 Markov하게 볼 수 있다고만 알아두면 될듯, 추가로 1장에서의 Markov state에는 action이 존재하지 않았음

- S1, S2, S3.. 와 같은 state sequence는 Markov Process하다. <S, P>

다음 s'으로 갈 확률 = Σ(s에서 a를 할 확률 * a를 했을 때 s'으로 갈 확률)

- S1, R2, S2, R2.. 와 같은 state, reward sequence는 Markov Reward Process하다. <S, P, R, r>

s에서 얻게되는 Reward = Σ(s에서 a를 할 확률 * a를 했을 때 s에서의 reward)

 

Agent의 policy가 고정된 상태에서의 진행의 일부는 MP로 또는 MRP로 볼 수 있다.

 

 


Value function

MRP에 action이 추가되었으므로, pi가 추가되어 특정 policy를 따라갔을 때의 v(s)를 계산

- state-value function: s에서 input이 state만 들어갔을 때

- action-value function: s에서 input이 state와 action 모두 들어갔을 때,,state s에서 action a를 했을 때, 그 이후 pi에 따라 끝까지 진행했을 때 return의 기댓값 == q함수라고 하기도함

 

 


State-Value Function for MDP

모든 state에서의 action 확률이 1/2라는 policy를 따랐을 때, state value-function 계산 

 

Bellman Expectation Equation

저번 게시글에서 정의했던 Bellman Equation을 MDP의 state/action value-function에도 적용가능하다.

2021/01/05 - [Reinforcement-Learning] - Lecture 2: Markov Decision Processes (1)

- Bellman Equation: value function은 즉시 reward인 Rt+1과 나머지 discounted value인 r*v(St+1)로 분해된다. 

똑같은 방식인데 v와 q의 차이만 존재하고, 두 방식 모두 r 로 가중치를 곱해줌

- state-value function은 한 step 뒤 reward를 하나 받고, state부터 pi를 따라 가는 것과 똑같다.

- action-value function은 한 step 뒤reward를 하나 받고, state부터 다음 action을 하는 기댓값과 같다. 

 


Bellman Equation으로 한 step 진행 시 어떤 관계에 있는지 풀어쓴 관계

Bellman Expectataion Equation for Vpi

V를 Q로 수식 표현 

Vpi(s): = state에서 action할 확률 * action-value function인 Qpi 의 가중치 합

 

Bellman Expectation Equation for Qpi

Q를 V로 수식 표현

Qpi(s,a) = Ras + r * {ΣPass' * Vpi(s')}

s에서 a를 한 value = s에서 a한 reward + r * {Σ s'이 될 확률 * s'에서의 value}

어떤 state에 떨어질지 모름 => 모든 state에 대해 각 state에 떨어질 확률* 그 state에서의 value를 모두 더한 것

Qpi(s,a): s에서 a를 했을 때 pi를 통해 끝까지 진행했을 때의 return의 기댓값

Ras: s에서 a를 했을 때의 reward

Pass': state에 떨어질 확률 = s에서 a를 하면 s'이 될 확률

Vpi(s'): 떨어진 state'에서의 value

 

위 두 관계식을 서로 대입하면 다음 전개식이 나온다는 것 정도만 알면될듯 

검은 점이 action, 흰 원이 state

Qpi 관계식을 Vpi 수식에 대입

 

Vpi 관계식은 Qpi 수식에 대입

 

 


Bellman Expectation Equation in MDP

이러한 계산 과정을 걸쳐 Expectation을 구한다. 

7.4 = 0.5 * 10 + 0.5 * (1 + 0.2 * -1.3 + 0.4 * 2.7 + 0.4 * 7.4)

 

 


Bellman Expectation Equation (Matrix Form)

Bellman Expectation Equation을 이용해서 MRP에서의 direct solution 형태와 동일하게 표현 

Bellman Equation을 이용하여 MDP에서 value function을 풀었으나 big MDP에서는 direct solution 사용불가능

지금까지 value function만 구했고, action에 대한 건 구하지 않음 

 

 


지금까지는 주어진  policy에 대한 value function 만을 구했음(sampling) == Bellman Expectation Equtaion

Optimal Value Function

Optimal state-value function: V*(s)는 어떤 policy를 따랐을 때, 최고의 value function을 도출하는 방식

Optimal action-value function: Q*(s)는 MDP에서 할 수 있는 가장 좋은 성능의 action value-function 도출, 할 수 있는 모든 policy을 따른 q(s,a)함수 중에 max값 == 이걸 아는 순간 MDP는 풀림

 

 


Optimal Value Function for MDP

 

Optimal action-Value Function for MDP

 

 


Optimal Policy

- partial ordering: 모든 state에 대하여 Vpi(s) > Vpi'(s) 클 때

두 policy가 있을 때 뭐가 더 나은지 비교하는 방법이 필요, 항상 어떤 것이 더 나은 것이라고 판단이 가능한 것은 아님

MDP에서 Optimal Policy가 존재한다는 것은 이미 증명되어있음

Optimal Policy 충족 조건

- 모든 pi에 대해, pi* >= pi가 성립

- Vpi*(s)를 따라가면 V*(s)와 같은 결과

 -Qpi*(s,a)를 따라가면 Q*(s,a)와 같은 결과

 

 


Finding an Optimal Policy

- Q*(s,a)를 아는 순간 최소 1개의 Optimal Policy를 알 수 있음 => Q*가 s에서 어떤 a를 해야하는지 알려주기 때문

Q*의 action할 확률이 1이고, 나머지가 0인 policy가 있다고 가정하면 그건 Optimal policy

- 모든 MDP 문제에서는 결국 deterministic optimal policy가 존재(실제로는 Stochastic한 문제여도)

- 우리가 Q*를 안다면, 우리는 즉시 Q* 따라만 가면 Optimal policy를 가진다

 

 


Optimal Policy for MDP

빨간 선들이 Optimal Policy

이 선들을 찾는 것이 강화학습의 목적

 

 


Optimal Policy에서 Bellman Equation을 적용

Bellman Optimality Equation for V*

Bellman Equation과 같은 식인데 max로 바뀜 => maximise하는 action을 선택하는 policy

s에서의 optimal value = q*의  max action을 선택하면됨

Bellman Optimality Equation for Q*

Bellman Equation과 똑같은 식인데 V*(s)로 바뀜

 

이 관계식을 서로 대입하면 

Q* 관계식을 V*에 대입

이 식은 max 때문에 linear 방정식이 아니다(max는 최대값을 고르는 것이기 때문에 선형적이지 않음)

Bellman Expectation Equation과 Bellman Optimal Equtaion이 다른 점

- max가 없으면 식을 넘길 수 있지만, 그렇지 않기 때문에 식 전개가 불가능

V* 관계식을 Q*에 대입

 

 


Bellman Optimality Equation in MDP

Bellman Optimally Equation이 MDP에서 성립하는지 간단하게 확인

6 = max { -2 + 8, -1 + 6}

 

 


Solving the Bellman Optimality Equation

Bellman Optimality Equation은 non-linear하기 때문에 closed form solution이 없다.

따라 여러 방법적인 value iteration, policy iteration, Q-learning, Sarsa 와 같은 solution들이 존재한다. 

 

뒷 강의에는 위에 제시한 다양한 방법론들을 통해 MDP에서의 Optimally Policy를 찾아볼 예정이다.

 


 아래는 교재 및 참고 블로그, 유튜브 강좌입니다. 

deepmind.com/learning-resources/-introduction-reinforcement-learning-david-silver

 

Interested in learning more about reinforcement learning? Follow along in this video series as DeepMind Principal Scientist, cre

We research and build safe AI systems that learn how to solve problems and advance scientific discovery for all. Explore our work: deepmind.com/research

deepmind.com

www.youtube.com/watch?v=NMesGSXr8H4&list=LL&index=1&t=2178s

 

반응형

댓글