[강화학습] MC와 TD

Eugene CHOI·2021년 6월 10일
0

Machine Learning

목록 보기
3/13
post-thumbnail

업데이트 예정


모델을 모르는 경우, 정책을 구하는 것이 쉽지 않습니다.
이 경우에 대표적인 방법은 두 가지로 몬테 카를로법과 시간차 방법이 있습니다.

Monte Carlo Method

정책π\pi를 따라서 행동했을 때 얻어진 경험으로부터 VπV_\pi를 구하는 방법 입니다.
경험을 얻은 뒤 수행하므로 무한하게 진행되는 환경의 경우에는 구하기가 어렵습니다. 또한 일정한 간격으로 학습을 하게 되므로 간격이 커질수록 분산이 커지는 문제점이 있습니다.

Vπ(s)=Eπ[GtSt=s]V_\pi(s) = E_\pi[G_t|S_t=s]

Temoporal Difference

총 보상의 기댓값과 가치 함수의 차이를 비교하여 이 차이가 적어지도록 매번 학습하는 방법이 TD(0) 방법입니다. 가장 중요한 조건은 모든 State에 방문하여야 한다는 단점이 있습니다.

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \larr V(S_t) + \alpha\left(R_{t+1}+\gamma V(S_{t+1})-V(S_t)\right)

Update Policy

상태 가치 함수의 기댓값 V(s)V(s)를 이용하여 정책을 개선하려면 모델이 필요합니다.

π(s)=arg maxaA(Rsa+sSPssaV(s))\pi'(s)=\argmax_{a \in A}\left(R_s^{\,a}+\displaystyle\sum_{s'\in S}P^{\,a}_{ss'}V(s')\right)

따라서 모델을 모르는 경우 업데이트가 불가능하기 때문에 상태-행동 가치 함수를 이용하여야 합니다.

π(s)=arg maxaAq(s,a)\pi'(s)=\argmax_{a\in A}q(s,a)
profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글