https://www.youtube.com/watch?v=wVhH_3Td_R4
On-Policy vs Off-Policy
SARSA와 Q-Learning은 TD(Temporal Difference) 방식의 알고리즘으로, On-policy와 Off-policy라는 두 가지 접근 방식에 따라 구분된다. 이 두 개념의 차이는 Behavior Policy와 Target Policy의 관계에 있다.
On-Policy
- On-policy는 Behavior Policy와 Target Policy가 동일한 정책이다. 즉, 행동을 선택할 때와 TD-target을 계산할 때 모두 같은 정책을 따른다.
- SARSA는 On-policy의 대표적인 예로, $\epsilon$-greedy와 같은 정책을 사용하여 행동을 선택하고, 그에 맞춰 학습을 진행한다.
Off-Policy
- Off-policy는 On-Policy와는 다르게 Behavior policy와 Target policy가 서로 다른 정책이다. 행동은 Behavior Policy를 따르지만, TD-target 계산은 Target Policy를 따른다.
- Q-Learning은 Off-policy 방식의 대표적인 예로, 탐험을 위해 $\epsilon$-greedy를 사용하면서도, 학습은 최적 정책을 추구한다.
Behavior Policy & Target Policy 란?
- Behavior Policy: 현재 상태에서 어떤 행동을 선택할지 결정하는 정책
- Target Policy: TD-target을 계산하기 위해 사용하는 정책
TD 수식으로 이해하기
$Q(s_t,a_t)=\int_{s_{t+1},a_{t+1}}(R_t+\gamma\cdot Q(s_{t+1},a_{t+1}))\cdot P(a_{t+1}|s_{t+1})\cdot P(s_{t+1}|s_t,a_t)d_{s_{t+1},a_{t+1}}$
여기서,
- $P(s_{t+1}|s_t,a_t)$: Behavior Policy에 따른 상태 전이 확률
- $P(a_{t+1}|s_{t+1})$: Target Policy에 따른 행동 선택 확률
Off-Policy를 사용하는 이유
- 다양한 샘플 활용
사람이나 다른 에이전트가 행동하는 샘플을 넣어 다양한 샘플로 학습할 수 있다. - 탐험과 학습을 분리하여 효율적인 학습 가능
수많은 탐험에서의 최적의 정책을 기준으로 학습하여 보다 효율적인 학습이 가능하다. - 재평가와 개선
Off-policy에서는 Target Policy에 따라 결과를 재평가하고, 더 나은 결과를 얻기 위해 Q-value를 개선할 수 있다. 즉, 이전 샘플을 바탕으로 최적의 정책을 찾는 과정이 가능하다.
결론
On-policy와 Off-policy는 TD 학습에서 행동을 선택하는 방식과 그에 따른 학습 방식을 어떻게 설정할지에 따라 구분된다. Off-policy는 다양한 샘플링과 탐험과 학습의 분리 덕분에 더 효율적이고 다양한 방식으로 최적 정책을 찾을 수 있다.