SARSA(살사)

Seungsoo Lee·2022년 7월 7일
0

RL

목록 보기
9/15

date: 2021-10-18 16:00:00



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

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

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

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

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


Epsilon Greedy Policy

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

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

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

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

그 이유는 무엇일까?

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

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

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

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

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

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




SALSA

이것은 salsa의 식이다.

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

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

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




SALSA in grid-world

α = 0.1

현재 grid world의 q 값이다.

000
0s100s2-0.020s30
0-0.01-2
000
0s4-0.010s5-10s6 Trap(R = -1)0
001
000
0s700s80.10s9 Goal(R = 1)0
000

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



SALSA 계산

000
0s100s2-0.020s30
0-0.01-2
000
0s4-0.010s5-0.920s6 Trap(R = -1)0
001
0-0.080
0s700s80.10s9 Goal(R = 1)0
000

(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 국제 라이선스에 따라 이용할 수 있습니다.

1개의 댓글

comment-user-thumbnail
2023년 1월 4일

오랫동안 바쁘게 만들 아이들을 위한 12가지 매혹적인 무료 퍼즐 게임 카테고리가 있기 때문입니다 gartic phone. 또한 이 온라인 무료 퍼즐은 미취학 아동이 동시에 학습하는 데 도움이 될 것입니다.

답글 달기