RL-7. Function Approximation in RL
이번 강의에서는 state가 너무 많을 때 근사하여 value를 예측하는 법을 배운다. 다음 강의에서는 off-policy learning, approximate dynamic programming, learn explicit policy, model-based RL 등을 배울 예정이다.
Large-Scale Reinforcement Learning
- Backgammon: $10^20$ states
- Go: $10^170$ states
- Helicopter: continuous state space
- Robots: real world
이런 예시를 보면 state가 매우 많고 복잡함을 알 수 있다.
Value-Function Approximation
지금까지 우리는 lookup table을 고려했다. state마다 entry 값이 있다.
large MDP에서는
- 저장하기 위한 공간이 너무 많이 필요함
- 각 state 각각을 학습하기 위한 시간이 너무 많이 필요함
- 각 state는 fully observable하지 않음
이 문제를 해결하고자 policy를 근사하는 새로운 함수를 업데이트하도록 함
이렇게 하면 처음 보는 state에 대해서도 generalize가 됨
Function classes
- Tabular: 각 state마다 entry를 갖고 있는 테이블
- State Aggregation: state들을 그룹으로 묶는 것
- Linear Function Approximation
- Values are linear function of features: $v_w(s) = w^Tx(s)$
- tabular, state aggregation 모두 linear function approximation의 special version이다
- Differentiable Function Approximation
- $v_w(s)$ is a differentiable function of w, could be non-linear
Classes of Function Approximation
Tabular가 좋은 방법론이긴 하지만 scale 가능하진 않다.
Linear는 근거있는 좋은 방법론이지만 좋은 피처가 필요하다.
Non-linear는 설명가능성이 떨어지지만 스케일이 매우 쉽고 좋은 피처를 뽑지 않아도 괜찮다.
Gradient-based algorithms
$v_\pi(S_t)$와 $v_w(S_t)$의 차이로 gradient를 계산하여 업데이트한다.
Linear Function Approximation
Control with Value Function Approximation
Convergence and Divergence
알고리즘마다 언제 수렴하고 언제 발산하는지 이해하자.