Q- 러닝과 SARSA 학습의 차이점은 무엇입니까?


대답 1:

Q- 러닝과 SARSA의 가장 큰 차이점은 Q- 러닝이 정책 외, SARSA가 정책 중이라는 것입니다.

아래 방정식은 Q- 러닝 및 SARSA에 대한 업데이트 된 방정식을 보여줍니다.

Q- 학습 :

Q(st,at)Q(st,at)+α[rt+1+γmaxaQ(st+1,a)Q(st,at)]Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha[r_{t+1}+\gamma \underset{a}{\max} Q(s_{t+1},a)-Q(s_t,a_t)]

SARSA :

Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha[r_{t+1}+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t)]

Q-learning에서 조치를 취하는 것으로 가정하여 Q-function을 업데이트한다는 점을 제외하고는 거의 동일하게 보입니다.

aa

포스트 스테이트 Q 함수를 최대화합니다

Q(st+1,a).Q(s_{t+1},a).

SARSA에서는 이전 조치를 생성 한 것과 동일한 정책 (예 : epsilon-greedy)을 사용합니다.

ata_t

다음 작업을 생성하기 위해

at+1a_{t+1}

업데이트를 위해 Q 기능을 실행합니다.

Q(st+1,at+1).Q(s_{t+1},a_{t+1}).

(이것이 알고리즘을 SARSA, State-Action-Reward-State-Action으로 명명 한 이유입니다).

직관적으로, SARSA는 현재 정책을 사용하여 현재 조치를 생성하므로 정책에 따라 정책을 수립합니다

ata_t

그리고 다음 행동

at+1.a_{t+1}.

그런 다음 정책의 조치 선택을 평가하고 Q 기능 추정치를 개선하여 정책을 개선합니다.

Q- 러닝의 경우 다음 조치를 선택하는 방법에 대한 제한이 없으며 모든 주에서 모든 후속 조치 선택이 최적이어야한다는 "최적화"관점 만 가지고 있으므로 조치를 선택합니다.

aa

그 최대화

Q(st+1,a).Q(s_{t+1},a).

이는 Q- 러닝을 통해 모든 행동 정책 (전문가, 무작위, 심지어 나쁜 정책)에 의해 생성 된 데이터를 제공 할 수 있으며 충분한 데이터 샘플이 주어지면 최적의 Q- 값을 학습해야한다는 것을 의미합니다.