이제라도 기록하기

On-policy, Off-policy, Online, Offline Reinforcement Learning 간단하게 정리 본문

RL

On-policy, Off-policy, Online, Offline Reinforcement Learning 간단하게 정리

sssky00 2024. 6. 13. 14:38

On-policy vs Off-policy

On-policy

현재의 정책을 사용하여 행동을 선택하고, 그 행동을 통해 얻은 경험을 통해 동일한 정책을 업데이트한다. 즉, 에이전트는 학습하는 동안 항상 현재의 정책을 따른다.

  • 정책을 직접적으로 평가하고 업데이트한다.
  • 현재의 정책을 따르기 때문에 안정적이지만, 때때로 최적의 정책을 찾는 데 더 오래 걸릴 수 있다.

ex) 로봇이 미로를 탐색하면서 장애물을 피하고 목표 지점에 도달하려고 한다. 로봇은 현재의 정책을 따라 움직이며, 만약 장애물에 부딪히거나 목표에 도달하면 그 경험을 바탕으로 정책을 업데이트한다. 로봇은 항상 현재의 정책을 따르기 때문에, 정책이 서서히 개선되면서 목표에 더 빠르게 도달하게 된다.

  • 대표 알고리즘: SARSA, A3C, PPO

Off-policy

에이전트가 학습하는 정책(타깃 정책)과 행동을 선택하는 정책(행동 정책)을 분리한다. 행동 정책은 타깃 정책과 다를 수 있으며, 이로 인해 다양한 경험을 더 폭넓게 수집할 수 있다.

  • 타깃 정책을 따르지 않고도 학습할 수 있어 더 다양한 경험을 수집할 수 있다.
  • 최적의 정책을 더 빠르게 찾을 수 있지만, 불안정할 수 있다.

ex) 친구가 게임을 하는 동안, 당신은 친구의 플레이를 지켜보며 게임의 규칙과 전략을 배운다. 이 때, 친구가 하는 모든 행동을 보고 배우지만, 친구의 전략을 그대로 따르지는 않는다. 대신, 친구가 실패하는 부분과 성공하는 부분을 모두 관찰하여, 나중에 당신이 직접 게임을 할 때 더 나은 전략을 사용할 수 있도록 학습한다.

  • 대표 알고리즘: Q-Learning, DQN, DDPG, TD3

Online vs Offline reinforcement learning

Online

에이전트가 학습과 실행을 동시에 수행한다. 에이전트는 환경과 상호작용하며 실시간으로 데이터를 수집하고, 수집한 데이터를 기반으로 정책을 업데이트한다.

  • 에이전트는 환경과 지속적으로 상호작용하면서 새로운 데이터를 수집하고, 이 데이터를 즉시 사용하여 정책을 업데이트한다.
  • 에이전트는 학습하는 동안 새로운 행동을 탐험하며 최적의 행동을 찾으려고 노력한다.
  • 실시간 환경과의 상호작용에는 비용이 들 수 있으며, 이로 인해 실험이 더 복잡하거나 비용이 많이 들 수 있다.

ex) 자율 주행차가 도로에서 실시간으로 운전 데이터를 수집하고, 이를 기반으로 주행 정책을 업데이트하는 경우. 차는 도로 주행 중 발생하는 다양한 상황을 실시간으로 학습하면서 운전 능력을 향상시킨다.

Offline

사전에 수집된 데이터를 사용하여 학습을 수행한다. 에이전트는 미리 준비된 데이터셋을 기반으로 정책을 학습하며, 실제 환경과의 실시간 상호작용 없이 학습이 이루어진다.

  • 에이전트는 고정된 데이터셋을 사용하여 학습하며, 새로운 데이터를 실시간으로 수집하지 않는다.
  • 실시간 상호작용 없이 학습이 이루어지기 때문에 안전하고 비용이 덜 든다.
  • 에이전트의 성능은 주어진 데이터셋의 품질과 다양성에 크게 의존한다.

ex) 병원에서 수집한 환자 치료 기록을 사용하여 치료 정책을 학습하는 경우. 에이전트는 과거의 의료 데이터를 기반으로 최적의 치료 방법을 학습하며, 실시간으로 환자와 상호작용하지 않는다.


개념을 정리하다보니 on-policy/off-policy와 online/offline 의 개념적 차이가 헷갈려서 관련 내용도 정리해보았다!

 

개념적 차이

  • on-policy vs off-policy: 정책 학습 방식에 대한 차이이다. on-policy는 현재의 정책을 따르며 학습하고, off-policy는 다른 정책(주로 행동 정책)을 통해 데이터를 수집하여 타깃 정책을 학습한다.
  • online RL vs offline RL: 데이터 수집과 학습 시점에 대한 차이이다. online RL은 실시간으로 데이터를 수집하고 학습하며, offline RL은 사전 수집된 데이터셋을 사용하여 학습한다.

관련성

  • on-policy와 online RL: on-policy 방법은 주로 online RL에서 사용된다. 에이전트는 실시간으로 환경과 상호작용하면서 현재의 정책을 따라 학습한다.
  • off-policy와 offline RL: off-policy 방법은 online RL과 offline RL 모두에서 사용될 수 있지만, 특히 offline RL에서 유용하다. 사전에 수집된 데이터셋을 사용하여 타깃 정책을 학습하기 때문에 행동 정책과 타깃 정책을 분리하여 학습할 수 있다.
  • online RL과 off-policy: off-policy 알고리즘도 online RL에서 사용될 수 있다. 예를 들어, DQN은 실시간으로 데이터를 수집하면서도 학습은 행동 정책과 다른 타깃 정책을 기반으로 한다.