강화학습 On-policy Off-policy

이지민·2024년 8월 12일

Reinforcement-Learning

목록 보기
5/28

최적 정책을 찾기 위해서는 탐험이 필요하다.

이를 위한 방법으로 on-policy 방법과 off-policy 방법이 있다.

on-policy 방법

학습을 하는 정책으로 탐험또한 진행하며 두가지 방법이 있다.

  1. 시작 탐험

시작탐험 방법은 모든 상태, 행동 쌍에 대해 시작으로 선택될 확률이 0이 아님을 명시하는 방법이다.

일반적으로 가치함수 qπ(a,s)를 계산하고 이에 대해 탐욕적이도록(greedy) 정책을 변경함으로서 정책을 향상한다.

qπ(a,s)는 s상태에서 a행동을 한 뒤, 다음부터 π정책을 따를시 이득의 기댓값을 나타낸다.
따라서 qπ를 계산함에 있어 첫번째 행동은 정책을 따르지 않아도 문제없다.


모든 상태, 행동쌍에 대해 랜덤하게 시작하는것이 비효율적일수 있다는 점을 고려하여 사용하여야 하며, 시작 탐험방법이 불가능한 상황 또한 다수 존재한다.
(상태, 행동쌍에 대하여 다음 상태, 보상을 반환해주는 모델을 학습시킴으로써 극복 가능)

  1. 부드러운 성질

두번째 방법은 정책 π가 부드러운 성질을 갖는다고 명시하는 방법이다.
그 정책중 하나로 입실론 탐욕적 정책이 있다.

입실론 탐욕적 정책에서는 모든 행동이 최소 ε/A(s)의 확률을 갖도록 한다.

off-policy 방법

(상태, 행동이 연속적일때는 근사적 해법을 사용해야 한다.

이때 replay memory를 사용하는 경우가 있는데 이 경우가 가장 대표적인 off-policy 방법이다. 하지만 이 경우에는 replay memory에 저장된 데이터가 on-policy를 크게 벗어나지는 않기 때문에 중요도 추출법을 사용하진 않는다.

offline reinforcement learning에서는 완전히 off-policy이기 때문에 중요도 추출법을 사용하기도 한다.)


학습하는 정책으로 목표정책 π, 탐험하는 정책으로 활동정책 b를 사용 할 수 있을것이다.

π를 건들지 않고서도 b를 이용하여 탐험을 할 수 있다는 장점이 있다.

하지만 이렇게 극단적인 상황에서는 중요도 추출법을 이용하여 두 정책의 분포간의 차이를 고려해 주어야 한다.


이때 b의 이득을 이용해 π의 이득을 계산하는데
이때 행동정책b는 π(a|s)>0일때, b(a|s)>0이여야 한다는 조건을 가지고 있다.


ρt:T1=(k=tT1π(aksk)/b(aksk))\rho_{t:T-1} \displaystyle \displaystyle= \left(\prod_{k=t}^{T-1}\pi(a_k|s_k)/b(a_k|s_k)\right)

b에서의 표본으로 π에서의 기댓값을 구할수 있는 방법으로 중요도 추출법이 있다.
b에서의 이득에 가중치 ρ을 곱함으로서 π에서의 이득을 구할수 있다.
(b보다 π에서의 확률이 더 클 시 평균을 낼 때 높은 가중치를 부여하는 원리)


b를 이용하여 S0 A0 S1 R1 A1 S2 R2 A2 ... ST RT의 궤적을 생성한 뒤

T-1, T-2, T-3, ... , 1, 0순으로 qπ(St,At)의 값을 계산하며 qπ를 근사시킨다.
qπ를 계산할때 첫번째 행동은 π를 지키지 않아도 문제 없다.
(중요도추출비율을 곱할 필요 없음)

G(이득) <- R + ρG

두번째 행동부터는 π를 따라야한다. ρ로 이득이 보정되며 π로는 불가능한 행동일 시 ρ가 0이 되고, qπ업데이트에 쓰지 않아야 한다.


부트스트랩 방식을 활용한다면, 두번째 행동이 π에서 불가능한 행동이여도 문제 없게 되며, 구현하기 훨씬 수월해질 것으로 예상된다.

번외

q에서 첫번째 행동은 해당 정책을 따르지 않아도 된다는 점

π는 qπ에 대한 탐욕적인 정책 <- 두개 다 최적으로 근사해가는 과정에서는 논리적 문제가 없음

등이 체계적으로 맞물려서 최적 정책이 수학적으로 보장된다는 점이 놀라웠다.

0개의 댓글