이번 section에서는 정확한 gradient나 hessian을 모를 때에 approximation을 통해 update하는 방법에 대해 설명합니다.
time step T까지의 trajectory τ=(s0,u01,u02,r01,r02,⋯,uT1,uT2,rT1,rT2)에 대해, 한 agent의 discounted return Rta(τ)=∑t′=tTγt′−trt′a을 다음과 같이 정의할 수 있습니다. 그렇다면, agent의 policy(π1,π2)에 대해 discounted average reward 는 다음과 같습니다. ER01(τ), ER02(τ)
θ1에 대한 ER01(τ)의 gradient를 보면, 다음과 같습니다.
∇θ1ER01(τ)=∫∇θ1π1(τ)R01(τ)dτ
=∫π1(τ)π1(τ)∇θ1π1(τ)R01(τ)dτ
=∫π1(τ)∇θ1logπ1(τ)R01(τ)dτ
=E[∇θ1logπ1(τ)R01(τ)]
그러므로 gradient-based naive learner(NL-PG)는 다음과 같이 update가능합니다.
fnl, pg1=∇θ1ER01(τ)δ
그렇다면, LOLA의 ER0a(τ)는 agent 모두에 의한 gradient를 구해야하고 이는 위와 같이 전개하면 다음과 같이 표현 가능합니다.
∇θ1∇θ2R02(τ)=E[R02(τ)∇θ1logπ1(τ)(∇θ2logπ2(τ))T]
=E[∑t=0Tγtrt2⋅(∑l=0t∇θ1logπ1(ul1∣sl))(∑l=0t∇θ2logπ2(ul2∣sl))T
LOLA의 update는 결과적으로 다음과 같이 update하게 됩니다.
flola, pg1=∇θ1ER01(τ)δ+(∇θ2ER01(τ))T∇θ1∇θ2ER02(τ)δη