하나하나 세세하게 다루려다 보니까, 점점 늘어지고 있는 것 같은데, 어느새 part5까지 와버렸다. 이전에 TD learning의 prediction 부분, 타겟을 어떻게 구성하고 각 state의 value를 어떻게 업데이트할 건지에 대해 다뤘으므로, 오늘은 TD learning의 control 부분, 즉 policy를 어떻게 improve할 건지에 대한 방법인 SARSA와 Q-learning에 대해 알아보도록 하자.
Policy를 어떻게 improvement할 건지에 대해서는 On-policy와 Off-Policy가 있다. SARSA가 On-policy, 그리고 Q-learning이 Off-policy method이다.
Model-Free Control에 대해서
그 전에, Model-Free 상황에서 policy를 improve하는 방식에 대해서 알아보자. Model을 알고 있었던 상황에서의 policy를 업데이트하는 방법은 이렇게였다.
Q를 구한 뒤에는,
그 값을 가장 크게 만들어주는게 더 나은 policy였다.
문제는 Model-Free 상황에서는 P와 R을 모른다. 그래서 위의 policy를 업데이트 하는 식을 계산할 수가 없고, 또 하나의 이유로는 policy를 개선한다는 것은 어떤 state s에서 어떤 좋은 action a를 할 지 고르는 것이다. 그렇기 때문에 각 action의 estimated return을 비교해야 한다. 그렇기에 Model-Free control에서는 action-value function인 Q를 사용해야 한다.
이렇게 sample experience로부터 state-action pair들을 얻어 greedy하게 control을 하면 된다.
SARSA: On-policy control
SARSA는 TD(0)인데 value function 업데이트를 action-value function으로 바꿔주면 된다.
이렇게 one-step target을 사용하고,
S에서 epsilon-greedy 원칙에 따라 Q에서 뽑아낸 policy에 따른 action A를 해준다.
epsilon-greedy는 쉽게 말해서 1−ε의 확률로 best-known action을 하고(exploitation), ε의 확률로 uniform하게 random으로 action을 해주는 것이다(exploration).
그리고 계속 우리가 가지고 있는 현재 policy에 따른 그 다음 action을 샘플링하고, 이에 따라 Q를 업데이트 해준다.
state St에서 action At를 하면, environment의 respond가 Rt+1으로 보상을 주고, 다음 state인 St+1을 observe하게 된다. 이 상태에서 St+1을 보자마자, 우리가 가지고 있는 현재 policy에서 그 다음 action인 At+1을 샘플링 한다.
결국 SARSA의 핵심은,
이 부분이다.
Q-learning: Off-policy control
SARSA에서는, 타겟을 구성할 때 우리가 직접 했던 At+1 쪽으로 value를 업데이트 했다. 그래서 현재 policy에서 나온 걸 바탕으로 target을 구성했기 때문에 on-policy이다. Q-learning은 off-policy이다. 그래서 어떤 action을 했던지(action은 policy에서 나오기 때문에) 신경쓰지 않고, 무조건 가치가 가장 큰 쪽으로 업데이트 해줄 것이다.
1-step target에 max가 취해져있는 것을 볼 수 있다. 그래서 지금 policy에서 나온 다음 action이 무엇인지에 상관없이, 가장 값을 크게 해주는 다음 action에 따라서 그 방향으로 업데이트 해준다.
잠깐 SARSA랑 비교를 해보면,
Greedy하게, current policy에 얽매이지 않고 업데이트 해준다는 점에서 차이가 있는 걸 볼 수 있다.
'Agent AI (RL)' 카테고리의 다른 글
A (Long) Peek into Reinforcement Learning -Part7 (0) | 2025.06.07 |
---|---|
A (Long) Peek into Reinforcement Learning -Part6 (0) | 2025.06.01 |
A (Long) Peek into Reinforcement Learning -Part4 (0) | 2025.05.27 |
A (Long) Peek into Reinforcement Learning -Part 3 (0) | 2025.05.22 |
A (Long) Peek into Reinforcement Learning -Part 2 (0) | 2025.05.20 |