이번에는 Model-free에서의 Control에 대한 내용과 on-policy, off-policy에 대한 내용을 알아보겠습니다.
이전까지 배운 내용을 정리하면 Model-free Prediction이라고 할 수 있습니다. Model-free라는 것은 모델을 사용하지 않는 강화학습을 의미합니다. 그리고 prediction이라는 것은 MDP를 알지 못하는 환경에 대해서 value function을 추정하기 위한 방법을 의미합니다.
이번에 살펴볼 Model-free Control은 동일한 환경에 대해서 value function을 최적화하기 위한 방법을 설명합니다.
MDP 같은 모델을 사용해서 대응할 수 있는 주제들이 나열이 되어 있습니다. 알파고의 바둑 게임이나 포트폴리오 매니징에 적용을 하는 예시들도 보입니다. 이러한 환경에 대해서 우리는 모든 것을 알고 있지 않기 때문에 샘플링된 방식으로 접근을 하게 됩니다. 부분적으로 경험을 하고 시행착오를 겪으면서 학습을 하게 되는데 이 환경이 현실에서는 매우 크기 때문에 이를 풀어내는 방법이 필요합니다. 이때 사용하는 것이 이번 주제에 대한 내용입니다.
On-policy learning은 자신이 직접 시행착오를 격으면서 스스로 배우는 것에 비유를 할 수 있습니다. 동일한 policy인 파이에 대하여 샘플링된 경험을 따르면서 이를 통해서 학습을 하는 방식을 의미합니다.
Off-policy learning은 다른이가 시행착오를 겪는것을 보면서 배우는 것에 비유를 할 수 있습니다. 다른 policy인 뮤에 대해서 샘플링된 경험을 따르면서 자신의 policy 파이를 학습하는 방식을 의미합니다.
시행착오를 하는 정책과 학습하는 정책이 다른 것입니다.
다이나믹 프로그래밍에서 본것과 같이 policy 가 반복적으로 진행이 되면서 evaluation과 improvement를 수행하면서 value function을 추정하고 최적화된 policy를 업데이트합니다. 이를 계속하면 최적화된 점으로 수렴을 하게 되고 이때가 가장 optimal policy를 찾을 수 있었습니다.
이러한 업데이트 방식을 몬테카를로의 방식에 적용을 해볼 수 있습니다. 몬테카를로 방식은 자신이 경험한 경로에 평균값을 value로 업데이트를 했습니다. 이와 같은 방식에서 발생하는 문제점은 경로가 매우 긴 에피소드의 경우에 연산이 오래걸리는 단점이 있고, 또 greedy한 policy를 따르기 때문에 경험하지 못한 경로에 대해서는 알수 없게 됩니다.
상단에 V(s)는 state에 대한 value function을 추정해야하기 때문에 MDP 모델을 사용하게 되는 형태입니다.
하단에 Q(s,a)는 s state에 대하여 a action을 취했을때 가장 큰 Q 값을 갖는 best action을 사용하게 되므로 model-free에 해당하는 방식입니다.
V 대신에 Q 를 사용해서 state-action value 를 업데이트 하도록 하여 policy evaluation과 improvement를 반복합니다. 최적의 q*를 찾게 되면 최적의 policy를 찾을 수 있습니다.
예제입니다. 두개의 문이 있습니다. 첫번째 시도에서 왼쪽문을 열었더니 보상을 0을 받게 되었습니다. 두번째 시도에서 오른쪽 문을 열어보니 보상을 1을 받았습니다. 자 이제부터 MC방식에서는 리워드가 클 것으로 예상이 되는 오른쪽 문을 열게 됩니다. 세번째 시도에서 오른쪽문을 열어보니 보상을 3을 받았습니다. 평균치가 되어 해당 오른쪽문에 value가 +2가 됩니다. 이와 같이 무한 반복을 하게 되면 오늘쪽문만 열게될 것입니다.
하지만 왼쪽문을 열어본 경험이 거의 없기 때문에 진정한 최적화라고 할 수가 없는 문제가 발생합니다.
(계속 업데이트중입니다....)
'Reinforcement Learning' 카테고리의 다른 글
RL (강화학습) 기초 - 8. TD lamda (4) | 2017.11.29 |
---|---|
RL (강화학습) 기초 - 7. Temporal-Difference Learning (0) | 2017.11.01 |
RL (강화학습) 기초 - 6. Monte-Carlo Learning (2) | 2017.10.29 |
RL (강화학습) 기초 - 5. Dynamic Programming (0) | 2017.10.23 |
RL (강화학습) 기초 - 4. Markov Decision Processes (2) (6) | 2017.08.29 |
댓글