강화학습 시리즈는 패스트캠퍼스 박준영 강사님의 수업과 Sergey Levine의 Deep Reinforcement Learning 그리고 서튼의 강화학습 교재를 참고하여 만들어졌고 어떤 상업적 목적이 없음을 밝힙니다.

Review

Bellman Equation

V(s)=aA(s)π(as)Qπ(s,a)V(s)=\sum\limits_{a \in A(s)}\pi(a|s)Q^\pi(s,a)
Q(s,a)=Rsa+γsSPssaVπ(s)Q(s,a)=R_s^a+\gamma\sum\limits_{s`\in S}P_{ss`}^aV^\pi(s`)
V(s)=aA(s)π(as)(Rsa+γsSPssaVπ(s))V(s)=\sum\limits_{a \in A(s)}\pi(a|s)(R_s^a+\gamma\sum\limits_{s`\in S}P_{ss`}^aV^\pi(s`))
Q(s,a)=Rsa+γsSPssaaA(s)π(as)Qπ(s,a)Q(s,a)=R_s^a+\gamma\sum\limits_{s`\in S}P_{ss`}^a\sum\limits_{a` \in A(s`)}\pi(a`|s`)Q^\pi(s`,a`)

Bellman Optimal Equation

V(s)=maxaA(s)Q(s,a)=maxaA(s)(Rsa+γsSPssaV(s))V^*(s)=\max\limits_{a \in A(s)}Q^*(s,a)=\max\limits_{a\in A(s)}(R_s^a+\gamma\sum\limits_{s`\in S}P_{ss`}^aV^*(s`))

Q(s,a)=Rsa+γsSPssaV(s)=Rsa+γsSPssamaxaA(s)Q(s,a)Q^*(s,a)=R_s^a+\gamma\sum\limits_{s`\in S}P_{ss`}^aV^*(s`)=R_s^a+\gamma\sum\limits_{s` \in S}P_{ss`}^a \max\limits_{a` \in A(s`)}Q^*(s`,a`)

Value Iteration

Value Iteration은 정책 평가와 정책 개선을 한번에 묶은 것으로 정책에 대한 개선 없이 가치 함수만을 개선하는 방식으로 Loop를 하나로 줄였다. (이것 역시 γ\gamma-축약사상을 만족하기 때문에 최적 가치함수에 반드시 수렴한다.)

Definition

V(s)maxa(Rsa+γsSpssaV(s))V(s) \leftarrow \max\limits_{a}(R_{s}^a+\gamma \sum\limits_{s` \in S}p_{ss`}^aV(s`))

Psuedocode

Conclusion

자세히 보면 벨만 최적 방정식을 Sample로 모으고 있다는 것을 확인할 수 있다.
가치 반복 알고리즘은 Bellman 최적 방정식의 샘플 기반을 추산하는 것으로 최적 가치 함수를 추정한다.

Off-Policy Monte-Carlo

우리는 지난 시간에 Off-Policy 방법을 이용하기 위해 Importance Sampling 방식에 대해서 공부하였다. Random Variable에 두 정책의 ratio를 곱하면 된다.

Gtπμ=k=tT1π(atst)μ(atst)GtG_t^{\frac{\pi} {\mu}}=\prod\limits_{k=t}^{T-1} \frac{\pi(a_t |s_t)}{\mu(a_t|s_t)}G_t

Policy Iteratoin

Policy Iteration은 정책 평가 정책 개선 과정을 통해 최적 가치 함수를 추정한다.

  • Incremental Policy Evalutatoin TD
    V(s)V(s)+α(rt+γV(st+1)V(st))V(s) \leftarrow V(s)+\alpha(r_t+\gamma V(s_{t+1})-V(s_t))
    Q(s,a)Q(s,a)+α(rt+γQ(st+1,at+1)Q(st,at))Q(s,a) \leftarrow Q(s,a) +\alpha(r_t+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t))
  • Greedy Policy Improvement : PI
    π(s)=argmaxaA(s)Qπ(s,a)\pi`(s)=\arg\max\limits_{a \in A(s)}Q^\pi(s,a)
  • ϵ\epsilon-greedy

Importance sampling for Off-Policy TD

Random Variable에 policy weight를 곱해주면 된다.

V(s)V(s)+α(π(atstμ(atst(rt+γV(st+1))V(st))V(s) \leftarrow V(s)+\alpha (\frac {\pi(a_t|s_t} {\mu(a_t|s_t}(r_t+\gamma V(s_{t+1}))-V(s_t))

Q-Learning no Importance Sampling

하지만 importance sampling을 위해 weight를 곱해주는 것은 데이터의 분산을 높여 많은 시뮬레이션을 요구한다고 밝혀졌다. 그러면 weight 를 곱하지 않고도 Off-Policy를 사용하는 방법은 없을까? 답은 Q-Learning 이다.

Psuedocode

Q-Learning Objective

가만보면 Q-Learning에서 TD가 최적 벨만 방정식의 모습임을 바로 눈치챌 수 있다.

그러므로 Bellman 최적방식의 샘플기반 추산을 통해 가치함수를 추정하는 것이 Q Learning의 본질이다.

Q-Learning이 왜 정책에 영향을 받지 않고 Off-Policy가 가능한지에 대한 수학적인 유도는 DDPG에서 하도록 하겠다.

Replay Buffer

Q-Learning은 Off-Policy 알고리즘이기 때문에 Replay Buffer에 데이터를 보관하여 사용할 수 있다.

Conclusion

오늘 이 시간에는 Off-Policy Q-Learning 에 대해서 알아보았다.

profile
헬스 ,강화학습,3D Vision,Robotics를 좋아하는 엔지니어 입니다.

0개의 댓글