Major in CS/Reinforcement Learning(강화학습)

Reinforcement Learning (7) - Policy Based RL

SHJuan 2019. 12. 5. 17:59

수업 들은 내용을 정리한 글입니다. 작성자의 상태에 따라 잘못되거나 이상한 부분이 있을 수 있습니다.

댓글 환영 ㅎㅎ

Policy-based RL

  • RL의 한 방법으로서, "Policy"를 학습하는 방식
  • Model-free RL이다.
  • Policy를 단독으로 학습시키면, 잘 되지 않기 때문에, 실질적으로 Value Function의 도움이 필요하다. 

Policy-based RL의 장단점

장점

  • Convergence가 잘된다. 즉, 비교적 Bias가 적고, Oscillation이 없다.
    • DQN의 경우 학습하는 동안 최근 100개에 대한 oscillation이 존재한다.
  • Action의 수가 엄청 많거나, 연속인 경우에서도 잘 학습할 수 있다.
    • Value-based RL의 경우 Action의 수가 너무 많으면 학습하기 힘들다. (ex. 바둑)
  • Action을 확률적으로 선택할 수 있는 Stochastic Policy도 학습할 수 있다.
    • Value-based RL의 경우 deterministic하게 Action을 선택

단점

  • Monte-Carlo와 비슷한 방식으로 학습하기 때문에 variance가 크다.
  • 따라서 학습 속도가 느리고 비교적 덜 안정적으로 학습한다.
  • Pure한 경우 한 번 experience를 하고, 그것을 저장하고 따로 재사용하지는 않는다는 점에서 비효율적이다.
    • Value-based RL에서는 experience replay를 통해 experience를 재사용하여 학습하였다.

Policy Search

  • Score function J(θ) : 어떤 policy π_θ를 따랐을 때, 한 episode에서 얻을 수 있는 return의 기댓값
  • Policy가 좋을수록, J(θ)의 값은 클 것이다.
  • 따라서, J(θ)가 최대값이 되도록 θ에 대한 Gradient Ascent를 수행한다.

Policy Score Functions

  • Episodic한 env: 처음 시작하는 state의 value function의 기댓값
  • Continuous한 env
    • 평균적인 value function 값
    • 혹은 timestep 마다 얻을 수 있는 평균적인 reward
  • 문제점: 각 state에 머무를 확률을 미리 알기는 어렵다.

Policy Gradient Ascent - 수정 및 추가 필요

  • J(θ)가 θ에 대해서 미분가능한가?
  •  

Monte-Carlo Policy Gradient(REINFORCE)

Policy Function

  • Discrete action space
    • Softmax를 사용.
    • Logit으로서 Q value를 사용.
    • 즉, 어떤 state에서 action을 취할 확률은 그 state에서 "그 action"을 취했을 때의 exp^(Q value) 값을, 취할 수 있는 모든 action들의 e^(Q value)의 합으로 나눈 것과 같다.
  • Continuous action space
    • Gaussian policy를 사용
    • 확률 분포가 Gaussian Distribution을 따르지 않는다는 것을 알고 있다면, 다른 확률밀도함수를 사용할 수도 있다.

Reducing Variance

  • Monte-Carlo 식으로 Policy 학습을 하기 때문에, Variance가 크다는 문제점이 있다.
  • 기존의 Score Function은 매번, 그 episode의 첫 시작점으로부터의 return값을 곱해주었다.
  • 이 부분을, 각 state부터의 return값("todo reward"라고도 함)을 곱해주는 것으로 바꾼다.
  • 이를 사용한 policy 학습 방법을 REINFORCE 알고리즘이라고 한다.

Baseline in Policy Gradient - 수정 및 추가 필요

  • Score Function의 Q value서 Baseline Function을 빼준다.
  • Variance를 줄이는 효과를 볼 수 있다.
  • 따라서, 더 빠르고 안정적으로 배울 수 있다.
  • State Value function이 좋은 Baseline Function이다.
  • 그런데, Baseline을 빼면 어떤 추가적인 Bias를 만들어낼 수 있지 않을까?
    • Baseline은 추가적인 Bias를 만들어내지 않는다.
    • 증명하면 Baseline을 빼는 부분이 0이 된다. 

 

2019/12/5 처음 작성