출처: https://typemin.tistory.com/7 [TypeLOG:티스토리] [RL] On-Policy / Off-Policy Q-Learning, SARSA
 

[RL] On-Policy / Off-Policy Q-Learning, SARSA

강화학습에서 자주 언급되는 용어인 On/Off-Policy에 대해서 알아보겠습니다. 

두 용어는 RL에서 Agent의 학습시 사용되는 Policy을 의미합니다. 

(Policy란 Agent가 Action을 선택하는 데 사용되는 규칙을 의미합니다.)

On-Policy

  • 현재 학습 중인 Policy(Action을 결정하는 규칙)를 사용하여 Environment와 상호작용합니다.
  • 이 때 학습 중인 Policy를 Target Policy라고 부릅니다. (현재 State 에서 가장 높은 Reward를 기대할 수 있는 Action을 선택하는 Policy를 Greedy Policy라고 합니다.)
  • Agent는 이 Policy에 따라 행동을 선택하고, 그 Action의 결과로 얻는 Reward와 State의 변화를 통해서 해당 Policy를 업데이트합니다. 
  • 즉, 현재 학습 중인 Policy와 Action을 선택하기 위한 Policy가 같다는 것입니다. 
  • 대표적으로 SARSA가 있습니다.

 

SARSA(State-Action-Reward-State-Action)

  • 이름에서 알 수 있듯이, 다섯 가지의 요소를 사용하여 학습이 이루어집니다.
  • $$Q(s,a) \leftarrow Q(s,a) + \alpha[r + \gamma Q(s',a') - Q(s,a)]$$
  • 현재의 Policy를 사용하여 Action을 선택하고 변화에 따른 값을 가지고 Q-Value를 업데이트하므로 Target Policy와 Greedy Policy가 같은 On-Policy Method 라고 할 수 있습니다. 
  • 자세한 내용은 SARSA에 대한 포스팅으로 다루어보겠습니다. :)

 


Off-Policy

  • Agent가 학습 중인 Policy와는 다른 Policy를 사용하여 Action을 선택하고, 이를 통해 학습합니다. 
  • 학습에 사용되는 Policy를 Target Policy라고 하며, 실제 Action을 선택하는 Policy를 Behavior Policy라고 합니다. 
  • Behavior Policy는 보통 탐색을 위해 다양한 선택을 하며, Target Policy는 궁극적으로 학습하고자 하는 최적의 Policy입니다. 
  • 대표적으로 Q-Learning이 있습니다.

Example of Behavior and Target Policy, image made via  https://app.diagrams.net/

 

Q-Learning

  • Q-Learning은 Optimal Policy를 학습하기 위해서 현재 State에서 가능한 모든 Action 중 가장 높은 Q-Value를 가지는 Action을 선택합니다. ($\epsilon$-Greedy 로는 다른 Action을 선택할 수도 있음)
  • $$Q(s,a) \leftarrow Q(s,a) + \alpha \big[r + \gamma\; \underset{a'}{max}Q(s',a') - Q(s,a)\big]$$
  • 현재의 Policy가 아닌 Optimal Policy를 향해서 Q-Value를 업데이트 하므로, Off-Policy Method라고 할 수 있습니다.
    • Action을 선택할 때는 Behavior Policy를 따르고, 학습 시에는 Target Policy를 따르기 때문입니다. 
    • Behavior Policy를 사용해 여러 차례의 탐험 후, 위의 수식에 따라서 가장 높은 Q-Value를 가지는 Action을 선택하여 업데이트를 수행하는데 이는 Target Policy를 따른다고 할 수있는 것입니다.
  • 학습과 Action 선택이 독립적으로 이루어져 더 다양한 탐색을 할 수 있습니다.

 


Summary

  • On-Policy: 에이전트는 현재 학습 중인 Target Policy를 사용하여 Action을 선택하고, 이를 통해 Policy를 업데이트합니다. Action 선택과 Policy 업데이트가 동일한 정책에 기반합니다.
  • Off-Policy: Agent는 Action을 선택할 때 사용되는 Behavior Policy와 학습 중인 Target Policy 다릅니다. Behavior Policy는 탐험을 위해 사용되며, Target Policy는 궁극적으로 학습하고자 하는 Optimal Policy입니다.

 

image from https://medium.com/@cedric.vandelaer/reinforcement-learning-an-introduction-part-3-4-e7d883dcbba2

 

'study > Reinforcement Learning' 카테고리의 다른 글

[RL] DQN(Deep Q-Networks)  (0) 2024.08.08
[RL] Q-Learning  (0) 2024.08.08
[RL] MRP(Markov Reward Process) & MDP(Markov Decision Process)  (0) 2024.07.28
[RL] 강화학습이란  (0) 2024.07.24