본문 바로가기
AI

Off-Policy Control

by 월곡동로봇팔 2020. 9. 24.

 

1. 1/n 이 왜 있을까 --> 평균이라
2. 솔직히 뮤랑 파이랑 뭐가 다른지 모르겠다
3. 

 

보통 optimal policy라고 하면 현재 policy보다 더 나은 value function을 가지는 policy를 말하는데, 이 때문에 주어진 policy에 대한 Q-value를 전부 더하는 것 대신에 Q-value 중에서 가장 큰 값을 얻을 수 있는 것을 취하는 것을 Q-learning 동작원리이다.

 

model based 상태에서 

policy가 존재하는 것을 monte carlo method라고 한다.

 

model free 하다는 부분을 조금 헷갈렸는데, 이 부분은 셋다 모델을 모르는 건 동일한데, MCTS는 model의 전체적인 부분까지 다 보기 때문에, 나중에 value function을 값을 메기는 경우, model-based 하게 하기 때문에 model based하다고 생각했다.

 

model free 한 상태에서

on policy는 SARSA를 말하며

off policy는 Q-learning을 말한다.

 

on-policy는 현재 정해진 policy로 움직이면서,

그 policy를 평가해서 업데이트 합니다.

즉 내가 움직일때 참고하는 policy와 업데이트 시키는 policy가 같은 것을 의미하죠.

 

off-policy는 내가 움직일때 참고하는 policy와

업데이트 시키는 policy가 분리되어있습니다.

 

현재 움직이고있는, action을 취하는 policy를 behavior policy 라고 말한다. action을 취해서 어떤 reward를 얻게 되고, 이 상태에서 다음에는 어떤 action으로 취해야지라고 하는 policy를 target policy 라고 한다.

on policy는 behavior policy가 target policy와 같은 것을 말하며, off policy는 behavior policy와 target policy가 다른 것을 말한다.

 

그러면 policy가 분리되어 있는데,

다른 policy로부터 어떻게 학습을 시킬수 있는지 근거가 필요하겠죠?

 

이 근거는 통계학의 개념을 활용하는데요,

importance sampling이라고 하는 기법입니다.

 

 

model free 한 것은 MCTS는 전체적인 sequence를 모두 생각해서 한다면, 

 

강화학습에서 모델은 다른 의미를 가집니다. 딥러닝에서 어떤 함수에 대한 가정4 을 모델이라고 부르지만 강화학습에서는 환경에 대한 가정을 모델이라고 부릅니다. 예를 들어서 바둑 같은 경우 (x, y) 위치에 검은 돌을 두는 행동 을 환경에 적용하면 그에 따라 얻게 되는 새로운 상태는 기존 바둑판에서 (x, y) 위치에 검은 돌이 추가된 상태 가 될 것입니다. 이런 식으로 환경이 어떻게 동작할지 기존 지식을 활용하거나 학습해서 사용하는 방식을 model-based 알고리즘이라고 부르고, 환경을 블랙박스로 다루는 방식을 model-free 알고리즘이라고 합니다.

Model-based 알고리즘은 기존 지식을 활용하는만큼 적은 양의 데이터로 효율적인 학습을 할 수 있다는 장점이 있고, Model-free 알고리즘은 환경에 대한 모델을 세우기 어려운 경우에도 사용할 수 있고 여러 도메인에 동일한 방법을 적용할 수 있다는 장점이 있습니다. 이때까지는 model-free 알고리즘이 인기가 많았지만 데이터 효율성 측면이나 safety가 중요한 경우 model-based 알고리즘을 사용하는 추세로 보입니다. Model-based 알고리즘의 대표적인 예시로 알파고가 있고, Model-free 알고리즘의 대표적인 예시로는 DQN이 있습니다.

 

 

 

 

\begin{align} \text{SARSA : } & Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \big(R_{t+1} + \gamma Q(S_{t+1}, \color{red}{A_{t+1}}) - Q(S_t, A_t) \big) \\ \text{Q-learing : } & Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \big(R_{t+1} + \gamma \color{red}{\max_{a'}} Q(S_{t+1}, \color{red}{a'}) - Q(S_{t}, A_{t}) \big) \end{align}

 

 

importance sampling (시도, 경험 횟수)

E_{a \sim \pi(\cdot|s)}[f(s,a)] = \sum_{ a}[\pi(a|s)f(s, a)] \\ = \sum_{a}[\mu(a|s)\frac{\pi(a|s)}{\mu(a|s)}f(s, a)] = E_{a \sim \mu(\cdot|s)}[\frac{\pi(a|s)}{\mu(a|s)}f(s, a)]

 

첫 번째 식은 value function을 말한다. value function은 파이라는 target policy를 따랐을 때, action을 취하고 나오느 value를 모아놓은 것이다. 하지만 policy-off 를 하게 되면 기존 파이를 따르지 못하니까 이를 뮤라는 behavior policy 

 

 

 

 

t-lab.tistory.com/m/22

 

강화학습 3부 2.Q-learning

*해당 강화학습 포스팅은 모두의 연구소의 이웅원님이 작성해주신 강화학습의 기초 깃북(클릭)의 내용을 기반으로 작성되었습니다. *더 깊게 차근차근 공부하시려면 이웅원님의 깃북 원본을 �

t-lab.tistory.com

 

'AI' 카테고리의 다른 글

RTX 3080 병렬로 tensorflow 위에 올려보기  (0) 2020.12.23
DQN (Deep Q-Networks)  (0) 2020.10.03
RL : RL 용어정리  (0) 2020.09.08
RL : TD Method  (0) 2020.09.06
RL : Monte Carlo Method  (0) 2020.09.06

댓글