Adversarial inverse reinforcement learning(AIRL)

拈花ヽ惹草 提交于 2019-11-26 06:50:50

Overview

For imitation learning, it is easy for us to have a fit on the expert behavior, However when we encounter a new situation, we can’t solve the problem. So we imagine that there is an expert strategy in the real world, and this expert strategy will give a reward function to guide our agents to learn. AIRL is based on the past GAIL. In GAIL, we directly use GAN to fit the behavior of the agent to the expert behavior, and do not directly give the reward function. This behavior will lead to our learning is not clear and not good. Migration, so we will record the function of the discriminator in GAN as D, and use D to represent our reward function. Below I will write in detail, how this is derived.

the goal of the IRL

Firstly, we define a distribution pθ(τ)p_\theta(\tau). in another word, it is the expectation for the accumulated over the expert trajectory. so it can be wrote in this form. And D is the demonstrations of the expert.

pθ(τ)p(s0)t=0T1p(st+1st,at)erθ(st,at)p_\theta(\tau)\propto p(s_0)\prod_{t=0}^{T-1}p(s_{t+1}|s_t,a_t)e^{r_{\theta}(s_t,a_t)}

the goal of IRL can been seen as training a generative model over trajectories as:

maxθ{J(θ)}=maxθEτD[logpθ(τ)]\max \limits_{\theta}\{J(\theta)\}=\max \limits_{\theta}E_{\tau\sim D}[\log p_{\theta}(\tau)]

Then we calculate the gradient with respect to θ\theta(where pθ,t=stt,attpθ(τ)p_{\theta,t}=\int_{s_{t'}\neq t,a_{t'}\neq t}p_{\theta(\tau) \qquad} denote the state-action marginal at time t):
θJ(θ)=t=0TED[θrθ(st,at)]Epθ,t[θrθ(st,at)]\frac{\partial}{\partial \theta} J(\theta)=\sum_{t=0}^{T} E_{\mathcal{D}}\left[\frac{\partial}{\partial \theta} r_{\theta}\left(s_{t}, a_{t}\right)\right]-E_{p_{\theta, t}}\left[\frac{\partial}{\partial \theta} r_{\theta}\left(s_{t}, a_{t}\right)\right]

then we do importance sampling. here we instead train a separate importance sampling distribution μ(τ)\mu(\tau) . And the μ(as)=12π(as)+12p(as)^\mu(a|s)=\frac{1}{2}\pi(a|s)+\frac{1}{2}\hat{p(a|s)}.π(as)\pi(a|s) is our agent policy p^(as)\hat p(a|s) is a rough density estimate trained on the demonstrations.

So, the gradient can be convert to the form below:
θJ(θ)=t=0TED[θrθ(st,at)]Eμt[pθ,t(st,at)μt(st,at)θrθ(st,at)]\frac{\partial}{\partial \theta} J(\theta)=\sum_{t=0}^{T} E_{\mathcal{D}}\left[\frac{\partial}{\partial \theta} r_{\theta}\left(s_{t}, a_{t}\right)\right]-E_{\mu_{t}}\left[\frac{p_{\theta, t}\left(s_{t}, a_{t}\right)}{\mu_{t}\left(s_{t}, a_{t}\right)} \frac{\partial}{\partial \theta} r_{\theta}\left(s_{t}, a_{t}\right)\right]

Additionally, we wish to adapt the importance sampler π\pi to reduce variance, by minimizing the KL divergency between π\pi and pθp_\theta, and the KL divergency can be calculate as follow.

DKL(pq)=E[logp(x)logq(x)]\because D_{KL}(p \| q)=E[\log p(x)-\log q(x)]
pθ(τ)=p(s0)t=0T1p(st+1st,at)erθ(st,at)\because p_\theta(\tau)= p(s_0)\prod_{t=0}^{T-1}p(s_{t+1}|s_t,a_t)e^{r_{\theta}(s_t,a_t)}
π(τ)=p(s0)t=0T1p(st+1st,at)π(atst)\because\pi(\tau)=p\left(s_{0}\right) \prod_{t=0}^{T-1} p\left(s_{t+1} | s_{t}, a_{t}\right) \pi\left(a_{t} | s_{t}\right)
DKL(π(τ)pθ(τ))=log(p(s0)t=0T1p(st+1st,at)π(atst)p(s0)t=0T1p(st+1st,at)erθ(st,at))\therefore D_{KL}(\pi(\tau) \| p_\theta(\tau) )=log(\frac{p\left(s_{0}\right) \prod_{t=0}^{T-1} p\left(s_{t+1} | s_{t}, a_{t}\right) \pi\left(a_{t} | s_{t}\right)}{ p(s_0)\prod_{t=0}^{T-1}p(s_{t+1}|s_t,a_t)e^{r_{\theta}(s_t,a_t)}})
DKL(π(τ)pθ(τ))=logπ(atst)t=0Trθ(st,at)\therefore D_{KL}(\pi(\tau) \| p_\theta(\tau) )=log\pi(a_t|s_t)-\sum_{t=0}^{T}r_\theta(s_t,a_t)

in a another word minimize the KL divergency is same to maximize the entropy
regularized policy objective:

maxπEπ[t=0Trθ(st,at)logπ(atst))]\left.\max _{\pi} E_{\pi}\left[\sum_{t=0}^{T} r_{\theta}\left(s_{t}, a_{t}\right)-\log \pi\left(a_{t} | s_{t}\right)\right)\right]

For AIRL, we calculate the D function from the loss of cross-entropy between expert demonstrations and generated samples(equal to the objective of the discriminator):

L(θ)=t=0TED[logDθ(st,at)]Eπt[log(1Dθ(st,at))]\mathcal{L}(\theta)=\sum_{t=0}^{T}-E_{\mathcal{D}}\left[\log D_{\theta}\left(s_{t}, a_{t}\right)\right]-E_{\pi_{t}}\left[\log \left(1-D_{\theta}\left(s_{t}, a_{t}\right)\right)\right]

Ask the gradient of the loss function equal to zero.

pθDθ(s,a)+π(as)1Dθ(s,a)=0-\frac{p_\theta}{D_\theta(s,a)}+\frac{\pi(a|s)}{1-D_\theta(s,a)}=0

Dθ(s,a)=pθpθ+π(as)\therefore D_\theta(s,a)=\frac{p_\theta}{p_\theta +\pi(a|s)}
Here we regard the pθ=efθ(s,a)p_\theta=e^{f_{\theta(s,a)}}, so the D function represent as follow:
Dθ(s,a)=exp{fθ(s,a)}exp{fθ(s,a)}+π(as)D_{\theta}(s, a)=\frac{\exp \left\{f_{\theta}(s, a)\right\}}{\exp \left\{f_{\theta}(s, a)\right\}+\pi(a | s)}

In the end, back to the entropy regularized policy objective, we re-write it in to the new expectation of reward as follow:

r^t(s,a)=fθ(s,a)logπ(as)=logefθ(s,a)efθ(s,a)+π(as)logπ(as)efθ(s,a)+π(as)=log(Dθ(s,a))log(1Dθ(s,a))\begin{aligned} \hat{r}_{t}(s, a) &=f_{\theta}(s, a)-\log \pi(a | s) \\ &=\log \frac{e^{f_{\theta}(s, a)}}{e^{f_{\theta}(s, a)}+\pi(a | s)}-\log \frac{\pi(a | s)}{e^{f_{\theta}(s, a)}+\pi(a | s)} \\ &=\log \left(D_{\theta}(s, a)\right)-\log \left(1-D_{\theta}(s, a)\right) \end{aligned}

End of derivation

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!