[강화학습] SARSA 알고리즘
SARSA 알고리즘
SARSA 알고리즘은 강화학습의 주요 방법 중 하나로, 에이전트가 환경과 상호 작용하며 학습하는 과정에서 행동 정책을 개선해 가는 모델 프리(model-free) 방식에 속합니다. 에이전트는 특정 상태에서 취한 행동의 결과로 받는 보상과 다음 상태를 바탕으로 가치 함수를 업데이트하며, 이러한 경험을 통해 최적의 행동 전략을 학습하게 됩니다. SARSA는 특히 상태-행동 쌍(state-action pairs)의 가치를 학습하는 방식으로서, 이를 통해 최적의 정책을 도출합니다.
SARSA의 이름의 유래
SARSA라는 이름은 알고리즘의 핵심 과정인 State-Action-Reward-State-Action의 첫 글자를 따서 명명되었습니다. 이는 에이전트가 현재 상태에서 행동을 취해 보상을 받고 다음 상태로 이동한 뒤에 다음 상태에서 취할 행동까지 고려하는 과정을 나타냅니다. 이러한 프로세스를 통해 에이전트는 최적의 행동 방안을 결정하게 됩니다.
SARSA 알고리즘의 단계별 설명
상태 관찰
에이전트는 환경에서 현재 자신의 상태를 관찰합니다. 이 상태는 에이전트가 행동을 결정하는 데 사용되는 입력 정보입니다.
행동 선택
에이전트는 현재 상태에서 취할 행동을 선택합니다. 행동 선택은 보통 ε-greedy 정책과 같은 탐험 및 활용 메커니즘을 사용하여 결정됩니다. 즉, 대부분의 경우 에이전트는 학습된 최적의 행동을 선택하지만, 일정 확률로 무작위 행동을 선택하여 새로운 가능성을 탐색합니다.
보상 수집 및 다음 상태로의 이동
선택한 행동을 실행한 후, 에이전트는 환경으로부터 보상을 수집하고 다음 상태로 이동합니다. 이 보상은 에이전트가 선택한 행동의 좋음 혹은 나쁨을 평가하는 데 사용됩니다.
다음 행동 선택
에이전트는 이미 다음 상태로 이동했기 때문에, 이 상태에서 취할 다음 행동을 또한 선택합니다. 이 행동 역시 ε-greedy 정책과 같은 메커니즘을 통해 선택됩니다.
SARSA의 업데이트 규칙 (Q 값 업데이트)
SARSA 알고리즘의 핵심은 Q 값의 업데이트 규칙에 있습니다. Q 값은 특정 상태에서 특정 행동을 취했을 때의 기대 리턴(보상의 합)을 나타내며, 다음과 같이 업데이트됩니다:
여기서,
- 는 현재 상태 에서 행동 를 취했을 때의 Q 값입니다.
- 는 학습률(learning rate)으로, Q 값의 업데이트를 얼마나 반영할 것인지를 결정합니다.
- 은 보상입니다.
- 는 감가율(discount rate)로, 미래 보상의 현재 가치를 얼마나 중요시할 것인지를 결정합니다.
- 는 다음 상태 에서 취할 행동 의 Q 값입니다.
SARSA의 장점
- 정책 on-policy 학습: SARSA는 직접적으로 현재 정책하에서의 행동 가치를 학습하기 때문에, 학습 중인 정책을 직접 개선해 갑니다.
- 안정성: 탐험 정책 내에서의 학습으로 인해, 에이전트는 환경의 변화에 더 안정적으로 적응할 수 있습니다.
- 예측 가능성: 경험적 학습 방법을 사용함으로서, 환경의 동적 변화를 예측하는 데 유용합니다.
SARSA의 단점 및 한계
- 탐험 의존성: ε-greedy와 같은 탐험 메커니즘은 적절한 탐험과 활용의 균형을 요구하며, 이 균형을 잘못 설정할 경우 학습 성능에 부정적인 영향을 줄 수 있습니다.
- 수렴 속도: Q-learning에 비해 상대적으로 느린 수렴 속도를 보일 수 있습니다. 이는 SARSA가 실제로 선택되는 행동 가치에 기반하여 업데이트하기 때문에 발생하는 문제입니다.
- 최적 정책의 확보: SARSA는 높은 확률로 안정적인 정책을 학습하지만, 항상 최적의 정책을 학습한다는 보장은 없습니다.