[Deep Reinforcement Learning] 14강 Temporal Difference Learning 2

Woosci·2025년 7월 25일

👨‍🏫학습목표

오늘은 Importance SamplingOff-policy Monte Carlo and Temporal Difference에 대해 배워볼 예정이다.

👨‍🎓강의영상: https://www.youtube.com/watch?v=1BcEwmxSr8E&list=PLvbUC2Zh5oJtYXow4jawpZJ2xBel6vGhC&index=14

1️⃣ Importance Sampling

🔷 Importance Sampling 등장배경

  • 앞서 우리는 On-policyOff-policy에 대해 배웠다.
  • 그런데 On-policy보다는 Off-policy가 장점이 더 많이 때문에 우리는 Monte CarloSarsa를 On-policy에서 Off-policy로 바꾸려고 한다.
  • 구체적으로 각 방식의 behavior policy다른 것으로 바꾸는 방법을 통해 이를 구현한다.
  • 이때 사용되는 개념이 Importance Sampling이다.

E[f]=f(x)p(x)dx=f(x)p(x)q(x)q(x)dx\mathbb{E}[f] = \int f(x) p(x) dx = \int f(x) \frac{p(x)}{q(x)} q(x) dx
  • 실제로 적분을 계산하는 대신 sampling을 통해 기대값을 구할 수 있다.

1Nnp(xn)q(xn)f(xn) where xnq(x)\approx \frac{1}{N} \sum_n \frac{p(x_n)}{q(x_n)} f(x_n) \text{ where } x_n \sim q(x)
  • 이를 Monte Carlo sampling이라고 한다.
  • sampling을 통해 근사값을 구할 수 있다.
  • 그런데 xp(x)x \sim p(x)일때, p(x)p(x)에서 xx를 sampling하는 것이 어려울 수 있다.
  • 예를 들어 p(x)p(x)가 복잡한 함수일 경우 sampling하는 것이 어려울 수 있다.

그래서 우리는 p(x)p(x)대신 우리가 잘 알고 있는 Uniform 혹은 Gaussian 분포에서 sampling을 할 계획이다.

하지만 p(x)p(x)q(x)q(x)는 다른 함수이기 때문에 오차가 발생한다. 이를 보정하기 위해서 p(xn)q(xn)\frac {p(x_n)}{q(x_n)}를 곱한다.

이를 Importance weight라고 한다. 그리고 이러한 방식을 통해 기대값을 구하는 것을 Importance Sampling이라고 한다.

🔻 Discrete한 경우

EXP[f(X)]=P(X)f(X)=Q(X)P(X)Q(X)f(X)\mathbb{E}_{X \sim P}[f(X)] = \sum P(X) f(X) = \sum Q(X) \frac{P(X)}{Q(X)} f(X)

=EXQ[P(X)Q(X)f(X)]= \mathbb{E}_{X \sim Q}[\frac{P(X)}{Q(X)} f(X)]

🔻 Continuous한 경우

E[f]=f(x)p(x)dx=f(x)p(x)q(x)q(x)dx\mathbb{E}[f] = \int f(x) p(x) dx = \int f(x) \frac{p(x)}{q(x)} q(x) dx

1Nnp(xn)q(xn)f(xn) where xnq(x)\approx \frac{1}{N} \sum_n \frac{p(x_n)}{q(x_n)} f(x_n) \text{ where } x_n \sim q(x)

🔷 Monte Carlo에 적용하기

qπ(s,a)=Eπ[GtSt=s,At=a]q_\pi(s, a) = \mathbb{E}_\pi[G_t | S_t = s, A_t = a]

Gt=Rt+1+γRt+2++γTt1RTG_t = R_{t+1} + \gamma R_{t+2} + \dots + \gamma^{T-t-1} R_T
  • 우리는 궁극적으로 Policy π\pi를 따르는 Return GtG_t의 기대값 Eπ[GtSt=s,At=a]\mathbb{E}_\pi[G_t | S_t = s, A_t = a]를 구하고 싶다.
  • 이때 GtG_tsample data St,At,Rt+1,St+1,,RT,STS_t, A_t, R_{t+1}, S_{t+1}, \dots, R_T, S_T 를 통해 구할 수 있다.
  • 그리고 기대값을 구하기 위해서는 확률 P(At,St+1,At+1,,STSt,At:T1π)P(A_t, S_{t+1}, A_{t+1}, \dots, S_T | S_t, A_{t:T-1} \sim \pi)를 알아야 한다.

그리고 해당 확률은 아래와 같이 표현할 수 있다.

P(At,St+1,At+1,,STSt,At:T1π)=k=tT1π(AkSk)p(Sk+1Sk,Ak)P(A_t, S_{t+1}, A_{t+1}, \dots, S_T | S_t, A_{t:T-1} \sim \pi) = \prod_{k=t}^{T-1} \pi(A_k | S_k) p(S_{k+1} | S_k, A_k)

앞서 배운 내용과 연결해보면

E[f]=Eπ[GtSt=s,At=a]\mathbb{E}[f] = \mathbb{E}_\pi[G_t | S_t = s, A_t = a]

p(x)=k=tT1π(AkSk)p(Sk+1Sk,Ak)p(x) = \prod_{k=t}^{T-1} \pi(A_k | S_k) p(S_{k+1} | S_k, A_k)
  • 우리는 원칙적으로 Policy π\pi를 따르는 p(x)p(x)를 통해 계산을 해야 하지만 behavior policy μ\mu를 따르는 q(x)q(x)를 통해 E[f]\mathbb{E}[f]를 구할 수 있다.

Importance weight는 아래와 같이 설계할 수 있다.

ρtT=k=tT1π(AkSk)p(Sk+1Sk,Ak)k=tT1μ(AkSk)p(Sk+1Sk,Ak)=k=tT1π(AkSk)μ(AkSk)\rho_t^T = \frac{\prod_{k=t}^{T-1} \pi(A_k | S_k) p(S_{k+1} | S_k, A_k)}{\prod_{k=t}^{T-1} \mu(A_k | S_k) p(S_{k+1} | S_k, A_k)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{\mu(A_k | S_k)}
  • 이때 p(Sk+1Sk,Ak)p(S_{k+1} | S_k, A_k)가 약분이 되어 transition probability를 모르더라도 연산 가능하다.


2️⃣ Off-policy Monte Carlo and Temporal Difference

  • 우리는 policy π\pi대신에 μ\mu를 사용하여 sample을 수집 후 업데이트를 진행할 수 있다.
  • 이러한 방식을 통해 우리는 Monte CarloTemporal DifferenceOff-policy로 전환할 수 있다.

🔷 Off-policy Monte Carlo

Gtπ/μ=ρtTGt=(k=tT1π(AkSk)μ(AkSk))Gt(μ>0 if π>0)G_t^{\pi/\mu} = \rho_t^T G_t = \left(\prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{\mu(A_k | S_k)}\right) G_t \quad (\mu > 0 \text{ if } \pi > 0)

=Eμ[Gtπ/μSt=s,At=a]= \mathbb{E}_\mu[G_t^{\pi/\mu} | S_t = s, A_t = a]
  • π(AkSk)μ(AkSk)\frac{\pi(A_k | S_k)}{\mu(A_k | S_k)} 는 stochastic한데 Π\Pi를 통해 곱해지기 때문에 variance가 크게 증가한다.
  • variance가 커지면 학습과정에서 convergence가 느려진다.

🔷 Off-policy Temporal Difference

Q(St,At)Q(St,At)+απ(AkSk)μ(AkSk)[Rt+1+γQ(St+1,At+1)Q(St,At)]Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \frac{\pi(A_k | S_k)}{\mu(A_k | S_k)} [R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_t, A_t)]
  • π(AkSk)μ(AkSk)\frac{\pi(A_k | S_k)}{\mu(A_k | S_k)} 는 stochastic하기 때문에 variance가 증가한다.
  • Monte Carlo보다는 variance가 작기 때문convergence가 빠르다.


3️⃣ Bias vs Variance

우리는 계속해서 qπ(s,a)q_\pi(s, a)를 추정하려 하고 있다.

🔷 Bias

  • 우리가 추정한 추정치의 평균값과 실제 값이 얼마나 떨어져 있는지를 의미한다.

🔷 Variance

  • 우리가 추정한 추정치의 흩어진 정도를 의미한다.

출처: https://scott.fortmann-roe.com/docs/BiasVariance.html

🔷 Bias and Variance in MC and TD

🔻 Monte Carlo

  • Return GtG_ttarget으로 한다.

  • Return GtG_tqπ(s,a)q_\pi(s, a)unbiased estimate이기 때문에 Monte Carlo는 bias가 없다.

  • GtG_t를 추정할 때 Random성이 높은 성질이 있다.

  • Temporal Difference보다 Variance가 크다.


🔻 Temporal Difference

  • Rt+1+γQπ(St+1,At+1)R_{t+1} + \gamma Q_\pi(S_{t+1}, A_{t+1})target으로 한다.

  • Rt+1+γQπ(St+1,At+1)R_{t+1} + \gamma Q_\pi(S_{t+1}, A_{t+1})Rt+1+γqπ(St+1,At+1)R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1})근사치이다.

  • 따라서 Rt+1+γqπ(St+1,At+1)R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1})qπ(s,a)q_\pi(s, a)biased estimate이다.

  • 업데이트를 진행할 때 Random한 성질이 반영된다.



4️⃣ Monte Carlo VS Temporal Difference

종류Monte CarloTemporal Difference
Sampe dataepisodenext state
memory and computationhighlow
evironment끝이 있는 episode에 적용 가능끝이 없는 episode에도 적용 가능
Markov propertyMarkov property가 적어도 성능 저하가 적다.Markov property가 성능에 큰 영향을 끼친다.
초기값민감하지 않다.민감하다
Convergence 속도느리다빠르다
특징이해하기 쉽다. 직관적이다.효율적이다.


5️⃣ 정리

🔷 14강에서 배운 내용은 아래와 같다.

  1. Importance Sampling의 개념에 대해 배웠다.
  2. Monte Carlo sampling에 대해 배웠다.
  3. Off-policy적용Monte CarloTemporal Difference에 대해 살펴보았다.
  4. Monte Carlo와 Temporal Difference를 BiasVariance 관점에서 살펴보았다.
profile
I'm curious about AI

0개의 댓글