JINWOOJUNG

Temporal Difference Method 본문

Reinforcement Learning

Temporal Difference Method

Jinu_01 2024. 1. 19. 02:33
728x90
반응형

본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar

수강 후정리를 위한 포스팅입니다.

모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다.


Before This Episode

https://jinwoo-jung.tistory.com/29

 

Monte Carlo Method

본 게시글은 인하대학교 유상조 교수님의 Reinforcement Learning Tutorial Seminar 수강 후정리를 위한 포스팅입니다. 모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다. Before This Episode

jinwoo-jung.tistory.com


 

DP는 Model을 알기 때문에 v(S)를 policy에 의해 선택되는 action a과 state의 변화 SS의 확률을 기반으로 얻어지는 reward rS에서의 discounted state-value로 계산된다. 이때, v(S)를 추정하는 과정에서 다른 추정 v(S)을 이용하기 때문에 Bootstrapping이라 칭한다.

 

MC의 경우 Free-Model으로, t에서 Sampling 된 Episode에 대한 reward Gt의 평균으로 계산되며 이는 reward Rt+1t+1에서의 discounted state value로 계산된다.

 

v(s)=E[Rt+1+γRt+2+γ2Rt+3+|St=s]

=E[Gt|St=s]

=E[Rt+1+γv(st+1)|St=s

=aπ(a|s)P(s,r|s,a)[r+γV(s)]

 

이때, DP는 Bootstrapping을 통해 state-value를 update 한다.

vk+1aπ(a|S)S,rP(S,r|S,a)[r+γvk(S)]

MC는 Sampling 된 Episode를 진행할 때 마다 update 한다.

vk+1vk(St)+α[Gtvk(St)]

 

Temporal Difference(TD) Method

 

앞으로 배울 TD는 DP의 Bootstrapping과 MC의 Sampling의 특성을 모두 지닌 Method로 모든 state에 대해서 진행하기 힘들기 때문에 sampling 된 특정 State에 대해서만 bootstrapping 방식을 적용하여 state-value를 update 한다.

vk+1vk(S)+α[Rt+1+γvk(S)vk(S)]

 

따라서 vπ는 아래와 같이 정의된다.

vπ=Eπ[Rt+1+γvπ(St+1)|St=s]

 

TD

 

TD는 MC의 특성을 지니기에 Model-Free임과 동시에 DP의 특성을 지녀 MC와 달리 Terminal State까지 진행하지 않고 즉각적인 Update가 가능하고 Terminal State가 없는 Episode에 대해서도 적용 가능하다.

 

여기서 TD(0)는 one-step TD임을 가르키며 이는 추후 N-step TD와의 비교를 위해 다음과 같이 표현하였다. 이에 대한 Sudo-Code는 다음과 같다.

 

Tabular TD(0) Sudo-Code

 

MC에서 배운 것처럼 초기 State S를 임의로 설정하여 누락되는 State, Action을 방지하는 것을 알 수 있으며, 위의 sudo-code의 경우 terminal state가 있는 Episode를 가정하였다. 이때, Tabular의 의미는 state,action이 계산 가능한 범위 내에서 충분히 작음을 의미한다.

 

TD Example : Random Walk

 

위의 예시를 살펴보고 TD와 MC의 차이를 이해 해 보자.

0.5의 확률로 좌/우로 움직이고, γ=1을 가정하자. 또한, terminal state는 양 끝에 존재하고, 오른쪽 끝 terminal state로 가는 return만 1이고 나머지는 0이다. 즉, 각 state에서의 state-value는 오른쪽 terminal로 가는 확률로 계산되는데, 이는 state-value가 reward의 sum이고 현재 discount factor가 1이기 때문이다.

따라서 vπ=[1/6,2/6,3/6,4/6,5/6]임을 알 수 있다. v(s)를 0.5로 초기화 하고 계산하면 아래와 같다.

 

TD and MC Results

 

그래프를 보면 TD가 true values에 더 가까움을 알 수 있으며, RMS error역시 TD가 더 빠른 속도로 줄어들기에 더 빠른 속도로 정답에 수렴함을 알 수 있다.

 

TD Example : Predictor

 

위 예시를 보면 더 극단적으로 둘의 차이를 알 수 있다. 

직관적으로 Optimal Value는 v(A)=v(B)=0.75임을 알 수 있다. 

Episode가 위에 주어진 것처럼 8가지가 있다고 가정하고 그 순서는 왼쪽 위부터 오른쪽 아래로 흘러간다고 가정하자. MC 방식으로 계산하면 Episode의 순서에 상관없이 v(A) = 0이다. 하지만, TD의 경우 Episode의 순서가 거꾸로 흘러간다고 가정하면, v(A)=v(A)+α[0+γv(B)v(A)]로 계산되고, γ=1,v(A),v(B)의 초기값이 0이라 가정한다면, v(A) = 0.75로 계산된다.

 

728x90
반응형

'Reinforcement Learning' 카테고리의 다른 글

Q-Learning  (0) 2024.01.20
State-Action-Reward-State-Action  (0) 2024.01.20
Monte Carlo Method  (0) 2024.01.19
Dynamic Programming  (2) 2024.01.03
Bellman Optimality Equation  (0) 2023.12.30