SARSA 는 정책에 따르고 Q 학습 은 정책에서 벗어난 것을 알고 있지만 공식을 보면이 두 알고리즘의 차이점을 확인하기가 어렵습니다.
Reinforcement Learning : An Introduction (by Sutton and Barto) 책에 따르면 . SARSA 알고리즘에서 정책이 주어지면 해당 작업-값 함수 Q (상태 s 및 작업 a, 시간 단계 t에서), 즉 Q (s t , a t )는 다음과 같이 업데이트 될 수 있습니다.
Q (s t , a t ) = Q (s t , a t ) + α * (r t + γ * Q (s t + 1 , a t + 1 )-Q (s t , a t ))
반면 Q-learning 알고리즘의 업데이트 단계는 다음과 같습니다.
Q (s t , a t ) = Q (s t , a t ) + α * (r t + γ * max a Q (s t + 1 , a)-Q (s t , a t ))
다음과 같이 쓸 수도 있습니다.
Q (s t , a t ) = (1-α) * Q (s t , a t ) + α * (r t + γ * max a Q (s t + 1 , a))
여기서 γ (감마)는 할인 계수이고 r t 는 시간 단계 t에서 환경으로부터받은 보상입니다.
이 두 알고리즘의 차이점은 SARSA가 다음 정책 값만 조회하고 Q-learning은 다음 최대 정책 값을 조회한다는 사실 입니까?
TLDR (및 내 답변)
내가 처음 질문 한 이후로이 질문에 답 해주신 모든 분들께 감사드립니다. Q-Learning을 사용 하여 github 저장소를 만들고 차이점이 무엇인지 경험적으로 이해했습니다. 이 방법에 대한 모든 금액 은 다음 최고의 액션 선택 알고리즘 관점에서 할 수 있습니다, 평균 , 최대 또는 가장 당신이 그것을 구현하기 위해 선택하는 방법에 따라 조치를.
다른 주요 차이점은 경우 이 선택이 일어나고있다 (예를 들어, 온라인 대 오프라인 ) 방법 / 그 학습에 영향을 미치는 이유. 2019 년에이 글을 읽고 있고 실습에 가깝다면 RL 장난감 문제를 가지고 노는 것이 차이점을 이해하는 가장 좋은 방법 일 것입니다.
마지막으로 중요한 점은 Suton & Barto와 Wikipedia 모두 다음 주 최고 / 최대 조치 및 보상 과 관련하여 종종 혼합, 혼동 또는 잘못된 공식 표현을 가지고 있다는 것입니다 .
r (t + 1)
사실이다
r (t)
이것이 누군가가 이것에 붙어있는 데 도움이되기를 바랍니다.