공부 정리 블로그

10. Temporal Differnence Learning(2/2) SARSA vs - Q learning 본문

대학원 수업/강화학습

10. Temporal Differnence Learning(2/2) SARSA vs - Q learning

따옹 2022. 10. 22. 14:41

Off- policy

혁신적이고 diverse한 탐험 가능

문제점 : 실제 나의 action과 관찰 action이 많이 벌어질 때, 해결하기 위해 importance sampling

 

 

monte model free

부트스트래핑 다음 state v,q값의 value를 계산

Policy를 만든다는 것은 Q table을 업데이트 해감

Q table에서 s,a의 최대값을 취하니까 Q table 업데이트

 

초기 p 로 부터 출발해서 ep를 run 해서 action에 대한 Q값을 계속 업데이트 해가면서 진행

 

On-policy TD control - SARSA

Off-policy TD control - Q-learning

 

On-Policy TD Control: SARSA

next state의 value를 알아야 업데이트 가능

아까와의 차이점은 Q-table 이 추가된 것 (random value)

(4,2) right 가치는 0.8

Q값이 업데이트 되면 다음 state에 반영이 됨

Q값이 바뀌면 내 policy 가 바뀐다.

state action, next action을 알아야 Q값을 업데이트한다는 차원에서 SARSA라고 명명

 

SARSA vs Q

SARSA 다음 스테이트에서 어떤 액션을 취하는 Q값을 결정하려면 다음에 어떤 액션이 취할지 결정을 해야하는데,

어떤 액션을 취하는지 결정하기 위해 같은 policy로 결정

next state, next action 미리 구해둠

on policy 때, exploration

SARSA

2. 다음 action 정해서

3. 을 계산

4. 그냥 골랐던 것을 써준다.

미리 next state next action을 구해둔다.

 

계속해서 action이 Epsilon agreedy 로 결정된다.

미리 정해놓는 new a, new s가 핵심 코드 / 지난 값들을 업데이트 해줘야하기 때문에 바꿔줘야함

SARSA에서 next action 구할때, epsilon

 

Off-Policy TD Control: Q-Learning

varianction이 굉장히 많음

*next state action을 고를 때, 내 policy를 epsilon policy로 고르는 게 아니라 그냥 greedy로 고름*

next action 고를 때, 그냥 greedy 하게 maximum 값을 취한다

learning하는 Q값은 epsilon greedy 하면서 episode 진행, 내가 하는 것은 100% greedy

Q값을 결정할 때 항상 greedy하게 항상 maximum인 action 취하게

그냥 Q값을 update 정해진 값이기 때문에 그냥 계산

ep를 run은 epsilon 하면서 ep를 고름 나는 behavior

내가 하고 있는 50퍼 epsilon이 아닌. 쟤는 그냥 greedy

 

 

의문 

1. SARSA / Q-learning 차이는?

 

(안 풀림)^^...ㅎㅎ

 

2. Importance sampling ratio

한 스텝만 보는 경우, TD(0)이면 Importance sampling Ratio 줄 필요 x

 

On-policy SARSA

행동 하나하나의 Reward를 신경써서 general한 가이드라인 cost 에러가 크면 on-policy

off-policy Q-learning