( 참고 : Fastcampus 강의 )
[ 15. Time Difference Learning (1) ]
Contents
- Introduction
- Time Difference Learning
- N-step TD
- Experiment
1. Introduction
Time Difference Learning도 Monte Carlo Learning과 함께 model-free하다
( 즉, MDP transition과 reward에 대한 정보가 없는 상황에서도 풀 수 있는 방법이다 ).
TD Learning은 MC Learning과 비교했을 때 무엇이 다른지 한번 확인해보자!

MC vs TD(0)
차이점 : value function이 update되는 빈도
- 
    MC : 매 episode마다 - 
        \(V(S_t) \leftarrow V(S_t) + \alpha(G_t-V(S_t))\). 
- 
        하지만 episode가 길면 길수록 update가 늦게 이루어지게 된다 \(\rightarrow\) 이를 보다 online update하기 위한 것이 TD 
- 
        UNBIASED, high variance 
 
- 
        
- 
    TD(0) : epsiode내의 매 step마다 - 
        idea : \(G_t \approx R_{t+1} + \gamma \; V(S_{t+1})\) 
- 
        \(V(S_t) \leftarrow V(S_t) + \alpha(R_{t+1}+\gamma\;V(S_{t+1})-V(S_t))\). 
- 
        biased, LOW VARIANCE ( 고려하는 time step의 수가 적다 보니, 당연히 variance는 줄어들게 된다 ) 
 
- 
        
.

2. Time Difference Learning
용어 정리
- TD target : \(R_{t+1} + \gamma \; V(S_{t+1})\) ……………….. biased
- TD true target : \(R_{t+1} + \gamma \; v_{\pi}(S_{t+1})\) ……….. unbiased
- TD error : \(\delta_t = ( R_{t+1} + \gamma \;V(S_{t+1}) ) - V(S_t)\)
TD의 전체 process를 요약하면 다음과 같다.
( 매 step마다 업데이트가 이루어짐을 확인할 수 있다. )
3. N-step TD
TD(0) vs TD(N)
- 
    TD(0) : 1-step 마다 update 
- 
    TD(N) : N-step 마다 update 
\(\begin{aligned} n=1 & \text { (TD) } & G_{t}^{(1)}=R_{t+1}+\gamma V\left(S_{t+1}\right) \\ n=2 & & G_{t}^{(2)}=R_{t+1}+\gamma R_{t+2}+\gamma^{2} V\left(S_{t+2}\right) \\ & \vdots & & \\ n=\infty &(M C) & G_{t}^{(\infty)}=R_{t+1}+\gamma R_{t+2}+\ldots+\gamma^{T-1} R_{T} \end{aligned}\).
.
Summary
- 
    \(G_{t}^{(n)}=R_{t+1}+\gamma R_{t+2}+\ldots+\gamma^{n-1} R_{t+n}+\gamma^{n} V\left(S_{t+n}\right)\). 
- 
    Updating Equation : \(V\left(S_{t}\right) \leftarrow V\left(S_{t}\right)+\alpha\left(G_{t}^{(n)}-V\left(S_{t}\right)\right)\). 
4. Experiment
다양한 \(n\)값과 \(\alpha\)값(=learning rate)을 Random Walk를 통해 시험해 보았고,
time step의 수(n) 마다 최적의 alpha값이 다름을 확인할 수 있었다.
 
절대적으로 좋은 time step을 찾기는 어렵다.
그래서 여러 time step를 고려하여 Time Difference Learing을 한 것이 바로 \(TD(\lambda)\)이다.
5. Summary
- Time Difference Learning : model-free하다
- MC vs TD
    - MC : 매 episode마다 update …. ( UNBIASED, high variance )
- TD : 매 step마다 update…. ( biased, LOW VARIANCE )
 
- 
    TD(0) : \(G_t \approx R_{t+1} + \gamma \; V(S_{t+1})\) 
- 
    N-step TD - 
        TD(0) : 1-step 마다 update 
- 
        TD(N) : N-step 마다 update 
 
- 
        
