Paper Review/Meta-Learning

On-policy vs Off-policy

frances._.sb 2023. 4. 27. 18:26
728x90

 

 

  • On-policy

 

 On policy는 behavior policy와 target policy가 같다. 즉, 현재 행동하는 policy를 그대로 update 할 목적으로 환경을 탐색한다. 현재 policy를 통해 얻은 trajectories(궤적)를 가지고 policy를 update를 하기 때문에 얻어지는 상태 분포 자체가 현재 policy에 의존적이게 된다. 그렇기 때문에, data dependent 한다. 이는 local optimal에 수렴할 수 있는 가능성을 만든다. 또한 한번 policy를 update 한 후, 그 이전의 trajectories는 현재의 policy와 다르기 때문에 더 이상 쓸 수 없다. 하지만 주로 update 할 action selection이 stochastic 하기 때문에, exploration strategy에서 off policy보다 편할 수 있다. (하지만 exploration을 통해 얻어진 trajectories 조차 data dependent 하기 때문에 한계라고 생각한다.)

 

 즉, on-policy는 정책 업데이트에 실제로 행동을 하고 있는 가장 최신 버전의 policy로 수집된 데이터만 사용하는 방식이다. Data Efficiency가 떨어지지만 구현이 쉽고 여러 종류의 정책에 적용 가능하다는 장점이 있다.

 

  • Off-policy

 

Off policy는 behavior policy와 target policy가 다르다. 현재 행동하는 policies와 update할 policy가 달라도 된다는 뜻이다. 이는 target policy와 behavior policy에 의한 distribution차이를 Importance Sampling(IS)을 이용해 해결하거나 target policy의 action selection을 주로 max의 연산으로 deterministic 하게 취함으로써 해결한다. 어떻게 action selection을 통해 distribution 차이를 극복하냐면, approximated action value function $\hat{Q}$가 있을 때, 한 state $s_t$에서의 $\hat{Q}(s,a)$의 더 정확한 값은 $r(s,a) + max_{a'} \hat{Q}(s',a')$ 이기 때문에 업데이트할 수 있는 것이다. 이는 target policy의 action을 제한시켰기 때문에, local optimal에 빠지지 않기 위해 exploration strategy가 필요하다. 그중 가장 간단하게는 epsilon-greedy를 사용하지만, 이는 비효율적이기 때문에, 또 다른 많은 exploration 전략이 존재합니다.

 

 

 다시 말해, off-policy는 on-policy와 달리 정책 업데이트에 어떤 데이터를 써도 상관이 없다. 즉, 가장 업데이트된 정책에서 수집된 데이터가 아니라도 정책 업데이트에 사용할 수 있다.

 

 

728x90
반응형