(작성중)[CS294] Lecture 5: Policy Gradients Introduction

UC Berkeley의 강화학습 강의 CS294(2018 Fall semester)를 정리한 포스트입니다.

코스 전체에서 다루는 주제입니다. (자세한 항목은 syllabus 참조하시기 바랍니다.)

  1. From supervised learning to decision making
  2. Model-free algorithms: Q-learning, policy gradients, actor-critic
  3. Advanced model learning and prediction
  4. Exploration
  5. Transfer and multi-task learning, meta-learning
  6. Open problems, research talks, invited lectures


포스트 내용

  1. Why does policy gradient work?
  2. Policy gradient is a type of policy iteration
  3. Policy gradient as a constrained optimization
  4. From constrained optimization to natural gradient
  5. Natural gradient and trust regions
    • Goals:
    • Understand the policy iteration view of policy gradient
    • Understand how to analyze policy gradient improvement
    • Understand what natural gradient does and how to use it

Recap: policy gradient

지난 포스트 중에서…

RL 알고리즘은 대개 아래와 같은 세 부분으로 돌아간다고 볼 수 있다. 기본적으로 trial and error 방식으로 학습한다. CS294-04-15

  • [주황색 박스] : agent가 행동하면서 sample들(trajectories)을 만들어낸다.
  • [초록색 박스] : sample들에 대해 평가를 한다. 좋은 trajectory에 대해서는 높은 reward를, 안좋은 trajectory에 대해서는 낮은 reward를 준다.
  • [파란색 박스] : state에 대한 action의 distribution인 policy $\pi_{\theta}$를 업데이트 한다. 이러한 학습방식을 policy gradient라고 한다.

위와 같은 과정을 통해 강화학습의 목표인, $\theta^{\star}$를 찾아간다.

Why does policy gradient work?

policy gradient를 policy iteration algorithm으로 보면, 아래와 같이 표현할 수 있다.

  • [주황색 박스] : agent가 행동하면서 sample들(trajectories)을 만들어낸다.
  • [초록색 박스] : 현재 policy로부터 나온 sample(state와 action)들에 대해 평가를 한다. 평가를 advantage $\hat{A}^{\pi} (s_t,a_t)$로 표현한다.
  • [파란색 박스] : $\hat{A}^{\pi} (s_t,a_t)$를 이용하여 policy $\pi$를 학습시켜 더 나은 policy $\pi’$를 얻는다.