人工智能学习

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

本文主要是介绍伯克利,斯坦福,宾大联合发表:从观察和交互中学习预测模型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 论文题目: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},\cdots][x_{1},x_{2},\cdots]. 而这种数据是存在domain shift的,比如从人类的视频数据和从机器人的交互数据学习. 目的就是为了学一个model,预测未来p(x_{c+1:T}|x_{1:c},a_{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}

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

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

网络结构

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

\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就可以:

\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}

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

\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散度定义:

\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)

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

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

Domain Shift

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

在这里插入图片描述

  将隐变量z分成两部分:z^{shares}z^{domain}。通过给不同的先验分布(prior distributions)来让网络能够学地不同。z^{shares}的先验分布给相同的。

取得的效果?

部分实验结果

所出版信息?作者信息?

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

参考资料

  • 论文主页:sites.google.com/view/lpmfoa…
  • 论文链接:arxiv.org/abs/1912.12…
这篇关于伯克利,斯坦福,宾大联合发表:从观察和交互中学习预测模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!