이 밑의 그림은 살사와 큐러닝의 흐름도이다.

2021-10-18-rlpost9-01.png

앞서 mc method와 td-learning에 대해서 배웠다.

td-learning 을 사용하는 두가지 방식인 살사와 큐러닝에 대해서 알게 될텐데,

이번에는 살사에 대해서 배워보겠다.

그전에 epsilon greedy에 대해서 배우겠다.


Epsilon Greedy Policy

입실론 탐욕정책은 원래의 탐욕정책과 약간은 다르다.

2021-10-18-rlpost9-03.png

이 식이 모든것을 설명해 준다.

원래 탐욕정책이란 q값이 가장 높은 행동을 하는것인데,

입실론 탐욕정책은 비슷하면서도 입실론(아주 작은)의 확률로 무작위의 행동을 하는 것이 추가가 되었다.

그 이유는 무엇일까?

2021-10-18-rlpost9-02.png

그냥 탐욕정책은 위의 식과 같다.

여기서는 q값이 가장 높은 행동 정해진 1가지만 하게 끔 되어있다.

그렇기 때문에 agent가 좀더 많이 탐험을 하지 못하게 된다.

환경을 모르는 agent한테는 다양한 행동을 하면서 환경을 탐험시키는것이 중요한데,

정해진 행동만 하게 되면 이상하게 학습되기 시작한다면 계속해서 그렇게 학습이 되어버리므로,

입실론이라는 작은 확률을 통해서 무작위의 행동을 하게 하여서 다양한 정보를 얻게 도와줄 것이다.




SALSA

2021-10-18-rlpost9-04.png

이것은 salsa의 식이다.

Td-learning을 통해 q값을 업데이트를 해준다고 생각하면 된다.

이름이 왜 salsa 인지는 밑의 사진을 보면 이해가 될것이다.

2021-10-18-rlpost9-05.png

이 과정을 실제 grid-world의 예제로 설명을 할것이다.




SALSA in grid-world

α = 0.1

현재 grid world의 q 값이다.

  0     0     0  
0 s1 0 0 s2 -0.02 0 s3 0
  0     -0.01     -2  
  0     0     0  
0 s4 -0.01 0 s5 -1 0 s6 Trap(R = -1) 0
  0     0     1  
  0     0     0  
0 s7 0 0 s8 0.1 0 s9 Goal(R = 1) 0
  0     0     0  

agent가 지나간 state이다.(에피소드)

   



SALSA 계산

2021-10-18-rlpost9-04.png

  0     0     0  
0 s1 0 0 s2 -0.02 0 s3 0
  0     -0.01     -2  
  0     0     0  
0 s4 -0.01 0 s5 -0.92 0 s6 Trap(R = -1) 0
  0     0     1  
  0     -0.08     0  
0 s7 0 0 s8 0.1 0 s9 Goal(R = 1) 0
  0     0     0  


(Q(s1, down) = 0, Q(s4, down) = 0, Rt+1 = 0)

update : Q(s1, down) = 0 + 0.1(0 + 0.8*0 - 0) = 0


(Q(s4, down) = 0, Q(s7, right) = 0, Rt+1 = 0)

update : Q(s4, down) = 0 + 0.1(0 + 0.8*0 - 0) = 0


(Q(s7, right) = 0, Q(s8, up) = 0, Rt+1 = 0)

update : Q(s7, right) = 0 + 0.1(0 + 0.8*0 - 0) = 0


(Q(s8, up) = 0, Q(s5, right) = -1, Rt+1 = 0)

update : Q(s8, up) = 0 + 0.1(0 + 0.8*(-1) - 0) = -0.08


(Q(s5, right) = -1, Q(s6, down) =1, Rt+1 = -1)

update : Q(s5, right) = -1 + 0.1(-1 + 0.8*(1) - (-1)) = -0.92


(Q(s6, down) = 1, Q(s9, At+1) =0, Rt+1 = 1)

update : Q(s6, down) = 1 + 0.1(1 + 0.8*(0) - (1)) = 1



제가 올린 글에서 잘못된 부분이 있으면 제 메일로 연락주세요!

Reference : 파이썬과 케라스로 배우는 강화학습

크리에이티브 커먼즈 라이선스
이승수의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.