Loading [MathJax]/jax/output/CommonHTML/jax.js
반응형

SARSA

On-policy TD 기법으로 행동 가치(Action Value) Q(S,A)를 갱신하기 위한 방법은 다음과 같다.

현재 상태 St에서 행동 At을 취했을 때 받는 보상 Rt과 새로운 상태 St+1로부터 ϵ -greedy policy를 통해 다음 행동 At+1을 구하여 행동 가치를 갱신한다.

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

 

Q-Learning

Off-policy TD 기법으로, 다음 행동을 선택할 때 Action policy μ을 이용해서 고르며 (At+1μ(|St))

Action value Q(St,At)는 대안 행동의 가치를 통해 갱신한다.

Q(St,At)Q(St,At)+α(Rt+1+γQ(St+1,A)Q(St,At))

behavier policy μ와 target policy π을 모두 향상시키고자

target policy π이 Action value Q(s,a)를 최대화 한다면

π(St+1)=argmaxaQ(St+1,a)

behavier policy μ도 action value Q(s,a)를 최대화 한다면 Q-learning의 target은 다음과 같다.

QT=Rt+1+γQ(St+1+A)

=Rt+1+γQ(St+1,argmaxaQ(St+1,a))

=Rt+1+γmaxaγQ(St+1,a)

SARSA의 구조 넣으면 

Q(St,At)Q(St,At)+α(QTQ(St,At))

Q(St,At)Q(St,At)+α(Rt+1+γmaxaγQ(St+1,a)Q(St,At))

 

REINFORCE (Monte-Carlo Policy Gradient)

매개변수로 θ를 가지는 policy πθ를 따라 행동을 선택할 때 return r의 기댓값은 수식으로 다음과 같이 쓸 수 있다.

J(θ)=Eπθ[r]

return의 기댓값을 최대화 하는게 학습의 목적이 되는데 이를 Policy objective function J(θ)라고 한다. 그렇다면 objective function을 최대화하는 방향으로 매개변수 θ를 움직이면 결국에 objective function J(θ)가 최댓값이 될 것이다.

J(θ)=Eπθ[r]=sSd(s)aAπθ(s,a)Rs,a

θJ(θ)=θ[sSd(s)aAπθ(s,a)Rs,a]

매개변수 θ에 종속된 부분만으로 정리하면

θJ(θ)=sSd(s)aAθ[πθ(s,a)]Rs,a

다시 기댓값 형태로 식을 변환하기 위해 다음과 같이 식을 변형한다.

θ[πθ(s,a)]=πθ(s,a)θπθ(s,a)πθ(s,a)

θ[πθ(s,a)]=πθ(s,a)θlogπθ(s,a)

그렇다면 다시 objective function을 다음으로 정리할 수 있다.

θJ(θ)=sSd(s)aAπθ(s,a)[θlogπθ(s,a)]Rs,a

θJ(θ)=Eπθ[θlogπθ(s,a)r]

policy gradient θπθ를 해석적으로 계산할 수 있고, policy πθ가 미분가능하고 0이 아니라면 Stochastic gradient ascent를 이용해서 target policy πθ의 매개변수 θ를 갱신 할 수 있다. policy gradient theorem으로부터,

Δθt=αθlogπθ(st,at)vt

θθ+αθlogπθ(st,at)vt

 

Actor-Critic Algorithm

Monte-Carlo policy gradient는 여전히 큰 분산을 가진다. 그래서 action-value function을 추정하는 critic을 사용한다.

Qw(s,a)Qπθ(s,a)

그래서 Actor-Critic algorithm은 두 개의 매개변수 집합을 사용하며

  • Critic은 action-value function의 매개변수 w을 갱신한다. Stata-Action value estimator 이다.
  • Actor는 critic이 제안하는 방향으로 policy parameter θ를 갱신한다. State value estimator 이다.

근사적 policy gradient를 따른다.

θJ(θ)Eπθ[θlogπθ(s,a)Qw(s,a)]

Δθt=αθlogπθ(st,at)Qw(s,a)

 

 

 

728x90

+ Recent posts