본문 바로가기

Backup/David Silver RL course

[강화학습 4강] Model Free Prediction

 

이번 강의에서는 model free는 environment를 어떻게 동작하는지를 모를때

 

prediction  = value를 학습, control = policy를 찾는거.

unknown mdp에 대해서 value function을 찾는거

따라서 model free prediction에서는 policy가 정해져 있을때 끝날때 return을 예측하는 방법론을 배울것이다.

 

model을 모를때 prediction을 하는 방법에 2가지가 있는데,

하나는 Monte-Carlo, TD이다.

Monte carlo는 직접 구하기 어려운걸 emperical하게 구하는 것이다.

계속 실험하면서 나오는 실제값들 가지고 추정하는 방법이다.

value function은 어떤 state에서의 return이 있을텐데

policy에 따라서  게임을 끝까지 계속하면서 나온 value값들로 배우는 것이다.

문제는 모든 episode 가 끝나야 MC기법을 적용할수있다.

이게 MC기법이다.

 

value function은 return의 기댓값이다.

MC는 return 의 emperical mean을 쓴다.

MC에는 두가지가 있다.

first visit MC와 every visit MC가 있다.

first visit은 그때만 return 을 count해주기 때문에 평균이 아니라 분모가 적게 있다.

 

Blackjack rule

1. 내 카드 두장받음

2. 더 받아도 되고 멈출수도 있음

3. 딜러와 경합해서 21에 더 가까우면 이김

4. 딜러의 카드는 하나 봄

5. 21 넘어가면 짐

6. state는 3가지가 있음
   - 현재 내 카드의 합
   - 딜러가 어떤카드를 보여주고있나.
   - 내가 쓸수있는 ace가 있는가

7. action으로는 2가지가 있음
   - stick

   - twist

 

 

 

이떄 prediction을 할거니까 policy가 정해져있어야한다.

위와같은 바보같은 policy가 있다 해보자

이떄 MC를 통해 value function을 구해보자

결국에 MC는 여러번 한다음에 평균을 낸것인데 이걸 다르게 표현해보면

incremental mean인데

원래 MC위해서 각 mean의 value를 기억해야되는데 incremental mean을 사용해서 update해주면 효율적이게 할수있다.

 

이게 사실 error term이 없애게끔 학습을 한다.

오래된 기억들은 잊어버림

TD는 temporal difference, MC랑 비슷함

경험으로부터 해우고 model free에서 사용함.

그런데 TD는 incomplete한 episode에서 update를 하는데 장점이 있다.

MC는 G방향으로 V를 update함

 

TD는 R+V 방향으로 V를 update함

 

St에 왔을떄 한스텝을 가봐서 예측함.

한 스텝을 가서 추측으로 update함.

이러면 이전에 예측한것보다 조금더 현실이 반영되기 때문에 정확할 가능성이 있음

Gt자리에 TD자리가 들어가는거임.

Guess toward to Geuss

네이게이션처럼 각 스테이스에서 앞으로 도착할 시간을 예측하는 예시

mc와 td의 차이가 이 그래프에서 나타남

이처럼 TD는 variance가 클수있는 문제가 있다.

TD는 variance가 적지만 bias가 크다.