Skip to content

Latest commit

 

History

History
30 lines (15 loc) · 2.36 KB

File metadata and controls

30 lines (15 loc) · 2.36 KB

8.3.3. Learning via Policy gradient

이번 section에서는 정확한 gradient나 hessian을 모를 때에 approximation을 통해 update하는 방법에 대해 설명합니다.

time step T까지의 trajectory $$ \tau = (s_0,u^1_0,u^2_0,r^1_0,r^2_0,\cdots,u^1_T,u^2_T,r^1_T,r^2_T)$$에 대해, 한 agent의 discounted return $$ R^a_t(\tau) = \sum^T_{t'=t}{\gamma^{t'-t}r^a_{t'}}$$을 다음과 같이 정의할 수 있습니다. 그렇다면, agent의 policy$$(\pi^1,\pi^2)$$에 대해 discounted average reward 는 다음과 같습니다. $$\mathbb{E}R^1_0(\tau), \ \mathbb{E}R^2_0(\tau)$$

$$\theta^1$$에 대한 $$\mathbb{E}R^1_0(\tau)$$의 gradient를 보면, 다음과 같습니다.

                                                $$ \nabla_{\theta^1}\mathbb{E}R^1_0(\tau) = \int\nabla_{\theta^1}  \pi^1(\tau)R^1_0(\tau)d\tau$$

                                                                         $$= \int \pi^1(\tau)\frac{\nabla_{\theta^1} \pi^1(\tau)}{\pi^1(\tau)}R^1_0(\tau)d\tau$$

                                                                         $$= \int \pi^1(\tau) \nabla_{\theta^1} \log\pi^1(\tau)R^1_0(\tau)d\tau$$

                                                                         $$= \mathbb{E}[\nabla_{\theta^1}\log \pi^1(\tau)R^1_0(\tau)]$$

그러므로 gradient-based naive learner(NL-PG)는 다음과 같이 update가능합니다.

                                                              $$\bm{f}^1_{\mathrm{nl,\ pg}} = \nabla_{\theta^1}\mathbb{E}R^1_0({\tau})\delta$$

그렇다면, LOLA의 $$ \mathbb{E}R^a_0(\tau)$$는 agent 모두에 의한 gradient를 구해야하고 이는 위와 같이 전개하면 다음과 같이 표현 가능합니다.

                                $$ \nabla_{\theta^1} \nabla_{\theta^2}\mathbb{R}^2_0(\tau) = \mathbb{E}[R^2_0(\tau)\nabla_{\theta^1}\log{\pi^1}(\tau)(\nabla_{\theta^2}\log{\pi^2}(\tau))^T]$$

                                $$= \mathbb{E}[\sum^T_{t=0}\gamma^tr^2_t\cdot(\sum^t_{l=0}{\nabla_{\theta_1}\log{\pi^1(u^1_l|s_l}}))(\sum^t_{l=0}\nabla_{\theta^2}\log{\pi^2(u^2_l|s_l))^T}$$

LOLA의 update는 결과적으로 다음과 같이 update하게 됩니다.

                     $$\bm{f}^1_{\mathrm{lola, \ pg}} = \nabla_{\theta^1}\mathbb{E}R^1_0(\tau)\delta+ (\nabla_{\theta^2}\mathbb{E}R^1_0(\tau))^T\nabla_{\theta^1}\nabla_{\theta^2}\mathbb{E}R^2_0(\tau)\delta\eta$$