본문으로 건너뛰기
아인폴랩 교육 문의
← 블로그 목록
강화학습연재 2026.09.30

[강화학습 기초 3-3] 살사와 Q러닝

Q함수를 직접 학습하는 살사와 Q러닝, 온 폴리시와 오프 폴리시, 중요도 샘플링을 비교합니다.

지난 편 끝에서 모델 프리 환경에서는 상태가치 대신 Q함수로 정책을 고친다고 했습니다. 이번 편에서는 Q함수를 직접 학습하는 두 알고리즘, 살사(SARSA)와 Q러닝을 비교합니다. Q러닝은 다음 장들의 DQN으로 바로 이어집니다.

살사: TD를 Q함수로

TD 식에서 V를 Q로 바꾸면 살사가 됩니다.

Q(S, A) ← Q(S, A) + α ( R + γQ(S′, A′) − Q(S, A) )

상태 S에서 행동 A를 하고, 보상 R을 받고, 다음 상태 S′에서 정책에 따라 다음 행동 A′를 고릅니다. 이 다섯 개(S, A, R, S′, A′)를 쓴다고 해서 SARSA라는 이름이 붙었습니다. 평가와 제어를 모두 Q함수 하나로 하고, 정책은 Q가 큰 행동을 고르도록 계속 갱신합니다.

온 폴리시와 오프 폴리시

살사는 행동할 때 쓰는 정책과 학습(평가)할 때 쓰는 정책이 같습니다. 이것을 온 폴리시(On-policy)라고 합니다. 단점이 두 가지 있습니다.

  • 한 번 평가에 쓴 경험을 나중에 다시 쓰기 어렵습니다.
  • 항상 지금 정책대로만 행동하니 다양한 행동을 시도하기 어렵습니다.

그래서 두 정책을 나누는 오프 폴리시(Off-policy)가 나왔습니다. 행동은 다른 정책(예: 가끔 무작위로 움직이는 정책)으로 하면서, 학습은 원하는 정책 기준으로 합니다.

중요도 샘플링

다른 정책으로 모은 데이터로 원하는 정책을 평가하려면 보정이 필요합니다. 두 확률의 비율을 곱해 주는 방법이 중요도 샘플링(Importance Sampling)입니다.

𝔼x~P[ f(x) ] = Σ P(x) f(x) = Σ Q(x) · P(x) / Q(x) · f(x)

새 항로를 개척할 때 기존 항로의 풍부한 운항 기록(Q)을 쓰면서, 새 항로의 확률(P)에 맞게 비율로 보정하는 것과 같습니다. TD에서는 한 스텝 비율만 곱하면 되지만, MC에서는 에피소드 길이만큼 비율을 계속 곱해야 해서 값이 크게 흔들립니다. 그래서 MC와 중요도 샘플링은 실제로 잘 쓰지 않습니다.

Q러닝: 다음 행동은 가장 좋은 것으로 가정

Q(S, A) ← Q(S, A) + α ( R + γ maxa′ Q(S′, a′) − Q(S, A) )

살사와 딱 한 군데가 다릅니다. 살사는 다음 상태에서 실제로 고를 행동의 Q를 쓰고, Q러닝은 가장 큰 Q를 씁니다. 행동은 탐험을 섞어서 하더라도, 학습은 항상 "최선의 행동을 한다"는 기준으로 합니다. 행동 정책과 학습 정책이 다르니 오프 폴리시이고, 중요도 샘플링 없이도 됩니다.

살사Q러닝
목표값R + γQ(S′, A′)R + γmax Q(S′, a′)
종류온 폴리시오프 폴리시
특징실제 행동을 반영해 조심스럽게 학습최적 정책을 바로 겨냥해 학습. 보통 더 좋은 성능

여기까지가 기초 알고리즘

DP, MC, TD, 살사, Q러닝을 실무에 그대로 쓰는 경우는 많지 않습니다. 상태가 많아지면 Q를 표에 담을 수 없기 때문입니다. 하지만 DQN, REINFORCE, A2C, PPO 같은 알고리즘은 모두 이 기초 위에 서 있습니다. 다음 장에서는 Q를 표 대신 담을 그릇, 인공신경망을 살펴봅니다.

교육과 컨설팅을 문의해 주세요

교육 대상과 일정을 알려 주시면 과정 제안과 강의계획서를 보내 드립니다.