본문으로 건너뛰기

RL 008

· 약 3분

RL Taxonomy

Drawbacks of previous methods

  • Large state space:
    • Go: 1017010^{170}
    • Backgammon: 102010^{20}
    • Atari games: 109 to 101110^9 \text{ to } 10^{11}
  • Scale-up model-free based techniques for prediction and control is challenging.
  • Value function used look-up table representation
    • All states has an entry in V(s)V(s)
    • All state-action pair (s,a)(s,a) has an entry in Q(s,a)Q(s,a)
  • Too many state, and stat-action pair to store in memory
  • Slow learning process for each states, due to large space.
  • Each states needs to be explored sufficiently.
  • For large MDPs
    • Function approximation: Almost near optimal value.
    • Estimate value function with function approximation.
      • v^(s,w)vπ(s)\hat{v}(s,w) \approx v_\pi(s)
      • q^(s,a,w)qπ(s,a)\hat{q}(s,a,w) \approx q_\pi(s,a)
    • Generalize from seen states to unseen states.
    • Using MC or TD learning techniques: Update parameter ww.

Function Approximation

  • A technique for estimating unknown underlying function using historical or available observations.
  • Assumption: an underlying mapping function exists
    • f(x)f^(x)f(x) \approx \hat{f}(x)
  • Function: xfyx \xrightarrow{f} y

Types of Value Function Approximation

State-value: state ss → scalar v^(s,w)\hat{v}(s,w)

Action-value (s, a input): state ss and action aa → scalar q^(s,a,w)\hat{q}(s,a,w)

Action-value (s input, all actions out): state ssq^(s,a1,w),,q^(s,am,w)\hat{q}(s,a_1,w),\ldots,\hat{q}(s,a_m,w)

  • ww is the parameter vector of the function approximator.
    • e.g. Neural Network weights

Types of Function Approximator

  • Tabular
    • V-Table: sv(s)s \rightarrow v(s)
    • Q-Table: (s,a)q(s,a)(s,a) \rightarrow q(s,a)
  • Decision Trees, Nearest Neighbors
    • s=[speed=49,distance=10]s = [\text{speed} = 49, \text{distance} = 10]
    • sDecision Tree / KNNv^(s)s \rightarrow \text{Decision Tree / KNN} \rightarrow \hat{v}(s)
  • Linear Function approximation
    • Linear Combination of Features
    • Values are linear function for features v^(s,w)=wTx(s)\hat{v}(s,w) = w^Tx(s)
    • x(s)=[speeddistancefuel]x(s) = \begin{bmatrix} \text{speed} \\ \text{distance} \\ \text{fuel} \end{bmatrix}
    • v^(s,w)=wTx(s)\hat{v}(s,w) = w^Tx(s)
    • v^(s,w)=w1x1(s)++wnxn(s)\hat{v}(s,w) = w_1x_1(s) + \cdots + w_n x_n(s)
  • Differentiable function approximation
    • v^(s,w)\hat{v}(s,w) is a differentiable function of ww, can be non-linear in ss
    • e.g. Neural Network, or CNN
      • v^(s,w)w\frac{\partial \hat{v}(s,w)}{\partial w}
      • wwαwLw \leftarrow w - \alpha \nabla_wL
      • PixelsCNNv^(s)\text{Pixels} \xrightarrow{CNN} \hat{v}(s)

Which FA to use?

In principle, any FA that fits the RL framework can be used.

FANotes
TabularEasy; not scalable; does not generalise
LinearRequires good features
Differentiable (better choice)Scalable; not always well understood
Neural NetworksPerforms well
Deep Neural NetworksPopular choice; performs well
  • Need training methods that are suitable for non-stationary data.