Udacity Deep RL Nanodegree — Actor Critic Methods

actor-critic은 value-based와 policy-based의 중간이다. value-based를 이용해 policy-based를 개선하는 방식이다. 이부분은 정말 어려웠고 어떤 flow를 가지고 이 정리글을 쓰지 못했다 ㅠㅠ.. 그냥 나온 내용들을 쭉 정리했다…

Image for post
Image for post
Photo by Lenin Estrada on Unsplash
  • bias — 목표치와의 차이
  • variance — 예측값이 너무 크게 분포하는 문제

예를 들면

  • MC methods — no bias, high variance
  • TD methods — low variance, low bias

TD Based와 MC를 함께 학습해서 서로간의 좋은것만 가져온다면? 즉 no bias하면서 low variance할 수 없을까? 보통의 방법들은 이둘을 교환하며 최적의 에이전트를 찾는다. variance를 희생해서 bias를 얻거나, bias를 희생해서 variance를 줄이는…

  • On-policy → policy 기반으로 environment와 상호작용. 이후 policy 학습
  • Off-policy → policy 기반으로 상호작용 안하고, policy 학습. 예: Q-Learning, DQN, e-greedy, MC control

DDPG

Actor-critic은 Policy-based와 value-based를 섞는방식이다. policy based agent(이하 actor)는 어떤 행동을 할지 결정하고, value-based agent(이하 critic)가 현재 state와 action의 가치를 결정한다. 주요 Actor-critic 학습 프로세스인 DDPG(Deep Deterministic Policy Gradients)는 아래와 같은 방식으로 학습한다.

  1. actor는 state를 바탕으로 action을 만든다.
  2. critic이 state, action을 바탕으로 reward를 예측하고 실제 reward와 비슷한 값을 만들도록 학습한다.
  3. actor는 state로부터 자신이 만든 action을 critic에 전달하여 예상 reward를 받고, 예상 reward가 최대가 되도록 학습한다.

actor와 critic은 next Q target을 알아내기 위한 critic_target과 actor_target까지 포함하므로 총 4개의 모델을 사용하게된다.

몇 번의 step마다 모델을 학습할 것인가? 1step이면 TD Control이고, infinite step(1 episode)면 MC Control이 된다.

여러개의 actor를 각자 env에서 비동기적으로 병렬 학습하고(Parallel Training), 그 gradient를 저장해둔 뒤 Global Model에 반영한다. 공유는 비동기적으로 이루어진다(한번에 다같이 갱신하지 않는다는 의미). A3C는 Replay Buffer를 사용하지 않는다. 각자의 경험이 비동기적으로 갱신되기 때문에, correlation이 사라진다.

https://arxiv.org/abs/1602.01783

A3C에서 asynchronous를 뺐다. gradient를 정해진 시점에 다같이 공유한다. 이후 모든 gradient를 global model에 반영하고, 다시 모든 actor가 적용된 global model을 가져온다.

GAE: Generalized Advantage Estimation

만약 n-step bootstraping을 할 때 어떤 N값을 결정할지 알기는 힘들다. GAE방식은 step 1~inf까지를 일정 확률로 선택하여 학습하는 방식이다. 하이퍼파라미터 λ(lambda)를 바탕으로, 각 확률을 아래 식으로 만든다.

i = 1 ~ inf
p_i = (1-λ)λ^(i-1)

만약 λ = 0.5면, 1step일 확률은 0.5, 2step일 확률은 0.25, 3step일 확률은 0.125, …

Written by

2020.12.8 ~ 2022.6.9 군복무중 Serving in the South Korean Military Service

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store