버티의 블로그

[강화학습 #06] Model-Free Control 본문

AI/강화학습

[강화학습 #06] Model-Free Control

ㅤ버티ㅤ 2024. 6. 4. 00:32
728x90

 

앞선 3장에서는 MDP 환경에서 policy를 evaluation하고 improvement하는 방법을 공부했는데, 이제 model-free 상황에서 어떻게 좋은 policy를 얻어낼 것인지를 살펴볼 것이다. 6장은 이를 위한 기초를 잡고 가는 단원이라 생각하면 된다.

On and Off-Policy Learning

  • On-Policy : 현재의 policy로 샘플링을 하여 현재 policy를 개선해 나간다. 즉 에이전트가 행동을 선택하고 그 행동의 결과를 기반으로 policy를 업데이트 해간다.
    • SARSA
  • Off-Policy : 에이전트가 샘플링을 위한 정책(행동 정책)과 학습을 위한 정책(목표 정책)으로 나누어 policy를 개선한다. 행동 정책에서 더 다양한 탐험을 하여, 목표 정책에 가까워지게 하는 것이 목표이다.
    • Q-Learning, DQN

Model-Free Policy Iteration

Policy Improvement

 

지금까지는 위와 같은 방식으로 policy improvement를 했을텐데, model-free 환경일 때는 2가지의 의문이 생긴다.

  1. model-free에서는 MC와 TD등의 방법으로 state value를 업데이트(policy evaluation)을 하게 되는데, 그럼 여기서 나온 Q값은 실제 value가 아닌 추정치이므로 policy가 monotonic하게 증가할 것인가?
  2. 또한 경험한 것들을 바탕으로 Q값이 계산되고 Q를 바탕으로 action들이 deterministic하게 결정되버리는데 그 action이 최선일지? 경험하지 못한 action이 만약 더 좋았다면?

따라서 explorationi(탐험)이 부족할 수 있기 때문에, 우리는 랜덤성을 부여해서 탐험을 조금 더 하자는 것이 목표고 여기서 나온 개념이


ϵ-Greedy Exploration

ϵ-greedy policy

 

그래서 이 방법은 1-ϵ의 확률로 최적의 값을 선택하는 greedy한 방식을 따르게 하고, 나머지 ϵ의 확률랜덤한 action을 취하게 한다. 이때 취하는 action의 수가 A개일 것이므로, 각각의 랜덤할 action을 할 확률이 ϵ/|A|가 되는 것이다.

 

그럼 이런 방식으로 policy가 정말로 monotonic하게 좋아지는지가 궁금할텐데, 이에 대한 증명은 아래와 같다.

Prove of Monotonic ϵ-greedy Policy Improvement


GLIE

GLIE는 다음 2가지 조건을 모두 만족하는 ϵ-greedy policy를 의미한다.

  • 학습이 진행되는 동안 에이전트는 모든 state, action쌍을 무한히 방문한다.
  • 이렇게 무한히 탐험하면  ϵ값이 0으로 수렴하고, 결국 학습을 할수록 greedy policy로 수렴하게 된다.

위 내용들을 모두 정리해서, MC로 Q값을 계산하고 ϵ-greedy로 on-policy improvement를 하는 수도코드가 다음과 같다.

MC online control / on-policy improvement