Part 2. Kinds of RL Algorithms
마지막 수정 시각: 2023-07-24 11:55:06
Model-Free vs Model-Based RL
RL algorithm을 가르는 가장 중요한 질문은 agent가 environment의 model에 대해 접근하거나 배울 수 있는지 아닌지 여부이다. environment의 model이란 state transition과 reward를 예측하는 함수를 뜻한다.
model을 가지는 것의 가장 큰 이점은 agent가 미리 각 선택에 따라 어떤 일이 일어날지 탐색하고 계획을 세우는 게 가능하다는 것이다. algha zero같은게 대표적인 사례. 가장 큰 단점은 ground-truth model은 보통 agent가 사용불가능하다는 것이다.
model을 사용하는 경우 model-based, model을 사용하지 않는 경우 model-free라고 부른다. 보통 model-free 씀
What to Learn
또다른 중요한 분기점은 RL 알고리즘이 무엇을 배우는가이다. 일반적인 관점은
- policies, eiter stochastic or deterministic
- action-value functions (Q-functions),
- value functions,
- and/or environment models
정도의 목록을 포함한다.
What to Learn in Model-Free RL
model-free RL에서 agent를 표현하고 training하는 방법에는 크게 두 가지가 있다.
Policy Optimization
이 분류에 속하는 방법은 policy를 \( \pi_{\theta}(a|s) \)로 명확하게 표기한다. 여기서는 gredient acscent를 이용해 \(J(\pi_{\theta})\)의 성능을 직접 최대화하거나, 간접적으로 \(J(\pi_{\theta})\)의 local approximation을 최대화하는 식으로 \(\theta\) 파라메터를 최적화한다. 따라서 거의 항상 on-policy로 동작하며, 이는 매 update가 가장 최근 버전의 policy를 따라 행동을 수행하는동안 수집한 데이터를 이용해서만 이루어진다는 뜻이다. 또 policy optimization은 on-policy value function \(V^{\pi}(s)\)에 대한 approximator \(V_{\phi}(s)\)를 학습하는 것을 포함한다. \(V_{\phi}(s)\)는 policy를 어떻게 update할지를 계산하는데 쓰인다.
policy optimization의 예시로는 다음과 같은 것이 있다.
- A2C / A3C : gradient ascent를 이용해 직접적으로 성능을 최대화한다.
- PPO : surrogate objective function을 최대화하는 식으로 간접적으로 성능을 최대화한다. 이 함수는 policy를 update했을 때 \(J(\pi_{\theta})\)가 얼마나 변화할지에 대한 conservative estimate를 주는 함수이다.
Q-Learning
이 분류에 속하는 방법은 optimal action-value function \(Q^*(s, a)\)에 대한 approximator \(Q_{\theta}(s, a)\)를 학습한다. 이 방법들은 일반적으로 bellman equation에 기반한 objective function을 사용하며, 거의 항상 off-policy로 동작한다. 이는 매 update가 학습 과정의 모든 단계에서 수집된 데이터를 사용할 수 있다는 뜻이다. 그래서 policy는 \(Q^*\)와 \(\pi^*\) 간의 연결로부터 유도된다. 그래서 Q-learning agent가 취하는 action은 아래 식으로부터 구할 수 있다.
\[ a(s) = \arg \max_a Q_{\theta}(s,a) \]
Q-learning을 사용하는 예시는 다음과 같은 것이 있다.
- DQN. deep RL 이라는 분야가 시작하게 된 classic
- C51. 기댓값이 \(Q^*\)인 분포를 학습하는 변형.
Trade-offs Between Policy Optimization and Q-Learning
policy optimzation의 강점은 원하는 바를 직접적으로 최적화할 수 있다는 것. 따라서 stable하고 reliable하다. 반면에, Q-learning은 \(Q_{\theta}\)을 학습시켜서 간접적으로 agent의 성능을 최적화한다. 이러한 이유로 Q-learning이 실패하는 케이스가 종종있고 따라서 좀 덜 stable하다. 하지만, policy optimization에 비해 데이터를 재활용할 수 있기 때문에 데이터 수집 측면에서 훨씬 효율적이라는 장점이 있다.
Interpolating Between Policy Optimization and Q-Learning
policy optimization과 Q-learning을 서로 같이 못 쓰는 건 아니다. 그리고 이 두 극단 사이에 위치한 알고리즘들도 많다. 예시로는 다음과 같은 것이 있다.
- DDPG. deterministic policy와 Q-function을 병렬적으로 학습한다. 이 둘은 각각 서로의 성능을 개선하기 위해 쓰인다.
- SAC. stochastic policies, entropy regularization, 그외 trick들을 써서 DDPG보다 학습 과정을 안정적으로 만들고 더 높은 점수를 얻기 위한 변종.
What to Learn in Model-Based RL
model-free RL과는 다르게 model-based RL은 굉장히 다양한 형태의 방법이 있어서 쉽게 분류할 수가 없다. 여기서는 몇 가지 예시만 제시. 각 경우에서 모데델은 주어질 수도 있고, 학습될 수도 있다.
Background: Pure Planning
가장 기본적인 접근은 policy를 절대 명시적으로 나타내지 않는 것이다. 대신에, mode-predictive control(MPC)과 같은 pure planning 테크닉을 이용해 action을 선택한다. MPC에서, 매 시간마다 에이전트는 환경을 관찰하고, 모델에 따라 최적의 plan이 무엇인지를 계산한다. 여기서 plan은 현재로부터 고정된 시간 window 동안 무슨 action을 취할지를 전부 기술한 것을 뜻한다(그보다 더 미래의 보상은 planning algrotihm이 학습된 value function을 이용함으로서 고려할 수 있다). agent는 plan의 첫번째 행동을 수행하고, 즉시 plan의 나머지 부분은 버린다. 그리고 다시 plan을 계산하는 걸 반복.
- MBMF는 deep RL의 몇몇 standard benchmark task에서 학습된 환경 모델로 MPC를 탐색한다.