본문 바로가기

강화학습 강의 복습노트

Part2 - 9. Off-policy MC control

그림1. 강화학습 문제의 풀이기법

지금까지 환경에 대해 알 때와 모를 때의 강화학습 문제 풀이 기법에 대해 배웠다.

하지만 지금까지 배운 내용은 모두 학습이 전혀 되지 않은 agent를 학습시켜 문제를 풀이하는 방식이었다.

 

간단한 문제의 경우에는 지금까지 진행해 왔던 강화학습의 방식을 사용할 수 있겠으나 매우 복잡하고 데이터가 셀 수 없이 많을 경우 처음부터 agent를 학습시킨다면 매우 긴 시간이 필요할 것이다.

 

그렇다면 이미 학습된 다른 좋은 정책을 우리가 풀어야하는 문제에 적용시킬 수 있을까?

가능하다. 이를 Off-policy 학습이라 한다.

 

1) Off-policy 학습

목적 :  주어진 정책 $\pi(a|s)$에 대한 $Q^{\pi}(s,a)$를 계산하는 것 ($Q^{\pi}(s,a)$를 알면 정책을 만들 수 있음)

 

그러면 임의로 정한 행동 정책 $\mu(a|s)$로 구한 episode에서도 $Q^{\pi}(s,a)$를 구할 수 있을까?

 

off-policy의 경우 action을 취하는 behavior policy와 improve를 하는 target policy가 별도로 존재한다.

 

만약 가능하다면

  -  다른 좋은 정책으로부터 얻어진 샘플에서 학습이 가능

  -  정책 개선과정에서, 이전 정책의 가치평가를 위해 모은 샘플을 재활용 가능

  -  $\pi(a|s)$는 계속적으로 최적 정책을 찾지만 $\mu(a|s)$는 조금 더 exploration을 하게 만들 수 있음.

 

더 짧은 시간 내 더 좋은 RL에이전트를 학습시킬 가능성이 있음!

 

 

그림2. $Q^{\pi}(s,a)$의 정의

그림2.를 보면 상태와 행동 그리고 보상의 Trajectory가 모두 $\pi$에 따라 결정되는 것을 볼 수 있다.

* Trajectory : 에피소드를 진행하면서 지나가게 되는 경로

 

$\mathbb {E}_\pi[\cdot]$의 의미 : 정책 $\pi$를 따르면 발생할 Trajectory의 분포에 대한 평균치

 

$\pi$ 또는 $\mu$를 정책으로 할 때 Trajectory의 확률은?

그림3. 서로 다른 정책에 따른 Trajectory의 확률

그러면 이제 정책 $\pi$와 $\mu$의 Trajectory 비율을 구해보자

그림4. 서로 다른 정책들의 Trajectory 비율

Trajectory의 비율을 $\rho$로 표현한다.

 

각 MDP Trajectory의 확률은 MDP구조 $p(S_{k+1}|S_k,A_k)$에 영향을 받지만

두 개의 Trajectory의 비율 $\rho_{t:T-1}$MDP구조에 영향을 받지 않는다!

 

결과적으로 MDP모델을 몰라도 $\rho$를 계산할 수 있다!

 

2) Importance Sampling

Importance Sampling이란 $p(x)$의 함수 형태는 알지만 샘플을 만들기 어려울 때

$q(x)$라는 샘플링하기 쉬운 분포를 활용해 $\mathbb{E}_{x~p}[f(x)]$를 추산하는 기법

 

그림5. Importance Sampling 기법
그림6. Importance Sampling 기법

Off-policy MC에서는 Importance Sampling를 $Q^{\pi}(s,a)$를 구하려 하나

$\pi$정책을 사용하기 어려울 때 $\mu$ 정책Trajectory의 비율 $\rho$를 사용하여

$\pi$의 행동가치함수 $Q^{\pi}(s,a)$를 구할 때 활용한다.

 

3) Off-policy MC

Off-policy MC 학습의 순서는

(1) 임의의 정책함수 $\mu$로 에피소드를 생성한다.

(2) $G_{t}^{\pi/\mu} = \prod_{k = t}^{T-1} \frac{\pi(A_k|S_k)}{\mu(A_k|S_k)}$를 계산

(3) MC update 수행

$$ Q(s_t,a_t) \leftarrow Q(s_t,a_t) + \alpha(G_{t}^{\pi/\mu} - Q(s_t, a_t))$$

 

단점 :

(1) $\prod_{k = t}^{T-1} \frac{\pi(A_k|S_k)}{\mu(A_k|S_k)}$ 때문에 $G_{t}^{\pi/\mu}$의 분산이 커질 수 있음

  -  분산을 최소화하는 optimal한 $\mu$를 만들 수 있지만, optimal $\mu$를 찾는데 노력이 필요

  -  optimal $\mu$가 exploration에 도움이 되지 않을 수도 있음

 

(2) $\pi(A_k|S_k) \ne 0$이면, $\mu(A_k|S_k) \ne 0$이어야만 함

 

마무리.

 

On-policy learning과 Off-policy learning에 대한 개념을 구분할 수 있다.

그림7. On-policy와 Off-policy의 개념

내 생각 :

더보기

앞서 봐왔던 On - policy 기법과는 다르게 Off - policy기법을 잘 이용한다면 시간적인 부분에서 큰 이득을 볼 수 있을 것 같다.

 

하지만 이점이 있는 만큼의 risk도 존재한다. $G_{t}^{\pi/\mu}$의 분산이 커질 수 있다는 점과 optimal $\mu$를 찾는데도 노력이 필요하다는 점이다.

 

그래서 현실적으로 잘 사용되지는 않는 부분이라고 한다.

 

더더욱 다음 챕터에서 배우는 Q-learning에 대해 기대가 된다.

참고자료 :

강화학습 A-Z 강의자료