伯克利,斯坦福,宾大联合发表:从观察和交互中学习预测模型

  • 论文题目:Learning Predictive Models From Observation and Interaction

作者及标题信息

所解决的问题?

  作者在这里所关心的是,智能体采样很难采样到那些表现性能比较好的样本,就是说有些状态动作对根本就采不到,因为很难去学习这么好的策略,但是人类可以很轻松的采样得到这些样本。但是这些样本也是存在一些问题的,比如是没有带注释的,他不会有描述说为什么这么做,如果像模仿学习那样利用这些样本的话,还会存在分布漂移的问题(distributional shift)。对于第一个问题作者用图模型做,第二个问题用domain-dependent prior做。

背景

  人类是很容易从别人的trajectory中进行学习,但是由于个体之间的差异,从observation学习action其实是很困难的,比如对于同一个重物,成年人可以很轻松拿起来,而对于婴儿就不是那么容易了。而作者结合历史的观测来解决这个问题。基于模型的强化学习基本上都是要学一个状态-动作的条件概率分布,如果只给observation,其实是很难学习的。而现实生活中却又存在这样大量地数据,你只能获取observation,并不知道具体所采取的动作是什么。比如一个机器人捡东西的视频,你是不可能知道当前时刻输出的电流,扭矩这些东西的。

  作者提出了一种既能够从有动作标注的信息中学,也能从只有观测信息总学习model的方法。也就是action是否给定,都能学。当然了学状态转移的概率太多了,也不一一列举,今年争取做个相关的综述, 以后放在公众号的菜单栏吧,方便大家寻找.

  除此之外,为了能够处理observational 和interaction data , 作者还需要解决Domain adaptation的问题. 对跨域的不变性进行正则化( regularizing for invariance across domains )是不够理想的。例如,如果人类的观察数据涉及到复杂的操作(例如,工具使用),而交互数据只涉及到简单的操作,我们不希望模型对这些差异保持不变。因此,我们采取了一种不同的方法:我们不对跨域的不变性进行正则化,而是明确地对每个域中的(潜伏)行动变量的分布进行建模( model the distributions over (latent) action variables in each of the domains)。

所采用的方法?

  对于作者的设定,手中是有两类数据 [ x 1 , a 1 , x 2 , ] [x_{1},a_{1}, x_{2},\cdots] [ x 1 , x 2 , ] [x_{1},x_{2},\cdots] . 而这种数据是存在domain shift的,比如从人类的视频数据和从机器人的交互数据学习. 目的就是为了学一个model,预测未来 p ( x c + 1 : T x 1 : c , a 1 : T ) p(x_{c+1:T}|x_{1:c},a_{1:T}) .

概率图模型

  为了能够从观测和交互数据中都能学习,作者提出的概率图模型框架如下图所示:

概率图模型预测下一帧状态

  生成模型可以表示为:

z t p ( z t d ) a t p ( a t z t ) x t + 1 p ( x t + 1 x 1 : t , z 1 : t ) \begin{aligned} \mathbf{z}_{t} & \sim p\left(\mathbf{z}_{t} | d\right) \\ \mathbf{a}_{t} & \sim p\left(\mathbf{a}_{t} | \mathbf{z}_{t}\right) \\ \mathbf{x}_{t+1} & \sim p\left(\mathbf{x}_{t+1} | \mathbf{x}_{1: t}, \mathbf{z}_{1: t}\right) \end{aligned}

   z t \mathbf{z}_{t} 用高斯分布进行拟合,动作解码 p ( a t z t ) p\left(\mathbf{a}_{t} | \mathbf{z}_{t}\right) 和状态转移模型都基于高斯分布的输出,用神经网络做. 转移模型用 z t \mathbf{z}_{t} 作为输入,因此需要后验分布 p ( z t a t ) p(\mathbf{z}_{t} | \mathbf{a}_{t}) 去生成action-conditioned的隐变量,比如满足这个采样: p ( x t + 1 x 1 : t , a 1 : t ) = E p ( z 1 : t a 1 : t ) [ p ( x t + 1 x 1 : t , z 1 : t ) ] p\left(\mathbf{x}_{t+1} | \mathbf{x}_{1: t}, \mathbf{a}_{1: t}\right)=\mathbb{E}_{p\left(\mathbf{z}_{1: t} | \mathbf{a}_{1: t}\right)}\left[p\left(\mathbf{x}_{t+1} | \mathbf{x}_{1: t}, \mathbf{z}_{1: t}\right)\right] . 由于有没有action的数据,所以需要 p ( z t x t , x t + 1 ) p\left(\mathbf{z}_{t} | \mathbf{x}_{t}, \mathbf{x}_{t+1}\right)

  由于模型高度复杂和非线性原因,上述这两个后验分布是非常难算的。所以作者设计了两个分布,其网络结构如下所示:

网络结构

  当动作可观察时,依据evidence lower bound (ELBO)进行优化,同时还需要优化网络框架,和动作编解码框架:

log p ( x 1 : T , a 1 : T ) E q a d ( z 1 : t a 1 : t ) [ t log p ( x t + 1 x 1 : t , z 1 : t ) ] + E q a c d ( z t a t ) [ t log p ( a t z t ) ] t D K L ( q a c t ( z t a t ) p ( z t ) ) = L i ( x 1 : T , a 1 : T ) \begin{aligned} \log p\left(\mathbf{x}_{1: T}, \mathbf{a}_{1: T}\right) \geq & \mathbb{E}_{q_{\mathrm{ad}}\left(\mathbf{z}_{1: t} | \mathbf{a}_{1: t}\right)}\left[\sum_{t} \log p\left(\mathbf{x}_{t+1} | \mathbf{x}_{1: t}, \mathbf{z}_{1: t}\right)\right] \\ &+\mathbb{E}_{q_{\mathrm{acd}}\left(\mathbf{z}_{t} | \mathbf{a}_{t}\right)}\left[\sum_{t} \log p\left(\mathbf{a}_{t} | \mathbf{z}_{t}\right)\right] \\ &-\sum_{t} D_{K L}\left(q_{\mathrm{act}}\left(\mathbf{z}_{t} | \mathbf{a}_{t}\right) \| p\left(\mathbf{z}_{t}\right)\right) \\ =&-\mathcal{L}_{i}\left(\mathbf{x}_{1: T}, \mathbf{a}_{1: T}\right) \end{aligned}

  当动作未知时,优化目标只需要去优化框架,和ELBO就可以:

log p ( x 1 : T ) E q inv  ( z t x t , x t + 1 ) [ t log p ( x t + 1 x t , z t ) ] t D K L ( q inv  ( z t x t , x t + 1 ) p ( z t ) ) = L o ( x 1 : T ) \begin{aligned} \log p\left(\mathbf{x}_{1: T}\right) \geq & \mathbb{E}_{q_{\text {inv }}\left(\mathbf{z}_{t} | \mathbf{x}_{t}, \mathbf{x}_{t+1}\right)}\left[\sum_{t} \log p\left(\mathbf{x}_{t+1} | \mathbf{x}_{t}, \mathbf{z}_{t}\right)\right] \\ &-\sum_{t} D_{K L}\left(q_{\text {inv }}\left(\mathbf{z}_{t} | \mathbf{x}_{t}, \mathbf{x}_{t+1}\right) \| p\left(\mathbf{z}_{t}\right)\right) \\ =&-\mathcal{L}_{o}\left(\mathbf{x}_{1: T}\right) \end{aligned}

  两部分连立得到优化目标:

J = ( x 1 ; r , a 1 ; r ) D i L i ( x 1 : T , a 1 : T ) + x 1 , r D L o ( x 1 : T ) \mathcal{J}=\sum_{\left(\mathrm{x}_{1} ; \mathrm{r}, \mathrm{a}_{1} ; \mathrm{r}\right) \sim D^{i}} \mathcal{L}_{i}\left(\mathrm{x}_{1: T}, \mathrm{a}_{1: T}\right)+\sum_{\mathrm{x}_{1}, \mathrm{r} \sim D^{\circ}} \mathcal{L}_{o}\left(\mathrm{x}_{1: T}\right)

  除此之外还设计了一个辅助损失函数,用于衡量两种方式提取的提取隐变量是否相同,用JS散度定义:

L J S = ( x 1 : T , a 1 : T ) D i D J S ( q a c t ( z t a t ) q i n v ( z t x t , x t + 1 ) ) \mathcal{L}_{J S}=\sum_{\left(\mathbf{x}_{1: T}, \mathbf{a}_{1: T}\right) \sim D^{i}} D_{J S}\left(q_{\mathrm{act}}\left(\mathbf{z}_{t} | \mathbf{a}_{t}\right) \| q_{\mathrm{inv}}\left(\mathbf{z}_{t} | \mathbf{x}_{t}, \mathbf{x}_{t+1}\right)\right)

  最终的损失函数可以表示为:

F = J + α L J S \mathcal{F}=\mathcal{J}+\alpha \mathcal{L}_{J S}

Domain Shift

  由于数据集是两种类型,所以作者这里还做了Domain Shift。具体做法如下图所示:

在这里插入图片描述

  将隐变量 z z 分成两部分: z s h a r e s z^{shares} z d o m a i n z^{domain} 。通过给不同的先验分布(prior distributions)来让网络能够学地不同。 z s h a r e s z^{shares} 的先验分布给相同的。

取得的效果?

部分实验结果

所出版信息?作者信息?

  论文是2019年12月三十号上传到arXiv上面的,估计今年就能知道投到那了。

参考资料

  • 论文主页:https://sites.google.com/view/lpmfoai
  • 论文链接:https://arxiv.org/abs/1912.12773
发布了199 篇原创文章 · 获赞 174 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/105464288