逆强化学习IRL

  • 概述
  • 一、Inverse RL 背景
    • 1.1 Imitation Learning 与Inverse RL
    • 1.2 Standard RL与Inverse RL
  • 二、Inverse RL
    • 2.1 Recap
    • 2.2 Maximum Likelihood Learning
    • 2.3 Maximum Entropy IRL
    • 2.4 Guided Cost Learning
    • 2.5 GAIL
    • 2.6 GAIRL
  • 后记

概述

  • IRL的Motivation:从expert demonstration中学习reward function ,而不用人工设计

在上一篇文章提到的Soft Optimality Frameworklec13-lec15(中),对Optimal Behavior进行建模,然后使用expert demonstration进行Optimal Policy的拟合。而在IRL中,则是使用其对Optimal Behavior的建模表示,对expert demonstration进行建模,去Infer Behavior背后的Intent即p(Ot∣st,at)=exp(r(st,at))p(O_t|s_t,a_t)=exp(r(s_t,a_t))p(Ot​∣st​,at​)=exp(r(st​,at​)),换个说法,就是去Learn Reward Function。

一、Inverse RL 背景

1.1 Imitation Learning 与Inverse RL

  • Imitation Learning

    1. 拟合expert demonstration中的actions
    2. 不能对action的结果进行Infer and reason
  • Inverse RL

    1. 拟合expert demonstration背后的intent
    2. 根据Intent 有可能采取非常不一样的action去达到Intent

1.2 Standard RL与Inverse RL

  • Standard RL

    1. Reward要经过人工设计
    2. Reward在一些场景下,极其难设计,如自动驾驶中,reward要根据距离、法规、行车约定之类的设计…

  • Inverse RL

    1. 通过expert demonstrations Infer出reward function
    2. 但reward function的结构、形式unknown,而且很多reward都能解释expert behavior,那怎么选?怎么衡量多个可行reward?

二、Inverse RL

2.1 Recap

上一篇文章lec13-lec15(中)对Optimal Behavior的轨迹分布(trajectory distribution)进行了建模,即


p(τ∣O1:T)=p(s1:T,a1:T∣O1:T)=p(τ,O1:T)p(O1:T)∝p(τ,O1:T)=p(τ)exp(∑t=1Tr(st,at))=[p(s1)∏t=1Tp(st+1∣st,at)]exp(∑t=1Tr(st,at))\begin{aligned} p(\tau|O_{1:T})&=p(s_{1:T},a_{1:T}|O_{1:T})\\ &=\frac{p(\tau,O_{1:T})}{p(O_{1:T})}\\ &\propto p(\tau,O_{1:T})\\ &=p(\tau)exp\Big(\sum_{t=1}^Tr(s_t,a_t)\Big)\\ &=\Big[p(s_1)\prod_{t=1}^{T}p(s_{t+1}|s_t,a_t)\Big]exp\Big(\sum_{t=1}^Tr(s_t,a_t)\Big) \end{aligned} p(τ∣O1:T​)​=p(s1:T​,a1:T​∣O1:T​)=p(O1:T​)p(τ,O1:T​)​∝p(τ,O1:T​)=p(τ)exp(t=1∑T​r(st​,at​))=[p(s1​)t=1∏T​p(st+1​∣st​,at​)]exp(t=1∑T​r(st​,at​))​

Soft Optimality Framework中我们关注的是Policy即p(at∣st,O1:T)p(a_t|s_t,O_{1:T})p(at​∣st​,O1:T​),通过KL divergence拉近两个分布p(τ)=p(s1)∏t=1Tp(st+1∣st,at)exp(∑t=1Tr(st,at))p(\tau)=p(s_1)\prod_{t=1}^{T}p(s_{t+1}|s_t,a_t)exp\Big(\sum_{t=1}^Tr(s_t,a_t)\Big)p(τ)=p(s1​)∏t=1T​p(st+1​∣st​,at​)exp(∑t=1T​r(st​,at​))与p^(τ)=p(s1)∏t=1Tp(st+1∣st,at,O1:T)p(at∣st,O1:T)\hat p(\tau)=p(s_1)\prod_{t=1}^{T}p(s_{t+1}|s_t,a_t,O_{1:T})p(a_t|s_t,O_{1:T})p^​(τ)=p(s1​)∏t=1T​p(st+1​∣st​,at​,O1:T​)p(at​∣st​,O1:T​)得到entropy regularised的Objective,然后套用Model-Free中的Policy Gradient、Q-Learning、Actor-Critic,经过一些改进与修改,得到其Soft的版本。

但在IRL中,我们关注的是reward function即p(Ot∣st,at)=exp(rψ(st,at))p(O_t|s_t,a_t)=exp\big(r_\psi(s_t,a_t)\big)p(Ot​∣st​,at​)=exp(rψ​(st​,at​)) ,于是有

p(τ∣O1:T,ψ)∝p(τ)exp(∑t=1Trψ(st,at))p(\tau|O_{1:T},\psi)\propto p(\tau)exp\big(\sum_{t=1}^Tr_\psi(s_t,a_t) \big)p(τ∣O1:T​,ψ)∝p(τ)exp(t=1∑T​rψ​(st​,at​))

2.2 Maximum Likelihood Learning

给定一些Expert Demonstration,{τ(i)}\{\tau^{(i)}\}{τ(i)}来自最优policy产生的轨迹分布π∗(τ)\pi^*(\tau)π∗(τ),已知:
p(τ∣O1:T,ψ)∝p(τ)exp(∑t=1Trψ(st,at))=p(τ)exp(rψ(τ))p(\tau|O_{1:T},\psi)\propto p(\tau)exp\big(\sum_{t=1}^Tr_\psi(s_t,a_t) \big)=p(\tau)exp\big(r_\psi(\tau)\big) p(τ∣O1:T​,ψ)∝p(τ)exp(t=1∑T​rψ​(st​,at​))=p(τ)exp(rψ​(τ))

则Maximum Likelihood 的Objective L(ψ)L(\psi)L(ψ)为:
max⁡ψL(ψ)=max⁡ψ1N∑i=1Nlogp(τ(i)∣O1:T,ψ)=max⁡ψ1N∑i=1Nrψ(τ(i))−logZ\max_\psi L(\psi)=\max_\psi \frac{1}{N}\sum_{i=1}^Nlogp(\tau^{(i)}|O_{1:T},\psi)=\max_\psi \frac{1}{N}\sum_{i=1}^Nr_\psi(\tau^{(i)})-logZ ψmax​L(ψ)=ψmax​N1​i=1∑N​logp(τ(i)∣O1:T​,ψ)=ψmax​N1​i=1∑N​rψ​(τ(i))−logZ

其中ZZZ为轨迹的归一化因子,即Partition function,因为要去掉正比∝\propto∝的符号,为
Z=∫p(τ)exp(rψ(τ))dτZ=\int p(\tau)exp\big(r_\psi(\tau)\big)d\tau Z=∫p(τ)exp(rψ​(τ))dτ

对Objective进行求梯度,稍微改写一下:
∇ψL(ψ)=∇ψ[Eτ∼π∗(τ)[rψ(τ)]−log∫p(τ)exp(rψ(τ))dτ]=Eτ∼π∗(τ)[∇ψrψ(τ)]−1Z∫p(τ)exp(rψ(τ))⏟p(τ∣O1:T,ψ)∇ψrψ(τ)dτ=Eτ∼π∗(τ)[∇ψrψ(τ)]−Eτ∼p(τ∣O1:T,ψ)[∇ψrψ(τ)]\begin{aligned} \nabla_\psi L(\psi)&=\nabla_\psi\Big[E_{\tau\sim\pi^*(\tau)}\big[r_\psi(\tau)\big]-log\int p(\tau)exp\big(r_\psi(\tau)\big)d\tau\Big]\\ &=E_{\tau\sim\pi^*(\tau)}\big[\nabla_\psi r_\psi(\tau)\big]-\underbrace{\frac{1}{Z}\int p(\tau)exp\big(r_\psi(\tau)\big)}_{p(\tau|O_{1:T},\psi)}\nabla_\psi r_\psi(\tau)d\tau\\ &=E_{\tau\sim\pi^*(\tau)}\big[\nabla_\psi r_\psi(\tau)\big]-E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(\tau) \big]\\ \end{aligned} ∇ψ​L(ψ)​=∇ψ​[Eτ∼π∗(τ)​[rψ​(τ)]−log∫p(τ)exp(rψ​(τ))dτ]=Eτ∼π∗(τ)​[∇ψ​rψ​(τ)]−p(τ∣O1:T​,ψ)Z1​∫p(τ)exp(rψ​(τ))​​∇ψ​rψ​(τ)dτ=Eτ∼π∗(τ)​[∇ψ​rψ​(τ)]−Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​rψ​(τ)]​

解释一下:

  • 第一项的轨迹τ\tauτ来自Expert Demonstration ,用样本估计,对梯度正向作用
  • 第二项的轨迹τ\tauτ来自当前rψr_\psirψ​下的soft optimal policy构成的轨迹分布p(τ∣O1:T,ψ)p(\tau|O_{1:T},\psi)p(τ∣O1:T​,ψ),估计的方式挺多,对梯度负向作用
  • 因此,参数ψ\psiψ的更新方向往第一项即expert demonstration靠近,使第二项soft optimal policy的reward提高,让两者距离缩小

现在分析一下第二项:
Eτ∼p(τ∣O1:T,ψ)[∇ψrψ(τ)]=Eτ∼p(τ∣O1:T,ψ)[∇ψ∑t=1Trψ(st,at)]=∑t=1TE(st,at)∼p(st,at∣O1:T,ψ)[∇ψrψ(st,at)]=∑t=1TEst∼p(st∣O1:T,ψ),at∼p(at∣st,O1:T,ψ)[∇ψrψ(st,at)]\begin{aligned} &E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(\tau) \big]\\ &=E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi \sum_{t=1}^T r_\psi(s_t,a_t) \big]\\ &=\sum_{t=1}^TE_{(s_t,a_t)\sim p(s_t,a_t|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(s_t,a_t)\big]\\ &=\sum_{t=1}^TE_{s_t\sim p(s_t|O_{1:T},\psi),a_t\sim p(a_t|s_t,O_{1:T},\psi)}\big[\nabla_\psi r_\psi(s_t,a_t)\big]\\ \end{aligned} ​Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​rψ​(τ)]=Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​t=1∑T​rψ​(st​,at​)]=t=1∑T​E(st​,at​)∼p(st​,at​∣O1:T​,ψ)​[∇ψ​rψ​(st​,at​)]=t=1∑T​Est​∼p(st​∣O1:T​,ψ),at​∼p(at​∣st​,O1:T​,ψ)​[∇ψ​rψ​(st​,at​)]​

在lec13-lec15(中)这一篇文章里,有

αt(st)=p(st∣O1:t−1)β(st,at)=p(Ot:T∣st,at)\alpha_t(s_t)=p(s_t|O_{1:t-1})\\ \beta(s_t,a_t)=p(O_{t:T}|s_t,a_t)αt​(st​)=p(st​∣O1:t−1​)β(st​,at​)=p(Ot:T​∣st​,at​)

p(st∣O1:T)=p(st,O1:T)p(O1:T)=p(Ot:T∣st)p(st,O1:t−1)p(O1:T)∝βt(st)αt(st)p(s_t|O_{1:T})=\frac{p(s_t,O_{1:T})}{p(O_{1:T})}=\frac{p(O_{t:T}|s_t)p(s_t,O_{1:t-1})}{p(O_{1:T})}\propto \beta_t(s_t)\alpha_t(s_t) p(st​∣O1:T​)=p(O1:T​)p(st​,O1:T​)​=p(O1:T​)p(Ot:T​∣st​)p(st​,O1:t−1​)​∝βt​(st​)αt​(st​)

p(at∣st,O1:T)=βt(st,at)βt(st)p(a_t|s_t,O_{1:T})=\frac{\beta_t(s_t,a_t)}{\beta_t(s_t)} p(at​∣st​,O1:T​)=βt​(st​)βt​(st​,at​)​

于是固定参数ψ\psiψ的情况下,ut(st,at)=p(st,at∣O1:T,ψ)=p(st∣O1:T,ψ)p(at∣st,O1:T,ψ)∝βt(st,at)βt(st)βt(st)αt(st)=βt(st,at)αt(st)\begin{aligned} u_t(s_t,a_t)=p(s_t,a_t|O_{1:T},\psi)&=p(s_t|O_{1:T},\psi)p(a_t|s_t,O_{1:T},\psi)\\ &\propto \frac{\beta_t(s_t,a_t)}{\beta_t(s_t)} \beta_t(s_t)\alpha_t(s_t)\\ &=\beta_t(s_t,a_t)\alpha_t(s_t) \end{aligned} ut​(st​,at​)=p(st​,at​∣O1:T​,ψ)​=p(st​∣O1:T​,ψ)p(at​∣st​,O1:T​,ψ)∝βt​(st​)βt​(st​,at​)​βt​(st​)αt​(st​)=βt​(st​,at​)αt​(st​)​

那就得到了Classical的MaxEnt RL~在2008年Ziebart的Paper中提出即2008 AAAI MEIRL

2.3 Maximum Entropy IRL

总结一下:

最麻烦的是,算法步骤4中的gradient step要去计算Forward Messages即α(st)\alpha(s_t)α(st​)与Backward Messages即β(st,at)\beta(s_t,a_t)β(st​,at​),再Normalize得ut(st,at)=p(st,at∣O1:T,ψ)u_t(s_t,a_t)=p(s_t,a_t|O_{1:T},\psi)ut​(st​,at​)=p(st​,at​∣O1:T​,ψ)。而前提还要是β(st,at)\beta(s_t,a_t)β(st​,at​)与α(st)\alpha(s_t)α(st​)这些都是离散的、可exhaustive的,并且知道state transition即dynamics,这使Classical的MEIRL的适用范围限制在了Tabular Case+ Known dynamics才能进行计算。

那对于连续的、较高维的state、action以及unknown dyanmics的情况呢?
回到objective gradient的:
∇ψL(ψ)=Eτ∼π∗(τ)[∇ψrψ(τ)]−Eτ∼p(τ∣O1:T,ψ)[∇ψrψ(τ)]\nabla_\psi L(\psi)=E_{\tau\sim\pi^*(\tau)}\big[\nabla_\psi r_\psi(\tau)\big]-E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(\tau) \big]∇ψ​L(ψ)=Eτ∼π∗(τ)​[∇ψ​rψ​(τ)]−Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​rψ​(τ)]

Classical MEIRL是通过Backward与Forward的过程来计算Soft Optimal Policy即p(τ∣O1:T,ψ)p(\tau|O_{1:T},\psi)p(τ∣O1:T​,ψ),即PGM的Inference,其实还可以通过上一篇文章中提到的MERL Objective利用Soft算法如Soft Q-learning来得到这个Soft Optimal Policy的,具体而言:

J(θ)=∑t=1TEπ(st,at)[rψ(st,at)]+Eπ(st)[H(π(a∣st))]J(\theta)=\sum_{t=1}^TE_{\pi(s_t,a_t)}\big[r_\psi(s_t,a_t)\big]+E_{\pi(s_t)}\big[H(\pi(a|s_t))\big] J(θ)=t=1∑T​Eπ(st​,at​)​[rψ​(st​,at​)]+Eπ(st​)​[H(π(a∣st​))]

从中得到Soft Optimal Policy即p(τ∣O1:T,ψ)p(\tau|O_{1:T},\psi)p(τ∣O1:T​,ψ),相当于在每一个reward的参数更新中嵌套了一个MERL,虽然通过优化Objective而不进行Inference的方式确实勉强解决了Large Continuous State/action、Unknown Dynamics的问题,但是很不切实际,一个RL算法计算量已经扛扛的,算出一个当前reward下的Soft Optimal Policy却仅仅当一个gradient step?这要算到猴年马月?

大家回想一下,在General Policy Iteration中,更新policy之后,重新Evaluate更新后Policy对应的State Value或者Q Value时,即Policy Evaluation,不需要评估到Value Converge,只需要保证一定的Policy Improvement

用这个想法来改进嵌套一个MERL获取p(at∣st,O1:T,ψ)p(a_t|s_t,O_{1:T},\psi)p(at​∣st​,O1:T​,ψ),即对每一个MERL都只跑几个gradient step来更新p(at∣st,O1:T,ψ)p(a_t|s_t,O_{1:T},\psi)p(at​∣st​,O1:T​,ψ),然后使用improved后的p(at∣st,O1:T,ψ)p(a_t|s_t,O_{1:T},\psi)p(at​∣st​,O1:T​,ψ)获取Samples,估计Eτ∼p(τ∣O1:T,ψ)[∇ψrψ(τ)]E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(\tau) \big]Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​rψ​(τ)]来更新reward。

跑几个gradient step的p(at∣st,O1:T,ψ)p(a_t|s_t,O_{1:T},\psi)p(at​∣st​,O1:T​,ψ),肯定不是当前ψ\psiψ下的Soft Optimal Policy,由此获取的Trajectory Samples是biased的,那怎么办呢?(假定跑了几个gradient step的policy表示为π(a∣s)\pi(a|s)π(a∣s),当前ψ\psiψ下真正的Soft Optimal Policy)为p(at∣st,O1:T,ψ)p(a_t|s_t,O_{1:T},\psi)p(at​∣st​,O1:T​,ψ)

  • Important Sampling
    ∇ψL(ψ)=Eτ∼π∗(τ)[∇ψrψ(τ)]−Eτ∼p(τ∣O1:T,ψ)[∇ψrψ(τ)]≈1N∑i=1N∇ψrψ(τ(i))−1∑jwj∑j=1Mwj∇ψrψ(τ(j))\begin{aligned} \nabla_\psi L(\psi)&=E_{\tau\sim\pi^*(\tau)}\big[\nabla_\psi r_\psi(\tau)\big]-E_{\tau\sim p(\tau|O_{1:T},\psi)}\big[\nabla_\psi r_\psi(\tau) \big]\\ &\approx\frac{1}{N}\sum_{i=1}^N \nabla_\psi r_\psi(\tau^{(i)})-\frac{1}{\sum_jw_j}\sum_{j=1}^Mw_j\nabla_\psi r_\psi(\tau^{(j)}) \end{aligned} ∇ψ​L(ψ)​=Eτ∼π∗(τ)​[∇ψ​rψ​(τ)]−Eτ∼p(τ∣O1:T​,ψ)​[∇ψ​rψ​(τ)]≈N1​i=1∑N​∇ψ​rψ​(τ(i))−∑j​wj​1​j=1∑M​wj​∇ψ​rψ​(τ(j))​

wj=p(τ)exp(rψ(τ(j)))π(τ(j))=p(s1)∏tp(st+1∣st,at)exp(rψ(st,at))p(s1)∏tp(st+1∣st,at)π(at∣st)=exp(∑trψ(st,at))∏tπ(at∣st)\begin{aligned} w_j&=\frac{p(\tau)exp\big(r_\psi(\tau^{(j)})\big)}{\pi(\tau^{(j)})}\\ &=\frac{p(s_1)\prod_{t}p(s_{t+1}|s_t,a_t)exp(r_\psi(s_t,a_t))}{p(s_1)\prod_{t}p(s_{t+1}|s_t,a_t)\pi(a_t|s_t) }\\ &=\frac{exp(\sum_tr_\psi(s_t,a_t))}{\prod_t\pi(a_t|s_t)} \end{aligned} wj​​=π(τ(j))p(τ)exp(rψ​(τ(j)))​=p(s1​)∏t​p(st+1​∣st​,at​)π(at​∣st​)p(s1​)∏t​p(st+1​∣st​,at​)exp(rψ​(st​,at​))​=∏t​π(at​∣st​)exp(∑t​rψ​(st​,at​))​​

于是有以下Guided Cost Learning比较practical的算法

2.4 Guided Cost Learning


∇ψL(ψ)=1N∑i=1N∇ψrψ(τ(i))−1∑jwj∑j=1Mwj∇ψrψ(τ(j))wj=exp(∑trψ(st,at))∏tπ(at∣st)\nabla_\psi L(\psi)=\frac{1}{N}\sum_{i=1}^N \nabla_\psi r_\psi(\tau^{(i)})-\frac{1}{\sum_jw_j}\sum_{j=1}^Mw_j\nabla_\psi r_\psi(\tau^{(j)})\\ w_j=\frac{exp(\sum_tr_\psi(s_t,a_t))}{\prod_t\pi(a_t|s_t)}∇ψ​L(ψ)=N1​i=1∑N​∇ψ​rψ​(τ(i))−∑j​wj​1​j=1∑M​wj​∇ψ​rψ​(τ(j))wj​=∏t​π(at​∣st​)exp(∑t​rψ​(st​,at​))​

参数化的对象有两个:πθ(a∣s)、rψ(st,at)\pi_\theta(a|s)、r_\psi(s_t,a_t)πθ​(a∣s)、rψ​(st​,at​)

Guided Cost Learning的流程如上,公式过程如下:

2.5 GAIL

GAIL:GAN+Imitation Learning,关于GAN可回顾 GAN的基础知识
Guided Cost Learning整个过程有点像GAN了,policy对象πθ(a∣st)\pi_\theta(a|s_t)πθ​(a∣st​)为生成器G,reward对象rψ(st,at)r_\psi(s_t,a_t)rψ​(st​,at​)为判别器D。
从policy对象πθ(a∣st)\pi_\theta(a|s_t)πθ​(a∣st​)生成的样本轨迹τ∼πθ(τ)\tau\sim \pi_\theta(\tau)τ∼πθ​(τ),然后从真实expert 的demonstration中τ∼π∗(τ)\tau\sim\pi^*(\tau)τ∼π∗(τ)采真实的轨迹样本,更新判别器D使其区分expert demos与policy生成的trajectory,若为expert demo输出True,否则输出False。

流程如上,公式过程如下:

值得注意的是,在G更新过程中的reward是logDψ(πj)logD_\psi(\pi_j)logDψ​(πj​),当轨迹τj\tau_jτj​越像专家数据,Dψ(τj)D_\psi(\tau_j)Dψ​(τj​)越大,从而policy的gradient即logDψ(πj)logD_\psi(\pi_j)logDψ​(πj​)也越大,使policy往expert policy方向更新。

这是一篇2016 NIPS的文章Generative Adversarial Imitation Learning

2.6 GAIRL

GAIRL实际上是下面这篇文章的,只是其过程更像是在适应IRL的结构,所以个人称为GAIRL,与GAIL的不同之处在于,GAIRL的判别器D的结构是适应IRL理论推导的结果的,而GAIL的判别器D的输出仅仅是二值变量。
A Connection Between Generative Adversarial Networks, Inverse Reinforcement Learning, and Energy-Based Models

在GAN中的最优判别器形式为D∗(x)=p∗(x)pθ(x)+p∗(x)D^*(x)=\frac{p^*(x)}{p_\theta(x)+p^*(x)}D∗(x)=pθ​(x)+p∗(x)p∗(x)​

在上述IRL的推导中,本来在参数ψ\psiψ更新过程就嵌套了一个MERL,然后这样太麻烦,就拿出MERL的Objective跑几个Policy Gradient Step。
于是在当前reward参数ψ\psiψ给定后,本应一个MERL跑完后得到的Soft Optimal Policy为πθ(τ)∝p(τ)exp(rψ(τ))\pi_\theta(\tau)\propto p(\tau)exp(r_\psi(\tau))πθ​(τ)∝p(τ)exp(rψ​(τ)),将其当作p∗(x)p^*(x)p∗(x),而根据MERL Objective只跑了几个Gradient Step的policy当做pθ(τ)p_\theta(\tau)pθ​(τ),代入判别器的最优结构形式有:

Dψ(τ)=p(τ)1Zexp(r(τ))pθ(τ)+p(τ)1Zexp(r(τ))=p(τ)1Zexp(r(τ))p(τ)∏tπθ(at∣st)+p(τ)1Zexp(r(τ))=1Zexp(r(τ))∏tπθ(at∣st)+1Zexp(r(τ))\begin{aligned} D_\psi(\tau)&=\frac{p(\tau)\frac{1}{Z}exp(r(\tau))}{p_\theta(\tau)+p(\tau)\frac{1}{Z}exp(r(\tau))}\\ &=\frac{p(\tau)\frac{1}{Z}exp(r(\tau))}{p(\tau)\prod_t\pi_\theta(a_t|s_t)+p(\tau)\frac{1}{Z}exp(r(\tau))}\\ &=\frac{\frac{1}{Z}exp(r(\tau))}{\prod_t\pi_\theta(a_t|s_t)+\frac{1}{Z}exp(r(\tau))} \end{aligned} Dψ​(τ)​=pθ​(τ)+p(τ)Z1​exp(r(τ))p(τ)Z1​exp(r(τ))​=p(τ)∏t​πθ​(at​∣st​)+p(τ)Z1​exp(r(τ))p(τ)Z1​exp(r(τ))​=∏t​πθ​(at​∣st​)+Z1​exp(r(τ))Z1​exp(r(τ))​​

GAIRL算法流程变为:

后记

  • 总算完成了Reframe Control As Probabilistic Inference与Inverse RL的两个lecture,信息量对我来说大得惊人,经过数天奋战,算是告一段落了。这才回溯到2016的水平,我的天!

  • 贴一篇即将要看的ICLR 2018的Paper,打算复现这篇论文呢
    LEARNING ROBUST REWARDS WITH ADVERSARIAL INVERSE REINFORCEMENT LEARNING

  • 参考资料依旧是CS285Lec15的PPT,还有就是PPT中提到的论文,看了两三篇,又去补了点PGM的理论知识,呜呜呜,接下来是比较轻松的章节了~

  • 复现论文实验时,来重新修改一下逻辑与表述,并写篇实验文章,mark!

深度强化学习CS285 lec13-lec15 (下)相关推荐

  1. 深度学习的发展方向: 深度强化学习!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:莫凡&马晶敏,上海交通大学,Datawhale成员 深度学 ...

  2. 时空AI技术:深度强化学习在智能城市领域应时空AI技术:深度强化学习在智能城市领域应用介绍...

    来源:海豚数据科学实验室 作者:京东科技 时空AI团队 深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输 ...

  3. 深度强化学习在智能城市领域应用介绍

    来源:海豚数据科学实验室 深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输出动作作用于环境,然后接收到下 ...

  4. 【深度学习】深度学习的发展方向: 深度强化学习!

    作者:莫凡&马晶敏,上海交通大学,Datawhale成员 深度学习不够智能,强化学习又太抽象.深度强化学习是两套理论体系乘风破浪以后的成团产物,其骨架来自强化学习,而灵魂由深度学习赋予.深度强 ...

  5. 时空AI技术:深度强化学习在智能城市领域应用介绍

    深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输出动作作用于环境,然后接收到下一时刻状态信息和奖励.以众 ...

  6. 什么是深度强化学习? 又是如何应用在游戏中的?

    讲师介绍 Shimon 腾讯互娱研发效能部应用研究工程师 导语 本期真经阁文章来自Gcloud云研社供稿,由应用研究工程师Shimon分享深度强化学习技术在游戏领域中的应用,文章由浅至深,阐述了深度强 ...

  7. 深度强化学习下移动机器人导航避障

    前言 这篇博客不是试图去创造轮子,而是运用现有的技术更好的解决问题,或者说仅仅是解决问题,同时也是对自己现阶段工作记录,以便日后查看. 一.运行环境 macOS High Sierra 10.13.6 ...

  8. 线下报名 | YOCSEF TDS:深度强化学习的理论、算法与应用

    时间:7月29日9:00-17:20 地点:北京中科院计算所,一层/四层报告厅(暂定) 报名方式:1.报名链接:http://conf2.ccf.org.cn/TDS  2.点击文末阅读原文报名  3 ...

  9. UC伯克利出品,深度强化学习最新课程已上线

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 主题涵盖深度强化学习领域的方方面面,UC 伯克利 CS 285 2020 秋季课程视频放出. ...

最新文章

  1. python课程多少钱一节课-日照少儿python编程一节课多少钱
  2. 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译
  3. JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
  4. 日月神话_常见的Java神话
  5. CentOS中安装Docker步骤
  6. Scala 入门2(数组、List、Set、Map、元组、Option、Iterator)
  7. linux常用指令 查看端口占用情况
  8. a href=# 与 a href=javascript:void(0) 的区别
  9. 二度整理交换机有感(续)
  10. 计算机配件投标书范本,2021年计算机投标书格式范本.doc
  11. Python安装pycryptodome密码库
  12. 火山安卓全屏侧滑布局器使用教程
  13. 技嘉主板raid组建方法_性能瞬间飙升!教你如何组RAID0磁盘阵列
  14. php mysql primary key_MySQL_简单分析MySQL中的primary key功能,在5.1.46中优化器在对primary key - phpStudy...
  15. React移动端端局域网手机访问测试
  16. 2022年华为杯中国研究生数学建模竞赛B题思路
  17. React父传子、子传父
  18. python爬虫微博评论图片_python爬虫爬取微博评论
  19. 计算机视觉 深度学习 slam 三维重建 机器学习学习资料整理
  20. GIS十问之一:到底什么单位招聘GIS专业的学生?

热门文章

  1. UltralSO制作Ubuntu启动盘
  2. 文本自动化摘要方法学习笔记
  3. 系统建模与仿真基础-欧拉法、龙格库塔法Matlab
  4. oracle 报ORA-01840 错误,原因是脏数据
  5. 回撤率 python 平台_详解如何使用python计算一只股票的最大回撤率?
  6. mysql 快速查询变更记录_MySQL学习笔记(7)—— MySQL 查询/更新数据记录
  7. python架构师是做什么的_什么是架构师?架构师应该具备什么样的能力?
  8. 批量替换 Word 文档最后几页
  9. uni-app封装请求方法与api封装调用
  10. 华为云工程师HCIA——华为虚拟化平台使用与管理