수업 들은 내용을 정리한 글입니다. 작성자의 상태에 따라 잘못되거나 이상한 부분이 있을 수 있습니다.
댓글 환영 ㅎㅎ
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 처음 작성
'Major in CS > Reinforcement Learning(강화학습)' 카테고리의 다른 글
Reinforcement Learning (9) - Planning과 Learning의 통합 (0) | 2019.12.05 |
---|