Processing math: 37%
반응형

큰 그림을 이야기하면

Lec.3 : Planning by Dynamic Programming 은 알고 있는 MDP를 푸는 것

Lec.4 : Model-free Prediction 은 모르는 MDP의 가치 함수를 추정하는 것

Lec.5 : Model-free Control은 모르는 MDP의 가치 함수를 최적화 하는 것이다.

 

Model-free Prediction은 크게 Monte-Carlo RL과 Temporal Difference Learning(시간차 학습) 있는가보다.


Monte-Carlo Reinforcement Learning

 MC의 특징은 경험이 끝나야 학습을 할 수 있다는 점, model-free라서 MDP의 전이와 보상에 대해 모른다는 것이다. 그리고 가치 평가에 평균(mean)을 사용한다는 점이다.

목표 : MC의 정책 평가(Policy Evaluation)은 policy π에서의 경험의 단편에서 가치 함수 vπ를 학습시키는 것이다.

출력(return)은 총 할인된 보상이다.

Gt=Rt+1+γRt+2++γT1RT

가치 함수는 예상되는 출력(Expected return)이다.

vπ(s)=Eπ[Gt|St=s]

MC 정책 평가는 예상되는 출력 대신 경험적 평균 출력(Empirical mean return)을 사용한다.

 

First-Visit/Every-Visit Monte-Carlo Policy Evaluation

상태 s를 평가하고자,

하나의 단편 중에 상태 s를 방문하는 첫 시간 스텝 t/매 시간 스텝 t에서

카운터를 증가시키고 N(s)N(s)+1

총 출력을 증가시킨다 S(s)S(s)+Gt

가치는 평균 출력으로 추정된다. V(s)=S(s)/N(s)

그러면 카운터가 무한대로 가면 가치 함수는 정책을 따르는 가치 함수에 가까워진다.

N(s) as V(s)vπ(s)

Incremental Monte-Carlo

점진적 MC를 소개하기 전에, 점진적 평균(Incremental Mean)을 알고 가자.

순서 x1,x2,의 평균 μ1,μ2는 점진적으로 계산될 수 있다.

표현이 어려운데, 상태가 추가되면 추가되는대로 전의 평균 μk1을 가지고 현재의 평균 μk을 구하는 방법을 나타낸 것이다.

μk=1kkj=1xj=1k(xk+k1j=1xj)=1k(xk+(k1)μk1)

\therefore ) \boldsymbol{\mu_k} = \mu_{k-1} + \frac{1}{k} \left( x_k - \boldsymbol{\mu_{k-1}} \right)

비슷한 맥락으로 Incremental Monte-Carlo Update를 해보면

매 단편 S_1 , A_1, R_2, \cdots , S_T 이후에 V(s)를 점진적으로 갱신해준다.

그러면 출력이 G_t인 각각의 상태 S_t에 대해

N(S_t) \leftarrow N(S_t) +1

V(S_t) \leftarrow V(S_t) + \frac{1}{N(S_t)} \left(G_t - V(S_t) \right)

비정상적인(Non-stationary) 문제의 경우, 움직이는 평균을 따라가는게 효과적일 수 있다.

V(S_t) \leftarrow V(S_t) +\alpha (G_t - V(S_t))


Temporal-Difference Learning (시간차 학습)

 시간 차 학습은 경험이 완전히 끝나지 않아도 학습하며, MC와 동일하게 model-free하다. 또한 추측하는 쪽으로 추측을 갱신한다.

목표 : policy \pi에서의 경험에서 실시간으로 가치 함수 v_\pi를 학습시키는 것이다.

Incremental every-visit Monte-Carlo는 요약하면, 실제 출력 G_t를 통해 가치 V(S_t)를 갱신한다.

V(S_t) \leftarrow V(S_t) + \alpha ( G_t - V(S_t))

Simplest temporal-diffrence learning algorithm TD(0)은 추정된 출력 R_{t+1}+\gamma V(S_{t+1})으로 V(S_t)를 갱신한다.

V_(S_t) \leftarrow V(S_t) +\alpha ( R_{t+1} +\gamma V(S_{t+1}) -V(S_t) )=V(S_t)+\alpha \delta_t 

R_{t+1} +\gamma V(S_{t+1}) 은 TD 표적(target)이라 한다.

\delta_t = R_{t+1} +\gamma V(S_{t+1}) -V(S_t) 는 TD 오차(error)이라 한다.

 

Bias/Variance Trade-Off

출력 G_tv_\pi (S_t)비편향(Unbiased) 추정이다.

True TD 표적 R_{t+1}+\gamma v_\pi (S_{t+1})v_\pi (S_t)비편향 추정이다.

TD 표적은 R_{t+1}+\gamma V (S_{t+1})v_\pi (S_t) 편향된(Biased) 추정이다.

TD 표적은 출력보다 작은 분산을 가진다. 왜냐하면 출력은 여러 행동, 전이, 보상에 영향을 받지만 TD 표적은 하나의 행동, 전이, 보상에 영향을 받는다.

Return     : (G_t = R_{t+1}+\gamma R_{t+2} +\cdots + \gamma ^{T-1} R_T)

TD Target : R_{t+1} +\gamma V(S_{t+1})

 

728x90

'RL' 카테고리의 다른 글

Dimitri의 2014 ADP - Lec.4  (0) 2020.09.17
Dimitri의 2014 ADP - Lec.3  (0) 2020.09.05
Dimitri의 2014 ADP - Lec.2  (2) 2020.08.22
Dimitri의 2014 ADP - Lec.1  (0) 2020.08.16
Dimitri의 2014 ADP - Intro  (0) 2020.08.16

+ Recent posts