CS285课程笔记(6)——Inverse Reinforcement Learning

本节对应2020版的Lecture20。(由于本人对IRL并不是很熟,内容目前全部基于Lecture中的内容,有错误的地方请指出。)

1. 为什么要引入Inverse Reinforcement Learning

前文的模仿学习方法是直接喂给算法人类给出的好的行为数据,智能体直接学习行为。但与人类通过模仿进行学习的过程其实是有区别的,人类在模仿过程中会更智能一个级别,比如学习“老师”为什么会做出该行为,可能会做出不一样的但结果相同的动作(我个人理解为举一反三的过程)。将该思路类比到智能体上,就是不让智能体直接学得动作,而是间接学得rewards从而学得行为。另外一个要引入IRL得原因在于有些任务如果用经典RL算法学习的话可能很难定义精准的Reward表达式,所以可以通过从demonstrations中推断的方式学得较为合理的Reward,再将该reward应用到经典强化学习算法框架中。

2. Inverse RL问题的定义

IRL问题与经典RL问题定义对比如下:(这里把reward function进行参数化)
在这里插入图片描述
上图右侧为IRL的较为正式的问题定义,这里的前提条件为给定智能体的状态和动作,有时状态转移函数已知。从expert数据中采样轨迹 τ i = ( s 0 , i , a 0 , i , s 1 , i , …   ) \tau_i=(\textbf s_{0,i},\textbf a_{0,i},\textbf s_{1,i},\dots) τi=(s0,i,a0,i,s1,i,),利用这些数据不断更新奖赏函数 r ψ r_{\psi} rψ的参数,更新完参数之后可以利用前几篇中的RL方法学习梯度。

3. 经典方法

Lecture中第二部分介绍了两种较为经典的IRL算法,第一种是feature matching+maximum margin方法,第二种是maximum entropy IRL的方法。

3.1 Feature Matching IRL & Maximum Margin Planning

最经典的方法是feature matching的方法,该方法的思路是将reward function用线性函数表达:
r ψ ( s , a ) = ∑ i ψ i f i ( s , a ) = ψ T f ( s , a ) r_{\psi}(\textbf s, \textbf a)=\sum_{i}\psi_i f_i (\textbf s, \textbf a)=\psi^T \textbf f(\textbf s, \textbf a) rψ(s,a)=iψifi(s,a)=ψTf(s,a)
这里的 f \textbf f f是从专家数据中获取的features。在构建好参数化的奖赏函数 r ψ r_{\psi} rψ的基础之上,假设存在一个在该奖赏函数下的一个最优策略,记为 π r ψ \pi^{r_{\psi}} πrψ,这时候的目标是选取一组参数 ψ \psi ψ使其尽可能满足条件: E π r ψ [ f ( s , a ) ] = E π ∗ [ f ( s , a ) ] E_{\pi^{r_{\psi}}}[\textbf f(\textbf s,\textbf a)]=E_{\pi^{*}}[\textbf f(\textbf s,\textbf a)] Eπrψ[f(s,a)]=Eπ[f(s,a)]。这里的 π ∗ \pi^* π指的是从专家数据中获得的近似的最优策略。 以上为feature matching IRL的目标。

有了上述目标,通过什么方法能使上述等式条件满足呢?feature matching中用了个类似SVM中的trick,即最大化Margin,如下:
在这里插入图片描述
上述目标经过一些变形可以得到: ψ T E π r ψ [ f ( s , a ) ] = E π r ψ [ ψ T f ( s , a ) ] = E π r ψ [ r ( s , a ) ] \psi^TE_{\pi^{r_{\psi}}}[\textbf f(\textbf s,\textbf a)]=E_{\pi^{r_{\psi}}}[\psi^T\textbf f(\textbf s,\textbf a)]=E_{\pi^{r_{\psi}}}[r(\textbf s, \textbf a)] ψTEπrψ[f(s,a)]=Eπrψ[ψTf(s,a)]=Eπrψ[r(s,a)],因此这里的max margin的本质目的就是 E π r ψ [ r ψ ( s , a ) ] ≈ E π ∗ [ r ∗ ( s , a ) ] E_{\pi^{r_{\psi}}}[r_{\psi}(\textbf s,\textbf a)]\approx E_{\pi^{*}}[r_*(\textbf s,\textbf a)] Eπrψ[rψ(s,a)]Eπ[r(s,a)]

但是上述问题存在几个问题:由于是最大化margin,因此过程中会出现reward function并不是唯一的问题,如下图,使智能体学到同一种行为的reward function存在很多种,该方法无法判断哪种reward是最优的,因而也就无法判断Policy是否最优,也无法精确判断那些expert data是suboptimal的(可以通过加入松弛变量slack variables来解决)。除此之外,以上的优化目标涉及到了复杂的约束条件,不适合深度学习。
在这里插入图片描述

3.2 Maximum Entropy IRL

另一种经典方法是maximum entropy IRL方法,该方法需要回顾一下之前用概率图模型修改RL问题框架的内容。该框架的关键点如下:

  • 引入最优变量(Optimality Variable): p ( O t ∣ s t , a t ) = exp ⁡ ( r ( s t , a t ) ) p(O_{t}|\textbf s_t, \textbf a_t)=\exp (r(\textbf s_t, \textbf a_t)) p(Otst,at)=exp(r(st,at))
  • 重新表达最优轨迹: p ( τ ∣ O 1 : T ) p(\tau|O_{1:T}) p(τO1:T),其计算方式如下:(具体过程可以参考之前课程的总结)
    p ( τ ∣ O 1 : T ) = p ( τ , O 1 : T ) p ( O 1 : T ) ∝ p ( τ ) ∏ t exp ⁡ ( r ( s t , a t ) ) = p ( τ ) exp ⁡ ( ∑ t r ( s t , a t ) ) p(\tau|O_{1:T})=\frac{p(\tau,O_{1:T})}{p(O_{1:T})}\propto p(\tau)\prod_{t}\exp(r(\textbf s_t, \textbf a_t))=p(\tau)\exp(\sum_{t}r(\textbf s_t, \textbf a_t)) p(τO1:T)=p(O1:T)p(τ,O1:T)p(τ)texp(r(st,at))=p(τ)exp(tr(st,at))
    在这里插入图片描述

而IRL的目的是通过expert data得到reward function,因此可以在此框架的基础上将reward参数化,即 r ψ r_{\psi} rψ,并将最优变量 O t O_{t} Ot表达成 p ( O t ∣ s t , a t ) = exp ⁡ ( r ψ ( s t , a t ) ) p(O_{t}|\textbf s_t, \textbf a_t)=\exp (r_{\psi}(\textbf s_t, \textbf a_t)) p(Otst,at)=exp(rψ(st,at)),上文中的 p ( τ ∣ O 1 : T ) p(\tau|O_{1:T}) p(τO1:T)就正比于: p ( τ ∣ O 1 : T , ψ ) ∝ p ( τ ) exp ⁡ ( ∑ t r ψ ( s t , a t ) ) p(\tau|O_{1:T},\psi)\propto p(\tau)\exp(\sum_{t}r_{\psi}(\textbf s_t, \textbf a_t)) p(τO1:T,ψ)p(τ)exp(trψ(st,at)),由于上述公式中的 p ( τ ) p(\tau) p(τ)与reward参数 ψ \psi ψ无关,所以可以省略。在通过最大对数似然的方式对reward 参数进行更新之前,还需要通过归一化处理精确表达一下 p ( τ ∣ O 1 : T , ψ ) p(\tau|O_{1:T},\psi) p(τO1:T,ψ),假设给定多条最优轨迹 τ i \tau_i τi时:
p ( τ i ∣ O 1 : T , ψ ) = p ( τ i ) exp ⁡ ( r ψ ( τ ) ) ∫ p ( τ i ) exp ⁡ ( r ψ ( τ ) ) d τ i p(\tau_i|O_{1:T},\psi)=\frac{p(\tau_i)\exp (r_{\psi}(\tau))}{\int p(\tau_i) \exp (r_{\psi}(\tau))d\tau_i} p(τiO1:T,ψ)=p(τi)exp(rψ(τ))dτip(τi)exp(rψ(τ))

最大似然方法的目标就是:
max ⁡ ψ ∏ i N p ( τ i ∣ O 1 : T , ψ ) \max_{\psi}\prod_i^Np(\tau_i|O_{1:T},\psi) ψmaxiNp(τiO1:T,ψ)
两边取对数就是:
max ⁡ ψ log ⁡ ( ∏ i N p ( τ i ∣ O 1 : T , ψ ) ) = max ⁡ ψ ∑ i N log ⁡ p ( τ i ∣ O 1 : T , ψ ) → max ⁡ ψ 1 N ∑ i N r ψ ( τ i ) − log ⁡ Z \max_{\psi}\log\bigg(\prod_i^Np(\tau_i|O_{1:T},\psi)\bigg)=\max_{\psi}\sum_i^N \log p(\tau_i|O_{1:T},\psi)\to \max_{\psi}\frac{1}{N}\sum_i^N r_{\psi}(\tau_i)-\log Z ψmaxlog(iNp(τiO1:T,ψ))=ψmaxiNlogp(τiO1:T,ψ)ψmaxN1iNrψ(τi)logZ
最终的优化目标就转化为了:
max ⁡ ψ 1 N ∑ i N r ψ ( τ i ) − log ⁡ Z \max_{\psi}\frac{1}{N}\sum_i^Nr_{\psi}(\tau_i)-\log Z ψmaxN1iNrψ(τi)logZ
这里的 Z = ∫ p ( τ i ) exp ⁡ ( r ψ ( τ ) ) d τ i Z=\int p(\tau_i) \exp (r_{\psi}(\tau))d\tau_i Z=p(τi)exp(rψ(τ))dτi。之后就可以通过对目标函数求梯度的方式进行参数的更新,梯度如下:
∇ ψ L = 1 N ∑ i = 1 N ∇ ψ r ψ ( τ i ) − 1 Z Z ′ = 1 N ∑ i = 1 N ∇ ψ r ψ ( τ i ) − 1 Z ∫ p ( τ i ) ( exp ⁡ ( r ψ ( τ i ) ) ) ′ d τ i = 1 N ∑ i = 1 N ∇ ψ r ψ ( τ i ) − 1 Z ∫ p ( τ i ) exp ⁡ ( r ψ ( τ i ) ) ∇ ψ r ψ ( τ i ) d τ i = 1 N ∑ i = 1 N ∇ ψ r ψ ( τ i ) − ∫ ( 1 Z p ( τ i ) exp ⁡ ( r ψ ( τ i ) ) ) ∇ ψ r ψ ( τ i ) d τ i = 1 N ∑ i = 1 N ∇ ψ r ψ ( τ i ) − ∫ p ( τ i ∣ O 1 : T , ψ ) ∇ ψ r ψ ( τ i ) d τ i \nabla_{\psi} \mathcal L = \frac{1}{N}\sum_{i=1}^{N}\nabla_{\psi}r_{\psi}(\tau_i)-\frac{1}{Z}Z'= \frac{1}{N}\sum_{i=1}^{N}\nabla_{\psi}r_{\psi}(\tau_i)-\frac{1}{Z}\int p(\tau_i) (\exp (r_{\psi}(\tau_i)))'d\tau_i\\= \frac{1}{N}\sum_{i=1}^{N}\nabla_{\psi}r_{\psi}(\tau_i)-\frac{1}{Z}\int p(\tau_i) \exp (r_{\psi}(\tau_i))\nabla_{\psi}r_{\psi}(\tau_i)d\tau_i \\=\frac{1}{N}\sum_{i=1}^{N}\nabla_{\psi}r_{\psi}(\tau_i)-\int \bigg(\frac{1}{Z} p(\tau_i) \exp (r_{\psi}(\tau_i))\bigg)\nabla_{\psi}r_{\psi}(\tau_i)d\tau_i\\=\frac{1}{N}\sum_{i=1}^{N}\nabla_{\psi}r_{\psi}(\tau_i)-\int p(\tau_i|O_{1:T},\psi)\nabla_{\psi}r_{\psi}(\tau_i)d\tau_i ψL=N1i=1Nψrψ(τi)Z1Z=N1i=1Nψrψ(τi)Z1p(τi)(exp(rψ(τi)))dτi=N1i=1Nψrψ(τi)Z1p(τi)exp(rψ(τi))ψrψ(τi)dτi=N1i=1Nψrψ(τi)(Z1p(τi)exp(rψ(τi)))ψrψ(τi)dτi=N1i=1Nψrψ(τi)p(τiO1:T,ψ)ψrψ(τi)dτi
所以上述损失函数的梯度也可以理解成:
∇ ψ L = E τ ∼ π ∗ ( τ ) [ ∇ ψ r ψ ( τ ) ] − E τ ∼ p ( τ ∣ O 1 : T , ψ ) [ ∇ ψ r ψ ( τ ) ] \nabla_{\psi} \mathcal L=E_{\tau\sim\pi^*(\tau)}[\nabla_{\psi}r_{\psi}(\tau)]-E_{\tau\sim p(\tau|O_{1:T},\psi)}[\nabla_{\psi}r_{\psi}(\tau)] ψL=Eτπ(τ)[ψrψ(τ)]Eτp(τO1:T,ψ)[ψrψ(τ)]
上式种第一部分是通过expert data(即假设通过最优策略 π ∗ \pi^* π得到的数据)得到的对Reward的估算,第二部分是通过使用参数化的reward function得到的期望。接下来的问题是如何进一步计算上述表达式的第二部分,推导过程如下:

在这里插入图片描述

这里的第一部分是参数化reward之后通过推断得到的最优策略,之前的对于该量的推导如下(不含参数 ψ \psi ψ):
p ( a t ∣ s t , O 1 : T ) = π ( a t ∣ s t ) = p ( a t ∣ s t , O t : T ) = p ( a t , s t ∣ O t : T ) p ( s t ∣ O t : T ) = p ( a t , s t , O t : T ) / p ( O t : T ) p ( s t , O t : T ) / p ( O t : T ) = p ( O t : T ∣ s t , a t ) p ( s t , a t ) / p ( O t : T ) p ( O t : T ∣ s t ) p ( s t ) / p ( O t : T ) = p ( O t : T ∣ s t , a t ) p ( s t , a t ) p ( O t : T ∣ s t ) p ( s t ) = β t ( s t , a t ) β t ( s t ) p ( a t ∣ s t ) = β t ( s t , a t ) β t ( s t ) p(\textbf a_t|\textbf s_t,O_{1:T})=\pi (\textbf a_t|\textbf s_t)=p(\textbf a_t|\textbf s_t,O_{t:T})=\frac{p(\textbf a_t,\textbf s_t|O_{t:T})}{p(\textbf s_t|O_{t:T})}\\=\frac{p(\textbf a_t,\textbf s_t, O_{t:T})/p(O_{t:T})}{p(\textbf s_t,O_{t:T})/p(O_{t:T})}=\frac{p(O_{t:T}|\textbf s_t,\textbf a_t)p(\textbf s_t,\textbf a_t)/p(O_{t:T})}{p(O_{t:T}|\textbf s_t)p(\textbf s_t)/p(O_{t:T})}\\ =\frac{p(O_{t:T}|\textbf s_t,\textbf a_t)p(\textbf s_t,\textbf a_t)}{p(O_{t:T}|\textbf s_t)p(\textbf s_t)}=\frac{\beta_t(\textbf s_t,\textbf a_t)}{\beta_t(\textbf s_t)}p(\textbf a_t|\textbf s_t)=\frac{\beta_t(\textbf s_t,\textbf a_t)}{\beta_t(\textbf s_t)} p(atst,O1:T)=π(atst)=p(atst,Ot:T)=p(stOt:T)p(at,stOt:T)=p(st,Ot:T)/p(Ot:T)p(at,st,Ot:T)/p(Ot:T)=p(Ot:Tst)p(st)/p(Ot:T)p(Ot:Tst,at)p(st,at)/p(Ot:T)=p(Ot:Tst)p(st)p(Ot:Tst,at)p(st,at)=βt(st)βt(st,at)p(atst)=βt(st)βt(st,at)
第二部分与forward messages有关(在forward messages的基础上假设之后的状态-动作对都是最优的),这里回顾一下之前关于该量的推导(不含参数 ψ \psi ψ):
p ( s t ∣ O 1 : T ) = p ( s t , O 1 : T ) p ( O 1 : T ) = p ( s t , O 1 : t − 1 , O t : T ) p ( O 1 : T ) = p ( O t : T ∣ s t , O 1 : t − 1 ) p ( s t , O 1 : t − 1 ) p ( O 1 : T ) = p ( O t : T ∣ s t ) p ( s t , O 1 : t − 1 ) p ( O 1 : T ) = p ( O t : T ∣ s t ) p ( s t ∣ O 1 : t − 1 ) p ( O 1 : t − 1 ) p ( O 1 : T ) ∝ β t ( s t ) p ( s t ∣ O 1 : t − 1 ) p ( O 1 : t − 1 ) ∝ β t ( s t ) α t ( s t ) p(\textbf s_t|O_{1:T})=\frac{p(\textbf s_t,O_{1:T})}{p(O_{1:T})}=\frac{p(\textbf s_t,O_{1:t-1},O_{t:T})}{p(O_{1:T})}\\=\frac{p(O_{t:T}|\textbf s_t,O_{1:t-1})p(\textbf s_t,O_{1:t-1})}{p(O_{1:T})}\\=\frac{p(O_{t:T}|\textbf s_t)p(\textbf s_t,O_{1:t-1})}{p(O_{1:T})}\\= \frac{p(O_{t:T}|\textbf s_t)p(\textbf s_t|O_{1:t-1})p(O_{1:t-1})}{p(O_{1:T})}\\ \propto \beta_t(\textbf s_t)p(\textbf s_t|O_{1:t-1})p(O_{1:t-1})\\ \propto \beta_t(\textbf s_t)\alpha_t(\textbf s_t) p(stO1:T)=p(O1:T)p(st,O1:T)=p(O1:T)p(st,O1:t1,Ot:T)=p(O1:T)p(Ot:Tst,O1:t1)p(st,O1:t1)=p(O1:T)p(Ot:Tst)p(st,O1:t1)=p(O1:T)p(Ot:Tst)p(stO1:t1)p(O1:t1)βt(st)p(stO1:t1)p(O1:t1)βt(st)αt(st)

进一步化简可以得到:
在这里插入图片描述
基于上述推导过程,可以得到以下最大熵IRL算法:
在这里插入图片描述
之所以上述算法被称为maximum entropy的原因就在于:在线性reward的情况下它最大化了在该参数化Reward下策略的熵,且约束条件是两种策略下期望相等。其合理性在于在使用参数化reward的最优策略的情况下feature的期望与expert policy数据下的期望相同(匹配了expert policy的features),并且最大化了策略的随机性。
在这里插入图片描述

4. 与深度学习结合的方法

以上的方法需要枚举所有state-action pairs,并计算相应的visitation frequency。如果遇到状态和动作空间维数都很高的情况下,枚举所有可能情况是不现实的,所以需要引进新的方法,比如上文的maxEnt方法与深度学习方法结合。

4.1 Guided Cost Learning Algorithm

这里回顾上文计算得到的损失函数的梯度:
在这里插入图片描述
也可以通过采样的方式来估算梯度,这里的第一部分是由expert data的最优策略分布采样得到,第二部分是通过soft optimal policy进行采样,回顾其公式如下:
p ( τ i ∣ O 1 : T , ψ ) = p ( τ i ) exp ⁡ ( r ψ ( τ ) ) ∫ p ( τ i ) exp ⁡ ( r ψ ( τ ) ) d τ i p(\tau_i|O_{1:T},\psi)=\frac{p(\tau_i)\exp (r_{\psi}(\tau))}{\int p(\tau_i) \exp (r_{\psi}(\tau))d\tau_i} p(τiO1:T,ψ)=p(τi)exp(rψ(τ))dτip(τi)exp(rψ(τ))
在这里插入图片描述
从上述公式可以看出,如果用两种不同的分布的话进行数据采样的话其实不是一种很高效的做法,这里可以选择使用Importance sampling的方式只用一个分布进行采样。回顾Importance sampling的原理如下:
在这里插入图片描述
∇ ψ L = E τ ∼ π ∗ ( τ ) [ ∇ ψ r ψ ( τ ) ] − E τ ∼ p ( τ ∣ O 1 : T , ψ ) [ ∇ ψ r ψ ( τ ) ] \nabla_{\psi} \mathcal L=E_{\tau\sim\pi^*(\tau)}[\nabla_{\psi}r_{\psi}(\tau)]-E_{\tau\sim p(\tau|O_{1:T},\psi)}[\nabla_{\psi}r_{\psi}(\tau)] ψL=Eτπ(τ)[ψrψ(τ)]Eτp(τO1:T,ψ)[ψrψ(τ)]
如果只用expert data进行梯度计算的话,由上述importance sampling的公式可以得到:
∇ ψ L = E τ ∼ π ∗ ( τ ) [ ∇ ψ r ψ ( τ ) ] − E τ ∼ π ∗ ( τ ) [ p ( τ ∣ O 1 : T , ψ ) π ∗ ( τ ) ∇ ψ r ψ ( τ ) ] \nabla_{\psi} \mathcal L=E_{\tau\sim\pi^*(\tau)}[\nabla_{\psi}r_{\psi}(\tau)]-E_{\tau\sim \pi^*(\tau)}[ \frac{p(\tau|O_{1:T},\psi)}{ \pi^*(\tau)}\nabla_{\psi}r_{\psi}(\tau)] ψL=Eτπ(τ)[ψrψ(τ)]Eτπ(τ)[π(τ)p(τO1:T,ψ)ψrψ(τ)]

这里的importance sampling weight记作 w j = p ( τ ∣ O 1 : T , ψ ) π ∗ ( τ ) ∝ p ( τ ) exp ⁡ ( r ψ ( τ ) ) π ∗ ( τ ) = p ( s 1 ) ∏ t p ( s t + 1 ∣ s t , a t ) exp ⁡ ( r ψ ( s t , a t ) ) p ( s 1 ) ∏ t p ( s t + 1 ∣ s t , a t ) π ∗ ( a t ∣ s t ) = exp ⁡ ( ∑ t r ψ ( s t , a t ) ) ∏ t π ( a t ∣ s t ) w_j=\frac{p(\tau|O_{1:T},\psi)}{ \pi^*(\tau)}\propto \frac{p(\tau)\exp (r_{\psi}(\tau))}{ \pi^*(\tau)}=\frac{p(\textbf s_1)\prod_t p(\textbf s_{t+1}|\textbf s_t, \textbf a_t)\exp(r_{\psi}(\textbf s_t, \textbf a_t))}{p(\textbf s_1)\prod_t p(\textbf s_{t+1}|\textbf s_t, \textbf a_t)\pi^*(\textbf a_t | \textbf s_t)}=\frac{\exp(\sum_tr_{\psi}(\textbf s_t, \textbf a_t))}{\prod_t \pi(\textbf a_t | \textbf s_t)} wj=π(τ)p(τO1:T,ψ)π(τ)p(τ)exp(rψ(τ))=p(s1)tp(st+1st,at)π(atst)p(s1)tp(st+1st,at)exp(rψ(st,at))=tπ(atst)exp(trψ(st,at))

经过以上的推导,可以将关于 ψ \psi ψ的损失函数的梯度写成如下:
在这里插入图片描述
整个的guided cost learning的算法框架如下:
在这里插入图片描述
整个算法更精简的思路是先更新reward function的参数 ψ \psi ψ,再根据Reward function使用策略梯度方法:
在这里插入图片描述

4.2 IRL & GANs

上述流程与深度学习中的GAN非常类似,GAN的最终目标是分辨不出generator和discriminator产生的数据的区别。
在这里插入图片描述
以上是GAN中的discriminator的目标函数部分,这里解释一下相关量:这里的判别模型是 D ψ ( x ) D_{\psi}(x) Dψ(x),一个二分类器,表示数据 x x x来自真实数据而非生成数据的概率。因此上述损失函数中的第一部分代表数据来自真实数据的概率,而第二部分表示,来自生成器的概率。由于判别器的目标是估计样本来自真实数据的概率,如果来自真实数据则输出大概率,所以判别器的目标是最大化损失函数。(这里补充一下生成器的目的是希望该损失函数最小,原因在于它要降低判别模型对数据来源判断正确的概率,直观解释就是让判别器分辨不出来数据到底来自真实数据还是生成的数据),所以整个目标函数是:

在这里插入图片描述

这里先求解最优的discriminator,使用的方法是让该损失函数对 D ( x ) D(x) D(x)求导的梯度为0,推导过程如下(直接展开期望):

在这里插入图片描述
这里的 p data ( x ) p_{\text{data}}(\textbf x) pdata(x) p generator ( x ) p_{\text{generator}}(\textbf x) pgenerator(x)对应lecture中的 p ∗ ( x ) p^*(\textbf x) p(x) p θ ( x ) p_{\theta}(\textbf x) pθ(x),分别为expert data获取的最优策略数据和由策略获得的数据 。对于IRL的情况,目标就是让在 π θ ( τ ) \pi_{\theta}(\tau) πθ(τ)下的轨迹 p θ ( τ ) p_{\theta}(\tau) pθ(τ)接近最优策略: p ∗ ( τ ) = p ( τ ∣ O 1 : T , ψ ) ∝ p ( τ ) exp ⁡ ( r ψ ( τ ) ) p^*(\tau)=p(\tau|O_{1:T},\psi)\propto p(\tau)\exp (r_{\psi}(\tau)) p(τ)=p(τO1:T,ψ)p(τ)exp(rψ(τ)),将式子带入最优discriminator的公式可以得到:
在这里插入图片描述

结合了GAN的整个IRL算法框架为:
在这里插入图片描述
以上方法的判别器表达式过于繁琐,还可以进一步简化,直接对判别器进行参数化, D ψ D_{\psi} Dψ,该方法的特点如下:
在这里插入图片描述
但是毕竟一切都是trade-off,简化的方法最大的好处就是方便实现,但也存在着一些问题,比如该方法的判别器在算法收敛之后是处于‘一无所知’(概率为0.5)的状态,而且该方法也不会对reward进行优化。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值