인공지능/Reinforce_Learning

[PART2] CH05. Off-policy MC control

아네스 2020. 12. 23. 20:20
반응형

복습

강화학습 문제는 MDP로 정의된다.

마르코프 결정과정에서 최적 가치함수, 최적 정책을 구하는것이 목적.

최적 가치, 정책을 얻기 위해서 DP / MC,TD (환경을 알 때 / 모를 때)

 

정책 평가 : 주어진 정책의 가치함수를 계산하는 과정

정책 개선 : 우리가 알고있는 정책을 조금 더 나아지게 만드는 과정.

 

위 그림을 통해서 전반적인 교육과정 및 세부사항과 각 내용의 장단점, 특징을 이해하기.

 

 

지금까지 배운 강화학습 기법의 템플릿

 

정책 개선마다 새롭게 Q^pi_k를 추산하기 위해서 또 새롭게 샘플들을 모음.

좋은 특성은 아님. 새롭게 정책을 개선할 때 마다 환경과 interaction이 있어야하고 샘플링이 되야한다.

특히 시뮬레이션환경이 아니라 현실 환경이라면 그만큼 학습이 느려질 것임.

 

사람은 타인의 행동들을 보고 배우고, 깨닫는데

우리의 Agent도 Agent가 한 행동이 아니어도 무언가를 배울 수 있을까? _가능

 

Off-Policy 학습

예를들어 자율주행을 학습시키고자 하는데, 처음부터 Agent가 자율주행을 학습하는 것 보다.

좋은 운전자의 행동 샘플들이 선제적으로 주어진다면 더 짧은 시간 내에 좋은 RL Agent가 학습될 것이다.

 

 

trajectory : 궤적, 궤도

정책이 중요하다.

 

모르는부분 : 문제의 구조

아는부분 : 우리가 훈련하는 부분 or 디자인하는 부분

 

서로 다른 정책 π와 μ의 Trajectory의 비율

ρ : t시점부터 T-1시점 까지의 각각의 trajectory의 확률들의 비율을 나타내 주는 값.

1. 비율로 계산하게 되면 저 항을 지울 수 있음. 즉, 우리가 문제의 구조를 잘 몰라도 학습을 진행 할 수있다.

 

Importance sampling

이 기법이 이해되야 off-policy 이해할 수 있음. 

P에대한 기댓값을 추산하기 위해서 새로운 Q에대한 기댓값을 계산함으로써 P에대한 기댓값을 얻어내는 trick의 일종

이산확률분포로 가정. 연속이라면 시그마가 아닌 적분으로 표현해야함.

분자 분모에 q(x)를 곱해줌(1 이라서)

(1)로 q의 기댓값을 얻는다는 식으로 바꾸고 2로 치환을 하면

2의 Q에 대한 기댓값을 얻는것으로 식이 바뀜.

샘플을 만든다..?

컴퓨터로 샘플을 만든다는 것은 수학적 transformation을 만들게 되는데,

parametric한 확률 분포에 대해서는 샘플링을 쉽게 할 수 있지만, 

임의의 어려운 확률을 가지는 함수에 대해서는 샘플링 하기 어렵다. 

그래서 대신에 샘플링하기 쉬운 분포를 가지는 q(x)를 활용해 p(x) 기댓값을 추산한다.

 

Off-policy MC

π를 통해서 만들어진 trajectory에 대한 리턴의 기댓값.

importance sampling을 사용하게 되면은 새로운 behavior policy로 주어진 μ에 대해서 기댓값을 구하는 것으로 바꿀 수 있게 된다 대신 π에서 μ로 바꿨기 때문에 그에 상응하게 correction term을 줘야 한다.

correction term으로써 두 policy간에 만들어진 ratio(ρ)를 사용하게 된다.

이렇게 되면 importance sampling에서 사용했던 개념을 그대로 사용할 수 있게된다.

 

역시 장단점이 있음

단점이 꽤 크다. 그래서 생각보다 많이 사용하지 않음.

몬테카를로 자체가 TD에 비해서 분산이 큰데, Gt파이뮤를 곱해줌으로써 그 분산이 더 커질 수 있다. 

(분산을 최소화 하는 optimal μ를 찾을 수도 있지만 노력이 필요하고, exploration에 도움이 안된다.)

추가적으로 사용하기 위해서 조건이 필요하다.

- 두번째 조건인데, 저 조건이 좀 까다로움. 그래서 잘 안씀.

 

마무리 정리

On-policy learning : 매 정책개선마다 데이터를 얻어야함.

Off-policy learning : 얻었던 데이터를 재활용하거나, 다른 정책에서 얻었던 데이터를 가져와서 쓸 수 있다면 좋겠다.

 

반응형