본문 바로가기
Analysis

Q-러닝과 SARSA: 강화학습의 두 핵심 알고리즘 비교

by Pebble`s 2025. 3. 27.

Q-러닝과 SARSA: 강화학습의 두 핵심 알고리즘 비교

강화학습(Reinforcement Learning)은 인공지능이 환경과 상호작용하며 시행착오를 통해 스스로 학습하는 방법론입니다. 이 분야에서 가장 널리 사용되는 두 알고리즘인 Q-러닝(Q-Learning)과 SARSA(State-Action-Reward-State-Action)는 모델 없이(model-free) 환경으로부터 직접 학습하는 시간차 학습(temporal difference learning) 방법입니다. 이 글에서는 두 알고리즘의 작동 원리, 핵심 차이점, 그리고 각각의 장단점과 활용 사례를 살펴보겠습니다.

기본 개념과 배경

Q-러닝과 SARSA를 이해하기 위해서는 먼저, 강화학습의 몇 가지 핵심 개념을 알아야 합니다.

 

Q-러닝과 SARSA: 강화학습의 두 핵심 알고리즘 비교

강화학습의 기본 요소

  • 에이전트(Agent): 학습하고 결정을 내리는 알고리즘
  • 환경(Environment): 에이전트가 상호작용하는 외부 세계
  • 상태(State, S): 환경의 현재 상황
  • 행동(Action, A): 에이전트가 특정 상태에서 선택할 수 있는 가능한 동작
  • 보상(Reward, R): 행동의 결과로 얻는 즉각적인 피드백(숫자 값)
  • 정책(Policy, π): 각 상태에서 어떤 행동을 취할지 결정하는 전략
  • 가치 함수(Value Function): 특정 상태나 상태-행동 쌍의 장기적 가치를 평가
  • Q-함수(Q-Function): 특정 상태에서 특정 행동을 취했을 때의 기대 누적 보상

시간차 학습(Temporal Difference Learning)

Q-러닝과 SARSA는 모두 시간차 학습 방법입니다. 시간차 학습은:

  1. 완전한 에피소드를 기다리지 않고 매 단계마다 예측을 업데이트
  2. 현재의 추정치와 다음 단계의 추정치 사이의 차이(시간차)를 사용
  3. 부트스트래핑(bootstrapping): 다음 상태의 추정 가치를 사용하여 현재 상태의 가치 업데이트

Q-러닝(Q-Learning)

Q-러닝은 1989년 크리스토퍼 왓킨스(Christopher Watkins)가 개발한 알고리즘으로, 강화학습의 가장 기본적이고 널리 사용되는 방법 중 하나입니다.

알고리즘의 핵심

Q-러닝은 Q-함수 Q(s, a)를 학습합니다. Q(s, a)는 상태 s에서 행동 a를 취한 후 최적 정책을 따를 때 얻을 수 있는 기대 누적 보상입니다.

Q-러닝 업데이트 규칙

Q-러닝의 업데이트 공식은 다음과 같습니다:

Q(s, a) ← Q(s, a) + α [r + γ · max Q(s', a') - Q(s, a)]

여기서:

  • α(알파): 학습률(learning rate), 새 정보를 얼마나 반영할지 결정(0~1 사이 값)
  • γ(감마): 할인율(discount factor), 미래 보상의 중요도 조절(0~1 사이 값)
  • r: 행동 a를 취한 후 받은 즉각적인 보상
  • s': 행동 a 후 도달한 새로운 상태
  • max Q(s', a'): 새 상태 s'에서 가능한 모든 행동 중 최대 Q-값

Q-러닝의 특징

  1. 오프-폴리시(Off-policy) 학습: 현재 따르는 정책과 다른 정책(최적 정책)을 평가하고 개선
  2. 탐욕적 정책 개선: 항상 현재 Q-값이 가장 높은 행동을 선택하는 방향으로 정책 개선
  3. 탐험-활용 균형(Exploration-Exploitation Balance): 일반적으로 ε-탐욕(ε-greedy) 정책과 함께 사용됨

SARSA(State-Action-Reward-State-Action)

SARSA는 1994년 리처드 서턴(Richard Sutton)에 의해 처음 도입된 알고리즘으로, 이름은 알고리즘의 업데이트에 사용되는 요소들(State, Action, Reward, next State, next Action)의 순서에서 유래했습니다.

알고리즘의 핵심

SARSA도 Q-함수를 학습하지만, Q-러닝과 달리 실제로 취한 다음 행동(a')을 기반으로 업데이트합니다.

SARSA 업데이트 규칙

SARSA의 업데이트 공식은 다음과 같습니다:

Q(s, a) ← Q(s, a) + α [r + γ · Q(s', a') - Q(s, a)]

여기서:

  • a': 새 상태 s'에서 실제로 선택한 다음 행동

SARSA의 특징

  1. 온-폴리시(On-policy) 학습: 현재 따르는 정책을 평가하고 개선
  2. 실제 경험 기반 업데이트: 실제로 선택하고 취한 행동 시퀀스를 사용
  3. 보수적 학습: 실제 행동의 결과를 반영하기 때문에 더 안전한 정책을 학습하는 경향

Q-러닝과 SARSA의 핵심 차이점

두 알고리즘의 가장 두드러진 차이점은 다음과 같습니다:

1. 온-폴리시 vs 오프-폴리시

  • SARSA(온-폴리시): 실제로 따르는 정책을 평가하고 개선
  • Q-러닝(오프-폴리시): 현재 정책과 독립적으로 최적 정책을 학습

2. 업데이트 기준

  • SARSA: 실제로 선택한 다음 행동(a')의 Q-값 사용
  • Q-러닝: 다음 상태에서 가능한 행동 중 최대 Q-값(max Q(s', a')) 사용

3. 행동 선택과 평가의 일관성

  • SARSA: 행동 선택과 평가에 동일한 정책 사용
  • Q-러닝: 행동 선택에는 탐험이 포함된 정책 사용, 평가에는 탐욕적 정책 사용

4. 안전성 vs 최적성

  • SARSA: 실제 경험을 반영하므로 더 안전한 경로 선호
  • Q-러닝: 최대 가치를 추구하므로 더 최적이지만 위험할 수 있는 경로 선택 가능

예제로 이해하는 Q-러닝과 SARSA

두 알고리즘의 차이를 이해하기 위해 간단한 예제를 살펴보겠습니다.

"절벽 걷기(Cliff Walking)" 문제

  • 격자 환경에서 출발점에서 목표점까지 도달하는 문제
  • 절벽 근처를 지나는 최단 경로가 존재하지만, 절벽에 떨어지면 큰 패널티
  • ε-탐욕 정책(대부분 최대 Q-값의 행동 선택, 작은 확률로 무작위 행동)을 사용

결과 비교

  1. Q-러닝:
    • 탐험 중 절벽에 자주 떨어져도, 학습 후에는 최단 경로(절벽 바로 옆)를 선택
    • 최적 경로를 찾지만, 학습 중 더 많은 패널티를 받을 수 있음
  2. SARSA:
    • 실제 경험(ε-탐욕 정책으로 인한 오류 포함)을 기반으로 학습
    • 절벽에서 더 멀리 떨어진, 안전하지만 약간 더 긴 경로를 선택하는 경향
    • 탐험으로 인한 위험을 고려한 정책 학습

언제 어떤 알고리즘을 사용해야 할까?

Q-러닝이 적합한 경우

  • 최적 정책 필요: 최종적으로 가능한 최대 보상을 얻어야 할 때
  • 학습과 성능 분리: 학습 단계와 실행 단계가 명확히 구분될 때
  • 시뮬레이션 환경: 실패에 따른 비용이 없는 시뮬레이션 환경에서 학습할 때
  • 완전한 정보: 환경에 대한 정보가 충분할 때

SARSA가 적합한 경우

  • 안전 중시: 학습 중 실패 비용이 높은 실제 환경에서 안전한 정책이 필요할 때
  • 지속적 학습: 환경과 상호작용하며 계속 학습해야 할 때
  • 탐험 고려: 탐험으로 인한 위험을 정책에 반영해야 할 때
  • 불확실한 환경: 환경의 역학이 불확실하거나 변화할 수 있을 때

심화: 알고리즘 확장 및 변형

두 알고리즘은 다양한 방향으로 확장되고 개선되었습니다.

Q-러닝의 확장

  1. Double Q-러닝: Q-값 과대평가 문제를 해결하기 위해 두 개의 Q-함수 사용
  2. 딥 Q-네트워크(DQN): 딥러닝과 결합하여 복잡한 상태 공간 처리
  3. 우선순위 기반 경험 재생(Prioritized Experience Replay): 중요한 경험을 더 자주 학습

SARSA의 확장

  1. SARSA(λ): 자격 흔적(eligibility traces)을 사용하여 여러 단계 업데이트
  2. Expected SARSA: 다음 행동의 기대값을 사용하여 더 안정적인 학습
  3. Deep SARSA: 신경망을 사용한 함수 근사

실제 적용 사례

Q-러닝 적용 사례

  1. 게임 AI: Atari 게임을 플레이하는 DQN 에이전트
  2. 로봇 제어: 시뮬레이션 환경에서 학습 후 실제 로봇에 적용
  3. 추천 시스템: 사용자 만족도를 최대화하는 추천 정책 학습
  4. 트레이딩 알고리즘: 금융 시장에서의 매매 전략 최적화

SARSA 적용 사례

  1. 자율주행 차량: 안전을 중시하는 주행 정책 학습
  2. 산업용 로봇: 실제 환경에서 지속적으로 학습하는 로봇 제어
  3. 의료 의사결정: 치료 계획 최적화와 같은 위험이 큰 의사결정
  4. 에너지 관리: 안정적인 스마트 그리드 제어 정책

구현 고려사항

실제로 Q-러닝과 SARSA를 구현할 때 고려해야 할 사항들:

하이퍼파라미터 선택

  • 학습률(α): 너무 크면 수렴하지 않고, 너무 작으면 학습이 느림
  • 할인율(γ): 장기적 보상의 중요도 결정
  • 탐험률(ε): 탐험-활용 균형 조절, 일반적으로 시간에 따라 감소

함수 근사

  • 상태 공간이 크거나 연속적인 경우 테이블 대신 함수 근사 사용
  • 선형 함수 근사 또는 신경망 등 다양한 방법 적용 가능

안정성 개선

  • 경험 재생(Experience Replay): 과거 경험을 저장하고 무작위로 샘플링하여 학습
  • 타겟 네트워크(Target Network): 학습 불안정성을 줄이기 위해 별도의 타겟 Q-함수 유지
  • 점진적 업데이트: 급격한 변화 방지를 위한 소프트 업데이트

결론: 상호보완적인 두 알고리즘

Q-러닝과 SARSA는 강화학습의 두 핵심 알고리즘으로, 서로 다른 강점과 특성을 가지고 있습니다. Q-러닝은 최적 정책을 찾는 데 초점을 맞추며, SARSA는 실제 경험을 기반으로 안전한 정책을 학습합니다.

두 알고리즘 중 어느 것이 "더 좋다"고 단정할 수 없으며, 적용 상황과 목표에 따라 적절한 알고리즘을 선택해야 합니다. 때로는 두 알고리즘의 장점을 결합한 하이브리드 접근법이 최선일 수도 있습니다.

강화학습 연구가 발전함에 따라, 이 두 알고리즘은 더 복잡한 문제를 해결하기 위해 계속 확장되고 개선되고 있습니다. Q-러닝과 SARSA의 기본 원리를 이해하는 것은 현대 강화학습의 더 발전된 알고리즘들을 이해하는 데 필수적인 기반이 됩니다.