MRP + action = MDP, 모든 state는 Markov함
state가 아닌 action마다 reward가 주어짐
action을 한다고 해서 무조건 transition하는게 아니라, 확률적으로 state로 이동함
ex) Pub action의 경우 확률적 다음 state로 이동
MDP는 env꺼고, policy는 agent에 속하므로 위 topology에서는 policy없이 MDP 상태만 표시한 것
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로 볼 수 있다.
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에서의 action 확률이 1/2라는 policy를 따랐을 때, state value-function 계산
저번 게시글에서 정의했던 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 진행 시 어떤 관계에 있는지 풀어쓴 관계
V를 Q로 수식 표현
Vpi(s): = state에서 action할 확률 * action-value function인 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
이러한 계산 과정을 걸쳐 Expectation을 구한다.
7.4 = 0.5 * 10 + 0.5 * (1 + 0.2 * -1.3 + 0.4 * 2.7 + 0.4 * 7.4)
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 state-value function: V*(s)는 어떤 policy를 따랐을 때, 최고의 value function을 도출하는 방식
Optimal action-value function: Q*(s)는 MDP에서 할 수 있는 가장 좋은 성능의 action value-function 도출, 할 수 있는 모든 policy을 따른 q(s,a)함수 중에 max값 == 이걸 아는 순간 MDP는 풀림
- 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)와 같은 결과
- 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
이 선들을 찾는 것이 강화학습의 목적
Optimal Policy에서 Bellman Equation을 적용
Bellman Equation과 같은 식인데 max로 바뀜 => maximise하는 action을 선택하는 policy
s에서의 optimal value = q*의 max action을 선택하면됨
Bellman Equation과 똑같은 식인데 V*(s)로 바뀜
이 관계식을 서로 대입하면
이 식은 max 때문에 linear 방정식이 아니다(max는 최대값을 고르는 것이기 때문에 선형적이지 않음)
Bellman Expectation Equation과 Bellman Optimal Equtaion이 다른 점
- max가 없으면 식을 넘길 수 있지만, 그렇지 않기 때문에 식 전개가 불가능
Bellman Optimally Equation이 MDP에서 성립하는지 간단하게 확인
6 = max { -2 + 8, -1 + 6}
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
www.youtube.com/watch?v=NMesGSXr8H4&list=LL&index=1&t=2178s
'논문 리뷰 > RL' 카테고리의 다른 글
Lecture 6: Value Function Approximation (0) | 2021.01.19 |
---|---|
Lecture 5: Model-Free Control (0) | 2021.01.18 |
Lecture 4: Model-Free Prediction (0) | 2021.01.15 |
Lecture 3: Planning by Dynamic Programming (0) | 2021.01.13 |
Lecture 2: Markov Decision Processes (1) (0) | 2021.01.05 |
Lecture 1: Introduction to Reinforcement Learning (0) | 2021.01.04 |
댓글