Non-stationary에서의 점진적 Update
보상 함수 $R_n$이 시간이 지나면서 변화하는 환경을 Non-stationary한 환경이라고 한다. 이때는 이전 게시물에서 언급한 Update rule을 사용하지 못한다. 왜 그런지는 이전 게시물 말미에 설명을 해두었으니 참고하자.
그렇다면 이러한 Non-stationary 환경에서는 어떠한 방식의 업데이트를 할 수 있을까?
Traking a Non-stationary Problem
결론부터 말하자면, 과거의 데이터의 영향을 줄이고 고정된 가중치 $\alpha$를 사용하는 방식으로 해결할 수 있다. 이전 식에서는 $1\over n$을 가중치로 이용해 단순하게 모든 과거 데이터에 동일한 가중치를 부여하여 평균을 계산했다.
$$Q_{n+1} = {1\over n}\sum^n_{i=1}R_i = Q_n + {1\over n}\bigg[R_n-Q_n\bigg]$$
이와 같은 경우, 모든 데이터를 동일하게 반영하기 때문에 과거 값이 앞으로도 변하지 않는다면 최적의 추정값을 제공하지만, 환경이 달라지며 새로운 값이 시시각각 달라지는 Non-stationary 환경에서는 환경 변화에 기민하게 반응하지 못한다는 한계를 가진다.
따라서, 이러한 경우에는 다음과 같은 지수 이동 평균 방식(Exponential Moving Average)을 사용하여 업데이트를 진행할 수 있다.
$$Q_{n+1} = Q_n + \alpha \bigg[R_n - Q_n \bigg] = (1-\alpha)^n Q_1 + \sum^n_{i=1}\alpha(1-\alpha)^{n-i}R_i$$
$$\alpha \in (0,1]$$
이는 가장 최근의 보상값에 더 높은 가중치를 부여하면서 과거 값은 점점 줄어들도록 하는 방식으로, 이와 같은 방식을 사용하면 과거 데이터의 영향력이 지수적으로 감소하여 오래된 정보는 잊혀지는 것과 같은 효과를 낼 수 있다. 이를 통해 최신 데이터에 기민하게 반응하면서 과거 데이터에 과하게 stuck 되는 상황을 막을 수 있어 Non-stationary 환경에서 사용할 수 있게 된다.
기본적으로 $\alpha$를 정할 때는 경험적(empirical)으로 정하곤 한다. 작은 $\alpha$는 일반적으로 convergence를 어느정도 보장해주기에 안전하게 최적값에 수렴할 수 있게 해주지만 굉장히 느리게 업데이트 될 수 있다는 단점이 존재한다. 반면 큰 $\alpha$ 값은 빠르게 업데이트를 진행해주는 대신 최적값에 수렴하지 않게 될 수도 있다.
'ML&DL > 강화학습' 카테고리의 다른 글
가치함수와 벨만 방정식 (0) | 2025.03.24 |
---|---|
마르코프 결정 과정 (Markov decision process) 이해하기 (0) | 2025.03.21 |
UCB(Upper Confidence Bound) 알고리즘 이해하기 (0) | 2025.03.20 |
강화학습의 장점과 한계, 그리고 해결 방안 (0) | 2025.03.17 |
강화학습 소개 (0) | 2025.03.16 |
댓글