강화학습: 온폴리시(On-policy)와 오프폴리시(Off-policy) 학습
강화학습에서 에이전트는 주어진 환경에서 보상을 최대화하는 방향으로 행동을 학습합니다. 이때 학습 방식에 따라 온폴리시(On-policy)와 오프폴리시(Off-policy)로 나뉩니다.
1. 온폴리시(On-policy) 학습
온폴리시 학습은 현재 실행 중인 정책을 그대로 개선하는 방식입니다. 즉, 에이전트가 행동을 선택하는 정책과 학습하는 정책이 동일합니다.
예제: 축구 선수와 코치
- 선수는 현재 배우고 있는 기술을 연습합니다.
- 코치는 선수의 플레이를 평가하고 피드백을 줍니다.
- 선수는 코치의 조언을 바탕으로 점진적으로 발전합니다.
즉, 현재 사용 중인 행동 방식을 개선하면서 학습하는 방식이 온폴리시입니다.
대표 알고리즘: SARSA
2. 오프폴리시(Off-policy) 학습
오프폴리시 학습은 현재 실행하는 정책과 학습하는 정책이 다를 수 있는 방식입니다. 과거 데이터를 활용하여 학습할 수도 있습니다.
예제: 축구 선수와 경기 영상 분석
- 선수는 유명한 선수들의 경기 영상을 보며 학습합니다.
- 코치는 다양한 플레이 스타일을 분석하여 지도합니다.
- 선수는 과거 데이터를 바탕으로 새로운 전략을 연습합니다.
즉, 기존에 경험한 데이터나 다른 사람이 했던 행동을 활용하는 방식이 오프폴리시입니다.
대표 알고리즘: Q-learning, DQN
3. 비교: 온폴리시 vs. 오프폴리시
구분 | 온폴리시(On-policy) | 오프폴리시(Off-policy) |
---|---|---|
학습 방식 | 현재 사용하는 정책을 개선 | 과거 데이터나 다른 정책을 활용 |
예제 | 축구 코치가 실전 플레이를 지도 | 경기 영상을 보며 학습 |
대표 알고리즘 | SARSA | Q-learning, DQN |
장점 | 안정적인 학습, 정책 일관성 유지 | 과거 경험을 활용, 탐색 범위가 넓음 |
단점 | 탐색이 제한적, 효율성이 떨어질 수 있음 | 훈련이 어려울 수 있음, 과적합 위험 |
4. 어떤 방식을 선택해야 할까?
- 📌 실시간 조정이 필요하고, 안정적인 학습을 원한다면 → 온폴리시
- 📌 과거 데이터를 활용하고, 더 다양한 시도를 해보고 싶다면 → 오프폴리시
이처럼 온폴리시와 오프폴리시는 학습 방식의 차이가 있으며, 문제의 특성에 따라 적절한 방식을 선택하는 것이 중요합니다. 😊