저번 포스팅에서는 MC와 TD를 이용한 강화학습 방법들에 대해서 다뤘다. 이번포스팅에서는 On-Policy와 Off-Policy라는 새로운 개념을 소개하고 이를 활용한 새로운 강화학습 방법에 대해서 다뤄본다.
SARSA의 문제점
SARSA는 한 가지 단점을 가지고 있는데, 바로 탐험이 가치함수 업데이트에 직접적인 영향을 미친 다는 점이다. 이는 정확한 정책평가를 하는 데 있어서 방해가 된다. 비유를 들어보면 다음과 같다.
철수는 강화학습 에이전트로. SARSA알고리즘을 통해 학습을 진행하고 있다.
학교상태$S$에서 열심히 공부하는 행동$A$를 선택하여 즉시보상$R$을 얻고 선생님께 칭찬을 받는 상태$S'$로 전이되었다. 다만 원래계획은 선생님께 감사의 표시를 하는 행동$A'$를 취하는 것이었지만 $\epsilon - 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 | |
행동정책 | $\epsilon - greedy$ | $\epsilon - greedy$ |
타깃정책 | $\epsilon - greedy$ | $greedy$ |
Q-learning
Q-learning의 타깃정책은 현재 행동정책과 무관하게 항상 가장 좋은 보상을 주는 행동을 선택하고, 이는곧 최적정책이다. 따라서 Q-learning의 가치는 다음과 같이 정의할 수 있다.
$$q^*(s, a) = \mathbb {E} [r + \gamma \max_{a'} q^*(s', a')]$$
$q^*(s_t, a_t) = \mathbb {E} [r_{t+1} + \gamma \max_{a_{t+1}} r_{t+2} + \gamma^2 \max_{a_{t+2}} r_{t+3} + \cdots]$
$= \mathbb {E} [r_{t+1} + \mathbb {E}[\gamma \max_{a_{t+1}} r_{t+2} + \gamma^2 \max_{a_{t+2}} r_{t+3} + \cdots]]$
$= \mathbb {E}[ r_{t+1} + \gamma \max_{a_{t+1}}\mathbb {E}[r_{t+2} + \gamma \max_{a_{t+2}} r_{t+3} + \cdots]]$
$= \mathbb {E}[ r_{t+1} + \gamma \max_{a_{t+1}} q^*(s_{t+1}, a_{t+1})]$
이에 기반한 Q-learning의 업데이트식은 다음과 같다.
$$Q(S, A) \leftarrow Q(S, A) + \alpha(R + \gamma \max_{A'} Q(S', A') - Q(S, A))$$
SARSA가 현재 정책의 평가와 개선을 반복하는 정책반복과 유사하다면, Q-learning은 최적가치를 반복적으로 업데이트하는 가치반복과 유사하다.
'공부 정리 > 강화 학습' 카테고리의 다른 글
[강화학습10]DQN(Deep Q-Network) (0) | 2023.12.20 |
---|---|
[강화학습8]SARSA (0) | 2023.12.03 |
[강화학습7] MC(Monte Carlo Methods)와 TD(Temporal Difference Learning) (0) | 2023.12.01 |
[강화학습6]정책 반복(Policy Iteration) (0) | 2023.10.25 |
[강화학습5]최적 정책(Optimal Policy) (0) | 2023.10.09 |
댓글