[RL] Model-free Prediction

Bard·2025년 6월 10일

Reinforcement Learning

목록 보기
9/10

Review

Return은 step tt에서 총 할인된 리워드들의 합이다.

Gt=Rt+1+γRt+2+γ2Rt+3+=k=0γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

vπ(s)v_\pi(s)ss 상태에서 π\pi 정책하에 return의 기댓값이다.

vπ(s)=E[Rt+1+γv(St+1)St=s]v_\pi(s) = \mathbb{E}[R_{t+1} + \gamma v(S_{t+1}) \mid S_t = s]

qπ(s,a)q_\pi(s,a)ss 상태에서 aa행동을 했을 때, π\pi 정책하에 return의 기댓값이다.

qπ(s,a)=E[Rt+1+γqπ(St+1,At+1)St=s,At=a]q_\pi(s, a) = \mathbb{E}[R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1}) | S_t = s, A_t = a]

Model-free Reinforcement learning

Model-free prediction(evaluation)

  • MDP를 모를 때 value function을 예측하는 것
  • 이 policy가 얼마나 좋은지

Model-free control(improvement)

  • MDP를 모를 때 value function을 최적화하는 것
  • 어떻게 더 좋은 policy를 학습할 수 있을지

Model-free Policy Evaluation

  • 실제 MDP 모델 없이 특정 policy의 기대 return 값을 예측하는 것.

Monte-Carlo Reinforcement Learning

  • MC method는 경험들의 episode로 직접 학습한다.
  • MC는 model-free로, MDP transition이나 reward에 대한 지식이 필요없다.
  • MC는 완전한 episode를 통해 학습한다: Bootstapping을 하지 않는다.
  • MC는 간단한 아이디어를 사용한다: value가 return의 평균이라는 것.
  • episodic MDP에서만 적용할 수 있다. 즉: 모든 에피소드는 종료되어야 한다.

Monte Carlo Policy Evaluation

  • 목표: π\pi 하의 경험들의 episode로 vπ(s)v_\pi(s)를 학습하는 것.
    S1,A1,R2,,SkπS_1, A_1, R_2, \dots, S_k \sim \pi
  • return은 총 discounted reward임
    Gt=Rt+1+γRt+2++γT1RTG_t = R_{t+1} + \gamma R_{t+2} + \cdots + \gamma^{T-1} R_T
  • value function은 expected return
    Vπ(s)=Eπ[GtSt=s]V_\pi(s) = \mathbb{E}_\pi[G_t | S_t = s]
  • Monte-Carlo policy evaluation은 expected return 대신 경험적 mean return을 사용함.

First-Visit Monte-Carlo Policy Evaluation

State ss를 평가하기 위해

  • 에피소드에서 ss에 처음 도달한 시간 tt에,
  • counter를 증가시키고 N(s)N(s)+1N(s) \larr N(s) + 1
  • total return을 증가시키고, S(s)S(s)+G(t)S(s) \larr S(s) + G(t)
  • value를 mean return으로 업데이트하고 V(s)S(s)N(s)V(s) \larr \frac {S(s)}{N(s)}
  • 큰수의 법칙에 따라 N(s)N(s)\rarr \infin에 따라 V(s)Vπ(s)V(s)\rarr V_\pi(s)로 수렴한다.

Every-Visit Monte-Carlo Policy Evaluation

State ss를 평가하기 위해

  • 에피소드에서 ss에 매번 도달한 시간 tt에,
  • counter를 증가시키고 N(s)N(s)+1N(s) \larr N(s) + 1
  • total return을 증가시키고, S(s)S(s)+G(t)S(s) \larr S(s) + G(t)
  • value를 mean return으로 업데이트하고 V(s)S(s)N(s)V(s) \larr \frac {S(s)}{N(s)}
  • 큰수의 법칙에 따라 N(s)N(s)\rarr \infin에 따라 V(s)Vπ(s)V(s)\rarr V_\pi(s)로 수렴한다.

Incremental Mean

μk=1kj=1kxj=1k(xk+j=1k1xj)=1k(xk+(k1)μk1)=μk1+1k(xkμk1)\begin{aligned} \mu_k &= \frac{1}{k} \sum_{j=1}^{k} x_j \\ &= \frac{1}{k} \left( x_k + \sum_{j=1}^{k-1} x_j \right) \\ &= \frac{1}{k} \left( x_k + (k - 1)\mu_{k-1} \right) \\ &= \mu_{k-1} + \frac{1}{k} (x_k - \mu_{k-1}) \end{aligned}

Incremental Monte-Carlo Update

각 state마다, 리턴 GtG_t로 상태 StS_t를 업데이트할 수 있다.

N(St)N(St)+1V(St)V(St)+1N(St)(GtV(St))\begin{aligned} N(S_t) &\leftarrow N(S_t) + 1 \\ V(S_t) &\leftarrow V(S_t) + \frac{1}{N(S_t)} (G_t - V(S_t)) \end{aligned}

non-stationary problem에서는 다음과 같이 running mean을 계산할 수 있다.

V(St)V(St)+α(GtV(St))V(S_t) \leftarrow V(S_t) + \alpha (G_t - V(S_t))

Temporal-Difference Learning

  • TD도 똑같이 경험의 epidsode를 통해 직접 학습한다.
  • TD도 model-free로, MDP transition이나 reward에 대한 사전지식 없이 학습할 수 있다.
  • TD는 완료되지 않은 episode에 대해 학습할 수 있다.
  • TD는 예측값을 예측값을 통해 업데이트한다. (bootstrapping)

Monte Carlo vs Temporal Difference

Incremental Monte-Carlo:

V(St)V(St)+α(GtV(St))V(S_t) \leftarrow V(S_t) + \alpha (G_t - V(S_t))

Temporal-difference elarning algorithm

  • value V(St)V(S_t)Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1})로 업데이트한다.
    V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \leftarrow V(S_t) + \alpha (R_{t+1} + \gamma V(S_{t+1}) - V(S_t))
  • Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1})를 TD target이라고 부르고, δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(S_t)를 TD error라고 부른다.

MC vs TD

MC는 완전한 시퀀스로부터만 학습할 수 있다.

  • MC는 에피소드의 끝까지 기다려야 한다.
  • MC는 episodic 환경에서만 동작한다.

TD는 완료되지 않은 시퀀스로부터 학습할 수 있다.

  • TD는 최종 outcome 없이 학습할 수 있다.
  • TD는 매 스텝마다 온라인으로 학습할 수 있다.
  • TD는 continuing 환경에서도 동작한다.

Bias/Variance Trade-off

  • bias는 학습 알고리즘에서 잘못된 가정으로부터 도출된 에러임.
  • variance는 training set에서 작은 변동으로 인한 민감도로 부터 나오는 에러임.

  • return Gt=Rt+1+γRt+2+G_t = R_{t+1} + \gamma R_{t+2} + \dotsvπ(st)v_\pi(s_t)의 unbiased 추정이다.
  • 실제 TD target은 vπ(st)v_\pi(s_t)의 unbiased 추정이다.
  • 그러나 TD target Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1})은 biased 추정이다.
  • TD target은 return보다 훨씬 낮은 variance를 갖는다.

Bias/Variance of MC vs TD

MC: high variance, zero bias
TD: low variance, some bias

Batch MC and TD

Finite dataset에 대한 batch(offline) solution

  • 주어진 KK개의 episode에 대해
  • 반복적으로 k[1,K]k \in [1,K]를 샘플링해서
  • 샘플링된 에피소드에 대해 MC나 TD를 적용

MC vs TD

  • 가장 단순한 TD에서 (s,a,r,s)(s,a,r,s')V(s)V(s)를 업데이트할때 사용한다.
  • 따라서 업데이트당 O(1)O(1), 에피소드 당 O(L)O(L)이 소요
  • MC 도 에피소드 당 O(L)O(L)이 소요됨.
  • TD는 Markov structure를 이용하므로, Markov 도메인에서 유용하다.
  • MC는 Markov property를 이용하지 않으므로, non-Markov 환경에서 더 유용하다.

n-step Return

n=1(TD)Gt(1)=Rt+1+γV(St+1)n=2Gt(2)=Rt+1+γRt+2+γ2V(St+2)n=(MC)Gt()=Rt+1+γRt+2++γT1RT\begin{matrix} n = 1 & (TD) & G_t^{(1)} & = &R_{t+1} + \gamma V(S_{t+1}) \\ n = 2 & & G_t^{(2)} & = &R_{t+1} + \gamma R_{t+2} + \gamma^2 V(S_{t+2}) \\ \vdots & \vdots & \vdots \\ n = \infty & (MC) & G_t^{(\infty)} & = &R_{t+1} + \gamma R_{t+2} + \dots + \gamma^{T-1} R_T \end{matrix}

n-step temporal-difference learning은 다음과 같이 할 수 있다.

V(St)V(St)+α(Gt(n)V(St))V(S_t) \leftarrow V(S_t) + \alpha (G_t^{(n)} - V(S_t))

Averaging n-step Returns

여러 nn에 대해서 nn-step return을 평균할 수 있다. 예를 들어:

12G(2)+12G(4)\frac{1}{2} G^{(2)} + \frac{1}{2} G^{(4)}

모든 time-step의 정보를 효율적으로 모을 수 있을까?

λ\lambda-return

TD(λ\lambda)는 nn-step update를 평균하는 하나의방법으로,

  • 각각은 λn1\lambda^{n-1}의 비율로 가중되며,
  • λ\lambda-return은 다음과 같이 정의된다.
    Gtλ(1λ)n=1λn1Gt:t+nG_t^\lambda \doteq (1 - \lambda) \sum_{n=1}^{\infty} \lambda^{n-1} G_{t:t+n}
  • 그리고 이 λ\lambda-return을 이용한 백업은 다음과 같다.
    V(st)=V(st)+α[GtλVt(st)]V(s_t) = V(s_t) + \alpha[G_t^\lambda - V_t(s_t)]

λ\lambda가 0이면 one-step TD를 하는 것이고,
λ\lambda가 1이면 MC를 하는 것이다.

Gtλ=(1λ)n=1λn1Gt(n)=(1λ)n=1Tt1λn1Gt(n)+λTt1Gt\begin{aligned} G_t^\lambda &= (1 - \lambda) \sum_{n=1}^{\infty} \lambda^{n-1} G_t^{(n)} \\ &= (1 - \lambda) \sum_{n=1}^{T-t-1} \lambda^{n-1} G_t^{(n)} + \lambda^{T-t-1} G_t \end{aligned}

profile
돈 되는 건 다 공부합니다.

0개의 댓글