SARSA

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

SARSA는 강화 학습 알고리즘의 하나로, 환경과 상호 작용하며 수행된 행동을 기반으로 정책을 업데이트하는 '온-정책' 학습 알고리즘이다. SARSA는 상태-행동에 대한 Q 값을 학습률에 의해 조정된 오류를 통해 갱신하며, 다음 단계에서 받을 수 있는 보상과 할인된 미래 보상을 고려한다. SARSA는 Q-러닝과 비교되며, Q-러닝의 일부 최적화가 적용될 수 있다. SARSA의 주요 하이퍼파라미터로는 학습률, 할인율, 초기 조건이 있다.

SARSA
개요
유형강화 학습
하위 유형시간차 학습
방법정책-온
세부 사항
약어SARSA
전체 이름State–Action–Reward–State–Action (상태-행동-보상-상태-행동)
알고리즘
설명SARSA (State–Action–Reward–State–Action)는 강화 학습에 사용되는 시간차 학습 알고리즘이다. 학습된 정책의 동작 가치를 평가함으로써 정책을 학습하는 방법을 의미한다. 특히, SARSA는 정책-온 알고리즘이기 때문에, 동작 가치를 업데이트하는 데 사용되는 샘플은 현재 정책에서 나온다.
유사 알고리즘Q-러닝
📚 더 읽어볼만한 페이지
  • 기계 학습 알고리즘 - 강화 학습
    강화 학습은 에이전트가 환경과의 상호작용을 통해 누적 보상을 최대화하는 최적의 정책을 학습하는 기계 학습 분야이며, 몬테카를로 방법, 시간차 학습, Q-러닝 등의 핵심 알고리즘과 탐험과 활용의 균형, 정책 경사법 등의 다양한 연구 주제를 포함한다.
  • 기계 학습 알고리즘 - 기댓값 최대화 알고리즘

2. 알고리즘

SARSA 알고리즘은 다음과 같이 요약할 수 있다.

상태 S_t에서 에이전트가 행동 A_t를 선택하고, 보상 R_{t+1}을 얻고, 다음 상태 S_{t+1}로 이동한 후, 다음 행동 A_{t+1}을 선택한다고 가정한다. 이때 행동 가치 함수 Q(S_t, A_t)는 다음 식에 따라 갱신된다.

:Q(S_t,A_t) \leftarrow (1 - \alpha)Q(S_t,A_t) + \alpha \left[ R_{t+1} + \gamma \, Q(S_{t+1}, A_{t+1}) \right]

* \alpha는 학습률(0 < \alpha < 1)로, 기존 정보와 새 정보 중 어느 쪽에 더 비중을 둘지 결정한다. 0이면 학습이 일어나지 않고, 1이면 최근 정보만 고려한다.
* \gamma는 할인율(0 < \gamma < 1)로, 미래 보상을 얼마나 중요하게 생각할지 결정한다. 0이면 현재 보상만 고려하고, 1에 가까울수록 미래 보상을 더 중요하게 고려한다. 1이 되면 Q값이 발산할 수 있다.

SARSA는 에이전트가 실제로 수행한 행동을 기반으로 정책을 갱신하는 온-폴리시(on-policy) 학습 알고리즘이다.

2.1. Q-러닝과의 비교

SARSA는 환경과 상호 작용하며, 취한 행동을 기반으로 정책을 업데이트하므로 온-정책 학습 알고리즘으로 알려져 있다. 상태-행동에 대한 Q 값은 학습률 α에 의해 조정된 오류에 의해 업데이트된다. Q 값은 상태 s에서 행동 a를 취함으로써 다음 시간 단계에서 받을 수 있는 가능한 보상과 다음 상태-행동 관찰에서 받은 할인된 미래 보상을 나타낸다.

왓킨스(Watkin)의 Q-러닝은 사용 가능한 행동의 최대 보상을 기반으로 최적의 상태-행동 가치 함수 Q^*의 추정치를 업데이트한다. SARSA가 자신이 따르는 정책을 취하는 것과 관련된 Q 값을 학습하는 반면, 왓킨스의 Q-러닝은 탐색/활용 정책을 따르면서 최적의 정책을 취하는 것과 관련된 Q 값을 학습한다.

왓킨스의 Q-러닝의 일부 최적화는 SARSA에 적용될 수 있다.

3. 하이퍼파라미터

SARSA의 갱신식은 다음과 같다.

:Q(S_t,A_t) \leftarrow (1 - \alpha)Q(S_t,A_t) + \alpha \left[ R_{t+1} + \gamma \, Q(S_{t+1}, A_{t+1}) \right]

여기서 Q(S_t, A_t)는 상태 S_t에서 행동 A_t를 선택했을 때의 행동 가치 함수를 의미하며, R_{t+1} + \gamma \, Q(S_{t+1}, A_{t+1})에 가까워지도록 학습된다. SARSA는 에이전트가 환경과 상호 작용하며, 수행된 행동을 기반으로 정책을 갱신하는 온-폴리시(on-policy)형 학습 알고리즘이다.

SARSA에는 학습률(\alpha)과 할인율(\gamma), 초기 조건 (Q(S_0, A_0))과 같은 하이퍼파라미터가 존재한다.

* 학습률(\alpha) : 자세한 내용은 해당 섹션을 참고.
* 할인율(\gamma) : 자세한 내용은 해당 섹션을 참고.
* 초기 조건 (Q(S_0, A_0)) : 자세한 내용은 해당 섹션을 참고.

3.1. 학습률 (<math>\alpha</math>)

학습률은 새로 얻은 정보가 기존 정보를 얼마나 덮어쓸지를 결정한다. 학습률이 0이면 에이전트는 아무것도 학습하지 못하며, 1이면 가장 최근의 정보만 고려하게 된다.

SARSA에서 에이전트는 환경과 상호작용하며, 수행된 행동을 기반으로 정책을 갱신한다. 따라서 SARSA는 온-폴리시(on-policy)형 학습 알고리즘이다.

학습률 0<\alpha<1은 오래된 정보를 새롭게 획득한 정보로 어느 정도 덮어쓸지를 결정한다. 학습률을 0으로 하면 에이전트는 아무것도 배우지 않고, 1로 하면 최근의 정보만을 근시안적으로 고려하게 된다.

3.2. 할인율 (<math>\gamma</math>)

할인율(\gamma)은 미래 보상의 중요성을 결정한다. 할인율이 0이면 에이전트는 현재 보상만 고려하는 "기회주의적" 또는 "근시안적"이 된다. 반면, 1에 가까워질수록 장기적인 높은 보상을 추구하게 된다. 할인율이 1 이상이면 Q 값이 발산할 수 있다.

3.3. 초기 조건 ({{math|''Q''(''S''<sub>0</sub>, ''A''<sub>0</sub>)}})

SARSA는 반복적인 알고리즘이므로, 첫 번째 업데이트가 발생하기 전에 초기 조건을 암묵적으로 가정한다. "낙관적 초기 조건"이라고도 하는 높은(무한대) 초기값은 탐험을 장려할 수 있다. 어떤 행동이 발생하든 업데이트 규칙에 의해 다른 대안보다 더 높은 값을 갖게 되어 선택 확률이 높아지기 때문이다. 2013년에는 첫 번째 보상 r을 사용하여 초기 조건을 재설정할 수 있다는 제안이 있었다. 이 아이디어에 따르면, 행동이 처음 취해질 때 보상이 Q의 값을 설정하는 데 사용된다. 이는 고정된 결정적 보상의 경우 즉각적인 학습을 가능하게 한다. 이러한 초기 조건 재설정(RIC) 접근 방식은 반복적인 이진 선택 실험에서 인간 행동과 일치하는 것으로 보인다.