강화학습에서 Bootstrapping의 의미

JTDK·2021년 6월 27일
0

Bootstrapping in RL?

강화학습에서 부트스트래핑이란, 예측값을 이용해 또다른 값을 에측하는것을 말한다.

Example

"내일 날씨가 흐릴것 같으니, 모레는 아마 비가오겠네"

위 예시에서는 내일 날씨라는 예측값을 가지고 모레의 날씨를 예측했으므로, 부트스트래핑을 했다고 할 수 있다.


DQN에서 Q value를 업데이트하는 식을 살펴보자

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))Q(s,a)←Q(s,a)+α(R_{t+1}+γQ(s',a')−Q(s,a))

여기서 Rt+1+γQ(s,a)R_{t+1}+γQ(s',a') 은 Optimal Q(s,a)Q(s,a) (aka Td target)의 예측값이고, 이 예측값을 Q(s,a)Q(s,a)을 예측하는데 사용한다. 그러므로 DQN에서의 Q value update method는 bootstrap method라고 할 수 있다.


다시 날씨 얘기로 돌아와서, 만약 내일의 날씨가 흐리지 않고 화창하다면, 모레의 날씨는 비가 올 확률이 아주 아주 낮아진다. 즉 첫 예측이 나쁘다면 둘째 예측은 더욱 나쁠것이므로 부트스트래핑은 편향(bias)의 근원이 된다. 한편 예측값으로 또 다른 예측을 하면 일종의 자기 일관성(self-consistency)가 생기므로 분산(variance)은 낮아진다('흐리다' 와 '비가 온다'의 사이에는 연관성이 있다.)

Bootstrapping method를 사용하면 Bias는 커지고 Variance는 낮아진다.

profile
RL, 퀀트 투자 공부 정리

0개의 댓글