Processing math: 64%
본문 바로가기
공부 정리/강화 학습

[강화학습9]Q-learning

by 블로그별명 2023. 12. 5.

 

 

저번 포스팅에서는 MC와 TD를 이용한 강화학습 방법들에 대해서 다뤘다. 이번포스팅에서는 On-Policy와 Off-Policy라는 새로운 개념을 소개하고 이를 활용한 새로운 강화학습 방법에 대해서 다뤄본다.


SARSA의 문제점

SARSA는 한 가지 단점을 가지고 있는데, 바로 탐험이 가치함수 업데이트에 직접적인 영향을 미친 다는 점이다. 이는 정확한 정책평가를 하는 데 있어서 방해가 된다. 비유를 들어보면 다음과 같다.

철수는 강화학습 에이전트로. SARSA알고리즘을 통해 학습을 진행하고 있다.

학교상태S에서 열심히 공부하는 행동A를 선택하여 즉시보상R을 얻고 선생님께 칭찬을 받는 상태S로 전이되었다. 다만 원래계획은  선생님께 감사의 표시를 하는 행동A를 취하는 것이었지만 ϵgreedy의  정책에 의한 탐험으로 인해 예상치 못하게 선생님에게 대들기A라는 행동을 취하게 되었다. 결국  Q(학교에서, 열심히 공부하기)의 가치는 크게 감소하게 되었다. 이러한 문제는 SARSA가 가치함수를 업데이트할 때 현재의 행동정책[각주:1]을 사용하는 데 있다. 이 문제는 행동 정책과 타깃 정책[각주:2] 분리하는 것으로 해결할 수 있다.

On-Policy vs Off-Policy

행동정책과 타깃정책이 같은 경우 On-Policy, 행동정책과 타깃정책이 다른 경우 Off-Policy라고 한다. Off-Policy학습법은 다양한 정책에서 얻은 데이터를 활용할 수 있기 때문에 여러 종류의 데이터 소스를 활용하여 보다 효율적인 학습이 가능하다. 예를 들어 바둑을 두는 강화학습모델을 만들 때, 자신의 과거경험을 재사용하거나 프로기사가의 기보를 활용하는 것이 가능하다. TD 베이스의 On-Policy학습법에 SARSA가 있다면, TD 베이스의 Off-Policy학습법에는 Q-learning이 있다.

  SARSA Q-learning
행동정책 ϵgreedy ϵgreedy
타깃정책 ϵgreedy greedy

Q-learning

Q-learning의 타깃정책은 현재 행동정책과 무관하게 항상 가장 좋은 보상을 주는 행동을 선택하고, 이는곧 최적정책이다. 따라서 Q-learning의 가치는 다음과 같이 정의할 수 있다.

q(s,a)=E[r+γmax


q(st,at)=E[rt+1+γmaxat+1rt+2+γ2maxat+2rt+3+]

                  =E[rt+1+E[γmaxat+1rt+2+γ2maxat+2rt+3+]]                                         

                  =E[rt+1+γmaxat+1E[rt+2+γmaxat+2rt+3+]]

                  =E[rt+1+γmaxat+1q(st+1,at+1)]


이에 기반한 Q-learning의 업데이트식은 다음과 같다. 

Q(S,A)Q(S,A)+α(R+γmaxAQ(S,A)Q(S,A)) 

SARSA가 현재 정책의 평가와 개선을 반복하는 정책반복과 유사하다면, Q-learning은 최적가치를 반복적으로 업데이트하는 가치반복과 유사하다.

  1. 행동정책(Behavior Policy)은 에이전트가 환경에서 실제로 어떤 행동을 취할지 결정하는 정책이다. [본문으로]
  2. 타깃정책(Target Policy)은 가치함수를 업데이트할 때 쓰이는 정책이다. [본문으로]

댓글