SARSA
SARSA는 머신러닝의 강화학습 영역에서 사용되는 마르코프(Markov) 의사결정 프로세스 정책을 학습하기 위한 알고리즘이다. 루머리(Rummery)와 니란잔(Niranjan)이 MCQ-L이라는 이름으로 기술 노트에서 제안하였다.
개요[편집]
SARSA는 On-policy TD 컨트롤의 일종으로 행동 정책(behavior)과 목표 정책(target policy)을 같이하는 의 샘플을 얻어 가치 함수를 업데이트하는 방법이다. 를 사용한다는 이유로 SARSA라고 불린다.[1] SARSA는 현재 state에서 action을 취한 뒤에, 다음 state에서 action을 취하고 나서 폴리시 임프로브먼트(policy improvement)가 이루어진다. 이 방법의 장점으로는, 모든 에피소드(episode)를 다 돌지 않아도 금방금방 폴리시 임프로브먼트를 진행할 수 있다는 것이다. 그렇기 때문에 만약 에피소드 하나하나가 매우 길다면 이 방식이 매우 효율적이게 될 것이다. 왜냐하면 그때 그때 (s, a)쌍만 주어진다면 바로바로 폴리시 임프로브먼트가 가능하기 때문이다.[2]
알고리즘[편집]
SARSA 에이전트는 환경과 상호 작용하고 취한 조치에 따라 정책을 업데이트하므로 이를 정책 학습 알고리즘이라고 한다. 스테이트 액션의 Q 값은 오류에 의해 업데이트되고 학습 속도 알파에 의해 조정된다. Q 값은 주의 조치를 취하기 위해 다음 시간 단계에서 받을 수 있는 보상과 다음 주의 조치 관찰에서 받은 미래 보상 할인액을 나타낸다. 왓킨(Watkin)의 큐-러닝(Q-Learning)은 사용 가능한 작업의 최대 보상을 기반으로 최적의 상태 동작 값 함수 의 추정치를 업데이트한다. SARSA가 스스로 따르는 정책을 취하는 것과 관련된 Q 값을 학습하는 동안 왓킨의 Q-러닝은 탐색/탐색 정책을 따르는 동안 최적의 정책을 취하는 것과 관련된 Q 값을 학습한다. 왓킨의 큐-러닝의 일부 최적화는 SARSA에 적용될 수 있다.[3]
하이퍼파라미터[편집]
학습율[편집]
학습률(alpha)은 새로 취득한 정보가 오래된 정보를 어느 정도 능가하는지를 결정한다. 요인이 0이면 에이전트가 아무것도 배우지 않는 반면, 요인이 1이면 에이전트가 가장 최근의 정보만 고려하게 된다.[3]
할인율[편집]
할인율(gamma)은 미래 보상의 중요성을 결정한다. 요인이 0이면 대리인은 현재 보상만을 고려하여 "기회적"이 되는 반면, 1에 근접하는 요인은 장기간의 높은 보상을 위해 노력하게 된다. 할인율이 1을 충족하거나 초과하면 값이 분산될 수 있다.[3]
초기 조건[편집]
SARSA는 반복 알고리즘이므로 첫 번째 업데이트가 발생하기 전에 암시적으로 초기 조건 (Q(s0, a0))을 가정한다. 최적적 초기 조건이라고도 하는 낮은 초기 값은 탐색을 장려할 수 있다. 어떤 조치를 취하든 업데이트 규칙은 다른 대안보다 높은 값을 갖게 하여 선택 확률을 증가시킨다. 2013년에는 최초 보상금 r을 초기 조건을 재설정하는 데 사용할 수 있다는 제안이 있었다. 이 아이디어에 따르면, 처음으로 조치를 취할 때 보상을 의 가치를 설정하는 데 사용한다. 이것은 고정된 결정론적 보상의 경우에 즉각적인 학습을 가능하게 한다. 이러한 초기 조건 재설정(RIC) 접근법은 반복적인 이진 선택 실험에서 인간의 행동과 일치하는 것처럼 보인다.[3]
각주[편집]
- ↑ YJJoo, 〈Tabular Temporal Diffrence Learning - Sarsa, Q-learning, Double Q-learning〉, 《티스토리》, 2019-11-11
- ↑ cdjs의 코딩 공부방, 〈강화학습 강의 (CS234) 4강 - MC / SARSA / Q-learning〉, 《티스토리》, 2019-05-08
- ↑ 3.0 3.1 3.2 3.3 State–action–reward–state–action Wikipedia - https://en.wikipedia.org/wiki/State%E2%80%93action%E2%80%93reward%E2%80%93state%E2%80%93action
참고자료[편집]
- State–action–reward–state–action Wikipedia - https://en.wikipedia.org/wiki/State%E2%80%93action%E2%80%93reward%E2%80%93state%E2%80%93action
- cdjs의 코딩 공부방, 〈강화학습 강의 (CS234) 4강 - MC / SARSA / Q-learning〉, 《티스토리》, 2019-05-08
- YJJoo, 〈Tabular Temporal Diffrence Learning - Sarsa, Q-learning, Double Q-learning〉, 《티스토리》, 2019-11-11
같이 보기[편집]